/* gxml-performance.c generated by valac 0.34.7, the Vala compiler
 * generated from gxml-performance.vala, do not modify */

/* -*- Mode: vala; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*-  */
/* librescl
 *
 * Copyright (C) 2013-2015 Daniel Espinosa <esodan@gmail.com>
 *
 * librescl is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by the
 * Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * librescl is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License along
 * with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include <glib.h>
#include <glib-object.h>
#include <gxml/gxml.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gobject/gvaluecollector.h>


#define TYPE_NAME (name_get_type ())
#define NAME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NAME, Name))
#define NAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NAME, NameClass))
#define IS_NAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NAME))
#define IS_NAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NAME))
#define NAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NAME, NameClass))

typedef struct _Name Name;
typedef struct _NameClass NameClass;
typedef struct _NamePrivate NamePrivate;

#define TYPE_EMAIL (email_get_type ())
#define EMAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EMAIL, Email))
#define EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EMAIL, EmailClass))
#define IS_EMAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EMAIL))
#define IS_EMAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EMAIL))
#define EMAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EMAIL, EmailClass))

typedef struct _Email Email;
typedef struct _EmailClass EmailClass;
typedef struct _EmailPrivate EmailPrivate;

#define TYPE_AUTHOR (author_get_type ())
#define AUTHOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AUTHOR, Author))
#define AUTHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AUTHOR, AuthorClass))
#define IS_AUTHOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AUTHOR))
#define IS_AUTHOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AUTHOR))
#define AUTHOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AUTHOR, AuthorClass))

typedef struct _Author Author;
typedef struct _AuthorClass AuthorClass;
typedef struct _AuthorPrivate AuthorPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define AUTHOR_TYPE_ARRAY (author_array_get_type ())
#define AUTHOR_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AUTHOR_TYPE_ARRAY, AuthorArray))
#define AUTHOR_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AUTHOR_TYPE_ARRAY, AuthorArrayClass))
#define AUTHOR_IS_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AUTHOR_TYPE_ARRAY))
#define AUTHOR_IS_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AUTHOR_TYPE_ARRAY))
#define AUTHOR_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AUTHOR_TYPE_ARRAY, AuthorArrayClass))

typedef struct _AuthorArray AuthorArray;
typedef struct _AuthorArrayClass AuthorArrayClass;
typedef struct _AuthorArrayPrivate AuthorArrayPrivate;

#define TYPE_AUTHORS (authors_get_type ())
#define AUTHORS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AUTHORS, Authors))
#define AUTHORS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AUTHORS, AuthorsClass))
#define IS_AUTHORS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AUTHORS))
#define IS_AUTHORS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AUTHORS))
#define AUTHORS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AUTHORS, AuthorsClass))

typedef struct _Authors Authors;
typedef struct _AuthorsClass AuthorsClass;
typedef struct _AuthorsPrivate AuthorsPrivate;

#define TYPE_INVENTORY (inventory_get_type ())
#define INVENTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INVENTORY, Inventory))
#define INVENTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INVENTORY, InventoryClass))
#define IS_INVENTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INVENTORY))
#define IS_INVENTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INVENTORY))
#define INVENTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INVENTORY, InventoryClass))

typedef struct _Inventory Inventory;
typedef struct _InventoryClass InventoryClass;
typedef struct _InventoryPrivate InventoryPrivate;

#define INVENTORY_TYPE_DUAL_KEY_MAP (inventory_dual_key_map_get_type ())
#define INVENTORY_DUAL_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), INVENTORY_TYPE_DUAL_KEY_MAP, InventoryDualKeyMap))
#define INVENTORY_DUAL_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), INVENTORY_TYPE_DUAL_KEY_MAP, InventoryDualKeyMapClass))
#define INVENTORY_IS_DUAL_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), INVENTORY_TYPE_DUAL_KEY_MAP))
#define INVENTORY_IS_DUAL_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), INVENTORY_TYPE_DUAL_KEY_MAP))
#define INVENTORY_DUAL_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), INVENTORY_TYPE_DUAL_KEY_MAP, InventoryDualKeyMapClass))

typedef struct _InventoryDualKeyMap InventoryDualKeyMap;
typedef struct _InventoryDualKeyMapClass InventoryDualKeyMapClass;
typedef struct _InventoryDualKeyMapPrivate InventoryDualKeyMapPrivate;

#define TYPE_CATEGORY (category_get_type ())
#define CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CATEGORY, Category))
#define CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CATEGORY, CategoryClass))
#define IS_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CATEGORY))
#define IS_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CATEGORY))
#define CATEGORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CATEGORY, CategoryClass))

typedef struct _Category Category;
typedef struct _CategoryClass CategoryClass;
typedef struct _CategoryPrivate CategoryPrivate;

#define CATEGORY_TYPE_MAP (category_map_get_type ())
#define CATEGORY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CATEGORY_TYPE_MAP, CategoryMap))
#define CATEGORY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CATEGORY_TYPE_MAP, CategoryMapClass))
#define CATEGORY_IS_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CATEGORY_TYPE_MAP))
#define CATEGORY_IS_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CATEGORY_TYPE_MAP))
#define CATEGORY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CATEGORY_TYPE_MAP, CategoryMapClass))

typedef struct _CategoryMap CategoryMap;
typedef struct _CategoryMapClass CategoryMapClass;
typedef struct _CategoryMapPrivate CategoryMapPrivate;

#define TYPE_RESUME (resume_get_type ())
#define RESUME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RESUME, Resume))
#define RESUME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RESUME, ResumeClass))
#define IS_RESUME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RESUME))
#define IS_RESUME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RESUME))
#define RESUME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RESUME, ResumeClass))

typedef struct _Resume Resume;
typedef struct _ResumeClass ResumeClass;
typedef struct _ResumePrivate ResumePrivate;

#define RESUME_TYPE_MAP (resume_map_get_type ())
#define RESUME_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RESUME_TYPE_MAP, ResumeMap))
#define RESUME_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RESUME_TYPE_MAP, ResumeMapClass))
#define RESUME_IS_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RESUME_TYPE_MAP))
#define RESUME_IS_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RESUME_TYPE_MAP))
#define RESUME_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RESUME_TYPE_MAP, ResumeMapClass))

typedef struct _ResumeMap ResumeMap;
typedef struct _ResumeMapClass ResumeMapClass;
typedef struct _ResumeMapPrivate ResumeMapPrivate;

#define TYPE_BOOK (book_get_type ())
#define BOOK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BOOK, Book))
#define BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BOOK, BookClass))
#define IS_BOOK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BOOK))
#define IS_BOOK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BOOK))
#define BOOK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BOOK, BookClass))

typedef struct _Book Book;
typedef struct _BookClass BookClass;
typedef struct _BookPrivate BookPrivate;

#define BOOK_TYPE_ARRAY (book_array_get_type ())
#define BOOK_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOOK_TYPE_ARRAY, BookArray))
#define BOOK_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOOK_TYPE_ARRAY, BookArrayClass))
#define BOOK_IS_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOOK_TYPE_ARRAY))
#define BOOK_IS_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOOK_TYPE_ARRAY))
#define BOOK_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOOK_TYPE_ARRAY, BookArrayClass))

typedef struct _BookArray BookArray;
typedef struct _BookArrayClass BookArrayClass;
typedef struct _BookArrayPrivate BookArrayPrivate;

#define TYPE_BOOK_STORE (book_store_get_type ())
#define BOOK_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BOOK_STORE, BookStore))
#define BOOK_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BOOK_STORE, BookStoreClass))
#define IS_BOOK_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BOOK_STORE))
#define IS_BOOK_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BOOK_STORE))
#define BOOK_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BOOK_STORE, BookStoreClass))

typedef struct _BookStore BookStore;
typedef struct _BookStoreClass BookStoreClass;
typedef struct _BookStorePrivate BookStorePrivate;

#define TYPE_PERFORMANCE (performance_get_type ())
#define PERFORMANCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PERFORMANCE, Performance))
#define PERFORMANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PERFORMANCE, PerformanceClass))
#define IS_PERFORMANCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PERFORMANCE))
#define IS_PERFORMANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PERFORMANCE))
#define PERFORMANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PERFORMANCE, PerformanceClass))

typedef struct _Performance Performance;
typedef struct _PerformanceClass PerformanceClass;
typedef struct _PerformancePrivate PerformancePrivate;

#define PERFORMANCE_TYPE_AELEMENT (performance_aelement_get_type ())
#define PERFORMANCE_AELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_AELEMENT, PerformanceAElement))
#define PERFORMANCE_AELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_AELEMENT, PerformanceAElementClass))
#define PERFORMANCE_IS_AELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_AELEMENT))
#define PERFORMANCE_IS_AELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_AELEMENT))
#define PERFORMANCE_AELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_AELEMENT, PerformanceAElementClass))

typedef struct _PerformanceAElement PerformanceAElement;
typedef struct _PerformanceAElementClass PerformanceAElementClass;
typedef struct _PerformanceAElementPrivate PerformanceAElementPrivate;

#define PERFORMANCE_AELEMENT_TYPE_ARRAY (performance_aelement_array_get_type ())
#define PERFORMANCE_AELEMENT_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArray))
#define PERFORMANCE_AELEMENT_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArrayClass))
#define PERFORMANCE_AELEMENT_IS_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_AELEMENT_TYPE_ARRAY))
#define PERFORMANCE_AELEMENT_IS_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_AELEMENT_TYPE_ARRAY))
#define PERFORMANCE_AELEMENT_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArrayClass))

typedef struct _PerformanceAElementArray PerformanceAElementArray;
typedef struct _PerformanceAElementArrayClass PerformanceAElementArrayClass;
typedef struct _PerformanceAElementArrayPrivate PerformanceAElementArrayPrivate;

#define PERFORMANCE_TYPE_CELEMENT (performance_celement_get_type ())
#define PERFORMANCE_CELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_CELEMENT, PerformanceCElement))
#define PERFORMANCE_CELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_CELEMENT, PerformanceCElementClass))
#define PERFORMANCE_IS_CELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_CELEMENT))
#define PERFORMANCE_IS_CELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_CELEMENT))
#define PERFORMANCE_CELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_CELEMENT, PerformanceCElementClass))

typedef struct _PerformanceCElement PerformanceCElement;
typedef struct _PerformanceCElementClass PerformanceCElementClass;
typedef struct _PerformanceCElementPrivate PerformanceCElementPrivate;

#define PERFORMANCE_TYPE_HELEMENT (performance_helement_get_type ())
#define PERFORMANCE_HELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HELEMENT, PerformanceHElement))
#define PERFORMANCE_HELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HELEMENT, PerformanceHElementClass))
#define PERFORMANCE_IS_HELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HELEMENT))
#define PERFORMANCE_IS_HELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HELEMENT))
#define PERFORMANCE_HELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HELEMENT, PerformanceHElementClass))

typedef struct _PerformanceHElement PerformanceHElement;
typedef struct _PerformanceHElementClass PerformanceHElementClass;
typedef struct _PerformanceHElementPrivate PerformanceHElementPrivate;

#define PERFORMANCE_HELEMENT_TYPE_HASH_MAP (performance_helement_hash_map_get_type ())
#define PERFORMANCE_HELEMENT_HASH_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMap))
#define PERFORMANCE_HELEMENT_HASH_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMapClass))
#define PERFORMANCE_HELEMENT_IS_HASH_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_HELEMENT_TYPE_HASH_MAP))
#define PERFORMANCE_HELEMENT_IS_HASH_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_HELEMENT_TYPE_HASH_MAP))
#define PERFORMANCE_HELEMENT_HASH_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMapClass))

typedef struct _PerformanceHElementHashMap PerformanceHElementHashMap;
typedef struct _PerformanceHElementHashMapClass PerformanceHElementHashMapClass;
typedef struct _PerformanceHElementHashMapPrivate PerformanceHElementHashMapPrivate;

#define PERFORMANCE_TYPE_HCP_ELEMENT (performance_hcp_element_get_type ())
#define PERFORMANCE_HCP_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElement))
#define PERFORMANCE_HCP_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElementClass))
#define PERFORMANCE_IS_HCP_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HCP_ELEMENT))
#define PERFORMANCE_IS_HCP_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HCP_ELEMENT))
#define PERFORMANCE_HCP_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElementClass))

typedef struct _PerformanceHcpElement PerformanceHcpElement;
typedef struct _PerformanceHcpElementClass PerformanceHcpElementClass;
typedef struct _PerformanceHcpElementPrivate PerformanceHcpElementPrivate;

#define PERFORMANCE_TYPE_HCS_ELEMENT (performance_hcs_element_get_type ())
#define PERFORMANCE_HCS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElement))
#define PERFORMANCE_HCS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElementClass))
#define PERFORMANCE_IS_HCS_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HCS_ELEMENT))
#define PERFORMANCE_IS_HCS_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HCS_ELEMENT))
#define PERFORMANCE_HCS_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElementClass))

typedef struct _PerformanceHcsElement PerformanceHcsElement;
typedef struct _PerformanceHcsElementClass PerformanceHcsElementClass;
typedef struct _PerformanceHcsElementPrivate PerformanceHcsElementPrivate;

#define PERFORMANCE_TYPE_HTOP_ELEMENT (performance_htop_element_get_type ())
#define PERFORMANCE_HTOP_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElement))
#define PERFORMANCE_HTOP_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElementClass))
#define PERFORMANCE_IS_HTOP_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HTOP_ELEMENT))
#define PERFORMANCE_IS_HTOP_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HTOP_ELEMENT))
#define PERFORMANCE_HTOP_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElementClass))

typedef struct _PerformanceHTopElement PerformanceHTopElement;
typedef struct _PerformanceHTopElementClass PerformanceHTopElementClass;
typedef struct _PerformanceHTopElementPrivate PerformanceHTopElementPrivate;

#define PERFORMANCE_TYPE_HT_ELEMENT (performance_ht_element_get_type ())
#define PERFORMANCE_HT_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElement))
#define PERFORMANCE_HT_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElementClass))
#define PERFORMANCE_IS_HT_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HT_ELEMENT))
#define PERFORMANCE_IS_HT_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HT_ELEMENT))
#define PERFORMANCE_HT_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElementClass))

typedef struct _PerformanceHTElement PerformanceHTElement;
typedef struct _PerformanceHTElementClass PerformanceHTElementClass;
typedef struct _PerformanceHTElementPrivate PerformanceHTElementPrivate;

#define PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP (performance_ht_element_tree_map_get_type ())
#define PERFORMANCE_HT_ELEMENT_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMap))
#define PERFORMANCE_HT_ELEMENT_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMapClass))
#define PERFORMANCE_HT_ELEMENT_IS_TREE_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP))
#define PERFORMANCE_HT_ELEMENT_IS_TREE_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP))
#define PERFORMANCE_HT_ELEMENT_TREE_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMapClass))

typedef struct _PerformanceHTElementTreeMap PerformanceHTElementTreeMap;
typedef struct _PerformanceHTElementTreeMapClass PerformanceHTElementTreeMapClass;
typedef struct _PerformanceHTElementTreeMapPrivate PerformanceHTElementTreeMapPrivate;

#define PERFORMANCE_TYPE_HTC_ELEMENT (performance_htc_element_get_type ())
#define PERFORMANCE_HTC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElement))
#define PERFORMANCE_HTC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElementClass))
#define PERFORMANCE_IS_HTC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_HTC_ELEMENT))
#define PERFORMANCE_IS_HTC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_HTC_ELEMENT))
#define PERFORMANCE_HTC_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElementClass))

typedef struct _PerformanceHTCElement PerformanceHTCElement;
typedef struct _PerformanceHTCElementClass PerformanceHTCElementClass;
typedef struct _PerformanceHTCElementPrivate PerformanceHTCElementPrivate;

#define PERFORMANCE_TYPE_DH_ELEMENT (performance_dh_element_get_type ())
#define PERFORMANCE_DH_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElement))
#define PERFORMANCE_DH_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElementClass))
#define PERFORMANCE_IS_DH_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_DH_ELEMENT))
#define PERFORMANCE_IS_DH_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_DH_ELEMENT))
#define PERFORMANCE_DH_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElementClass))

typedef struct _PerformanceDHElement PerformanceDHElement;
typedef struct _PerformanceDHElementClass PerformanceDHElementClass;
typedef struct _PerformanceDHElementPrivate PerformanceDHElementPrivate;

#define PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP (performance_dh_element_dual_key_map_get_type ())
#define PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMap))
#define PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMapClass))
#define PERFORMANCE_DH_ELEMENT_IS_DUAL_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP))
#define PERFORMANCE_DH_ELEMENT_IS_DUAL_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP))
#define PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMapClass))

typedef struct _PerformanceDHElementDualKeyMap PerformanceDHElementDualKeyMap;
typedef struct _PerformanceDHElementDualKeyMapClass PerformanceDHElementDualKeyMapClass;
typedef struct _PerformanceDHElementDualKeyMapPrivate PerformanceDHElementDualKeyMapPrivate;

#define PERFORMANCE_TYPE_DHC_ELEMENT (performance_dhc_element_get_type ())
#define PERFORMANCE_DHC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElement))
#define PERFORMANCE_DHC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElementClass))
#define PERFORMANCE_IS_DHC_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PERFORMANCE_TYPE_DHC_ELEMENT))
#define PERFORMANCE_IS_DHC_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PERFORMANCE_TYPE_DHC_ELEMENT))
#define PERFORMANCE_DHC_ELEMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElementClass))

typedef struct _PerformanceDHCElement PerformanceDHCElement;
typedef struct _PerformanceDHCElementClass PerformanceDHCElementClass;
typedef struct _PerformanceDHCElementPrivate PerformanceDHCElementPrivate;
typedef struct _ParamSpecPerformance ParamSpecPerformance;

struct _Name {
	GXmlSerializableObjectModel parent_instance;
	NamePrivate * priv;
};

struct _NameClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _Email {
	GXmlSerializableObjectModel parent_instance;
	EmailPrivate * priv;
};

struct _EmailClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _Author {
	GXmlSerializableObjectModel parent_instance;
	AuthorPrivate * priv;
};

struct _AuthorClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _AuthorPrivate {
	Name* _name;
	Email* _email;
};

struct _AuthorArray {
	GXmlSerializableArrayList parent_instance;
	AuthorArrayPrivate * priv;
};

struct _AuthorArrayClass {
	GXmlSerializableArrayListClass parent_class;
};

struct _Authors {
	GXmlSerializableContainer parent_instance;
	AuthorsPrivate * priv;
};

struct _AuthorsClass {
	GXmlSerializableContainerClass parent_class;
};

struct _AuthorsPrivate {
	gchar* _number;
	AuthorArray* _array;
};

struct _Inventory {
	GXmlSerializableObjectModel parent_instance;
	InventoryPrivate * priv;
};

struct _InventoryClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _InventoryPrivate {
	gint _number;
	gint _row;
	gchar* _inventory;
};

struct _InventoryDualKeyMap {
	GXmlSerializableDualKeyMap parent_instance;
	InventoryDualKeyMapPrivate * priv;
};

struct _InventoryDualKeyMapClass {
	GXmlSerializableDualKeyMapClass parent_class;
};

struct _Category {
	GXmlSerializableObjectModel parent_instance;
	CategoryPrivate * priv;
};

struct _CategoryClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _CategoryPrivate {
	gchar* _name;
};

struct _CategoryMap {
	GXmlSerializableHashMap parent_instance;
	CategoryMapPrivate * priv;
};

struct _CategoryMapClass {
	GXmlSerializableHashMapClass parent_class;
};

struct _Resume {
	GXmlSerializableObjectModel parent_instance;
	ResumePrivate * priv;
};

struct _ResumeClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _ResumePrivate {
	gchar* _chapter;
	gchar* _text;
};

struct _ResumeMap {
	GXmlSerializableTreeMap parent_instance;
	ResumeMapPrivate * priv;
};

struct _ResumeMapClass {
	GXmlSerializableTreeMapClass parent_class;
};

struct _Book {
	GXmlSerializableContainer parent_instance;
	BookPrivate * priv;
};

struct _BookClass {
	GXmlSerializableContainerClass parent_class;
};

struct _BookPrivate {
	gchar* _year;
	gchar* _isbn;
	Name* _name;
	Authors* _authors;
	InventoryDualKeyMap* _inventory_registers;
	CategoryMap* _categories;
	ResumeMap* _resumes;
};

struct _BookArray {
	GXmlSerializableArrayList parent_instance;
	BookArrayPrivate * priv;
};

struct _BookArrayClass {
	GXmlSerializableArrayListClass parent_class;
};

struct _BookStore {
	GXmlSerializableContainer parent_instance;
	BookStorePrivate * priv;
};

struct _BookStoreClass {
	GXmlSerializableContainerClass parent_class;
};

struct _BookStorePrivate {
	gchar* _name;
	BookArray* _books;
};

struct _Performance {
	GTypeInstance parent_instance;
	volatile int ref_count;
	PerformancePrivate * priv;
};

struct _PerformanceClass {
	GTypeClass parent_class;
	void (*finalize) (Performance *self);
};

struct _PerformanceAElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceAElementPrivate * priv;
};

struct _PerformanceAElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceAElementPrivate {
	gchar* _name;
};

struct _PerformanceAElementArray {
	GXmlSerializableArrayList parent_instance;
	PerformanceAElementArrayPrivate * priv;
};

struct _PerformanceAElementArrayClass {
	GXmlSerializableArrayListClass parent_class;
};

struct _PerformanceAElementArrayPrivate {
	gboolean _enable_deserialize;
};

struct _PerformanceCElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceCElementPrivate * priv;
};

struct _PerformanceCElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceCElementPrivate {
	PerformanceAElementArray* _elements;
};

struct _PerformanceHElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHElementPrivate * priv;
};

struct _PerformanceHElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHElementPrivate {
	gchar* _name;
};

struct _PerformanceHElementHashMap {
	GXmlSerializableHashMap parent_instance;
	PerformanceHElementHashMapPrivate * priv;
};

struct _PerformanceHElementHashMapClass {
	GXmlSerializableHashMapClass parent_class;
};

struct _PerformanceHElementHashMapPrivate {
	gboolean _enable_deserialize;
};

struct _PerformanceHcpElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHcpElementPrivate * priv;
};

struct _PerformanceHcpElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHcpElementPrivate {
	PerformanceHElementHashMap* _elements;
};

struct _PerformanceHcsElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHcsElementPrivate * priv;
};

struct _PerformanceHcsElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHcsElementPrivate {
	PerformanceHElementHashMap* _elements;
};

struct _PerformanceHTopElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHTopElementPrivate * priv;
};

struct _PerformanceHTopElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHTopElementPrivate {
	PerformanceHcpElement* _elements1;
	PerformanceHcsElement* _elements2;
};

struct _PerformanceHTElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHTElementPrivate * priv;
};

struct _PerformanceHTElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHTElementPrivate {
	gchar* _name;
};

struct _PerformanceHTElementTreeMap {
	GXmlSerializableTreeMap parent_instance;
	PerformanceHTElementTreeMapPrivate * priv;
};

struct _PerformanceHTElementTreeMapClass {
	GXmlSerializableTreeMapClass parent_class;
};

struct _PerformanceHTElementTreeMapPrivate {
	gboolean _enable_deserialize;
};

struct _PerformanceHTCElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceHTCElementPrivate * priv;
};

struct _PerformanceHTCElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceHTCElementPrivate {
	PerformanceHTElementTreeMap* _elements1;
	PerformanceHTElementTreeMap* _elements2;
};

struct _PerformanceDHElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceDHElementPrivate * priv;
};

struct _PerformanceDHElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceDHElementPrivate {
	gchar* _name;
	gchar* _key;
};

struct _PerformanceDHElementDualKeyMap {
	GXmlSerializableDualKeyMap parent_instance;
	PerformanceDHElementDualKeyMapPrivate * priv;
};

struct _PerformanceDHElementDualKeyMapClass {
	GXmlSerializableDualKeyMapClass parent_class;
};

struct _PerformanceDHElementDualKeyMapPrivate {
	gboolean _enable_deserialize;
};

struct _PerformanceDHCElement {
	GXmlSerializableObjectModel parent_instance;
	PerformanceDHCElementPrivate * priv;
};

struct _PerformanceDHCElementClass {
	GXmlSerializableObjectModelClass parent_class;
};

struct _PerformanceDHCElementPrivate {
	PerformanceDHElementDualKeyMap* _elements1;
	PerformanceDHElementDualKeyMap* _elements2;
};

struct _ParamSpecPerformance {
	GParamSpec parent_instance;
};


static gpointer name_parent_class = NULL;
static gpointer email_parent_class = NULL;
static gpointer author_parent_class = NULL;
static gpointer author_array_parent_class = NULL;
static gpointer authors_parent_class = NULL;
static gpointer inventory_parent_class = NULL;
static gpointer inventory_dual_key_map_parent_class = NULL;
static GXmlSerializableMapDualKeyIface* inventory_gxml_serializable_map_dual_key_parent_iface = NULL;
static gpointer category_parent_class = NULL;
static gpointer category_map_parent_class = NULL;
static GXmlSerializableMapKeyIface* category_gxml_serializable_map_key_parent_iface = NULL;
static gpointer resume_parent_class = NULL;
static gpointer resume_map_parent_class = NULL;
static GXmlSerializableMapKeyIface* resume_gxml_serializable_map_key_parent_iface = NULL;
static gpointer book_parent_class = NULL;
static gpointer book_array_parent_class = NULL;
static gpointer book_store_parent_class = NULL;
static gpointer performance_parent_class = NULL;
static gpointer performance_aelement_parent_class = NULL;
static gpointer performance_aelement_array_parent_class = NULL;
static gpointer performance_celement_parent_class = NULL;
static gpointer performance_helement_parent_class = NULL;
static gpointer performance_helement_hash_map_parent_class = NULL;
static GXmlSerializableMapKeyIface* performance_helement_gxml_serializable_map_key_parent_iface = NULL;
static gpointer performance_hcp_element_parent_class = NULL;
static gpointer performance_hcs_element_parent_class = NULL;
static gpointer performance_htop_element_parent_class = NULL;
static gpointer performance_ht_element_parent_class = NULL;
static gpointer performance_ht_element_tree_map_parent_class = NULL;
static GXmlSerializableMapKeyIface* performance_ht_element_gxml_serializable_map_key_parent_iface = NULL;
static gpointer performance_htc_element_parent_class = NULL;
static gpointer performance_dh_element_parent_class = NULL;
static gpointer performance_dh_element_dual_key_map_parent_class = NULL;
static GXmlSerializableMapDualKeyIface* performance_dh_element_gxml_serializable_map_dual_key_parent_iface = NULL;
static gpointer performance_dhc_element_parent_class = NULL;

GType name_get_type (void) G_GNUC_CONST;
enum  {
	NAME_DUMMY_PROPERTY
};
gchar* name_get_name (Name* self);
static gboolean name_real_serialize_use_xml_node_value (GXmlSerializableObjectModel* base);
static gchar* name_real_to_string (GXmlSerializableObjectModel* base);
Name* name_new (void);
Name* name_construct (GType object_type);
GType email_get_type (void) G_GNUC_CONST;
enum  {
	EMAIL_DUMMY_PROPERTY
};
gchar* email_get_mail (Email* self);
static gboolean email_real_serialize_use_xml_node_value (GXmlSerializableObjectModel* base);
static gchar* email_real_to_string (GXmlSerializableObjectModel* base);
Email* email_new (void);
Email* email_construct (GType object_type);
GType author_get_type (void) G_GNUC_CONST;
#define AUTHOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AUTHOR, AuthorPrivate))
enum  {
	AUTHOR_DUMMY_PROPERTY,
	AUTHOR_NAME,
	AUTHOR_EMAIL
};
static gchar* author_real_to_string (GXmlSerializableObjectModel* base);
Name* author_get_name (Author* self);
Email* author_get_email (Author* self);
Author* author_new (void);
Author* author_construct (GType object_type);
void author_set_name (Author* self, Name* value);
void author_set_email (Author* self, Email* value);
GType author_array_get_type (void) G_GNUC_CONST;
enum  {
	AUTHOR_ARRAY_DUMMY_PROPERTY
};
AuthorArray* author_array_new (void);
AuthorArray* author_array_construct (GType object_type);
static void author_finalize (GObject* obj);
static void _vala_author_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_author_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType authors_get_type (void) G_GNUC_CONST;
#define AUTHORS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_AUTHORS, AuthorsPrivate))
enum  {
	AUTHORS_DUMMY_PROPERTY,
	AUTHORS_NUMBER,
	AUTHORS_ARRAY
};
static void authors_real_init_containers (GXmlSerializableContainer* base);
AuthorArray* authors_get_array (Authors* self);
void authors_set_array (Authors* self, AuthorArray* value);
static gchar* authors_real_to_string (GXmlSerializableObjectModel* base);
Authors* authors_new (void);
Authors* authors_construct (GType object_type);
const gchar* authors_get_number (Authors* self);
void authors_set_number (Authors* self, const gchar* value);
static void authors_finalize (GObject* obj);
static void _vala_authors_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_authors_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType inventory_get_type (void) G_GNUC_CONST;
#define INVENTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_INVENTORY, InventoryPrivate))
enum  {
	INVENTORY_DUMMY_PROPERTY,
	INVENTORY_NUMBER,
	INVENTORY_ROW,
	INVENTORY_INVENTORY
};
static gint inventory_real_get_map_primary_key (GXmlSerializableMapDualKey* base);
gint inventory_get_number (Inventory* self);
static gchar* inventory_real_get_map_secondary_key (GXmlSerializableMapDualKey* base);
const gchar* inventory_get_inventory (Inventory* self);
static gchar* inventory_real_to_string (GXmlSerializableObjectModel* base);
gint inventory_get_row (Inventory* self);
Inventory* inventory_new (void);
Inventory* inventory_construct (GType object_type);
void inventory_set_number (Inventory* self, gint value);
void inventory_set_row (Inventory* self, gint value);
void inventory_set_inventory (Inventory* self, const gchar* value);
GType inventory_dual_key_map_get_type (void) G_GNUC_CONST;
enum  {
	INVENTORY_DUAL_KEY_MAP_DUMMY_PROPERTY
};
InventoryDualKeyMap* inventory_dual_key_map_new (void);
InventoryDualKeyMap* inventory_dual_key_map_construct (GType object_type);
static void inventory_finalize (GObject* obj);
static void _vala_inventory_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_inventory_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType category_get_type (void) G_GNUC_CONST;
#define CATEGORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CATEGORY, CategoryPrivate))
enum  {
	CATEGORY_DUMMY_PROPERTY,
	CATEGORY_NAME
};
static gchar* category_real_get_map_key (GXmlSerializableMapKey* base);
const gchar* category_get_name (Category* self);
static gchar* category_real_to_string (GXmlSerializableObjectModel* base);
Category* category_new (void);
Category* category_construct (GType object_type);
void category_set_name (Category* self, const gchar* value);
GType category_map_get_type (void) G_GNUC_CONST;
enum  {
	CATEGORY_MAP_DUMMY_PROPERTY
};
CategoryMap* category_map_new (void);
CategoryMap* category_map_construct (GType object_type);
static void category_finalize (GObject* obj);
static void _vala_category_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_category_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType resume_get_type (void) G_GNUC_CONST;
#define RESUME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_RESUME, ResumePrivate))
enum  {
	RESUME_DUMMY_PROPERTY,
	RESUME_CHAPTER,
	RESUME_TEXT
};
static gchar* resume_real_get_map_key (GXmlSerializableMapKey* base);
const gchar* resume_get_chapter (Resume* self);
static gchar* resume_real_to_string (GXmlSerializableObjectModel* base);
const gchar* resume_get_text (Resume* self);
Resume* resume_new (void);
Resume* resume_construct (GType object_type);
void resume_set_chapter (Resume* self, const gchar* value);
void resume_set_text (Resume* self, const gchar* value);
GType resume_map_get_type (void) G_GNUC_CONST;
enum  {
	RESUME_MAP_DUMMY_PROPERTY
};
ResumeMap* resume_map_new (void);
ResumeMap* resume_map_construct (GType object_type);
static void resume_finalize (GObject* obj);
static void _vala_resume_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_resume_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType book_get_type (void) G_GNUC_CONST;
#define BOOK_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BOOK, BookPrivate))
enum  {
	BOOK_DUMMY_PROPERTY,
	BOOK_YEAR,
	BOOK_ISBN,
	BOOK_NAME,
	BOOK_AUTHORS,
	BOOK_INVENTORY_REGISTERS,
	BOOK_CATEGORIES,
	BOOK_RESUMES
};
static gchar* book_real_to_string (GXmlSerializableObjectModel* base);
Name* book_get_name (Book* self);
const gchar* book_get_year (Book* self);
static void book_real_init_containers (GXmlSerializableContainer* base);
InventoryDualKeyMap* book_get_inventory_registers (Book* self);
void book_set_inventory_registers (Book* self, InventoryDualKeyMap* value);
CategoryMap* book_get_categories (Book* self);
void book_set_categories (Book* self, CategoryMap* value);
ResumeMap* book_get_resumes (Book* self);
void book_set_resumes (Book* self, ResumeMap* value);
Book* book_new (void);
Book* book_construct (GType object_type);
void book_set_year (Book* self, const gchar* value);
const gchar* book_get_isbn (Book* self);
void book_set_isbn (Book* self, const gchar* value);
void book_set_name (Book* self, Name* value);
Authors* book_get_authors (Book* self);
void book_set_authors (Book* self, Authors* value);
GType book_array_get_type (void) G_GNUC_CONST;
enum  {
	BOOK_ARRAY_DUMMY_PROPERTY
};
BookArray* book_array_new (void);
BookArray* book_array_construct (GType object_type);
static void book_finalize (GObject* obj);
static void _vala_book_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_book_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType book_store_get_type (void) G_GNUC_CONST;
#define BOOK_STORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_BOOK_STORE, BookStorePrivate))
enum  {
	BOOK_STORE_DUMMY_PROPERTY,
	BOOK_STORE_NAME,
	BOOK_STORE_BOOKS
};
static void book_store_real_init_containers (GXmlSerializableContainer* base);
BookArray* book_store_get_books (BookStore* self);
void book_store_set_books (BookStore* self, BookArray* value);
static gchar* book_store_real_to_string (GXmlSerializableObjectModel* base);
const gchar* book_store_get_name (BookStore* self);
BookStore* book_store_new (void);
BookStore* book_store_construct (GType object_type);
void book_store_set_name (BookStore* self, const gchar* value);
static void book_store_finalize (GObject* obj);
static void _vala_book_store_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_book_store_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
gpointer performance_ref (gpointer instance);
void performance_unref (gpointer instance);
GParamSpec* param_spec_performance (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_performance (GValue* value, gpointer v_object);
void value_take_performance (GValue* value, gpointer v_object);
gpointer value_get_performance (const GValue* value);
GType performance_get_type (void) G_GNUC_CONST;
enum  {
	PERFORMANCE_DUMMY_PROPERTY
};
void performance_iterate (GXmlNode* node);
void performance_iterate_dom (GXmlDomNode* node);
void performance_add_tests (void);
Performance* performance_new (void);
Performance* performance_construct (GType object_type);
static GType performance_aelement_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_AELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_AELEMENT, PerformanceAElementPrivate))
enum  {
	PERFORMANCE_AELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_AELEMENT_NAME
};
static PerformanceAElement* performance_aelement_new_named (const gchar* name);
static PerformanceAElement* performance_aelement_construct_named (GType object_type, const gchar* name);
static void performance_aelement_set_name (PerformanceAElement* self, const gchar* value);
static gchar* performance_aelement_real_to_string (GXmlSerializableObjectModel* base);
static const gchar* performance_aelement_get_name (PerformanceAElement* self);
static PerformanceAElement* performance_aelement_new (void);
static PerformanceAElement* performance_aelement_construct (GType object_type);
GType performance_aelement_array_get_type (void) G_GNUC_CONST;
#define PERFORMANCE_AELEMENT_ARRAY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArrayPrivate))
enum  {
	PERFORMANCE_AELEMENT_ARRAY_DUMMY_PROPERTY,
	PERFORMANCE_AELEMENT_ARRAY_ENABLE_DESERIALIZE
};
static gboolean performance_aelement_array_real_deserialize_proceed (GXmlSerializableArrayList* base);
static gboolean performance_aelement_array_get_enable_deserialize (PerformanceAElementArray* self);
static PerformanceAElementArray* performance_aelement_array_new (void);
static PerformanceAElementArray* performance_aelement_array_construct (GType object_type);
static void performance_aelement_array_set_enable_deserialize (PerformanceAElementArray* self, gboolean value);
static void performance_aelement_array_finalize (GObject* obj);
static void _vala_performance_aelement_array_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_aelement_array_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void performance_aelement_finalize (GObject* obj);
static void _vala_performance_aelement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_aelement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_celement_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_CELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_CELEMENT, PerformanceCElementPrivate))
enum  {
	PERFORMANCE_CELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_CELEMENT_ELEMENTS
};
static gchar* performance_celement_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_celement_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceCElement* performance_celement_new (void);
static PerformanceCElement* performance_celement_construct (GType object_type);
static PerformanceAElementArray* performance_celement_get_elements (PerformanceCElement* self);
static void performance_celement_set_elements (PerformanceCElement* self, PerformanceAElementArray* value);
static void performance_celement_finalize (GObject* obj);
static void _vala_performance_celement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_celement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_helement_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HELEMENT, PerformanceHElementPrivate))
enum  {
	PERFORMANCE_HELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HELEMENT_NAME
};
static gchar* performance_helement_real_get_map_key (GXmlSerializableMapKey* base);
static const gchar* performance_helement_get_name (PerformanceHElement* self);
static gchar* performance_helement_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_helement_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceHElement* performance_helement_new (void);
static PerformanceHElement* performance_helement_construct (GType object_type);
static void performance_helement_set_name (PerformanceHElement* self, const gchar* value);
GType performance_helement_hash_map_get_type (void) G_GNUC_CONST;
#define PERFORMANCE_HELEMENT_HASH_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMapPrivate))
enum  {
	PERFORMANCE_HELEMENT_HASH_MAP_DUMMY_PROPERTY,
	PERFORMANCE_HELEMENT_HASH_MAP_ENABLE_DESERIALIZE
};
static gboolean performance_helement_hash_map_real_deserialize_proceed (GXmlSerializableHashMap* base);
static gboolean performance_helement_hash_map_get_enable_deserialize (PerformanceHElementHashMap* self);
static PerformanceHElementHashMap* performance_helement_hash_map_new (void);
static PerformanceHElementHashMap* performance_helement_hash_map_construct (GType object_type);
static void performance_helement_hash_map_set_enable_deserialize (PerformanceHElementHashMap* self, gboolean value);
static void performance_helement_hash_map_finalize (GObject* obj);
static void _vala_performance_helement_hash_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_helement_hash_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void performance_helement_finalize (GObject* obj);
static void _vala_performance_helement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_helement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_hcp_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HCP_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElementPrivate))
enum  {
	PERFORMANCE_HCP_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HCP_ELEMENT_ELEMENTS
};
static gchar* performance_hcp_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_hcp_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceHcpElement* performance_hcp_element_new (void);
static PerformanceHcpElement* performance_hcp_element_construct (GType object_type);
static PerformanceHElementHashMap* performance_hcp_element_get_elements (PerformanceHcpElement* self);
static void performance_hcp_element_set_elements (PerformanceHcpElement* self, PerformanceHElementHashMap* value);
static void performance_hcp_element_finalize (GObject* obj);
static void _vala_performance_hcp_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_hcp_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_hcs_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HCS_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElementPrivate))
enum  {
	PERFORMANCE_HCS_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HCS_ELEMENT_ELEMENTS
};
static gchar* performance_hcs_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_hcs_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceHcsElement* performance_hcs_element_new (void);
static PerformanceHcsElement* performance_hcs_element_construct (GType object_type);
static PerformanceHElementHashMap* performance_hcs_element_get_elements (PerformanceHcsElement* self);
static void performance_hcs_element_set_elements (PerformanceHcsElement* self, PerformanceHElementHashMap* value);
static void performance_hcs_element_finalize (GObject* obj);
static void _vala_performance_hcs_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_hcs_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_htop_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HTOP_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElementPrivate))
enum  {
	PERFORMANCE_HTOP_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HTOP_ELEMENT_ELEMENTS1,
	PERFORMANCE_HTOP_ELEMENT_ELEMENTS2
};
static gchar* performance_htop_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_htop_element_real_to_string (GXmlSerializableObjectModel* base);
static gboolean performance_htop_element_real_property_use_nick (GXmlSerializableObjectModel* base);
static PerformanceHTopElement* performance_htop_element_new (void);
static PerformanceHTopElement* performance_htop_element_construct (GType object_type);
static PerformanceHcpElement* performance_htop_element_get_elements1 (PerformanceHTopElement* self);
static void performance_htop_element_set_elements1 (PerformanceHTopElement* self, PerformanceHcpElement* value);
static PerformanceHcsElement* performance_htop_element_get_elements2 (PerformanceHTopElement* self);
static void performance_htop_element_set_elements2 (PerformanceHTopElement* self, PerformanceHcsElement* value);
static void performance_htop_element_finalize (GObject* obj);
static void _vala_performance_htop_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_htop_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_ht_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HT_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElementPrivate))
enum  {
	PERFORMANCE_HT_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HT_ELEMENT_NAME
};
static gchar* performance_ht_element_real_get_map_key (GXmlSerializableMapKey* base);
static const gchar* performance_ht_element_get_name (PerformanceHTElement* self);
static gchar* performance_ht_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_ht_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceHTElement* performance_ht_element_new (void);
static PerformanceHTElement* performance_ht_element_construct (GType object_type);
static void performance_ht_element_set_name (PerformanceHTElement* self, const gchar* value);
GType performance_ht_element_tree_map_get_type (void) G_GNUC_CONST;
#define PERFORMANCE_HT_ELEMENT_TREE_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMapPrivate))
enum  {
	PERFORMANCE_HT_ELEMENT_TREE_MAP_DUMMY_PROPERTY,
	PERFORMANCE_HT_ELEMENT_TREE_MAP_ENABLE_DESERIALIZE
};
static gboolean performance_ht_element_tree_map_real_deserialize_proceed (GXmlSerializableTreeMap* base);
static gboolean performance_ht_element_tree_map_get_enable_deserialize (PerformanceHTElementTreeMap* self);
static PerformanceHTElementTreeMap* performance_ht_element_tree_map_new (void);
static PerformanceHTElementTreeMap* performance_ht_element_tree_map_construct (GType object_type);
static void performance_ht_element_tree_map_set_enable_deserialize (PerformanceHTElementTreeMap* self, gboolean value);
static void performance_ht_element_tree_map_finalize (GObject* obj);
static void _vala_performance_ht_element_tree_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_ht_element_tree_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void performance_ht_element_finalize (GObject* obj);
static void _vala_performance_ht_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_ht_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_htc_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_HTC_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElementPrivate))
enum  {
	PERFORMANCE_HTC_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_HTC_ELEMENT_ELEMENTS1,
	PERFORMANCE_HTC_ELEMENT_ELEMENTS2
};
static gchar* performance_htc_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_htc_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceHTCElement* performance_htc_element_new (void);
static PerformanceHTCElement* performance_htc_element_construct (GType object_type);
static PerformanceHTElementTreeMap* performance_htc_element_get_elements1 (PerformanceHTCElement* self);
static void performance_htc_element_set_elements1 (PerformanceHTCElement* self, PerformanceHTElementTreeMap* value);
static PerformanceHTElementTreeMap* performance_htc_element_get_elements2 (PerformanceHTCElement* self);
static void performance_htc_element_set_elements2 (PerformanceHTCElement* self, PerformanceHTElementTreeMap* value);
static void performance_htc_element_finalize (GObject* obj);
static void _vala_performance_htc_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_htc_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_dh_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_DH_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElementPrivate))
enum  {
	PERFORMANCE_DH_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_DH_ELEMENT_NAME,
	PERFORMANCE_DH_ELEMENT_KEY
};
static gchar* performance_dh_element_real_get_map_primary_key (GXmlSerializableMapDualKey* base);
static const gchar* performance_dh_element_get_key (PerformanceDHElement* self);
static gchar* performance_dh_element_real_get_map_secondary_key (GXmlSerializableMapDualKey* base);
static const gchar* performance_dh_element_get_name (PerformanceDHElement* self);
static gchar* performance_dh_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_dh_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceDHElement* performance_dh_element_new (void);
static PerformanceDHElement* performance_dh_element_construct (GType object_type);
static void performance_dh_element_set_name (PerformanceDHElement* self, const gchar* value);
static void performance_dh_element_set_key (PerformanceDHElement* self, const gchar* value);
GType performance_dh_element_dual_key_map_get_type (void) G_GNUC_CONST;
#define PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMapPrivate))
enum  {
	PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_DUMMY_PROPERTY,
	PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_ENABLE_DESERIALIZE
};
static gboolean performance_dh_element_dual_key_map_real_deserialize_proceed (GXmlSerializableDualKeyMap* base);
static gboolean performance_dh_element_dual_key_map_get_enable_deserialize (PerformanceDHElementDualKeyMap* self);
static PerformanceDHElementDualKeyMap* performance_dh_element_dual_key_map_new (void);
static PerformanceDHElementDualKeyMap* performance_dh_element_dual_key_map_construct (GType object_type);
static void performance_dh_element_dual_key_map_set_enable_deserialize (PerformanceDHElementDualKeyMap* self, gboolean value);
static void performance_dh_element_dual_key_map_finalize (GObject* obj);
static void _vala_performance_dh_element_dual_key_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_dh_element_dual_key_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void performance_dh_element_finalize (GObject* obj);
static void _vala_performance_dh_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_dh_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static GType performance_dhc_element_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define PERFORMANCE_DHC_ELEMENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElementPrivate))
enum  {
	PERFORMANCE_DHC_ELEMENT_DUMMY_PROPERTY,
	PERFORMANCE_DHC_ELEMENT_ELEMENTS1,
	PERFORMANCE_DHC_ELEMENT_ELEMENTS2
};
static gchar* performance_dhc_element_real_node_name (GXmlSerializableObjectModel* base);
static gchar* performance_dhc_element_real_to_string (GXmlSerializableObjectModel* base);
static PerformanceDHCElement* performance_dhc_element_new (void);
static PerformanceDHCElement* performance_dhc_element_construct (GType object_type);
static PerformanceDHElementDualKeyMap* performance_dhc_element_get_elements1 (PerformanceDHCElement* self);
static void performance_dhc_element_set_elements1 (PerformanceDHCElement* self, PerformanceDHElementDualKeyMap* value);
static PerformanceDHElementDualKeyMap* performance_dhc_element_get_elements2 (PerformanceDHCElement* self);
static void performance_dhc_element_set_elements2 (PerformanceDHCElement* self, PerformanceDHElementDualKeyMap* value);
static void performance_dhc_element_finalize (GObject* obj);
static void _vala_performance_dhc_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_performance_dhc_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void performance_finalize (Performance* obj);


gchar* name_get_name (Name* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 23 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 23 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = gxml_serializable_get_serialized_xml_node_value ((GXmlSerializable*) self);
#line 23 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _tmp0_;
#line 23 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 23 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1204 "gxml-performance.c"
}


static gboolean name_real_serialize_use_xml_node_value (GXmlSerializableObjectModel* base) {
	Name * self;
	gboolean result = FALSE;
#line 24 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Name*) base;
#line 24 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = TRUE;
#line 24 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1217 "gxml-performance.c"
}


static gchar* name_real_to_string (GXmlSerializableObjectModel* base) {
	Name * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 25 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Name*) base;
#line 25 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = gxml_serializable_get_serialized_xml_node_value ((GXmlSerializable*) self);
#line 25 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _tmp0_;
#line 25 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 25 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1236 "gxml-performance.c"
}


Name* name_construct (GType object_type) {
	Name * self = NULL;
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Name*) gxml_serializable_object_model_construct (object_type);
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 1246 "gxml-performance.c"
}


Name* name_new (void) {
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return name_construct (TYPE_NAME);
#line 1253 "gxml-performance.c"
}


static void name_class_init (NameClass * klass) {
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	name_parent_class = g_type_class_peek_parent (klass);
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->serialize_use_xml_node_value = (gboolean (*)(GXmlSerializableObjectModel*)) name_real_serialize_use_xml_node_value;
#line 21 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) name_real_to_string;
#line 1264 "gxml-performance.c"
}


static void name_instance_init (Name * self) {
}


GType name_get_type (void) {
	static volatile gsize name_type_id__volatile = 0;
	if (g_once_init_enter (&name_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (NameClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) name_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Name), 0, (GInstanceInitFunc) name_instance_init, NULL };
		GType name_type_id;
		name_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Name", &g_define_type_info, 0);
		g_once_init_leave (&name_type_id__volatile, name_type_id);
	}
	return name_type_id__volatile;
}


gchar* email_get_mail (Email* self) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 30 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 30 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = gxml_serializable_get_serialized_xml_node_value ((GXmlSerializable*) self);
#line 30 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _tmp0_;
#line 30 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 30 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1298 "gxml-performance.c"
}


static gboolean email_real_serialize_use_xml_node_value (GXmlSerializableObjectModel* base) {
	Email * self;
	gboolean result = FALSE;
#line 31 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Email*) base;
#line 31 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = TRUE;
#line 31 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1311 "gxml-performance.c"
}


static gchar* email_real_to_string (GXmlSerializableObjectModel* base) {
	Email * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 32 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Email*) base;
#line 32 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = gxml_serializable_get_serialized_xml_node_value ((GXmlSerializable*) self);
#line 32 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _tmp0_;
#line 32 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 32 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1330 "gxml-performance.c"
}


Email* email_construct (GType object_type) {
	Email * self = NULL;
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Email*) gxml_serializable_object_model_construct (object_type);
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 1340 "gxml-performance.c"
}


Email* email_new (void) {
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return email_construct (TYPE_EMAIL);
#line 1347 "gxml-performance.c"
}


static void email_class_init (EmailClass * klass) {
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	email_parent_class = g_type_class_peek_parent (klass);
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->serialize_use_xml_node_value = (gboolean (*)(GXmlSerializableObjectModel*)) email_real_serialize_use_xml_node_value;
#line 28 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) email_real_to_string;
#line 1358 "gxml-performance.c"
}


static void email_instance_init (Email * self) {
}


GType email_get_type (void) {
	static volatile gsize email_type_id__volatile = 0;
	if (g_once_init_enter (&email_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (EmailClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) email_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Email), 0, (GInstanceInitFunc) email_instance_init, NULL };
		GType email_type_id;
		email_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Email", &g_define_type_info, 0);
		g_once_init_leave (&email_type_id__volatile, email_type_id);
	}
	return email_type_id__volatile;
}


static const gchar* string_to_string (const gchar* self) {
	const gchar* result = NULL;
#line 1412 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1413 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = self;
#line 1413 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 1386 "gxml-performance.c"
}


static gchar* author_real_to_string (GXmlSerializableObjectModel* base) {
	Author * self;
	gchar* result = NULL;
	Name* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	Email* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
	gchar* _tmp9_ = NULL;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Author*) base;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = name_get_name (_tmp0_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp2_ = _tmp1_;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = string_to_string (_tmp2_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp4_ = self->priv->_email;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp5_ = email_get_mail (_tmp4_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp6_ = _tmp5_;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp7_ = string_to_string (_tmp6_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp8_ = g_strconcat ("\"", _tmp3_, "\"<", _tmp7_, ">", NULL);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp9_ = _tmp8_;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp6_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp2_);
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp9_;
#line 39 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1433 "gxml-performance.c"
}


Author* author_construct (GType object_type) {
	Author * self = NULL;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Author*) gxml_serializable_object_model_construct (object_type);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 1443 "gxml-performance.c"
}


Author* author_new (void) {
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return author_construct (TYPE_AUTHOR);
#line 1450 "gxml-performance.c"
}


Name* author_get_name (Author* self) {
	Name* result;
	Name* _tmp0_ = NULL;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1465 "gxml-performance.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self ? g_object_ref (self) : NULL;
#line 1472 "gxml-performance.c"
}


void author_set_name (Author* self, Name* value) {
	Name* _tmp0_ = NULL;
	Name* _tmp1_ = NULL;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_name);
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 1491 "gxml-performance.c"
}


Email* author_get_email (Author* self) {
	Email* result;
	Email* _tmp0_ = NULL;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_email;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1506 "gxml-performance.c"
}


void author_set_email (Author* self, Email* value) {
	Email* _tmp0_ = NULL;
	Email* _tmp1_ = NULL;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_email);
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_email = _tmp1_;
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "email");
#line 1525 "gxml-performance.c"
}


AuthorArray* author_array_construct (GType object_type) {
	AuthorArray * self = NULL;
#line 40 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (AuthorArray*) gxml_serializable_array_list_construct (object_type, TYPE_AUTHOR, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 40 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 1535 "gxml-performance.c"
}


AuthorArray* author_array_new (void) {
#line 40 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return author_array_construct (AUTHOR_TYPE_ARRAY);
#line 1542 "gxml-performance.c"
}


static void author_array_class_init (AuthorArrayClass * klass) {
#line 40 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	author_array_parent_class = g_type_class_peek_parent (klass);
#line 1549 "gxml-performance.c"
}


static void author_array_instance_init (AuthorArray * self) {
}


GType author_array_get_type (void) {
	static volatile gsize author_array_type_id__volatile = 0;
	if (g_once_init_enter (&author_array_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (AuthorArrayClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) author_array_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (AuthorArray), 0, (GInstanceInitFunc) author_array_instance_init, NULL };
		GType author_array_type_id;
		author_array_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_ARRAY_LIST, "AuthorArray", &g_define_type_info, 0);
		g_once_init_leave (&author_array_type_id__volatile, author_array_type_id);
	}
	return author_array_type_id__volatile;
}


static void author_class_init (AuthorClass * klass) {
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	author_parent_class = g_type_class_peek_parent (klass);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (AuthorPrivate));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) author_real_to_string;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_author_get_property;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_author_set_property;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = author_finalize;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), AUTHOR_NAME, g_param_spec_object ("name", "name", "name", TYPE_NAME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), AUTHOR_EMAIL, g_param_spec_object ("email", "email", "email", TYPE_EMAIL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 1586 "gxml-performance.c"
}


static void author_instance_init (Author * self) {
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = AUTHOR_GET_PRIVATE (self);
#line 1593 "gxml-performance.c"
}


static void author_finalize (GObject* obj) {
	Author * self;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AUTHOR, Author);
#line 37 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_name);
#line 38 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_email);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (author_parent_class)->finalize (obj);
#line 1607 "gxml-performance.c"
}


GType author_get_type (void) {
	static volatile gsize author_type_id__volatile = 0;
	if (g_once_init_enter (&author_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (AuthorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) author_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Author), 0, (GInstanceInitFunc) author_instance_init, NULL };
		GType author_type_id;
		author_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Author", &g_define_type_info, 0);
		g_once_init_leave (&author_type_id__volatile, author_type_id);
	}
	return author_type_id__volatile;
}


static void _vala_author_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Author * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_AUTHOR, Author);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHOR_NAME:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, author_get_name (self));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHOR_EMAIL:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, author_get_email (self));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1640 "gxml-performance.c"
		default:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1646 "gxml-performance.c"
	}
}


static void _vala_author_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Author * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_AUTHOR, Author);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHOR_NAME:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		author_set_name (self, g_value_get_object (value));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHOR_EMAIL:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		author_set_email (self, g_value_get_object (value));
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1668 "gxml-performance.c"
		default:
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 35 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1674 "gxml-performance.c"
	}
}


static void authors_real_init_containers (GXmlSerializableContainer* base) {
	Authors * self;
	AuthorArray* _tmp0_ = NULL;
#line 47 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Authors*) base;
#line 49 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_array;
#line 49 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (_tmp0_ == NULL) {
#line 1688 "gxml-performance.c"
		AuthorArray* _tmp1_ = NULL;
		AuthorArray* _tmp2_ = NULL;
#line 50 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp1_ = author_array_new ();
#line 50 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp2_ = _tmp1_;
#line 50 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		authors_set_array (self, _tmp2_);
#line 50 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_tmp2_);
#line 1699 "gxml-performance.c"
	}
}


static gchar* authors_real_to_string (GXmlSerializableObjectModel* base) {
	Authors * self;
	gchar* result = NULL;
	GType _tmp0_ = 0UL;
	const gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Authors*) base;
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = G_TYPE_FROM_INSTANCE ((GObject*) self);
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_type_name (_tmp0_);
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp2_ = string_to_string (_tmp1_);
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp3_;
#line 52 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1725 "gxml-performance.c"
}


Authors* authors_construct (GType object_type) {
	Authors * self = NULL;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Authors*) gxml_serializable_container_construct (object_type);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 1735 "gxml-performance.c"
}


Authors* authors_new (void) {
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return authors_construct (TYPE_AUTHORS);
#line 1742 "gxml-performance.c"
}


const gchar* authors_get_number (Authors* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_number;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1757 "gxml-performance.c"
}


void authors_set_number (Authors* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_number);
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_number = _tmp1_;
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "number");
#line 1776 "gxml-performance.c"
}


AuthorArray* authors_get_array (Authors* self) {
	AuthorArray* result;
	AuthorArray* _tmp0_ = NULL;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_array;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1791 "gxml-performance.c"
}


void authors_set_array (Authors* self, AuthorArray* value) {
	AuthorArray* _tmp0_ = NULL;
	AuthorArray* _tmp1_ = NULL;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_array);
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_array = _tmp1_;
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "array");
#line 1810 "gxml-performance.c"
}


static void authors_class_init (AuthorsClass * klass) {
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	authors_parent_class = g_type_class_peek_parent (klass);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (AuthorsPrivate));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableContainerClass *) klass)->init_containers = (void (*)(GXmlSerializableContainer*)) authors_real_init_containers;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) authors_real_to_string;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_authors_get_property;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_authors_set_property;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = authors_finalize;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), AUTHORS_NUMBER, g_param_spec_string ("number", "number", "number", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), AUTHORS_ARRAY, g_param_spec_object ("array", "array", "array", AUTHOR_TYPE_ARRAY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 1833 "gxml-performance.c"
}


static void authors_instance_init (Authors * self) {
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = AUTHORS_GET_PRIVATE (self);
#line 1840 "gxml-performance.c"
}


static void authors_finalize (GObject* obj) {
	Authors * self;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_AUTHORS, Authors);
#line 45 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_number);
#line 46 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_array);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (authors_parent_class)->finalize (obj);
#line 1854 "gxml-performance.c"
}


GType authors_get_type (void) {
	static volatile gsize authors_type_id__volatile = 0;
	if (g_once_init_enter (&authors_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (AuthorsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) authors_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Authors), 0, (GInstanceInitFunc) authors_instance_init, NULL };
		GType authors_type_id;
		authors_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_CONTAINER, "Authors", &g_define_type_info, 0);
		g_once_init_leave (&authors_type_id__volatile, authors_type_id);
	}
	return authors_type_id__volatile;
}


static void _vala_authors_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Authors * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_AUTHORS, Authors);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHORS_NUMBER:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, authors_get_number (self));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHORS_ARRAY:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, authors_get_array (self));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1887 "gxml-performance.c"
		default:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1893 "gxml-performance.c"
	}
}


static void _vala_authors_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Authors * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_AUTHORS, Authors);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHORS_NUMBER:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		authors_set_number (self, g_value_get_string (value));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case AUTHORS_ARRAY:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		authors_set_array (self, g_value_get_object (value));
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1915 "gxml-performance.c"
		default:
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 43 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 1921 "gxml-performance.c"
	}
}


static gint inventory_real_get_map_primary_key (GXmlSerializableMapDualKey* base) {
	Inventory * self;
	gint result = 0;
	gint _tmp0_ = 0;
#line 60 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Inventory*) base;
#line 60 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_number;
#line 60 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 60 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1938 "gxml-performance.c"
}


static gchar* inventory_real_get_map_secondary_key (GXmlSerializableMapDualKey* base) {
	Inventory * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 61 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Inventory*) base;
#line 61 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_inventory;
#line 61 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 61 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 61 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 1957 "gxml-performance.c"
}


static gchar* inventory_real_to_string (GXmlSerializableObjectModel* base) {
	Inventory * self;
	gchar* result = NULL;
	gint _tmp0_ = 0;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gint _tmp4_ = 0;
	gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Inventory*) base;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_number;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup_printf ("%i", _tmp0_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp2_ = _tmp1_;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = string_to_string (_tmp2_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp4_ = self->priv->_row;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp5_ = g_strdup_printf ("%i", _tmp4_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp6_ = _tmp5_;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp7_ = string_to_string (_tmp6_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp8_ = self->priv->_inventory;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp9_ = string_to_string (_tmp8_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp10_ = g_strconcat ("||", _tmp3_, "|", _tmp7_, "|", _tmp9_, "||", NULL);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp11_ = _tmp10_;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp6_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp2_);
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp11_;
#line 62 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2010 "gxml-performance.c"
}


Inventory* inventory_construct (GType object_type) {
	Inventory * self = NULL;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Inventory*) gxml_serializable_object_model_construct (object_type);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2020 "gxml-performance.c"
}


Inventory* inventory_new (void) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return inventory_construct (TYPE_INVENTORY);
#line 2027 "gxml-performance.c"
}


gint inventory_get_number (Inventory* self) {
	gint result;
	gint _tmp0_ = 0;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_number;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2042 "gxml-performance.c"
}


void inventory_set_number (Inventory* self, gint value) {
	gint _tmp0_ = 0;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_number = _tmp0_;
#line 57 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "number");
#line 2056 "gxml-performance.c"
}


gint inventory_get_row (Inventory* self) {
	gint result;
	gint _tmp0_ = 0;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_row;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2071 "gxml-performance.c"
}


void inventory_set_row (Inventory* self, gint value) {
	gint _tmp0_ = 0;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_row = _tmp0_;
#line 58 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "row");
#line 2085 "gxml-performance.c"
}


const gchar* inventory_get_inventory (Inventory* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_inventory;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2100 "gxml-performance.c"
}


void inventory_set_inventory (Inventory* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_inventory);
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_inventory = _tmp1_;
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "inventory");
#line 2119 "gxml-performance.c"
}


InventoryDualKeyMap* inventory_dual_key_map_construct (GType object_type) {
	InventoryDualKeyMap * self = NULL;
#line 63 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (InventoryDualKeyMap*) gxml_serializable_dual_key_map_construct (object_type, G_TYPE_INT, NULL, NULL, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, TYPE_INVENTORY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 63 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2129 "gxml-performance.c"
}


InventoryDualKeyMap* inventory_dual_key_map_new (void) {
#line 63 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return inventory_dual_key_map_construct (INVENTORY_TYPE_DUAL_KEY_MAP);
#line 2136 "gxml-performance.c"
}


static void inventory_dual_key_map_class_init (InventoryDualKeyMapClass * klass) {
#line 63 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	inventory_dual_key_map_parent_class = g_type_class_peek_parent (klass);
#line 2143 "gxml-performance.c"
}


static void inventory_dual_key_map_instance_init (InventoryDualKeyMap * self) {
}


GType inventory_dual_key_map_get_type (void) {
	static volatile gsize inventory_dual_key_map_type_id__volatile = 0;
	if (g_once_init_enter (&inventory_dual_key_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (InventoryDualKeyMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) inventory_dual_key_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (InventoryDualKeyMap), 0, (GInstanceInitFunc) inventory_dual_key_map_instance_init, NULL };
		GType inventory_dual_key_map_type_id;
		inventory_dual_key_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_DUAL_KEY_MAP, "InventoryDualKeyMap", &g_define_type_info, 0);
		g_once_init_leave (&inventory_dual_key_map_type_id__volatile, inventory_dual_key_map_type_id);
	}
	return inventory_dual_key_map_type_id__volatile;
}


static void inventory_class_init (InventoryClass * klass) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	inventory_parent_class = g_type_class_peek_parent (klass);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (InventoryPrivate));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) inventory_real_to_string;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_inventory_get_property;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_inventory_set_property;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = inventory_finalize;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), INVENTORY_NUMBER, g_param_spec_int ("number", "number", "number", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), INVENTORY_ROW, g_param_spec_int ("row", "row", "row", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), INVENTORY_INVENTORY, g_param_spec_string ("inventory", "inventory", "inventory", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 2182 "gxml-performance.c"
}


static void inventory_gxml_serializable_map_dual_key_interface_init (GXmlSerializableMapDualKeyIface * iface) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	inventory_gxml_serializable_map_dual_key_parent_iface = g_type_interface_peek_parent (iface);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_primary_key = (gpointer (*)(GXmlSerializableMapDualKey*)) inventory_real_get_map_primary_key;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_secondary_key = (gpointer (*)(GXmlSerializableMapDualKey*)) inventory_real_get_map_secondary_key;
#line 2193 "gxml-performance.c"
}


static void inventory_instance_init (Inventory * self) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = INVENTORY_GET_PRIVATE (self);
#line 2200 "gxml-performance.c"
}


static void inventory_finalize (GObject* obj) {
	Inventory * self;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_INVENTORY, Inventory);
#line 59 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_inventory);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (inventory_parent_class)->finalize (obj);
#line 2212 "gxml-performance.c"
}


GType inventory_get_type (void) {
	static volatile gsize inventory_type_id__volatile = 0;
	if (g_once_init_enter (&inventory_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (InventoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) inventory_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Inventory), 0, (GInstanceInitFunc) inventory_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_dual_key_info = { (GInterfaceInitFunc) inventory_gxml_serializable_map_dual_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType inventory_type_id;
		inventory_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Inventory", &g_define_type_info, 0);
		g_type_add_interface_static (inventory_type_id, GXML_TYPE_SERIALIZABLE_MAP_DUAL_KEY, &gxml_serializable_map_dual_key_info);
		g_once_init_leave (&inventory_type_id__volatile, inventory_type_id);
	}
	return inventory_type_id__volatile;
}


static void _vala_inventory_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Inventory * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_INVENTORY, Inventory);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_NUMBER:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_int (value, inventory_get_number (self));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_ROW:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_int (value, inventory_get_row (self));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_INVENTORY:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, inventory_get_inventory (self));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2253 "gxml-performance.c"
		default:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2259 "gxml-performance.c"
	}
}


static void _vala_inventory_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Inventory * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_INVENTORY, Inventory);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_NUMBER:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		inventory_set_number (self, g_value_get_int (value));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_ROW:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		inventory_set_row (self, g_value_get_int (value));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case INVENTORY_INVENTORY:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		inventory_set_inventory (self, g_value_get_string (value));
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2287 "gxml-performance.c"
		default:
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 55 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2293 "gxml-performance.c"
	}
}


static gchar* category_real_get_map_key (GXmlSerializableMapKey* base) {
	Category * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 69 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Category*) base;
#line 69 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 69 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 69 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 69 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2313 "gxml-performance.c"
}


static gchar* category_real_to_string (GXmlSerializableObjectModel* base) {
	Category * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 70 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Category*) base;
#line 70 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 70 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strconcat ("Category: ", _tmp0_, NULL);
#line 70 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 70 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2332 "gxml-performance.c"
}


Category* category_construct (GType object_type) {
	Category * self = NULL;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Category*) gxml_serializable_object_model_construct (object_type);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2342 "gxml-performance.c"
}


Category* category_new (void) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return category_construct (TYPE_CATEGORY);
#line 2349 "gxml-performance.c"
}


const gchar* category_get_name (Category* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2364 "gxml-performance.c"
}


void category_set_name (Category* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 2383 "gxml-performance.c"
}


CategoryMap* category_map_construct (GType object_type) {
	CategoryMap * self = NULL;
#line 71 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (CategoryMap*) gxml_serializable_hash_map_construct (object_type, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, TYPE_CATEGORY, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 71 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2393 "gxml-performance.c"
}


CategoryMap* category_map_new (void) {
#line 71 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return category_map_construct (CATEGORY_TYPE_MAP);
#line 2400 "gxml-performance.c"
}


static void category_map_class_init (CategoryMapClass * klass) {
#line 71 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	category_map_parent_class = g_type_class_peek_parent (klass);
#line 2407 "gxml-performance.c"
}


static void category_map_instance_init (CategoryMap * self) {
}


GType category_map_get_type (void) {
	static volatile gsize category_map_type_id__volatile = 0;
	if (g_once_init_enter (&category_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CategoryMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) category_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CategoryMap), 0, (GInstanceInitFunc) category_map_instance_init, NULL };
		GType category_map_type_id;
		category_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_HASH_MAP, "CategoryMap", &g_define_type_info, 0);
		g_once_init_leave (&category_map_type_id__volatile, category_map_type_id);
	}
	return category_map_type_id__volatile;
}


static void category_class_init (CategoryClass * klass) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	category_parent_class = g_type_class_peek_parent (klass);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (CategoryPrivate));
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) category_real_to_string;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_category_get_property;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_category_set_property;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = category_finalize;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), CATEGORY_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 2442 "gxml-performance.c"
}


static void category_gxml_serializable_map_key_interface_init (GXmlSerializableMapKeyIface * iface) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	category_gxml_serializable_map_key_parent_iface = g_type_interface_peek_parent (iface);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_key = (gpointer (*)(GXmlSerializableMapKey*)) category_real_get_map_key;
#line 2451 "gxml-performance.c"
}


static void category_instance_init (Category * self) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = CATEGORY_GET_PRIVATE (self);
#line 2458 "gxml-performance.c"
}


static void category_finalize (GObject* obj) {
	Category * self;
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CATEGORY, Category);
#line 68 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (category_parent_class)->finalize (obj);
#line 2470 "gxml-performance.c"
}


GType category_get_type (void) {
	static volatile gsize category_type_id__volatile = 0;
	if (g_once_init_enter (&category_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CategoryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) category_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Category), 0, (GInstanceInitFunc) category_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_key_info = { (GInterfaceInitFunc) category_gxml_serializable_map_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType category_type_id;
		category_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Category", &g_define_type_info, 0);
		g_type_add_interface_static (category_type_id, GXML_TYPE_SERIALIZABLE_MAP_KEY, &gxml_serializable_map_key_info);
		g_once_init_leave (&category_type_id__volatile, category_type_id);
	}
	return category_type_id__volatile;
}


static void _vala_category_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Category * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CATEGORY, Category);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case CATEGORY_NAME:
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, category_get_name (self));
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2499 "gxml-performance.c"
		default:
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2505 "gxml-performance.c"
	}
}


static void _vala_category_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Category * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_CATEGORY, Category);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case CATEGORY_NAME:
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		category_set_name (self, g_value_get_string (value));
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2521 "gxml-performance.c"
		default:
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 66 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2527 "gxml-performance.c"
	}
}


static gchar* resume_real_get_map_key (GXmlSerializableMapKey* base) {
	Resume * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 79 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Resume*) base;
#line 79 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_chapter;
#line 79 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 79 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 79 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2547 "gxml-performance.c"
}


static gchar* resume_real_to_string (GXmlSerializableObjectModel* base) {
	Resume * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Resume*) base;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_chapter;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strconcat ("Chapter: ", _tmp0_, NULL);
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp2_ = _tmp1_;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = g_strconcat (_tmp2_, "\n", NULL);
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp4_ = _tmp3_;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp5_ = self->priv->_text;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp6_ = g_strconcat (_tmp4_, _tmp5_, NULL);
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp7_ = _tmp6_;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp4_);
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp2_);
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp7_;
#line 80 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2588 "gxml-performance.c"
}


Resume* resume_construct (GType object_type) {
	Resume * self = NULL;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Resume*) gxml_serializable_object_model_construct (object_type);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2598 "gxml-performance.c"
}


Resume* resume_new (void) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return resume_construct (TYPE_RESUME);
#line 2605 "gxml-performance.c"
}


const gchar* resume_get_chapter (Resume* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_chapter;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2620 "gxml-performance.c"
}


void resume_set_chapter (Resume* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_chapter);
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_chapter = _tmp1_;
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "chapter");
#line 2639 "gxml-performance.c"
}


const gchar* resume_get_text (Resume* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_text;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2654 "gxml-performance.c"
}


void resume_set_text (Resume* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_text);
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_text = _tmp1_;
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "text");
#line 2673 "gxml-performance.c"
}


ResumeMap* resume_map_construct (GType object_type) {
	ResumeMap * self = NULL;
#line 81 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (ResumeMap*) gxml_serializable_tree_map_construct (object_type, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, TYPE_RESUME, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 81 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2683 "gxml-performance.c"
}


ResumeMap* resume_map_new (void) {
#line 81 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return resume_map_construct (RESUME_TYPE_MAP);
#line 2690 "gxml-performance.c"
}


static void resume_map_class_init (ResumeMapClass * klass) {
#line 81 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	resume_map_parent_class = g_type_class_peek_parent (klass);
#line 2697 "gxml-performance.c"
}


static void resume_map_instance_init (ResumeMap * self) {
}


GType resume_map_get_type (void) {
	static volatile gsize resume_map_type_id__volatile = 0;
	if (g_once_init_enter (&resume_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ResumeMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) resume_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ResumeMap), 0, (GInstanceInitFunc) resume_map_instance_init, NULL };
		GType resume_map_type_id;
		resume_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_TREE_MAP, "ResumeMap", &g_define_type_info, 0);
		g_once_init_leave (&resume_map_type_id__volatile, resume_map_type_id);
	}
	return resume_map_type_id__volatile;
}


static void resume_class_init (ResumeClass * klass) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	resume_parent_class = g_type_class_peek_parent (klass);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (ResumePrivate));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) resume_real_to_string;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_resume_get_property;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_resume_set_property;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = resume_finalize;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), RESUME_CHAPTER, g_param_spec_string ("chapter", "chapter", "chapter", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), RESUME_TEXT, g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 2734 "gxml-performance.c"
}


static void resume_gxml_serializable_map_key_interface_init (GXmlSerializableMapKeyIface * iface) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	resume_gxml_serializable_map_key_parent_iface = g_type_interface_peek_parent (iface);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_key = (gpointer (*)(GXmlSerializableMapKey*)) resume_real_get_map_key;
#line 2743 "gxml-performance.c"
}


static void resume_instance_init (Resume * self) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = RESUME_GET_PRIVATE (self);
#line 2750 "gxml-performance.c"
}


static void resume_finalize (GObject* obj) {
	Resume * self;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_RESUME, Resume);
#line 77 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_chapter);
#line 78 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_text);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (resume_parent_class)->finalize (obj);
#line 2764 "gxml-performance.c"
}


GType resume_get_type (void) {
	static volatile gsize resume_type_id__volatile = 0;
	if (g_once_init_enter (&resume_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (ResumeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) resume_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Resume), 0, (GInstanceInitFunc) resume_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_key_info = { (GInterfaceInitFunc) resume_gxml_serializable_map_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType resume_type_id;
		resume_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "Resume", &g_define_type_info, 0);
		g_type_add_interface_static (resume_type_id, GXML_TYPE_SERIALIZABLE_MAP_KEY, &gxml_serializable_map_key_info);
		g_once_init_leave (&resume_type_id__volatile, resume_type_id);
	}
	return resume_type_id__volatile;
}


static void _vala_resume_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Resume * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_RESUME, Resume);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case RESUME_CHAPTER:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, resume_get_chapter (self));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case RESUME_TEXT:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, resume_get_text (self));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2799 "gxml-performance.c"
		default:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2805 "gxml-performance.c"
	}
}


static void _vala_resume_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Resume * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_RESUME, Resume);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case RESUME_CHAPTER:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		resume_set_chapter (self, g_value_get_string (value));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case RESUME_TEXT:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		resume_set_text (self, g_value_get_string (value));
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2827 "gxml-performance.c"
		default:
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 75 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 2833 "gxml-performance.c"
	}
}


static gchar* book_real_to_string (GXmlSerializableObjectModel* base) {
	Book * self;
	gchar* result = NULL;
	Name* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_ = NULL;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Book*) base;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = name_get_name (_tmp0_);
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp2_ = _tmp1_;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = string_to_string (_tmp2_);
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp4_ = self->priv->_year;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp5_ = string_to_string (_tmp4_);
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp6_ = g_strconcat (_tmp3_, ", ", _tmp5_, NULL);
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp7_ = _tmp6_;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (_tmp2_);
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp7_;
#line 93 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2873 "gxml-performance.c"
}


static void book_real_init_containers (GXmlSerializableContainer* base) {
	Book * self;
	InventoryDualKeyMap* _tmp0_ = NULL;
	CategoryMap* _tmp3_ = NULL;
	ResumeMap* _tmp6_ = NULL;
#line 94 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Book*) base;
#line 96 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_inventory_registers;
#line 96 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (_tmp0_ == NULL) {
#line 2888 "gxml-performance.c"
		InventoryDualKeyMap* _tmp1_ = NULL;
		InventoryDualKeyMap* _tmp2_ = NULL;
#line 97 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp1_ = inventory_dual_key_map_new ();
#line 97 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp2_ = _tmp1_;
#line 97 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_inventory_registers (self, _tmp2_);
#line 97 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_tmp2_);
#line 2899 "gxml-performance.c"
	}
#line 98 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp3_ = self->priv->_categories;
#line 98 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (_tmp3_ == NULL) {
#line 2905 "gxml-performance.c"
		CategoryMap* _tmp4_ = NULL;
		CategoryMap* _tmp5_ = NULL;
#line 99 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp4_ = category_map_new ();
#line 99 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp5_ = _tmp4_;
#line 99 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_categories (self, _tmp5_);
#line 99 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_tmp5_);
#line 2916 "gxml-performance.c"
	}
#line 100 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp6_ = self->priv->_resumes;
#line 100 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (_tmp6_ == NULL) {
#line 2922 "gxml-performance.c"
		ResumeMap* _tmp7_ = NULL;
		ResumeMap* _tmp8_ = NULL;
#line 101 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp7_ = resume_map_new ();
#line 101 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp8_ = _tmp7_;
#line 101 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_resumes (self, _tmp8_);
#line 101 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_tmp8_);
#line 2933 "gxml-performance.c"
	}
}


Book* book_construct (GType object_type) {
	Book * self = NULL;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Book*) gxml_serializable_container_construct (object_type);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 2944 "gxml-performance.c"
}


Book* book_new (void) {
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return book_construct (TYPE_BOOK);
#line 2951 "gxml-performance.c"
}


const gchar* book_get_year (Book* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_year;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 2966 "gxml-performance.c"
}


void book_set_year (Book* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_year);
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_year = _tmp1_;
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "year");
#line 2985 "gxml-performance.c"
}


const gchar* book_get_isbn (Book* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_isbn;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3000 "gxml-performance.c"
}


void book_set_isbn (Book* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_isbn);
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_isbn = _tmp1_;
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "isbn");
#line 3019 "gxml-performance.c"
}


Name* book_get_name (Book* self) {
	Name* result;
	Name* _tmp0_ = NULL;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3034 "gxml-performance.c"
}


void book_set_name (Book* self, Name* value) {
	Name* _tmp0_ = NULL;
	Name* _tmp1_ = NULL;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_name);
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 3053 "gxml-performance.c"
}


Authors* book_get_authors (Book* self) {
	Authors* result;
	Authors* _tmp0_ = NULL;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_authors;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3068 "gxml-performance.c"
}


void book_set_authors (Book* self, Authors* value) {
	Authors* _tmp0_ = NULL;
	Authors* _tmp1_ = NULL;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_authors);
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_authors = _tmp1_;
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "authors");
#line 3087 "gxml-performance.c"
}


InventoryDualKeyMap* book_get_inventory_registers (Book* self) {
	InventoryDualKeyMap* result;
	InventoryDualKeyMap* _tmp0_ = NULL;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_inventory_registers;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3102 "gxml-performance.c"
}


void book_set_inventory_registers (Book* self, InventoryDualKeyMap* value) {
	InventoryDualKeyMap* _tmp0_ = NULL;
	InventoryDualKeyMap* _tmp1_ = NULL;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_inventory_registers);
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_inventory_registers = _tmp1_;
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "inventory-registers");
#line 3121 "gxml-performance.c"
}


CategoryMap* book_get_categories (Book* self) {
	CategoryMap* result;
	CategoryMap* _tmp0_ = NULL;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_categories;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3136 "gxml-performance.c"
}


void book_set_categories (Book* self, CategoryMap* value) {
	CategoryMap* _tmp0_ = NULL;
	CategoryMap* _tmp1_ = NULL;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_categories);
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_categories = _tmp1_;
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "categories");
#line 3155 "gxml-performance.c"
}


ResumeMap* book_get_resumes (Book* self) {
	ResumeMap* result;
	ResumeMap* _tmp0_ = NULL;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_resumes;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3170 "gxml-performance.c"
}


void book_set_resumes (Book* self, ResumeMap* value) {
	ResumeMap* _tmp0_ = NULL;
	ResumeMap* _tmp1_ = NULL;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_resumes);
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_resumes = _tmp1_;
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "resumes");
#line 3189 "gxml-performance.c"
}


BookArray* book_array_construct (GType object_type) {
	BookArray * self = NULL;
#line 103 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (BookArray*) gxml_serializable_array_list_construct (object_type, TYPE_BOOK, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 103 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 3199 "gxml-performance.c"
}


BookArray* book_array_new (void) {
#line 103 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return book_array_construct (BOOK_TYPE_ARRAY);
#line 3206 "gxml-performance.c"
}


static void book_array_class_init (BookArrayClass * klass) {
#line 103 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	book_array_parent_class = g_type_class_peek_parent (klass);
#line 3213 "gxml-performance.c"
}


static void book_array_instance_init (BookArray * self) {
}


GType book_array_get_type (void) {
	static volatile gsize book_array_type_id__volatile = 0;
	if (g_once_init_enter (&book_array_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BookArrayClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) book_array_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BookArray), 0, (GInstanceInitFunc) book_array_instance_init, NULL };
		GType book_array_type_id;
		book_array_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_ARRAY_LIST, "BookArray", &g_define_type_info, 0);
		g_once_init_leave (&book_array_type_id__volatile, book_array_type_id);
	}
	return book_array_type_id__volatile;
}


static void book_class_init (BookClass * klass) {
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	book_parent_class = g_type_class_peek_parent (klass);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (BookPrivate));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) book_real_to_string;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableContainerClass *) klass)->init_containers = (void (*)(GXmlSerializableContainer*)) book_real_init_containers;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_book_get_property;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_book_set_property;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = book_finalize;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_YEAR, g_param_spec_string ("year", "year", "year", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_ISBN, g_param_spec_string ("isbn", "isbn", "isbn", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_NAME, g_param_spec_object ("name", "name", "name", TYPE_NAME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_AUTHORS, g_param_spec_object ("authors", "authors", "authors", TYPE_AUTHORS, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_INVENTORY_REGISTERS, g_param_spec_object ("inventory-registers", "inventory-registers", "inventory-registers", INVENTORY_TYPE_DUAL_KEY_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_CATEGORIES, g_param_spec_object ("categories", "categories", "categories", CATEGORY_TYPE_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_RESUMES, g_param_spec_object ("resumes", "resumes", "resumes", RESUME_TYPE_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3262 "gxml-performance.c"
}


static void book_instance_init (Book * self) {
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = BOOK_GET_PRIVATE (self);
#line 3269 "gxml-performance.c"
}


static void book_finalize (GObject* obj) {
	Book * self;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BOOK, Book);
#line 86 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_year);
#line 87 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_isbn);
#line 88 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_name);
#line 89 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_authors);
#line 90 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_inventory_registers);
#line 91 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_categories);
#line 92 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_resumes);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (book_parent_class)->finalize (obj);
#line 3293 "gxml-performance.c"
}


GType book_get_type (void) {
	static volatile gsize book_type_id__volatile = 0;
	if (g_once_init_enter (&book_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BookClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) book_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Book), 0, (GInstanceInitFunc) book_instance_init, NULL };
		GType book_type_id;
		book_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_CONTAINER, "Book", &g_define_type_info, 0);
		g_once_init_leave (&book_type_id__volatile, book_type_id);
	}
	return book_type_id__volatile;
}


static void _vala_book_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	Book * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BOOK, Book);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_YEAR:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, book_get_year (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_ISBN:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, book_get_isbn (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_NAME:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_get_name (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_AUTHORS:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_get_authors (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_INVENTORY_REGISTERS:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_get_inventory_registers (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_CATEGORIES:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_get_categories (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_RESUMES:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_get_resumes (self));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3356 "gxml-performance.c"
		default:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3362 "gxml-performance.c"
	}
}


static void _vala_book_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	Book * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BOOK, Book);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_YEAR:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_year (self, g_value_get_string (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_ISBN:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_isbn (self, g_value_get_string (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_NAME:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_name (self, g_value_get_object (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_AUTHORS:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_authors (self, g_value_get_object (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_INVENTORY_REGISTERS:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_inventory_registers (self, g_value_get_object (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_CATEGORIES:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_categories (self, g_value_get_object (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_RESUMES:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_set_resumes (self, g_value_get_object (value));
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3414 "gxml-performance.c"
		default:
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 84 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3420 "gxml-performance.c"
	}
}


static void book_store_real_init_containers (GXmlSerializableContainer* base) {
	BookStore * self;
	BookArray* _tmp0_ = NULL;
#line 110 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (BookStore*) base;
#line 112 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_books;
#line 112 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (_tmp0_ == NULL) {
#line 3434 "gxml-performance.c"
		BookArray* _tmp1_ = NULL;
		BookArray* _tmp2_ = NULL;
#line 113 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp1_ = book_array_new ();
#line 113 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp2_ = _tmp1_;
#line 113 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_store_set_books (self, _tmp2_);
#line 113 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_tmp2_);
#line 3445 "gxml-performance.c"
	}
}


static gchar* book_store_real_to_string (GXmlSerializableObjectModel* base) {
	BookStore * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 115 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (BookStore*) base;
#line 115 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 115 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 115 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 115 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3465 "gxml-performance.c"
}


BookStore* book_store_construct (GType object_type) {
	BookStore * self = NULL;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (BookStore*) gxml_serializable_container_construct (object_type);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 3475 "gxml-performance.c"
}


BookStore* book_store_new (void) {
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return book_store_construct (TYPE_BOOK_STORE);
#line 3482 "gxml-performance.c"
}


const gchar* book_store_get_name (BookStore* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3497 "gxml-performance.c"
}


void book_store_set_name (BookStore* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 3516 "gxml-performance.c"
}


BookArray* book_store_get_books (BookStore* self) {
	BookArray* result;
	BookArray* _tmp0_ = NULL;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_books;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3531 "gxml-performance.c"
}


void book_store_set_books (BookStore* self, BookArray* value) {
	BookArray* _tmp0_ = NULL;
	BookArray* _tmp1_ = NULL;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_books);
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_books = _tmp1_;
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "books");
#line 3550 "gxml-performance.c"
}


static void book_store_class_init (BookStoreClass * klass) {
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	book_store_parent_class = g_type_class_peek_parent (klass);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (BookStorePrivate));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableContainerClass *) klass)->init_containers = (void (*)(GXmlSerializableContainer*)) book_store_real_init_containers;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) book_store_real_to_string;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_book_store_get_property;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_book_store_set_property;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = book_store_finalize;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_STORE_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOOK_STORE_BOOKS, g_param_spec_object ("books", "books", "books", BOOK_TYPE_ARRAY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 3573 "gxml-performance.c"
}


static void book_store_instance_init (BookStore * self) {
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = BOOK_STORE_GET_PRIVATE (self);
#line 3580 "gxml-performance.c"
}


static void book_store_finalize (GObject* obj) {
	BookStore * self;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_BOOK_STORE, BookStore);
#line 108 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 109 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_books);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (book_store_parent_class)->finalize (obj);
#line 3594 "gxml-performance.c"
}


GType book_store_get_type (void) {
	static volatile gsize book_store_type_id__volatile = 0;
	if (g_once_init_enter (&book_store_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BookStoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) book_store_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BookStore), 0, (GInstanceInitFunc) book_store_instance_init, NULL };
		GType book_store_type_id;
		book_store_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_CONTAINER, "BookStore", &g_define_type_info, 0);
		g_once_init_leave (&book_store_type_id__volatile, book_store_type_id);
	}
	return book_store_type_id__volatile;
}


static void _vala_book_store_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BookStore * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BOOK_STORE, BookStore);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_STORE_NAME:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, book_store_get_name (self));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_STORE_BOOKS:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, book_store_get_books (self));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3627 "gxml-performance.c"
		default:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3633 "gxml-performance.c"
	}
}


static void _vala_book_store_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BookStore * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TYPE_BOOK_STORE, BookStore);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_STORE_NAME:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_store_set_name (self, g_value_get_string (value));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case BOOK_STORE_BOOKS:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		book_store_set_books (self, g_value_get_object (value));
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3655 "gxml-performance.c"
		default:
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 106 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 3661 "gxml-performance.c"
	}
}


/**
   * Iterate recursively through all node and children nodes in document.
   */
void performance_iterate (GXmlNode* node) {
#line 212 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (node != NULL);
#line 3672 "gxml-performance.c"
	{
		GeeBidirList* _n_list = NULL;
		GXmlNode* _tmp0_ = NULL;
		GeeBidirList* _tmp1_ = NULL;
		GeeBidirList* _tmp2_ = NULL;
		gint _n_size = 0;
		GeeBidirList* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		gint _tmp5_ = 0;
		gint _n_index = 0;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp0_ = node;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp1_ = gxml_node_get_children_nodes (_tmp0_);
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp2_ = _tmp1_;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_list = _tmp2_;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp3_ = _n_list;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp5_ = _tmp4_;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_size = _tmp5_;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_index = -1;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		while (TRUE) {
#line 3703 "gxml-performance.c"
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			GXmlNode* n = NULL;
			GeeBidirList* _tmp9_ = NULL;
			gint _tmp10_ = 0;
			gpointer _tmp11_ = NULL;
			gint i = 0;
			GXmlNode* _tmp12_ = NULL;
			GeeBidirList* _tmp13_ = NULL;
			GeeBidirList* _tmp14_ = NULL;
			GeeBidirList* _tmp15_ = NULL;
			gint _tmp16_ = 0;
			gint _tmp17_ = 0;
			gint _tmp18_ = 0;
			gint _tmp19_ = 0;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp6_ = _n_index;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_n_index = _tmp6_ + 1;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp7_ = _n_index;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp8_ = _n_size;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			if (!(_tmp7_ < _tmp8_)) {
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				break;
#line 3732 "gxml-performance.c"
			}
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp9_ = _n_list;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp10_ = _n_index;
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp11_ = gee_list_get ((GeeList*) _tmp9_, _tmp10_);
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			n = (GXmlNode*) _tmp11_;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp12_ = node;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp13_ = gxml_node_get_children_nodes (_tmp12_);
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp14_ = _tmp13_;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp15_ = _tmp14_;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp16_ = gee_collection_get_size ((GeeCollection*) _tmp15_);
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp17_ = _tmp16_;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp18_ = _tmp17_;
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_g_object_unref0 (_tmp15_);
#line 214 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			i = _tmp18_;
#line 220 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp19_ = i;
#line 220 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			if (_tmp19_ > 0) {
#line 3764 "gxml-performance.c"
				GXmlNode* _tmp20_ = NULL;
#line 221 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				_tmp20_ = n;
#line 221 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				performance_iterate (_tmp20_);
#line 3770 "gxml-performance.c"
			}
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_g_object_unref0 (n);
#line 3774 "gxml-performance.c"
		}
#line 213 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_n_list);
#line 3778 "gxml-performance.c"
	}
}


void performance_iterate_dom (GXmlDomNode* node) {
#line 224 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (node != NULL);
#line 3786 "gxml-performance.c"
	{
		GXmlDomNodeList* _n_list = NULL;
		GXmlDomNode* _tmp0_ = NULL;
		GXmlDomNodeList* _tmp1_ = NULL;
		GXmlDomNodeList* _tmp2_ = NULL;
		gint _n_size = 0;
		GXmlDomNodeList* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		gint _tmp5_ = 0;
		gint _n_index = 0;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp0_ = node;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp1_ = gxml_dom_node_get_child_nodes (_tmp0_);
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp2_ = _tmp1_;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_list = _tmp2_;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp3_ = _n_list;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp4_ = gee_collection_get_size ((GeeCollection*) _tmp3_);
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_tmp5_ = _tmp4_;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_size = _tmp5_;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_n_index = -1;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		while (TRUE) {
#line 3817 "gxml-performance.c"
			gint _tmp6_ = 0;
			gint _tmp7_ = 0;
			gint _tmp8_ = 0;
			GXmlDomNode* n = NULL;
			GXmlDomNodeList* _tmp9_ = NULL;
			gint _tmp10_ = 0;
			gpointer _tmp11_ = NULL;
			gint i = 0;
			GXmlDomNode* _tmp12_ = NULL;
			GXmlDomNodeList* _tmp13_ = NULL;
			GXmlDomNodeList* _tmp14_ = NULL;
			GXmlDomNodeList* _tmp15_ = NULL;
			gint _tmp16_ = 0;
			gint _tmp17_ = 0;
			gint _tmp18_ = 0;
			gint _tmp19_ = 0;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp6_ = _n_index;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_n_index = _tmp6_ + 1;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp7_ = _n_index;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp8_ = _n_size;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			if (!(_tmp7_ < _tmp8_)) {
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				break;
#line 3846 "gxml-performance.c"
			}
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp9_ = _n_list;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp10_ = _n_index;
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp11_ = gee_list_get ((GeeList*) _tmp9_, _tmp10_);
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			n = (GXmlDomNode*) _tmp11_;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp12_ = n;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp13_ = gxml_dom_node_get_child_nodes (_tmp12_);
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp14_ = _tmp13_;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp15_ = _tmp14_;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp16_ = gee_collection_get_size ((GeeCollection*) _tmp15_);
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp17_ = _tmp16_;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp18_ = _tmp17_;
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_g_object_unref0 (_tmp15_);
#line 226 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			i = _tmp18_;
#line 232 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_tmp19_ = i;
#line 232 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			if (_tmp19_ > 0) {
#line 3878 "gxml-performance.c"
				GXmlDomNode* _tmp20_ = NULL;
#line 233 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				_tmp20_ = n;
#line 233 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
				performance_iterate_dom (_tmp20_);
#line 3884 "gxml-performance.c"
			}
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			_g_object_unref0 (n);
#line 3888 "gxml-performance.c"
		}
#line 225 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		_g_object_unref0 (_n_list);
#line 3892 "gxml-performance.c"
	}
}


void performance_add_tests (void) {
}


Performance* performance_construct (GType object_type) {
	Performance* self = NULL;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (Performance*) g_type_create_instance (object_type);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 3907 "gxml-performance.c"
}


Performance* performance_new (void) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_construct (TYPE_PERFORMANCE);
#line 3914 "gxml-performance.c"
}


static PerformanceAElement* performance_aelement_construct_named (GType object_type, const gchar* name) {
	PerformanceAElement * self = NULL;
	const gchar* _tmp0_ = NULL;
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceAElement*) gxml_serializable_object_model_construct (object_type);
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = name;
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_aelement_set_name (self, _tmp0_);
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 3931 "gxml-performance.c"
}


static PerformanceAElement* performance_aelement_new_named (const gchar* name) {
#line 126 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_aelement_construct_named (PERFORMANCE_TYPE_AELEMENT, name);
#line 3938 "gxml-performance.c"
}


static gchar* performance_aelement_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceAElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 127 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceAElement*) base;
#line 127 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 127 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 127 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 127 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3957 "gxml-performance.c"
}


static PerformanceAElement* performance_aelement_construct (GType object_type) {
	PerformanceAElement * self = NULL;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceAElement*) gxml_serializable_object_model_construct (object_type);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 3967 "gxml-performance.c"
}


static PerformanceAElement* performance_aelement_new (void) {
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_aelement_construct (PERFORMANCE_TYPE_AELEMENT);
#line 3974 "gxml-performance.c"
}


static const gchar* performance_aelement_get_name (PerformanceAElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 3989 "gxml-performance.c"
}


static void performance_aelement_set_name (PerformanceAElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 4008 "gxml-performance.c"
}


static gboolean performance_aelement_array_real_deserialize_proceed (GXmlSerializableArrayList* base) {
	PerformanceAElementArray * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 130 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceAElementArray*) base;
#line 130 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 130 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 130 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4024 "gxml-performance.c"
}


static PerformanceAElementArray* performance_aelement_array_construct (GType object_type) {
	PerformanceAElementArray * self = NULL;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceAElementArray*) gxml_serializable_array_list_construct (object_type, PERFORMANCE_TYPE_AELEMENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 4034 "gxml-performance.c"
}


static PerformanceAElementArray* performance_aelement_array_new (void) {
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_aelement_array_construct (PERFORMANCE_AELEMENT_TYPE_ARRAY);
#line 4041 "gxml-performance.c"
}


static gboolean performance_aelement_array_get_enable_deserialize (PerformanceAElementArray* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4056 "gxml-performance.c"
}


static void performance_aelement_array_set_enable_deserialize (PerformanceAElementArray* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = _tmp0_;
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "enable-deserialize");
#line 4070 "gxml-performance.c"
}


static void performance_aelement_array_class_init (PerformanceAElementArrayClass * klass) {
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_aelement_array_parent_class = g_type_class_peek_parent (klass);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceAElementArrayPrivate));
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableArrayListClass *) klass)->deserialize_proceed = (gboolean (*)(GXmlSerializableArrayList*)) performance_aelement_array_real_deserialize_proceed;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_aelement_array_get_property;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_aelement_array_set_property;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_aelement_array_finalize;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_AELEMENT_ARRAY_ENABLE_DESERIALIZE, g_param_spec_boolean ("enable-deserialize", "enable-deserialize", "enable-deserialize", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4089 "gxml-performance.c"
}


static void performance_aelement_array_instance_init (PerformanceAElementArray * self) {
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_AELEMENT_ARRAY_GET_PRIVATE (self);
#line 129 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = FALSE;
#line 4098 "gxml-performance.c"
}


static void performance_aelement_array_finalize (GObject* obj) {
	PerformanceAElementArray * self;
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArray);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_aelement_array_parent_class)->finalize (obj);
#line 4108 "gxml-performance.c"
}


GType performance_aelement_array_get_type (void) {
	static volatile gsize performance_aelement_array_type_id__volatile = 0;
	if (g_once_init_enter (&performance_aelement_array_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceAElementArrayClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_aelement_array_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceAElementArray), 0, (GInstanceInitFunc) performance_aelement_array_instance_init, NULL };
		GType performance_aelement_array_type_id;
		performance_aelement_array_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_ARRAY_LIST, "PerformanceAElementArray", &g_define_type_info, 0);
		g_once_init_leave (&performance_aelement_array_type_id__volatile, performance_aelement_array_type_id);
	}
	return performance_aelement_array_type_id__volatile;
}


static void _vala_performance_aelement_array_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceAElementArray * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArray);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_AELEMENT_ARRAY_ENABLE_DESERIALIZE:
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_boolean (value, performance_aelement_array_get_enable_deserialize (self));
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4135 "gxml-performance.c"
		default:
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4141 "gxml-performance.c"
	}
}


static void _vala_performance_aelement_array_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceAElementArray * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_AELEMENT_TYPE_ARRAY, PerformanceAElementArray);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_AELEMENT_ARRAY_ENABLE_DESERIALIZE:
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_aelement_array_set_enable_deserialize (self, g_value_get_boolean (value));
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4157 "gxml-performance.c"
		default:
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 128 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4163 "gxml-performance.c"
	}
}


static void performance_aelement_class_init (PerformanceAElementClass * klass) {
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_aelement_parent_class = g_type_class_peek_parent (klass);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceAElementPrivate));
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_aelement_real_to_string;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_aelement_get_property;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_aelement_set_property;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_aelement_finalize;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_AELEMENT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4183 "gxml-performance.c"
}


static void performance_aelement_instance_init (PerformanceAElement * self) {
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_AELEMENT_GET_PRIVATE (self);
#line 4190 "gxml-performance.c"
}


static void performance_aelement_finalize (GObject* obj) {
	PerformanceAElement * self;
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_AELEMENT, PerformanceAElement);
#line 125 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_aelement_parent_class)->finalize (obj);
#line 4202 "gxml-performance.c"
}


static GType performance_aelement_get_type (void) {
	static volatile gsize performance_aelement_type_id__volatile = 0;
	if (g_once_init_enter (&performance_aelement_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceAElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_aelement_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceAElement), 0, (GInstanceInitFunc) performance_aelement_instance_init, NULL };
		GType performance_aelement_type_id;
		performance_aelement_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceAElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_aelement_type_id__volatile, performance_aelement_type_id);
	}
	return performance_aelement_type_id__volatile;
}


static void _vala_performance_aelement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceAElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_AELEMENT, PerformanceAElement);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_AELEMENT_NAME:
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, performance_aelement_get_name (self));
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4229 "gxml-performance.c"
		default:
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4235 "gxml-performance.c"
	}
}


static void _vala_performance_aelement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceAElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_AELEMENT, PerformanceAElement);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_AELEMENT_NAME:
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_aelement_set_name (self, g_value_get_string (value));
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4251 "gxml-performance.c"
		default:
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 123 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4257 "gxml-performance.c"
	}
}


static gchar* performance_celement_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 136 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceCElement*) base;
#line 136 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("CElement");
#line 136 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 136 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4274 "gxml-performance.c"
}


static gchar* performance_celement_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 137 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceCElement*) base;
#line 137 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("CElement");
#line 137 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 137 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4290 "gxml-performance.c"
}


static PerformanceCElement* performance_celement_construct (GType object_type) {
	PerformanceCElement * self = NULL;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceCElement*) gxml_serializable_object_model_construct (object_type);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 4300 "gxml-performance.c"
}


static PerformanceCElement* performance_celement_new (void) {
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_celement_construct (PERFORMANCE_TYPE_CELEMENT);
#line 4307 "gxml-performance.c"
}


static PerformanceAElementArray* performance_celement_get_elements (PerformanceCElement* self) {
	PerformanceAElementArray* result;
	PerformanceAElementArray* _tmp0_ = NULL;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4322 "gxml-performance.c"
}


static void performance_celement_set_elements (PerformanceCElement* self, PerformanceAElementArray* value) {
	PerformanceAElementArray* _tmp0_ = NULL;
	PerformanceAElementArray* _tmp1_ = NULL;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp1_;
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements");
#line 4341 "gxml-performance.c"
}


static void performance_celement_class_init (PerformanceCElementClass * klass) {
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_celement_parent_class = g_type_class_peek_parent (klass);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceCElementPrivate));
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_celement_real_node_name;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_celement_real_to_string;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_celement_get_property;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_celement_set_property;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_celement_finalize;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_CELEMENT_ELEMENTS, g_param_spec_object ("elements", "elements", "elements", PERFORMANCE_AELEMENT_TYPE_ARRAY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4362 "gxml-performance.c"
}


static void performance_celement_instance_init (PerformanceCElement * self) {
	PerformanceAElementArray* _tmp0_ = NULL;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_CELEMENT_GET_PRIVATE (self);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_aelement_array_new ();
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp0_;
#line 4374 "gxml-performance.c"
}


static void performance_celement_finalize (GObject* obj) {
	PerformanceCElement * self;
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_CELEMENT, PerformanceCElement);
#line 135 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_celement_parent_class)->finalize (obj);
#line 4386 "gxml-performance.c"
}


static GType performance_celement_get_type (void) {
	static volatile gsize performance_celement_type_id__volatile = 0;
	if (g_once_init_enter (&performance_celement_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceCElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_celement_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceCElement), 0, (GInstanceInitFunc) performance_celement_instance_init, NULL };
		GType performance_celement_type_id;
		performance_celement_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceCElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_celement_type_id__volatile, performance_celement_type_id);
	}
	return performance_celement_type_id__volatile;
}


static void _vala_performance_celement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_CELEMENT, PerformanceCElement);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_CELEMENT_ELEMENTS:
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_celement_get_elements (self));
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4413 "gxml-performance.c"
		default:
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4419 "gxml-performance.c"
	}
}


static void _vala_performance_celement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_CELEMENT, PerformanceCElement);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_CELEMENT_ELEMENTS:
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_celement_set_elements (self, g_value_get_object (value));
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4435 "gxml-performance.c"
		default:
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 134 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4441 "gxml-performance.c"
	}
}


static gchar* performance_helement_real_get_map_key (GXmlSerializableMapKey* base) {
	PerformanceHElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 144 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElement*) base;
#line 144 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 144 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 144 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 144 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4461 "gxml-performance.c"
}


static gchar* performance_helement_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 145 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElement*) base;
#line 145 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HElement");
#line 145 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 145 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4477 "gxml-performance.c"
}


static gchar* performance_helement_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 146 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElement*) base;
#line 146 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 146 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strconcat ("HElement:", _tmp0_, NULL);
#line 146 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 146 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4496 "gxml-performance.c"
}


static PerformanceHElement* performance_helement_construct (GType object_type) {
	PerformanceHElement * self = NULL;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElement*) gxml_serializable_object_model_construct (object_type);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 4506 "gxml-performance.c"
}


static PerformanceHElement* performance_helement_new (void) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_helement_construct (PERFORMANCE_TYPE_HELEMENT);
#line 4513 "gxml-performance.c"
}


static const gchar* performance_helement_get_name (PerformanceHElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4528 "gxml-performance.c"
}


static void performance_helement_set_name (PerformanceHElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 4547 "gxml-performance.c"
}


static gboolean performance_helement_hash_map_real_deserialize_proceed (GXmlSerializableHashMap* base) {
	PerformanceHElementHashMap * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 149 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElementHashMap*) base;
#line 149 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 149 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 149 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4563 "gxml-performance.c"
}


static PerformanceHElementHashMap* performance_helement_hash_map_construct (GType object_type) {
	PerformanceHElementHashMap * self = NULL;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHElementHashMap*) gxml_serializable_hash_map_construct (object_type, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, PERFORMANCE_TYPE_HELEMENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 4573 "gxml-performance.c"
}


static PerformanceHElementHashMap* performance_helement_hash_map_new (void) {
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_helement_hash_map_construct (PERFORMANCE_HELEMENT_TYPE_HASH_MAP);
#line 4580 "gxml-performance.c"
}


static gboolean performance_helement_hash_map_get_enable_deserialize (PerformanceHElementHashMap* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4595 "gxml-performance.c"
}


static void performance_helement_hash_map_set_enable_deserialize (PerformanceHElementHashMap* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = _tmp0_;
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "enable-deserialize");
#line 4609 "gxml-performance.c"
}


static void performance_helement_hash_map_class_init (PerformanceHElementHashMapClass * klass) {
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_helement_hash_map_parent_class = g_type_class_peek_parent (klass);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHElementHashMapPrivate));
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableHashMapClass *) klass)->deserialize_proceed = (gboolean (*)(GXmlSerializableHashMap*)) performance_helement_hash_map_real_deserialize_proceed;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_helement_hash_map_get_property;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_helement_hash_map_set_property;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_helement_hash_map_finalize;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HELEMENT_HASH_MAP_ENABLE_DESERIALIZE, g_param_spec_boolean ("enable-deserialize", "enable-deserialize", "enable-deserialize", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4628 "gxml-performance.c"
}


static void performance_helement_hash_map_instance_init (PerformanceHElementHashMap * self) {
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HELEMENT_HASH_MAP_GET_PRIVATE (self);
#line 148 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = FALSE;
#line 4637 "gxml-performance.c"
}


static void performance_helement_hash_map_finalize (GObject* obj) {
	PerformanceHElementHashMap * self;
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMap);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_helement_hash_map_parent_class)->finalize (obj);
#line 4647 "gxml-performance.c"
}


GType performance_helement_hash_map_get_type (void) {
	static volatile gsize performance_helement_hash_map_type_id__volatile = 0;
	if (g_once_init_enter (&performance_helement_hash_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHElementHashMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_helement_hash_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHElementHashMap), 0, (GInstanceInitFunc) performance_helement_hash_map_instance_init, NULL };
		GType performance_helement_hash_map_type_id;
		performance_helement_hash_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_HASH_MAP, "PerformanceHElementHashMap", &g_define_type_info, 0);
		g_once_init_leave (&performance_helement_hash_map_type_id__volatile, performance_helement_hash_map_type_id);
	}
	return performance_helement_hash_map_type_id__volatile;
}


static void _vala_performance_helement_hash_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHElementHashMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMap);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HELEMENT_HASH_MAP_ENABLE_DESERIALIZE:
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_boolean (value, performance_helement_hash_map_get_enable_deserialize (self));
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4674 "gxml-performance.c"
		default:
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4680 "gxml-performance.c"
	}
}


static void _vala_performance_helement_hash_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHElementHashMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_HELEMENT_TYPE_HASH_MAP, PerformanceHElementHashMap);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HELEMENT_HASH_MAP_ENABLE_DESERIALIZE:
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_helement_hash_map_set_enable_deserialize (self, g_value_get_boolean (value));
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4696 "gxml-performance.c"
		default:
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 147 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4702 "gxml-performance.c"
	}
}


static void performance_helement_class_init (PerformanceHElementClass * klass) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_helement_parent_class = g_type_class_peek_parent (klass);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHElementPrivate));
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_helement_real_node_name;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_helement_real_to_string;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_helement_get_property;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_helement_set_property;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_helement_finalize;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HELEMENT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4724 "gxml-performance.c"
}


static void performance_helement_gxml_serializable_map_key_interface_init (GXmlSerializableMapKeyIface * iface) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_helement_gxml_serializable_map_key_parent_iface = g_type_interface_peek_parent (iface);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_key = (gpointer (*)(GXmlSerializableMapKey*)) performance_helement_real_get_map_key;
#line 4733 "gxml-performance.c"
}


static void performance_helement_instance_init (PerformanceHElement * self) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HELEMENT_GET_PRIVATE (self);
#line 4740 "gxml-performance.c"
}


static void performance_helement_finalize (GObject* obj) {
	PerformanceHElement * self;
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HELEMENT, PerformanceHElement);
#line 143 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_helement_parent_class)->finalize (obj);
#line 4752 "gxml-performance.c"
}


static GType performance_helement_get_type (void) {
	static volatile gsize performance_helement_type_id__volatile = 0;
	if (g_once_init_enter (&performance_helement_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_helement_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHElement), 0, (GInstanceInitFunc) performance_helement_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_key_info = { (GInterfaceInitFunc) performance_helement_gxml_serializable_map_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType performance_helement_type_id;
		performance_helement_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHElement", &g_define_type_info, 0);
		g_type_add_interface_static (performance_helement_type_id, GXML_TYPE_SERIALIZABLE_MAP_KEY, &gxml_serializable_map_key_info);
		g_once_init_leave (&performance_helement_type_id__volatile, performance_helement_type_id);
	}
	return performance_helement_type_id__volatile;
}


static void _vala_performance_helement_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HELEMENT, PerformanceHElement);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HELEMENT_NAME:
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, performance_helement_get_name (self));
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4781 "gxml-performance.c"
		default:
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4787 "gxml-performance.c"
	}
}


static void _vala_performance_helement_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HELEMENT, PerformanceHElement);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HELEMENT_NAME:
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_helement_set_name (self, g_value_get_string (value));
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4803 "gxml-performance.c"
		default:
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 141 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4809 "gxml-performance.c"
	}
}


static gchar* performance_hcp_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHcpElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 154 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcpElement*) base;
#line 154 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HcpElement");
#line 154 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 154 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4826 "gxml-performance.c"
}


static gchar* performance_hcp_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHcpElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 155 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcpElement*) base;
#line 155 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HcpElement");
#line 155 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 155 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4842 "gxml-performance.c"
}


static PerformanceHcpElement* performance_hcp_element_construct (GType object_type) {
	PerformanceHcpElement * self = NULL;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcpElement*) gxml_serializable_object_model_construct (object_type);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 4852 "gxml-performance.c"
}


static PerformanceHcpElement* performance_hcp_element_new (void) {
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_hcp_element_construct (PERFORMANCE_TYPE_HCP_ELEMENT);
#line 4859 "gxml-performance.c"
}


static PerformanceHElementHashMap* performance_hcp_element_get_elements (PerformanceHcpElement* self) {
	PerformanceHElementHashMap* result;
	PerformanceHElementHashMap* _tmp0_ = NULL;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 4874 "gxml-performance.c"
}


static void performance_hcp_element_set_elements (PerformanceHcpElement* self, PerformanceHElementHashMap* value) {
	PerformanceHElementHashMap* _tmp0_ = NULL;
	PerformanceHElementHashMap* _tmp1_ = NULL;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp1_;
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements");
#line 4893 "gxml-performance.c"
}


static void performance_hcp_element_class_init (PerformanceHcpElementClass * klass) {
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_hcp_element_parent_class = g_type_class_peek_parent (klass);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHcpElementPrivate));
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_hcp_element_real_node_name;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_hcp_element_real_to_string;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_hcp_element_get_property;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_hcp_element_set_property;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_hcp_element_finalize;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HCP_ELEMENT_ELEMENTS, g_param_spec_object ("elements", "elements", "elements", PERFORMANCE_HELEMENT_TYPE_HASH_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4914 "gxml-performance.c"
}


static void performance_hcp_element_instance_init (PerformanceHcpElement * self) {
	PerformanceHElementHashMap* _tmp0_ = NULL;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HCP_ELEMENT_GET_PRIVATE (self);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_helement_hash_map_new ();
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp0_;
#line 4926 "gxml-performance.c"
}


static void performance_hcp_element_finalize (GObject* obj) {
	PerformanceHcpElement * self;
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElement);
#line 153 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_hcp_element_parent_class)->finalize (obj);
#line 4938 "gxml-performance.c"
}


static GType performance_hcp_element_get_type (void) {
	static volatile gsize performance_hcp_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_hcp_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHcpElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_hcp_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHcpElement), 0, (GInstanceInitFunc) performance_hcp_element_instance_init, NULL };
		GType performance_hcp_element_type_id;
		performance_hcp_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHcpElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_hcp_element_type_id__volatile, performance_hcp_element_type_id);
	}
	return performance_hcp_element_type_id__volatile;
}


static void _vala_performance_hcp_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHcpElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElement);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HCP_ELEMENT_ELEMENTS:
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_hcp_element_get_elements (self));
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4965 "gxml-performance.c"
		default:
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4971 "gxml-performance.c"
	}
}


static void _vala_performance_hcp_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHcpElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HCP_ELEMENT, PerformanceHcpElement);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HCP_ELEMENT_ELEMENTS:
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_hcp_element_set_elements (self, g_value_get_object (value));
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4987 "gxml-performance.c"
		default:
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 152 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 4993 "gxml-performance.c"
	}
}


static gchar* performance_hcs_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHcsElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 159 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcsElement*) base;
#line 159 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HcsElement");
#line 159 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 159 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5010 "gxml-performance.c"
}


static gchar* performance_hcs_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHcsElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 160 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcsElement*) base;
#line 160 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HcsElement");
#line 160 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 160 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5026 "gxml-performance.c"
}


static PerformanceHcsElement* performance_hcs_element_construct (GType object_type) {
	PerformanceHcsElement * self = NULL;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHcsElement*) gxml_serializable_object_model_construct (object_type);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 5036 "gxml-performance.c"
}


static PerformanceHcsElement* performance_hcs_element_new (void) {
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_hcs_element_construct (PERFORMANCE_TYPE_HCS_ELEMENT);
#line 5043 "gxml-performance.c"
}


static PerformanceHElementHashMap* performance_hcs_element_get_elements (PerformanceHcsElement* self) {
	PerformanceHElementHashMap* result;
	PerformanceHElementHashMap* _tmp0_ = NULL;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5058 "gxml-performance.c"
}


static void performance_hcs_element_set_elements (PerformanceHcsElement* self, PerformanceHElementHashMap* value) {
	PerformanceHElementHashMap* _tmp0_ = NULL;
	PerformanceHElementHashMap* _tmp1_ = NULL;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp1_;
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements");
#line 5077 "gxml-performance.c"
}


static void performance_hcs_element_class_init (PerformanceHcsElementClass * klass) {
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_hcs_element_parent_class = g_type_class_peek_parent (klass);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHcsElementPrivate));
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_hcs_element_real_node_name;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_hcs_element_real_to_string;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_hcs_element_get_property;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_hcs_element_set_property;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_hcs_element_finalize;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HCS_ELEMENT_ELEMENTS, g_param_spec_object ("elements", "elements", "elements", PERFORMANCE_HELEMENT_TYPE_HASH_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5098 "gxml-performance.c"
}


static void performance_hcs_element_instance_init (PerformanceHcsElement * self) {
	PerformanceHElementHashMap* _tmp0_ = NULL;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HCS_ELEMENT_GET_PRIVATE (self);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_helement_hash_map_new ();
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements = _tmp0_;
#line 5110 "gxml-performance.c"
}


static void performance_hcs_element_finalize (GObject* obj) {
	PerformanceHcsElement * self;
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElement);
#line 158 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_hcs_element_parent_class)->finalize (obj);
#line 5122 "gxml-performance.c"
}


static GType performance_hcs_element_get_type (void) {
	static volatile gsize performance_hcs_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_hcs_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHcsElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_hcs_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHcsElement), 0, (GInstanceInitFunc) performance_hcs_element_instance_init, NULL };
		GType performance_hcs_element_type_id;
		performance_hcs_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHcsElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_hcs_element_type_id__volatile, performance_hcs_element_type_id);
	}
	return performance_hcs_element_type_id__volatile;
}


static void _vala_performance_hcs_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHcsElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElement);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HCS_ELEMENT_ELEMENTS:
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_hcs_element_get_elements (self));
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5149 "gxml-performance.c"
		default:
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5155 "gxml-performance.c"
	}
}


static void _vala_performance_hcs_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHcsElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HCS_ELEMENT, PerformanceHcsElement);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HCS_ELEMENT_ELEMENTS:
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_hcs_element_set_elements (self, g_value_get_object (value));
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5171 "gxml-performance.c"
		default:
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 157 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5177 "gxml-performance.c"
	}
}


static gchar* performance_htop_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHTopElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 167 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTopElement*) base;
#line 167 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HTopElement");
#line 167 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 167 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5194 "gxml-performance.c"
}


static gchar* performance_htop_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHTopElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 168 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTopElement*) base;
#line 168 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HToplement");
#line 168 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 168 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5210 "gxml-performance.c"
}


static gboolean performance_htop_element_real_property_use_nick (GXmlSerializableObjectModel* base) {
	PerformanceHTopElement * self;
	gboolean result = FALSE;
#line 169 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTopElement*) base;
#line 169 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = TRUE;
#line 169 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5223 "gxml-performance.c"
}


static PerformanceHTopElement* performance_htop_element_construct (GType object_type) {
	PerformanceHTopElement * self = NULL;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTopElement*) gxml_serializable_object_model_construct (object_type);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 5233 "gxml-performance.c"
}


static PerformanceHTopElement* performance_htop_element_new (void) {
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_htop_element_construct (PERFORMANCE_TYPE_HTOP_ELEMENT);
#line 5240 "gxml-performance.c"
}


static PerformanceHcpElement* performance_htop_element_get_elements1 (PerformanceHTopElement* self) {
	PerformanceHcpElement* result;
	PerformanceHcpElement* _tmp0_ = NULL;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements1;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5255 "gxml-performance.c"
}


static void performance_htop_element_set_elements1 (PerformanceHTopElement* self, PerformanceHcpElement* value) {
	PerformanceHcpElement* _tmp0_ = NULL;
	PerformanceHcpElement* _tmp1_ = NULL;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp1_;
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements1");
#line 5274 "gxml-performance.c"
}


static PerformanceHcsElement* performance_htop_element_get_elements2 (PerformanceHTopElement* self) {
	PerformanceHcsElement* result;
	PerformanceHcsElement* _tmp0_ = NULL;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements2;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5289 "gxml-performance.c"
}


static void performance_htop_element_set_elements2 (PerformanceHTopElement* self, PerformanceHcsElement* value) {
	PerformanceHcsElement* _tmp0_ = NULL;
	PerformanceHcsElement* _tmp1_ = NULL;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements2");
#line 5308 "gxml-performance.c"
}


static void performance_htop_element_class_init (PerformanceHTopElementClass * klass) {
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_htop_element_parent_class = g_type_class_peek_parent (klass);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHTopElementPrivate));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_htop_element_real_node_name;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_htop_element_real_to_string;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->property_use_nick = (gboolean (*)(GXmlSerializableObjectModel*)) performance_htop_element_real_property_use_nick;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_htop_element_get_property;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_htop_element_set_property;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_htop_element_finalize;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HTOP_ELEMENT_ELEMENTS1, g_param_spec_object ("elements1", "HcpElement", "elements1", PERFORMANCE_TYPE_HCP_ELEMENT, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HTOP_ELEMENT_ELEMENTS2, g_param_spec_object ("elements2", "HcsElement", "elements2", PERFORMANCE_TYPE_HCS_ELEMENT, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5333 "gxml-performance.c"
}


static void performance_htop_element_instance_init (PerformanceHTopElement * self) {
	PerformanceHcpElement* _tmp0_ = NULL;
	PerformanceHcsElement* _tmp1_ = NULL;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HTOP_ELEMENT_GET_PRIVATE (self);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_hcp_element_new ();
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp0_;
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = performance_hcs_element_new ();
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 5350 "gxml-performance.c"
}


static void performance_htop_element_finalize (GObject* obj) {
	PerformanceHTopElement * self;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElement);
#line 164 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 166 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_htop_element_parent_class)->finalize (obj);
#line 5364 "gxml-performance.c"
}


static GType performance_htop_element_get_type (void) {
	static volatile gsize performance_htop_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_htop_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHTopElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_htop_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHTopElement), 0, (GInstanceInitFunc) performance_htop_element_instance_init, NULL };
		GType performance_htop_element_type_id;
		performance_htop_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHTopElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_htop_element_type_id__volatile, performance_htop_element_type_id);
	}
	return performance_htop_element_type_id__volatile;
}


static void _vala_performance_htop_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHTopElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElement);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTOP_ELEMENT_ELEMENTS1:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_htop_element_get_elements1 (self));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTOP_ELEMENT_ELEMENTS2:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_htop_element_get_elements2 (self));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5397 "gxml-performance.c"
		default:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5403 "gxml-performance.c"
	}
}


static void _vala_performance_htop_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHTopElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HTOP_ELEMENT, PerformanceHTopElement);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTOP_ELEMENT_ELEMENTS1:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_htop_element_set_elements1 (self, g_value_get_object (value));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTOP_ELEMENT_ELEMENTS2:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_htop_element_set_elements2 (self, g_value_get_object (value));
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5425 "gxml-performance.c"
		default:
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 162 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5431 "gxml-performance.c"
	}
}


static gchar* performance_ht_element_real_get_map_key (GXmlSerializableMapKey* base) {
	PerformanceHTElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 175 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElement*) base;
#line 175 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 175 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 175 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 175 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5451 "gxml-performance.c"
}


static gchar* performance_ht_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHTElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 176 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElement*) base;
#line 176 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HElement");
#line 176 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 176 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5467 "gxml-performance.c"
}


static gchar* performance_ht_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHTElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 177 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElement*) base;
#line 177 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HElement");
#line 177 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 177 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5483 "gxml-performance.c"
}


static PerformanceHTElement* performance_ht_element_construct (GType object_type) {
	PerformanceHTElement * self = NULL;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElement*) gxml_serializable_object_model_construct (object_type);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 5493 "gxml-performance.c"
}


static PerformanceHTElement* performance_ht_element_new (void) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_ht_element_construct (PERFORMANCE_TYPE_HT_ELEMENT);
#line 5500 "gxml-performance.c"
}


static const gchar* performance_ht_element_get_name (PerformanceHTElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5515 "gxml-performance.c"
}


static void performance_ht_element_set_name (PerformanceHTElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 5534 "gxml-performance.c"
}


static gboolean performance_ht_element_tree_map_real_deserialize_proceed (GXmlSerializableTreeMap* base) {
	PerformanceHTElementTreeMap * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 180 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElementTreeMap*) base;
#line 180 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 180 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 180 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5550 "gxml-performance.c"
}


static PerformanceHTElementTreeMap* performance_ht_element_tree_map_construct (GType object_type) {
	PerformanceHTElementTreeMap * self = NULL;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTElementTreeMap*) gxml_serializable_tree_map_construct (object_type, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, PERFORMANCE_TYPE_HT_ELEMENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 5560 "gxml-performance.c"
}


static PerformanceHTElementTreeMap* performance_ht_element_tree_map_new (void) {
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_ht_element_tree_map_construct (PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP);
#line 5567 "gxml-performance.c"
}


static gboolean performance_ht_element_tree_map_get_enable_deserialize (PerformanceHTElementTreeMap* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5582 "gxml-performance.c"
}


static void performance_ht_element_tree_map_set_enable_deserialize (PerformanceHTElementTreeMap* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = _tmp0_;
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "enable-deserialize");
#line 5596 "gxml-performance.c"
}


static void performance_ht_element_tree_map_class_init (PerformanceHTElementTreeMapClass * klass) {
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_ht_element_tree_map_parent_class = g_type_class_peek_parent (klass);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHTElementTreeMapPrivate));
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableTreeMapClass *) klass)->deserialize_proceed = (gboolean (*)(GXmlSerializableTreeMap*)) performance_ht_element_tree_map_real_deserialize_proceed;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_ht_element_tree_map_get_property;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_ht_element_tree_map_set_property;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_ht_element_tree_map_finalize;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HT_ELEMENT_TREE_MAP_ENABLE_DESERIALIZE, g_param_spec_boolean ("enable-deserialize", "enable-deserialize", "enable-deserialize", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5615 "gxml-performance.c"
}


static void performance_ht_element_tree_map_instance_init (PerformanceHTElementTreeMap * self) {
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HT_ELEMENT_TREE_MAP_GET_PRIVATE (self);
#line 179 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = FALSE;
#line 5624 "gxml-performance.c"
}


static void performance_ht_element_tree_map_finalize (GObject* obj) {
	PerformanceHTElementTreeMap * self;
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMap);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_ht_element_tree_map_parent_class)->finalize (obj);
#line 5634 "gxml-performance.c"
}


GType performance_ht_element_tree_map_get_type (void) {
	static volatile gsize performance_ht_element_tree_map_type_id__volatile = 0;
	if (g_once_init_enter (&performance_ht_element_tree_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHTElementTreeMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_ht_element_tree_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHTElementTreeMap), 0, (GInstanceInitFunc) performance_ht_element_tree_map_instance_init, NULL };
		GType performance_ht_element_tree_map_type_id;
		performance_ht_element_tree_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_TREE_MAP, "PerformanceHTElementTreeMap", &g_define_type_info, 0);
		g_once_init_leave (&performance_ht_element_tree_map_type_id__volatile, performance_ht_element_tree_map_type_id);
	}
	return performance_ht_element_tree_map_type_id__volatile;
}


static void _vala_performance_ht_element_tree_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHTElementTreeMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMap);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HT_ELEMENT_TREE_MAP_ENABLE_DESERIALIZE:
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_boolean (value, performance_ht_element_tree_map_get_enable_deserialize (self));
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5661 "gxml-performance.c"
		default:
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5667 "gxml-performance.c"
	}
}


static void _vala_performance_ht_element_tree_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHTElementTreeMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, PerformanceHTElementTreeMap);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HT_ELEMENT_TREE_MAP_ENABLE_DESERIALIZE:
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_ht_element_tree_map_set_enable_deserialize (self, g_value_get_boolean (value));
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5683 "gxml-performance.c"
		default:
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 178 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5689 "gxml-performance.c"
	}
}


static void performance_ht_element_class_init (PerformanceHTElementClass * klass) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_ht_element_parent_class = g_type_class_peek_parent (klass);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHTElementPrivate));
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_ht_element_real_node_name;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_ht_element_real_to_string;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_ht_element_get_property;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_ht_element_set_property;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_ht_element_finalize;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HT_ELEMENT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5711 "gxml-performance.c"
}


static void performance_ht_element_gxml_serializable_map_key_interface_init (GXmlSerializableMapKeyIface * iface) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_ht_element_gxml_serializable_map_key_parent_iface = g_type_interface_peek_parent (iface);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_key = (gpointer (*)(GXmlSerializableMapKey*)) performance_ht_element_real_get_map_key;
#line 5720 "gxml-performance.c"
}


static void performance_ht_element_instance_init (PerformanceHTElement * self) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HT_ELEMENT_GET_PRIVATE (self);
#line 5727 "gxml-performance.c"
}


static void performance_ht_element_finalize (GObject* obj) {
	PerformanceHTElement * self;
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElement);
#line 174 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_ht_element_parent_class)->finalize (obj);
#line 5739 "gxml-performance.c"
}


static GType performance_ht_element_get_type (void) {
	static volatile gsize performance_ht_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_ht_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHTElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_ht_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHTElement), 0, (GInstanceInitFunc) performance_ht_element_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_key_info = { (GInterfaceInitFunc) performance_ht_element_gxml_serializable_map_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType performance_ht_element_type_id;
		performance_ht_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHTElement", &g_define_type_info, 0);
		g_type_add_interface_static (performance_ht_element_type_id, GXML_TYPE_SERIALIZABLE_MAP_KEY, &gxml_serializable_map_key_info);
		g_once_init_leave (&performance_ht_element_type_id__volatile, performance_ht_element_type_id);
	}
	return performance_ht_element_type_id__volatile;
}


static void _vala_performance_ht_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHTElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElement);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HT_ELEMENT_NAME:
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, performance_ht_element_get_name (self));
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5768 "gxml-performance.c"
		default:
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5774 "gxml-performance.c"
	}
}


static void _vala_performance_ht_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHTElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HT_ELEMENT, PerformanceHTElement);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HT_ELEMENT_NAME:
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_ht_element_set_name (self, g_value_get_string (value));
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5790 "gxml-performance.c"
		default:
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 172 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 5796 "gxml-performance.c"
	}
}


static gchar* performance_htc_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceHTCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 186 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTCElement*) base;
#line 186 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HCElement");
#line 186 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 186 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5813 "gxml-performance.c"
}


static gchar* performance_htc_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceHTCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 187 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTCElement*) base;
#line 187 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("HCElement");
#line 187 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 187 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5829 "gxml-performance.c"
}


static PerformanceHTCElement* performance_htc_element_construct (GType object_type) {
	PerformanceHTCElement * self = NULL;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceHTCElement*) gxml_serializable_object_model_construct (object_type);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 5839 "gxml-performance.c"
}


static PerformanceHTCElement* performance_htc_element_new (void) {
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_htc_element_construct (PERFORMANCE_TYPE_HTC_ELEMENT);
#line 5846 "gxml-performance.c"
}


static PerformanceHTElementTreeMap* performance_htc_element_get_elements1 (PerformanceHTCElement* self) {
	PerformanceHTElementTreeMap* result;
	PerformanceHTElementTreeMap* _tmp0_ = NULL;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements1;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5861 "gxml-performance.c"
}


static void performance_htc_element_set_elements1 (PerformanceHTCElement* self, PerformanceHTElementTreeMap* value) {
	PerformanceHTElementTreeMap* _tmp0_ = NULL;
	PerformanceHTElementTreeMap* _tmp1_ = NULL;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp1_;
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements1");
#line 5880 "gxml-performance.c"
}


static PerformanceHTElementTreeMap* performance_htc_element_get_elements2 (PerformanceHTCElement* self) {
	PerformanceHTElementTreeMap* result;
	PerformanceHTElementTreeMap* _tmp0_ = NULL;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements2;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 5895 "gxml-performance.c"
}


static void performance_htc_element_set_elements2 (PerformanceHTCElement* self, PerformanceHTElementTreeMap* value) {
	PerformanceHTElementTreeMap* _tmp0_ = NULL;
	PerformanceHTElementTreeMap* _tmp1_ = NULL;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements2");
#line 5914 "gxml-performance.c"
}


static void performance_htc_element_class_init (PerformanceHTCElementClass * klass) {
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_htc_element_parent_class = g_type_class_peek_parent (klass);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceHTCElementPrivate));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_htc_element_real_node_name;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_htc_element_real_to_string;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_htc_element_get_property;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_htc_element_set_property;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_htc_element_finalize;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HTC_ELEMENT_ELEMENTS1, g_param_spec_object ("elements1", "elements1", "elements1", PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_HTC_ELEMENT_ELEMENTS2, g_param_spec_object ("elements2", "elements2", "elements2", PERFORMANCE_HT_ELEMENT_TYPE_TREE_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 5937 "gxml-performance.c"
}


static void performance_htc_element_instance_init (PerformanceHTCElement * self) {
	PerformanceHTElementTreeMap* _tmp0_ = NULL;
	PerformanceHTElementTreeMap* _tmp1_ = NULL;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_HTC_ELEMENT_GET_PRIVATE (self);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_ht_element_tree_map_new ();
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp0_;
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = performance_ht_element_tree_map_new ();
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 5954 "gxml-performance.c"
}


static void performance_htc_element_finalize (GObject* obj) {
	PerformanceHTCElement * self;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElement);
#line 184 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 185 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_htc_element_parent_class)->finalize (obj);
#line 5968 "gxml-performance.c"
}


static GType performance_htc_element_get_type (void) {
	static volatile gsize performance_htc_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_htc_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceHTCElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_htc_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceHTCElement), 0, (GInstanceInitFunc) performance_htc_element_instance_init, NULL };
		GType performance_htc_element_type_id;
		performance_htc_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceHTCElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_htc_element_type_id__volatile, performance_htc_element_type_id);
	}
	return performance_htc_element_type_id__volatile;
}


static void _vala_performance_htc_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceHTCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElement);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTC_ELEMENT_ELEMENTS1:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_htc_element_get_elements1 (self));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTC_ELEMENT_ELEMENTS2:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_htc_element_get_elements2 (self));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6001 "gxml-performance.c"
		default:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6007 "gxml-performance.c"
	}
}


static void _vala_performance_htc_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceHTCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_HTC_ELEMENT, PerformanceHTCElement);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTC_ELEMENT_ELEMENTS1:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_htc_element_set_elements1 (self, g_value_get_object (value));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_HTC_ELEMENT_ELEMENTS2:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_htc_element_set_elements2 (self, g_value_get_object (value));
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6029 "gxml-performance.c"
		default:
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 183 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6035 "gxml-performance.c"
	}
}


static gchar* performance_dh_element_real_get_map_primary_key (GXmlSerializableMapDualKey* base) {
	PerformanceDHElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 194 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElement*) base;
#line 194 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_key;
#line 194 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 194 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 194 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6055 "gxml-performance.c"
}


static gchar* performance_dh_element_real_get_map_secondary_key (GXmlSerializableMapDualKey* base) {
	PerformanceDHElement * self;
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 195 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElement*) base;
#line 195 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 195 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 195 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp1_;
#line 195 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6074 "gxml-performance.c"
}


static gchar* performance_dh_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceDHElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 196 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElement*) base;
#line 196 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("DHElement");
#line 196 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 196 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6090 "gxml-performance.c"
}


static gchar* performance_dh_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceDHElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 197 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElement*) base;
#line 197 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("DHElement");
#line 197 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 197 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6106 "gxml-performance.c"
}


static PerformanceDHElement* performance_dh_element_construct (GType object_type) {
	PerformanceDHElement * self = NULL;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElement*) gxml_serializable_object_model_construct (object_type);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 6116 "gxml-performance.c"
}


static PerformanceDHElement* performance_dh_element_new (void) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_dh_element_construct (PERFORMANCE_TYPE_DH_ELEMENT);
#line 6123 "gxml-performance.c"
}


static const gchar* performance_dh_element_get_name (PerformanceDHElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_name;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6138 "gxml-performance.c"
}


static void performance_dh_element_set_name (PerformanceDHElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_name = _tmp1_;
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "name");
#line 6157 "gxml-performance.c"
}


static const gchar* performance_dh_element_get_key (PerformanceDHElement* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_key;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6172 "gxml-performance.c"
}


static void performance_dh_element_set_key (PerformanceDHElement* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_key);
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_key = _tmp1_;
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "key");
#line 6191 "gxml-performance.c"
}


static gboolean performance_dh_element_dual_key_map_real_deserialize_proceed (GXmlSerializableDualKeyMap* base) {
	PerformanceDHElementDualKeyMap * self;
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
#line 200 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElementDualKeyMap*) base;
#line 200 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 200 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 200 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6207 "gxml-performance.c"
}


static PerformanceDHElementDualKeyMap* performance_dh_element_dual_key_map_construct (GType object_type) {
	PerformanceDHElementDualKeyMap * self = NULL;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHElementDualKeyMap*) gxml_serializable_dual_key_map_construct (object_type, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, PERFORMANCE_TYPE_DH_ELEMENT, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 6217 "gxml-performance.c"
}


static PerformanceDHElementDualKeyMap* performance_dh_element_dual_key_map_new (void) {
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_dh_element_dual_key_map_construct (PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP);
#line 6224 "gxml-performance.c"
}


static gboolean performance_dh_element_dual_key_map_get_enable_deserialize (PerformanceDHElementDualKeyMap* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_enable_deserialize;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6239 "gxml-performance.c"
}


static void performance_dh_element_dual_key_map_set_enable_deserialize (PerformanceDHElementDualKeyMap* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = _tmp0_;
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "enable-deserialize");
#line 6253 "gxml-performance.c"
}


static void performance_dh_element_dual_key_map_class_init (PerformanceDHElementDualKeyMapClass * klass) {
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_dh_element_dual_key_map_parent_class = g_type_class_peek_parent (klass);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceDHElementDualKeyMapPrivate));
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableDualKeyMapClass *) klass)->deserialize_proceed = (gboolean (*)(GXmlSerializableDualKeyMap*)) performance_dh_element_dual_key_map_real_deserialize_proceed;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_dh_element_dual_key_map_get_property;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_dh_element_dual_key_map_set_property;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_dh_element_dual_key_map_finalize;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_ENABLE_DESERIALIZE, g_param_spec_boolean ("enable-deserialize", "enable-deserialize", "enable-deserialize", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6272 "gxml-performance.c"
}


static void performance_dh_element_dual_key_map_instance_init (PerformanceDHElementDualKeyMap * self) {
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_GET_PRIVATE (self);
#line 199 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_enable_deserialize = FALSE;
#line 6281 "gxml-performance.c"
}


static void performance_dh_element_dual_key_map_finalize (GObject* obj) {
	PerformanceDHElementDualKeyMap * self;
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMap);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_dh_element_dual_key_map_parent_class)->finalize (obj);
#line 6291 "gxml-performance.c"
}


GType performance_dh_element_dual_key_map_get_type (void) {
	static volatile gsize performance_dh_element_dual_key_map_type_id__volatile = 0;
	if (g_once_init_enter (&performance_dh_element_dual_key_map_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceDHElementDualKeyMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_dh_element_dual_key_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceDHElementDualKeyMap), 0, (GInstanceInitFunc) performance_dh_element_dual_key_map_instance_init, NULL };
		GType performance_dh_element_dual_key_map_type_id;
		performance_dh_element_dual_key_map_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_DUAL_KEY_MAP, "PerformanceDHElementDualKeyMap", &g_define_type_info, 0);
		g_once_init_leave (&performance_dh_element_dual_key_map_type_id__volatile, performance_dh_element_dual_key_map_type_id);
	}
	return performance_dh_element_dual_key_map_type_id__volatile;
}


static void _vala_performance_dh_element_dual_key_map_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceDHElementDualKeyMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMap);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_ENABLE_DESERIALIZE:
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_boolean (value, performance_dh_element_dual_key_map_get_enable_deserialize (self));
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6318 "gxml-performance.c"
		default:
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6324 "gxml-performance.c"
	}
}


static void _vala_performance_dh_element_dual_key_map_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceDHElementDualKeyMap * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, PerformanceDHElementDualKeyMap);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_DUAL_KEY_MAP_ENABLE_DESERIALIZE:
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_dh_element_dual_key_map_set_enable_deserialize (self, g_value_get_boolean (value));
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6340 "gxml-performance.c"
		default:
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 198 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6346 "gxml-performance.c"
	}
}


static void performance_dh_element_class_init (PerformanceDHElementClass * klass) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_dh_element_parent_class = g_type_class_peek_parent (klass);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceDHElementPrivate));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_dh_element_real_node_name;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_dh_element_real_to_string;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_dh_element_get_property;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_dh_element_set_property;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_dh_element_finalize;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_DH_ELEMENT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_DH_ELEMENT_KEY, g_param_spec_string ("key", "key", "key", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6370 "gxml-performance.c"
}


static void performance_dh_element_gxml_serializable_map_dual_key_interface_init (GXmlSerializableMapDualKeyIface * iface) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_dh_element_gxml_serializable_map_dual_key_parent_iface = g_type_interface_peek_parent (iface);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_primary_key = (gpointer (*)(GXmlSerializableMapDualKey*)) performance_dh_element_real_get_map_primary_key;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	iface->get_map_secondary_key = (gpointer (*)(GXmlSerializableMapDualKey*)) performance_dh_element_real_get_map_secondary_key;
#line 6381 "gxml-performance.c"
}


static void performance_dh_element_instance_init (PerformanceDHElement * self) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_DH_ELEMENT_GET_PRIVATE (self);
#line 6388 "gxml-performance.c"
}


static void performance_dh_element_finalize (GObject* obj) {
	PerformanceDHElement * self;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElement);
#line 192 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_name);
#line 193 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_free0 (self->priv->_key);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_dh_element_parent_class)->finalize (obj);
#line 6402 "gxml-performance.c"
}


static GType performance_dh_element_get_type (void) {
	static volatile gsize performance_dh_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_dh_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceDHElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_dh_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceDHElement), 0, (GInstanceInitFunc) performance_dh_element_instance_init, NULL };
		static const GInterfaceInfo gxml_serializable_map_dual_key_info = { (GInterfaceInitFunc) performance_dh_element_gxml_serializable_map_dual_key_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType performance_dh_element_type_id;
		performance_dh_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceDHElement", &g_define_type_info, 0);
		g_type_add_interface_static (performance_dh_element_type_id, GXML_TYPE_SERIALIZABLE_MAP_DUAL_KEY, &gxml_serializable_map_dual_key_info);
		g_once_init_leave (&performance_dh_element_type_id__volatile, performance_dh_element_type_id);
	}
	return performance_dh_element_type_id__volatile;
}


static void _vala_performance_dh_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceDHElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElement);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_NAME:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, performance_dh_element_get_name (self));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_KEY:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_string (value, performance_dh_element_get_key (self));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6437 "gxml-performance.c"
		default:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6443 "gxml-performance.c"
	}
}


static void _vala_performance_dh_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceDHElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_DH_ELEMENT, PerformanceDHElement);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_NAME:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_dh_element_set_name (self, g_value_get_string (value));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DH_ELEMENT_KEY:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_dh_element_set_key (self, g_value_get_string (value));
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6465 "gxml-performance.c"
		default:
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 190 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6471 "gxml-performance.c"
	}
}


static gchar* performance_dhc_element_real_node_name (GXmlSerializableObjectModel* base) {
	PerformanceDHCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 206 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHCElement*) base;
#line 206 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("DHCElement");
#line 206 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 206 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6488 "gxml-performance.c"
}


static gchar* performance_dhc_element_real_to_string (GXmlSerializableObjectModel* base) {
	PerformanceDHCElement * self;
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 207 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHCElement*) base;
#line 207 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = g_strdup ("DHCElement");
#line 207 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 207 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6504 "gxml-performance.c"
}


static PerformanceDHCElement* performance_dhc_element_construct (GType object_type) {
	PerformanceDHCElement * self = NULL;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = (PerformanceDHCElement*) gxml_serializable_object_model_construct (object_type);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return self;
#line 6514 "gxml-performance.c"
}


static PerformanceDHCElement* performance_dhc_element_new (void) {
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return performance_dhc_element_construct (PERFORMANCE_TYPE_DHC_ELEMENT);
#line 6521 "gxml-performance.c"
}


static PerformanceDHElementDualKeyMap* performance_dhc_element_get_elements1 (PerformanceDHCElement* self) {
	PerformanceDHElementDualKeyMap* result;
	PerformanceDHElementDualKeyMap* _tmp0_ = NULL;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements1;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6536 "gxml-performance.c"
}


static void performance_dhc_element_set_elements1 (PerformanceDHCElement* self, PerformanceDHElementDualKeyMap* value) {
	PerformanceDHElementDualKeyMap* _tmp0_ = NULL;
	PerformanceDHElementDualKeyMap* _tmp1_ = NULL;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp1_;
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements1");
#line 6555 "gxml-performance.c"
}


static PerformanceDHElementDualKeyMap* performance_dhc_element_get_elements2 (PerformanceDHCElement* self) {
	PerformanceDHElementDualKeyMap* result;
	PerformanceDHElementDualKeyMap* _tmp0_ = NULL;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = self->priv->_elements2;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	result = _tmp0_;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return result;
#line 6570 "gxml-performance.c"
}


static void performance_dhc_element_set_elements2 (PerformanceDHCElement* self, PerformanceDHElementDualKeyMap* value) {
	PerformanceDHElementDualKeyMap* _tmp0_ = NULL;
	PerformanceDHElementDualKeyMap* _tmp1_ = NULL;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (self != NULL);
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = value;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_notify ((GObject *) self, "elements2");
#line 6589 "gxml-performance.c"
}


static void performance_dhc_element_class_init (PerformanceDHCElementClass * klass) {
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_dhc_element_parent_class = g_type_class_peek_parent (klass);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_type_class_add_private (klass, sizeof (PerformanceDHCElementPrivate));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->node_name = (gchar* (*)(GXmlSerializableObjectModel*)) performance_dhc_element_real_node_name;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((GXmlSerializableObjectModelClass *) klass)->to_string = (gchar* (*)(GXmlSerializableObjectModel*)) performance_dhc_element_real_to_string;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_performance_dhc_element_get_property;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_performance_dhc_element_set_property;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (klass)->finalize = performance_dhc_element_finalize;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_DHC_ELEMENT_ELEMENTS1, g_param_spec_object ("elements1", "elements1", "elements1", PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), PERFORMANCE_DHC_ELEMENT_ELEMENTS2, g_param_spec_object ("elements2", "elements2", "elements2", PERFORMANCE_DH_ELEMENT_TYPE_DUAL_KEY_MAP, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6612 "gxml-performance.c"
}


static void performance_dhc_element_instance_init (PerformanceDHCElement * self) {
	PerformanceDHElementDualKeyMap* _tmp0_ = NULL;
	PerformanceDHElementDualKeyMap* _tmp1_ = NULL;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv = PERFORMANCE_DHC_ELEMENT_GET_PRIVATE (self);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp0_ = performance_dh_element_dual_key_map_new ();
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements1 = _tmp0_;
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_tmp1_ = performance_dh_element_dual_key_map_new ();
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->priv->_elements2 = _tmp1_;
#line 6629 "gxml-performance.c"
}


static void performance_dhc_element_finalize (GObject* obj) {
	PerformanceDHCElement * self;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElement);
#line 204 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements1);
#line 205 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	_g_object_unref0 (self->priv->_elements2);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_OBJECT_CLASS (performance_dhc_element_parent_class)->finalize (obj);
#line 6643 "gxml-performance.c"
}


static GType performance_dhc_element_get_type (void) {
	static volatile gsize performance_dhc_element_type_id__volatile = 0;
	if (g_once_init_enter (&performance_dhc_element_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceDHCElementClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_dhc_element_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PerformanceDHCElement), 0, (GInstanceInitFunc) performance_dhc_element_instance_init, NULL };
		GType performance_dhc_element_type_id;
		performance_dhc_element_type_id = g_type_register_static (GXML_TYPE_SERIALIZABLE_OBJECT_MODEL, "PerformanceDHCElement", &g_define_type_info, 0);
		g_once_init_leave (&performance_dhc_element_type_id__volatile, performance_dhc_element_type_id);
	}
	return performance_dhc_element_type_id__volatile;
}


static void _vala_performance_dhc_element_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	PerformanceDHCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElement);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DHC_ELEMENT_ELEMENTS1:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_dhc_element_get_elements1 (self));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DHC_ELEMENT_ELEMENTS2:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_value_set_object (value, performance_dhc_element_get_elements2 (self));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6676 "gxml-performance.c"
		default:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6682 "gxml-performance.c"
	}
}


static void _vala_performance_dhc_element_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	PerformanceDHCElement * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PERFORMANCE_TYPE_DHC_ELEMENT, PerformanceDHCElement);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	switch (property_id) {
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DHC_ELEMENT_ELEMENTS1:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_dhc_element_set_elements1 (self, g_value_get_object (value));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		case PERFORMANCE_DHC_ELEMENT_ELEMENTS2:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_dhc_element_set_elements2 (self, g_value_get_object (value));
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6704 "gxml-performance.c"
		default:
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 203 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		break;
#line 6710 "gxml-performance.c"
	}
}


static void value_performance_init (GValue* value) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	value->data[0].v_pointer = NULL;
#line 6718 "gxml-performance.c"
}


static void value_performance_free_value (GValue* value) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (value->data[0].v_pointer) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_unref (value->data[0].v_pointer);
#line 6727 "gxml-performance.c"
	}
}


static void value_performance_copy_value (const GValue* src_value, GValue* dest_value) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (src_value->data[0].v_pointer) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		dest_value->data[0].v_pointer = performance_ref (src_value->data[0].v_pointer);
#line 6737 "gxml-performance.c"
	} else {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		dest_value->data[0].v_pointer = NULL;
#line 6741 "gxml-performance.c"
	}
}


static gpointer value_performance_peek_pointer (const GValue* value) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return value->data[0].v_pointer;
#line 6749 "gxml-performance.c"
}


static gchar* value_performance_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (collect_values[0].v_pointer) {
#line 6756 "gxml-performance.c"
		Performance* object;
		object = collect_values[0].v_pointer;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		if (object->parent_instance.g_class == NULL) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 6763 "gxml-performance.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 6767 "gxml-performance.c"
		}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = performance_ref (object);
#line 6771 "gxml-performance.c"
	} else {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = NULL;
#line 6775 "gxml-performance.c"
	}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return NULL;
#line 6779 "gxml-performance.c"
}


static gchar* value_performance_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	Performance** object_p;
	object_p = collect_values[0].v_pointer;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (!object_p) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 6790 "gxml-performance.c"
	}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (!value->data[0].v_pointer) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		*object_p = NULL;
#line 6796 "gxml-performance.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		*object_p = value->data[0].v_pointer;
#line 6800 "gxml-performance.c"
	} else {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		*object_p = performance_ref (value->data[0].v_pointer);
#line 6804 "gxml-performance.c"
	}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return NULL;
#line 6808 "gxml-performance.c"
}


GParamSpec* param_spec_performance (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	ParamSpecPerformance* spec;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_PERFORMANCE), NULL);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return G_PARAM_SPEC (spec);
#line 6822 "gxml-performance.c"
}


gpointer value_get_performance (const GValue* value) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PERFORMANCE), NULL);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return value->data[0].v_pointer;
#line 6831 "gxml-performance.c"
}


void value_set_performance (GValue* value, gpointer v_object) {
	Performance* old;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PERFORMANCE));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	old = value->data[0].v_pointer;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (v_object) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PERFORMANCE));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = v_object;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_ref (value->data[0].v_pointer);
#line 6851 "gxml-performance.c"
	} else {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = NULL;
#line 6855 "gxml-performance.c"
	}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (old) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_unref (old);
#line 6861 "gxml-performance.c"
	}
}


void value_take_performance (GValue* value, gpointer v_object) {
	Performance* old;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_PERFORMANCE));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	old = value->data[0].v_pointer;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (v_object) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_PERFORMANCE));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = v_object;
#line 6880 "gxml-performance.c"
	} else {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		value->data[0].v_pointer = NULL;
#line 6884 "gxml-performance.c"
	}
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (old) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		performance_unref (old);
#line 6890 "gxml-performance.c"
	}
}


static void performance_class_init (PerformanceClass * klass) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	performance_parent_class = g_type_class_peek_parent (klass);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	((PerformanceClass *) klass)->finalize = performance_finalize;
#line 6900 "gxml-performance.c"
}


static void performance_instance_init (Performance * self) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self->ref_count = 1;
#line 6907 "gxml-performance.c"
}


static void performance_finalize (Performance* obj) {
	Performance * self;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_PERFORMANCE, Performance);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_signal_handlers_destroy (self);
#line 6917 "gxml-performance.c"
}


GType performance_get_type (void) {
	static volatile gsize performance_type_id__volatile = 0;
	if (g_once_init_enter (&performance_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_performance_init, value_performance_free_value, value_performance_copy_value, value_performance_peek_pointer, "p", value_performance_collect_value, "p", value_performance_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (PerformanceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) performance_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (Performance), 0, (GInstanceInitFunc) performance_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType performance_type_id;
		performance_type_id = g_type_register_fundamental (g_type_fundamental_next (), "Performance", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&performance_type_id__volatile, performance_type_id);
	}
	return performance_type_id__volatile;
}


gpointer performance_ref (gpointer instance) {
	Performance* self;
	self = instance;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	g_atomic_int_inc (&self->ref_count);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	return instance;
#line 6942 "gxml-performance.c"
}


void performance_unref (gpointer instance) {
	Performance* self;
	self = instance;
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		PERFORMANCE_GET_CLASS (self)->finalize (self);
#line 120 "/home/despinosa/Proyectos/gxml/test/gxml-performance.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 6955 "gxml-performance.c"
	}
}



