From 4012bb1ad42e26d37bb94c1c7f442826269db7b9 Mon Sep 17 00:00:00 2001 From: "Documenter.jl" Date: Sun, 3 Sep 2023 06:53:31 +0000 Subject: [PATCH] build based on af5c7f7 --- previews/PR1101/api_bindings/index.html | 10 + previews/PR1101/assets/documenter.js | 331 ++++++++++++++++++ previews/PR1101/assets/logo-dark.svg | 1 + previews/PR1101/assets/logo.svg | 1 + previews/PR1101/assets/search.js | 267 ++++++++++++++ .../PR1101/assets/themes/documenter-dark.css | 7 + .../PR1101/assets/themes/documenter-light.css | 9 + previews/PR1101/assets/themeswap.js | 66 ++++ previews/PR1101/assets/warner.js | 49 +++ previews/PR1101/example2.h5 | Bin 0 -> 1936 bytes previews/PR1101/index.html | 95 +++++ .../PR1101/interface/attributes/index.html | 7 + .../PR1101/interface/configuration/index.html | 2 + previews/PR1101/interface/dataset/index.html | 2 + .../PR1101/interface/dataspaces/index.html | 7 + previews/PR1101/interface/datatype/index.html | 2 + previews/PR1101/interface/files/index.html | 6 + previews/PR1101/interface/filters/index.html | 73 ++++ previews/PR1101/interface/groups/index.html | 3 + previews/PR1101/interface/objects/index.html | 7 + .../PR1101/interface/properties/index.html | 22 ++ previews/PR1101/mpi/index.html | 32 ++ previews/PR1101/search/index.html | 2 + previews/PR1101/search_index.js | 3 + previews/PR1101/siteinfo.js | 1 + 25 files changed, 1005 insertions(+) create mode 100644 previews/PR1101/api_bindings/index.html create mode 100644 previews/PR1101/assets/documenter.js create mode 100644 previews/PR1101/assets/logo-dark.svg create mode 100644 previews/PR1101/assets/logo.svg create mode 100644 previews/PR1101/assets/search.js create mode 100644 previews/PR1101/assets/themes/documenter-dark.css create mode 100644 previews/PR1101/assets/themes/documenter-light.css create mode 100644 previews/PR1101/assets/themeswap.js create mode 100644 previews/PR1101/assets/warner.js create mode 100644 previews/PR1101/example2.h5 create mode 100644 previews/PR1101/index.html create mode 100644 previews/PR1101/interface/attributes/index.html create mode 100644 previews/PR1101/interface/configuration/index.html create mode 100644 previews/PR1101/interface/dataset/index.html create mode 100644 previews/PR1101/interface/dataspaces/index.html create mode 100644 previews/PR1101/interface/datatype/index.html create mode 100644 previews/PR1101/interface/files/index.html create mode 100644 previews/PR1101/interface/filters/index.html create mode 100644 previews/PR1101/interface/groups/index.html create mode 100644 previews/PR1101/interface/objects/index.html create mode 100644 previews/PR1101/interface/properties/index.html create mode 100644 previews/PR1101/mpi/index.html create mode 100644 previews/PR1101/search/index.html create mode 100644 previews/PR1101/search_index.js create mode 100644 previews/PR1101/siteinfo.js diff --git a/previews/PR1101/api_bindings/index.html b/previews/PR1101/api_bindings/index.html new file mode 100644 index 000000000..7454cacca --- /dev/null +++ b/previews/PR1101/api_bindings/index.html @@ -0,0 +1,10 @@ + +Low-level library bindings · HDF5.jl

Low-level library bindings

At the lowest level, HDF5.jl operates by calling the public API of the HDF5 shared library through a set of ccall wrapper functions. This page documents the function names and nominal C argument types of the API which have bindings in this package. Note that in many cases, high-level data types are valid arguments through automatic ccall conversions. For instance, HDF5.Datatype objects will be automatically converted to their hid_t ID by Julia's cconvert+unsafe_convert ccall rules.

There are additional helper wrappers (often for out-argument functions) which are not documented here.


H5 — General Library Functions


H5A — Attribute Interface

HDF5.API.h5a_createFunction
h5a_create(loc_id::hid_t, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate2.

source
HDF5.API.h5a_create_by_nameFunction
h5a_create_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t, lapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Acreate_by_name.

source
HDF5.API.h5a_iterateFunction
h5a_iterate(obj_id::hid_t, idx_type::Cint, order::Cint, n::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Aiterate2.

source
h5a_iterate(f, loc_id, idx_type, order, idx = 0) -> hsize_t

Executes h5a_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(loc::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5A_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally (triggering an error), a true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5a_iterate(obj, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do loc, name, info
+           println(unsafe_string(name))
+           return false
+       end
source

H5D — Dataset Interface

HDF5.API.h5d_chunk_iterFunction
h5d_chunk_iter(dset_id::hid_t, dxpl_id::hid_t, cb::Ptr{Nothing}, op_data::Any)

See libhdf5 documentation for H5Dchunk_iter.

source
h5d_chunk_iter(f, dataset, [dxpl_id=H5P_DEFAULT])

Call f(offset::Ptr{hsize_t}, filter_mask::Cuint, addr::haddr_t, size::hsize_t) for each chunk. dataset maybe a HDF5.Dataset or a dataset id. dxpl_id is the the dataset transfer property list and is optional.

Available only for HDF5 1.10.x series for 1.10.9 and greater or for version HDF5 1.12.3 or greater.

source
HDF5.API.h5d_createFunction
h5d_create(loc_id::hid_t, pathname::Cstring, dtype_id::hid_t, space_id::hid_t, lcpl_id::hid_t, dcpl_id::hid_t, dapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Dcreate2.

source
HDF5.API.h5d_fillFunction
h5d_fill(fill::Ptr{Cvoid}, fill_type_id::hid_t, buf::Ptr{Cvoid}, buf_type_id::hid_t, space_id::hid_t)

See libhdf5 documentation for H5Dfill.

source
HDF5.API.h5d_gatherFunction
h5d_gather(src_space_id::hid_t, src_buf::Ptr{Cvoid}, type_id::hid_t, dst_buf_size::Csize_t, dst_buf::Ptr{Cvoid}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Dgather.

source
HDF5.API.h5d_get_chunk_infoFunction
h5d_get_chunk_info(dataset_id::hid_t, fspace_id::hid_t, index::hsize_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info.

source
h5d_get_chunk_info(dataset_id, fspace_id, index)
+h5d_get_chunk_info(dataset_id, index; fspace_id = HDF5.API.H5S_ALL)

Helper method to retrieve chunk information.

Returns a NamedTuple{(:offset, :filter_mask, :addr, :size), Tuple{HDF5.API.hsize_t, UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_info_by_coordFunction
h5d_get_chunk_info_by_coord(dataset_id::hid_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_info_by_coord.

source
h5d_get_chunk_info_by_coord(dataset_id, offset)

Helper method to read chunk information by coordinate. Returns a NamedTuple{(:filter_mask, :addr, :size), Tuple{UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.

source
HDF5.API.h5d_get_chunk_storage_sizeFunction
h5d_get_chunk_storage_size(dataset_id::hid_t, offset::Ptr{hsize_t}, chunk_nbytes::Ptr{hsize_t})

See libhdf5 documentation for H5Dget_chunk_storage_size.

source
h5d_get_chunk_storage_size(dataset_id, offset)

Helper method to retrieve the chunk storage size in bytes. Returns an integer of type HDF5.API.hsize_t.

source
HDF5.API.h5d_get_space_statusFunction
h5d_get_space_status(dataset_id::hid_t, status::Ref{Cint})

See libhdf5 documentation for H5Dget_space_status.

source
h5d_get_space_status(dataset_id)

Helper method to retrieve the status of the dataset space. Returns a HDF5.API.H5D_space_status_t (Cint) indicating the status, see HDF5.API.H5D_SPACE_STATUS_* constants.

source
HDF5.API.h5d_iterateFunction
h5d_iterate(buf::Ptr{Cvoid}, type_id::hid_t, space_id::hid_t, operator::Ptr{Cvoid}, operator_data::Any)

See libhdf5 documentation for H5Diterate.

source
HDF5.API.h5d_readFunction
h5d_read(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dread.

source
HDF5.API.h5d_vlen_get_buf_sizeFunction
h5d_vlen_get_buf_size(dset_id::hid_t, type_id::hid_t, space_id::hid_t, buf::Ptr{hsize_t})

See libhdf5 documentation for H5Dvlen_get_buf_size.

source
h5d_vlen_get_buf_size(dataset_id, type_id, space_id)

Helper method to determines the number of bytes required to store the variable length data from the dataset. Returns a value of type HDF5.API.hsize_t.

source
HDF5.API.h5d_writeFunction
h5d_write(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})

See libhdf5 documentation for H5Dwrite.

source

H5E — Error Interface

HDF5.API.h5e_get_msgFunction
h5e_get_msg(mesg_id::hid_t, mesg_type::Ref{Cint}, mesg::Ref{UInt8}, len::Csize_t) -> Cssize_t

See libhdf5 documentation for H5Eget_msg.

source
mesg_type, mesg = h5e_get_msg(meshg_id)
source

H5F — File Interface

HDF5.API.h5f_get_free_sectionsFunction
h5f_get_free_sections(file_id::hid_t, type::H5F_mem_t, nsects::Csize_t, sect_info::Ptr{H5F_sect_info_t}) -> Cssize_t

See libhdf5 documentation for H5Fget_free_sections.

source
h5f_get_free_sections(file_id, type, [sect_info::AbstractVector{H5F_sect_info_t}])::AbstractVector{H5F_sect_info_t}

Return an AbstractVector of the free section information. If sect_info is not provided a new Vector will be allocated and returned. If sect_info is provided, a view, a SubArray, will be returned.

source
HDF5.API.h5f_get_mdc_sizeFunction
h5f_get_mdc_size(file_id::hid_t, max_size_ptr::Ptr{Csize_t}, min_clean_size_ptr::Ptr{Csize_t}, cur_size_ptr::Ptr{Csize_t}, cur_num_entries_ptr::Ptr{Cint})

See libhdf5 documentation for H5Fget_mdc_size.

source

H5G — Group Interface

HDF5.API.h5g_createFunction
h5g_create(loc_id::hid_t, pathname::Cstring, lcpl_id::hid_t, gcpl_id::hid_t, gapl_id::hid_t) -> hid_t

See libhdf5 documentation for H5Gcreate2.

source

H5I — Identifier Interface


H5L — Link Interface

HDF5.API.h5l_iterateFunction
h5l_iterate(group_id::hid_t, idx_type::Cint, order::Cint, idx::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)

See libhdf5 documentation for H5Literate1.

source
h5l_iterate(f, group_id, idx_type, order, idx = 0) -> hsize_t

Executes h5l_iterate with the user-provided callback function f, returning the index where iteration ends.

The callback function must correspond to the signature

f(group::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5L_info_t}) -> Union{Bool, Integer}

where a negative return value halts iteration abnormally, true or a positive value halts iteration successfully, and false or zero continues iteration.

Examples

julia> HDF5.API.h5l_iterate(hfile, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do group, name, info
+           println(unsafe_string(name))
+           return HDF5.API.herr_t(0)
+       end
source
HDF5.API.h5l_moveFunction
h5l_move(src_obj_id::hid_t, src_name::Cstring, dest_obj_id::hid_t, dest_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Lmove.

source

H5O — Object Interface

HDF5.API.h5o_copyFunction
h5o_copy(src_loc_id::hid_t, src_name::Cstring, dst_loc_id::hid_t, dst_name::Cstring, ocpypl_id::hid_t, lcpl_id::hid_t)

See libhdf5 documentation for H5Ocopy.

source
HDF5.API.h5o_get_info_by_idxFunction
h5o_get_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Oget_info_by_idx3.

source
HDF5.API.h5o_linkFunction
h5o_link(obj_id::hid_t, new_loc_id::hid_t, new_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)

See libhdf5 documentation for H5Olink.

source
HDF5.API.h5o_visitFunction
h5o_visit(obj_id::hid_t, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint)

See libhdf5 documentation for H5Ovisit3.

source
HDF5.API.h5o_visit_by_nameFunction
h5o_visit_by_name(loc_id::hid_t, obj_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint, lapl_id::hid_t)

See libhdf5 documentation for H5Ovisit_by_name3.

source

H5PL — Plugin Interface


H5P — Property Interface

HDF5.API.h5p_create_classFunction
h5p_create_class(parent::hid_t, name::Cstring, create::H5P_cls_create_func_t, create_data::Ptr{Cvoid}, copy::H5P_cls_copy_func_t, copy_data::Ptr{Cvoid}, close::H5P_cls_close_func_t, close_data::Ptr{Cvoid}) -> hid_t

See libhdf5 documentation for H5Pcreate_class.

source
HDF5.API.h5p_encodeFunction
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t})

See libhdf5 documentation for H5Pencode1.

source
h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t}, fapl_id::hid_t)

See libhdf5 documentation for H5Pencode2.

source
HDF5.API.h5p_get_cacheFunction
h5p_get_cache(plist_id::hid_t, mdc_nelmts::Ptr{Cint}, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})

See libhdf5 documentation for H5Pget_cache.

source
HDF5.API.h5p_get_fapl_multiFunction
h5p_get_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Ptr{Cchar}}, memb_addr::Ptr{haddr_t}, relax::Ptr{hbool_t})

See libhdf5 documentation for H5Pget_fapl_multi.

source
HDF5.API.h5p_get_filterFunction
h5p_get_filter(plist_id::hid_t, idx::Cuint, flags::Ptr{Cuint}, cd_nemlts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{Cchar}, filter_config::Ptr{Cuint}) -> H5Z_filter_t

See libhdf5 documentation for H5Pget_filter2.

source
HDF5.API.h5p_get_filter_by_idFunction
h5p_get_filter_by_id(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Ref{Cuint}, cd_nelmts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{UInt8}, filter_config::Ptr{Cuint})

See libhdf5 documentation for H5Pget_filter_by_id2.

source
HDF5.API.h5p_insertFunction
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_delete::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert1.

source
h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pinsert2.

source
HDF5.API.h5p_registerFunction
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, prp_create::H5P_prp_create_func_t, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister1.

source
h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, create::H5P_prp_create_func_t, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)

See libhdf5 documentation for H5Pregister2.

source

H5R — Reference Interface

HDF5.API.h5r_createFunction
h5r_create(ref::Ptr{Cvoid}, loc_id::hid_t, pathname::Cstring, ref_type::Cint, space_id::hid_t)

See libhdf5 documentation for H5Rcreate.

source

H5S — Dataspace Interface


H5T — Datatype Interface

HDF5.API.h5t_commitFunction
h5t_commit(loc_id::hid_t, name::Cstring, dtype_id::hid_t, lcpl_id::hid_t, tcpl_id::hid_t, tapl_id::hid_t)

See libhdf5 documentation for H5Tcommit2.

source
HDF5.API.h5t_get_fieldsFunction
h5t_get_fields(dtype_id::hid_t, spos::Ref{Csize_t}, epos::Ref{Csize_t}, esize::Ref{Csize_t}, mpos::Ref{Csize_t}, msize::Ref{Csize_t})

See libhdf5 documentation for H5Tget_fields.

source

H5Z — Filter Interface


H5FD — File Drivers


H5DO — Optimized Functions Interface

HDF5.API.h5do_appendFunction
h5do_append(dset_id::hid_t, dxpl_id::hid_t, index::Cuint, num_elem::hsize_t, memtype::hid_t, buffer::Ptr{Cvoid})

See libhdf5 documentation for H5DOappend.

source

H5DS — Dimension Scale Interface


H5LT — Lite Interface


H5TB — Table Interface

HDF5.API.h5tb_append_recordsFunction
h5tb_append_records(loc_id::hid_t, dset_name::Cstring, nrecords::hsize_t, type_size::Csize_t, field_offset::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBappend_records.

source
HDF5.API.h5tb_get_field_infoFunction
h5tb_get_field_info(loc_id::hid_t, table_name::Cstring, field_names::Ptr{Ptr{UInt8}}, field_sizes::Ptr{Csize_t}, field_offsets::Ptr{Csize_t}, type_size::Ptr{Csize_t})

See libhdf5 documentation for H5TBget_field_info.

source
HDF5.API.h5tb_make_tableFunction
h5tb_make_table(table_title::Cstring, loc_id::hid_t, dset_name::Cstring, nfields::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_names::Ptr{Cstring}, field_offset::Ptr{Csize_t}, field_types::Ptr{hid_t}, chunk_size::hsize_t, fill_data::Ptr{Cvoid}, compress::Cint, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBmake_table.

source
HDF5.API.h5tb_read_recordsFunction
h5tb_read_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_records.

source
HDF5.API.h5tb_read_tableFunction
h5tb_read_table(loc_id::hid_t, table_name::Cstring, dst_size::Csize_t, dst_offset::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, dst_buf::Ptr{Cvoid})

See libhdf5 documentation for H5TBread_table.

source
HDF5.API.h5tb_write_recordsFunction
h5tb_write_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})

See libhdf5 documentation for H5TBwrite_records.

source
diff --git a/previews/PR1101/assets/documenter.js b/previews/PR1101/assets/documenter.js new file mode 100644 index 000000000..6adfbbbf4 --- /dev/null +++ b/previews/PR1101/assets/documenter.js @@ -0,0 +1,331 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'highlight-julia': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia.min', + 'headroom': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/headroom.min', + 'jqueryui': 'https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min', + 'katex-auto-render': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/contrib/auto-render.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min', + 'headroom-jquery': 'https://cdnjs.cloudflare.com/ajax/libs/headroom/0.12.0/jQuery.headroom.min', + 'katex': 'https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min', + 'highlight': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min', + 'highlight-julia-repl': 'https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/languages/julia-repl.min', + }, + shim: { + "highlight-julia": { + "deps": [ + "highlight" + ] + }, + "katex-auto-render": { + "deps": [ + "katex" + ] + }, + "headroom-jquery": { + "deps": [ + "jquery", + "headroom" + ] + }, + "highlight-julia-repl": { + "deps": [ + "highlight" + ] + } +} +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'katex', 'katex-auto-render'], function($, katex, renderMathInElement) { +$(document).ready(function() { + renderMathInElement( + document.body, + { + "delimiters": [ + { + "left": "$", + "right": "$", + "display": false + }, + { + "left": "$$", + "right": "$$", + "display": true + }, + { + "left": "\\[", + "right": "\\]", + "display": true + } + ] +} + + ); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'highlight', 'highlight-julia', 'highlight-julia-repl'], function($) { +$(document).ready(function() { + hljs.highlightAll(); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require([], function() { +function addCopyButtonCallbacks() { + for (const el of document.getElementsByTagName("pre")) { + const button = document.createElement("button"); + button.classList.add("copy-button", "fas", "fa-copy"); + el.appendChild(button); + + const success = function () { + button.classList.add("success", "fa-check"); + button.classList.remove("fa-copy"); + }; + + const failure = function () { + button.classList.add("error", "fa-times"); + button.classList.remove("fa-copy"); + }; + + button.addEventListener("click", function () { + copyToClipboard(el.innerText).then(success, failure); + + setTimeout(function () { + button.classList.add("fa-copy"); + button.classList.remove("success", "fa-check", "fa-times"); + }, 5000); + }); + } +} + +function copyToClipboard(text) { + // clipboard API is only available in secure contexts + if (window.navigator && window.navigator.clipboard) { + return window.navigator.clipboard.writeText(text); + } else { + return new Promise(function (resolve, reject) { + try { + const el = document.createElement("textarea"); + el.textContent = text; + el.style.position = "fixed"; + el.style.opacity = 0; + document.body.appendChild(el); + el.select(); + document.execCommand("copy"); + + resolve(); + } catch (err) { + reject(err); + } finally { + document.body.removeChild(el); + } + }); + } +} + +if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", addCopyButtonCallbacks); +} else { + addCopyButtonCallbacks(); +} + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'headroom', 'headroom-jquery'], function($, Headroom) { + +// Manages the top navigation bar (hides it when the user starts scrolling down on the +// mobile). +window.Headroom = Headroom; // work around buggy module loading? +$(document).ready(function() { + $('#documenter .docs-navbar').headroom({ + "tolerance": {"up": 10, "down": 10}, + }); +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Modal settings dialog +$(document).ready(function() { + var settings = $('#documenter-settings'); + $('#documenter-settings-button').click(function(){ + settings.toggleClass('is-active'); + }); + // Close the dialog if X is clicked + $('#documenter-settings button.delete').click(function(){ + settings.removeClass('is-active'); + }); + // Close dialog if ESC is pressed + $(document).keyup(function(e) { + if (e.keyCode == 27) settings.removeClass('is-active'); + }); +}); + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// Manages the showing and hiding of the sidebar. +$(document).ready(function() { + var sidebar = $("#documenter > .docs-sidebar"); + var sidebar_button = $("#documenter-sidebar-button") + sidebar_button.click(function(ev) { + ev.preventDefault(); + sidebar.toggleClass('visible'); + if (sidebar.hasClass('visible')) { + // Makes sure that the current menu item is visible in the sidebar. + $("#documenter .docs-menu a.is-active").focus(); + } + }); + $("#documenter > .docs-main").bind('click', function(ev) { + if ($(ev.target).is(sidebar_button)) { + return; + } + if (sidebar.hasClass('visible')) { + sidebar.removeClass('visible'); + } + }); +}) + +// Resizes the package name / sitename in the sidebar if it is too wide. +// Inspired by: https://github.com/davatron5000/FitText.js +$(document).ready(function() { + e = $("#documenter .docs-autofit"); + function resize() { + var L = parseInt(e.css('max-width'), 10); + var L0 = e.width(); + if(L0 > L) { + var h0 = parseInt(e.css('font-size'), 10); + e.css('font-size', L * h0 / L0); + // TODO: make sure it survives resizes? + } + } + // call once and then register events + resize(); + $(window).resize(resize); + $(window).on('orientationchange', resize); +}); + +// Scroll the navigation bar to the currently selected menu item +$(document).ready(function() { + var sidebar = $("#documenter .docs-menu").get(0); + var active = $("#documenter .docs-menu .is-active").get(0); + if(typeof active !== 'undefined') { + sidebar.scrollTop = active.offsetTop - sidebar.offsetTop - 15; + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +function set_theme(theme) { + var active = null; + var disabled = []; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + var themename = ss.ownerNode.getAttribute("data-theme-name"); + if(themename === null) continue; // ignore non-theme stylesheets + // Find the active theme + if(themename === theme) active = ss; + else disabled.push(ss); + } + if(active !== null) { + active.disabled = false; + if(active.ownerNode.getAttribute("data-theme-primary") === null) { + document.getElementsByTagName('html')[0].className = "theme--" + theme; + } else { + document.getElementsByTagName('html')[0].className = ""; + } + disabled.forEach(function(ss){ + ss.disabled = true; + }); + } + + // Store the theme in localStorage + if(typeof(window.localStorage) !== "undefined") { + window.localStorage.setItem("documenter-theme", theme); + } else { + console.error("Browser does not support window.localStorage"); + } +} + +// Theme picker setup +$(document).ready(function() { + // onchange callback + $('#documenter-themepicker').change(function themepick_callback(ev){ + var themename = $('#documenter-themepicker option:selected').attr('value'); + set_theme(themename); + }); + + // Make sure that the themepicker displays the correct theme when the theme is retrieved + // from localStorage + if(typeof(window.localStorage) !== "undefined") { + var theme = window.localStorage.getItem("documenter-theme"); + if(theme !== null) { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = (e.value === theme); + }) + } else { + $('#documenter-themepicker option').each(function(i,e) { + e.selected = $("html").hasClass(`theme--${e.value}`); + }) + } + } +}) + +}) +//////////////////////////////////////////////////////////////////////////////// +require(['jquery'], function($) { + +// update the version selector with info from the siteinfo.js and ../versions.js files +$(document).ready(function() { + // If the version selector is disabled with DOCUMENTER_VERSION_SELECTOR_DISABLED in the + // siteinfo.js file, we just return immediately and not display the version selector. + if (typeof DOCUMENTER_VERSION_SELECTOR_DISABLED === 'boolean' && DOCUMENTER_VERSION_SELECTOR_DISABLED) { + return; + } + + var version_selector = $("#documenter .docs-version-selector"); + var version_selector_select = $("#documenter .docs-version-selector select"); + + version_selector_select.change(function(x) { + target_href = version_selector_select.children("option:selected").get(0).value; + window.location.href = target_href; + }); + + // add the current version to the selector based on siteinfo.js, but only if the selector is empty + if (typeof DOCUMENTER_CURRENT_VERSION !== 'undefined' && $('#version-selector > option').length == 0) { + var option = $(""); + version_selector_select.append(option); + } + + if (typeof DOC_VERSIONS !== 'undefined') { + var existing_versions = version_selector_select.children("option"); + var existing_versions_texts = existing_versions.map(function(i,x){return x.text}); + DOC_VERSIONS.forEach(function(each) { + var version_url = documenterBaseURL + "/../" + each; + var existing_id = $.inArray(each, existing_versions_texts); + // if not already in the version selector, add it as a new option, + // otherwise update the old option with the URL and enable it + if (existing_id == -1) { + var option = $(""); + version_selector_select.append(option); + } else { + var option = existing_versions[existing_id]; + option.value = version_url; + option.disabled = false; + } + }); + } + + // only show the version selector if the selector has been populated + if (version_selector_select.children("option").length > 0) { + version_selector.toggleClass("visible"); + } +}) + +}) diff --git a/previews/PR1101/assets/logo-dark.svg b/previews/PR1101/assets/logo-dark.svg new file mode 100644 index 000000000..204564a60 --- /dev/null +++ b/previews/PR1101/assets/logo-dark.svg @@ -0,0 +1 @@ + diff --git a/previews/PR1101/assets/logo.svg b/previews/PR1101/assets/logo.svg new file mode 100644 index 000000000..bc2f525fb --- /dev/null +++ b/previews/PR1101/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/previews/PR1101/assets/search.js b/previews/PR1101/assets/search.js new file mode 100644 index 000000000..c133f7410 --- /dev/null +++ b/previews/PR1101/assets/search.js @@ -0,0 +1,267 @@ +// Generated by Documenter.jl +requirejs.config({ + paths: { + 'lunr': 'https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min', + 'lodash': 'https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min', + 'jquery': 'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min', + } +}); +//////////////////////////////////////////////////////////////////////////////// +require(['jquery', 'lunr', 'lodash'], function($, lunr, _) { + +$(document).ready(function() { + // parseUri 1.2.2 + // (c) Steven Levithan + // MIT License + function parseUri (str) { + var o = parseUri.options, + m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), + uri = {}, + i = 14; + + while (i--) uri[o.key[i]] = m[i] || ""; + + uri[o.q.name] = {}; + uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { + if ($1) uri[o.q.name][$1] = $2; + }); + + return uri; + }; + parseUri.options = { + strictMode: false, + key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], + q: { + name: "queryKey", + parser: /(?:^|&)([^&=]*)=?([^&]*)/g + }, + parser: { + strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, + loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ + } + }; + + $("#search-form").submit(function(e) { + e.preventDefault() + }) + + // list below is the lunr 2.1.3 list minus the intersect with names(Base) + // (all, any, get, in, is, only, which) and (do, else, for, let, where, while, with) + // ideally we'd just filter the original list but it's not available as a variable + lunr.stopWordFilter = lunr.generateStopWordFilter([ + 'a', + 'able', + 'about', + 'across', + 'after', + 'almost', + 'also', + 'am', + 'among', + 'an', + 'and', + 'are', + 'as', + 'at', + 'be', + 'because', + 'been', + 'but', + 'by', + 'can', + 'cannot', + 'could', + 'dear', + 'did', + 'does', + 'either', + 'ever', + 'every', + 'from', + 'got', + 'had', + 'has', + 'have', + 'he', + 'her', + 'hers', + 'him', + 'his', + 'how', + 'however', + 'i', + 'if', + 'into', + 'it', + 'its', + 'just', + 'least', + 'like', + 'likely', + 'may', + 'me', + 'might', + 'most', + 'must', + 'my', + 'neither', + 'no', + 'nor', + 'not', + 'of', + 'off', + 'often', + 'on', + 'or', + 'other', + 'our', + 'own', + 'rather', + 'said', + 'say', + 'says', + 'she', + 'should', + 'since', + 'so', + 'some', + 'than', + 'that', + 'the', + 'their', + 'them', + 'then', + 'there', + 'these', + 'they', + 'this', + 'tis', + 'to', + 'too', + 'twas', + 'us', + 'wants', + 'was', + 'we', + 'were', + 'what', + 'when', + 'who', + 'whom', + 'why', + 'will', + 'would', + 'yet', + 'you', + 'your' + ]) + + // add . as a separator, because otherwise "title": "Documenter.Anchors.add!" + // would not find anything if searching for "add!", only for the entire qualification + lunr.tokenizer.separator = /[\s\-\.]+/ + + // custom trimmer that doesn't strip @ and !, which are used in julia macro and function names + lunr.trimmer = function (token) { + return token.update(function (s) { + return s.replace(/^[^a-zA-Z0-9@!]+/, '').replace(/[^a-zA-Z0-9@!]+$/, '') + }) + } + + lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'juliaStopWordFilter') + lunr.Pipeline.registerFunction(lunr.trimmer, 'juliaTrimmer') + + var index = lunr(function () { + this.ref('location') + this.field('title',{boost: 100}) + this.field('text') + documenterSearchIndex['docs'].forEach(function(e) { + this.add(e) + }, this) + }) + var store = {} + + documenterSearchIndex['docs'].forEach(function(e) { + store[e.location] = {title: e.title, category: e.category, page: e.page} + }) + + $(function(){ + searchresults = $('#documenter-search-results'); + searchinfo = $('#documenter-search-info'); + searchbox = $('#documenter-search-query'); + searchform = $('.docs-search'); + sidebar = $('.docs-sidebar'); + function update_search(querystring) { + tokens = lunr.tokenizer(querystring) + results = index.query(function (q) { + tokens.forEach(function (t) { + q.term(t.toString(), { + fields: ["title"], + boost: 100, + usePipeline: true, + editDistance: 0, + wildcard: lunr.Query.wildcard.NONE + }) + q.term(t.toString(), { + fields: ["title"], + boost: 10, + usePipeline: true, + editDistance: 2, + wildcard: lunr.Query.wildcard.NONE + }) + q.term(t.toString(), { + fields: ["text"], + boost: 1, + usePipeline: true, + editDistance: 0, + wildcard: lunr.Query.wildcard.NONE + }) + }) + }) + searchinfo.text("Number of results: " + results.length) + searchresults.empty() + results.forEach(function(result) { + data = store[result.ref] + link = $(''+data.title+'') + link.attr('href', documenterBaseURL+'/'+result.ref) + if (data.category != "page"){ + cat = $('('+data.category+', '+data.page+')') + } else { + cat = $('('+data.category+')') + } + li = $('
  • ').append(link).append(" ").append(cat) + searchresults.append(li) + }) + } + + function update_search_box() { + querystring = searchbox.val() + update_search(querystring) + } + + searchbox.keyup(_.debounce(update_search_box, 250)) + searchbox.change(update_search_box) + + // Disable enter-key form submission for the searchbox on the search page + // and just re-run search rather than refresh the whole page. + searchform.keypress( + function(event){ + if (event.which == '13') { + if (sidebar.hasClass('visible')) { + sidebar.removeClass('visible'); + } + update_search_box(); + event.preventDefault(); + } + } + ); + + search_query_uri = parseUri(window.location).queryKey["q"] + if(search_query_uri !== undefined) { + search_query = decodeURIComponent(search_query_uri.replace(/\+/g, '%20')) + searchbox.val(search_query) + } + update_search_box(); + }) +}) + +}) diff --git a/previews/PR1101/assets/themes/documenter-dark.css b/previews/PR1101/assets/themes/documenter-dark.css new file mode 100644 index 000000000..c94a294dc --- /dev/null +++ b/previews/PR1101/assets/themes/documenter-dark.css @@ -0,0 +1,7 @@ +@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}html.theme--documenter-dark .tabs,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .breadcrumb,html.theme--documenter-dark .file,html.theme--documenter-dark .button,.is-unselectable,html.theme--documenter-dark .modal-close,html.theme--documenter-dark .delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after,html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}html.theme--documenter-dark .admonition:not(:last-child),html.theme--documenter-dark .tabs:not(:last-child),html.theme--documenter-dark .message:not(:last-child),html.theme--documenter-dark .list:not(:last-child),html.theme--documenter-dark .level:not(:last-child),html.theme--documenter-dark .breadcrumb:not(:last-child),html.theme--documenter-dark .highlight:not(:last-child),html.theme--documenter-dark .block:not(:last-child),html.theme--documenter-dark .title:not(:last-child),html.theme--documenter-dark .subtitle:not(:last-child),html.theme--documenter-dark .table-container:not(:last-child),html.theme--documenter-dark .table:not(:last-child),html.theme--documenter-dark .progress:not(:last-child),html.theme--documenter-dark .notification:not(:last-child),html.theme--documenter-dark .content:not(:last-child),html.theme--documenter-dark .box:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .modal-close,html.theme--documenter-dark .delete{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before,html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .modal-close::before,html.theme--documenter-dark .delete::before{height:2px;width:50%}html.theme--documenter-dark .modal-close::after,html.theme--documenter-dark .delete::after{height:50%;width:2px}html.theme--documenter-dark .modal-close:hover,html.theme--documenter-dark .delete:hover,html.theme--documenter-dark .modal-close:focus,html.theme--documenter-dark .delete:focus{background-color:rgba(10,10,10,0.3)}html.theme--documenter-dark .modal-close:active,html.theme--documenter-dark .delete:active{background-color:rgba(10,10,10,0.4)}html.theme--documenter-dark .is-small.modal-close,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.modal-close,html.theme--documenter-dark .is-small.delete,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}html.theme--documenter-dark .is-medium.modal-close,html.theme--documenter-dark .is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}html.theme--documenter-dark .is-large.modal-close,html.theme--documenter-dark .is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}html.theme--documenter-dark .control.is-loading::after,html.theme--documenter-dark .select.is-loading::after,html.theme--documenter-dark .loader,html.theme--documenter-dark .button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdee0;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}html.theme--documenter-dark .hero-video,html.theme--documenter-dark .modal-background,html.theme--documenter-dark .modal,html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:.4em;box-shadow:none;display:inline-flex;font-size:15px;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus,html.theme--documenter-dark .pagination-ellipsis:focus,html.theme--documenter-dark .file-cta:focus,html.theme--documenter-dark .file-name:focus,html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .button:focus,html.theme--documenter-dark .is-focused.pagination-previous,html.theme--documenter-dark .is-focused.pagination-next,html.theme--documenter-dark .is-focused.pagination-link,html.theme--documenter-dark .is-focused.pagination-ellipsis,html.theme--documenter-dark .is-focused.file-cta,html.theme--documenter-dark .is-focused.file-name,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-focused.button,html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active,html.theme--documenter-dark .pagination-ellipsis:active,html.theme--documenter-dark .file-cta:active,html.theme--documenter-dark .file-name:active,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .button:active,html.theme--documenter-dark .is-active.pagination-previous,html.theme--documenter-dark .is-active.pagination-next,html.theme--documenter-dark .is-active.pagination-link,html.theme--documenter-dark .is-active.pagination-ellipsis,html.theme--documenter-dark .is-active.file-cta,html.theme--documenter-dark .is-active.file-name,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .is-active.button{outline:none}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-link[disabled],html.theme--documenter-dark .pagination-ellipsis[disabled],html.theme--documenter-dark .file-cta[disabled],html.theme--documenter-dark .file-name[disabled],html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark fieldset[disabled] .pagination-previous,fieldset[disabled] html.theme--documenter-dark .pagination-next,html.theme--documenter-dark fieldset[disabled] .pagination-next,fieldset[disabled] html.theme--documenter-dark .pagination-link,html.theme--documenter-dark fieldset[disabled] .pagination-link,fieldset[disabled] html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark fieldset[disabled] .pagination-ellipsis,fieldset[disabled] html.theme--documenter-dark .file-cta,html.theme--documenter-dark fieldset[disabled] .file-cta,fieldset[disabled] html.theme--documenter-dark .file-name,html.theme--documenter-dark fieldset[disabled] .file-name,fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark fieldset[disabled] .select select,html.theme--documenter-dark .select fieldset[disabled] select,html.theme--documenter-dark fieldset[disabled] .textarea,html.theme--documenter-dark fieldset[disabled] .input,html.theme--documenter-dark fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] html.theme--documenter-dark .button,html.theme--documenter-dark fieldset[disabled] .button{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:15px !important}.is-size-7,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{font-size:.85em !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:15px !important}.is-size-7-mobile{font-size:.85em !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:15px !important}.is-size-7-tablet{font-size:.85em !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:15px !important}.is-size-7-touch{font-size:.85em !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:15px !important}.is-size-7-desktop{font-size:.85em !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:15px !important}.is-size-7-widescreen{font-size:.85em !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:15px !important}.is-size-7-fullhd{font-size:.85em !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#ecf0f1 !important}a.has-text-light:hover,a.has-text-light:focus{color:#cfd9db !important}.has-background-light{background-color:#ecf0f1 !important}.has-text-dark{color:#282f2f !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#111414 !important}.has-background-dark{background-color:#282f2f !important}.has-text-primary{color:#375a7f !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#28415b !important}.has-background-primary{background-color:#375a7f !important}.has-text-link{color:#1abc9c !important}a.has-text-link:hover,a.has-text-link:focus{color:#148f77 !important}.has-background-link{background-color:#1abc9c !important}.has-text-info{color:#024c7d !important}a.has-text-info:hover,a.has-text-info:focus{color:#012d4b !important}.has-background-info{background-color:#024c7d !important}.has-text-success{color:#008438 !important}a.has-text-success:hover,a.has-text-success:focus{color:#005122 !important}.has-background-success{background-color:#008438 !important}.has-text-warning{color:#ad8100 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#7a5b00 !important}.has-background-warning{background-color:#ad8100 !important}.has-text-danger{color:#9e1b0d !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#6f1309 !important}.has-background-danger{background-color:#9e1b0d !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#282f2f !important}.has-background-grey-darker{background-color:#282f2f !important}.has-text-grey-dark{color:#343c3d !important}.has-background-grey-dark{background-color:#343c3d !important}.has-text-grey{color:#5e6d6f !important}.has-background-grey{background-color:#5e6d6f !important}.has-text-grey-light{color:#8c9b9d !important}.has-background-grey-light{background-color:#8c9b9d !important}.has-text-grey-lighter{color:#dbdee0 !important}.has-background-grey-lighter{background-color:#dbdee0 !important}.has-text-white-ter{color:#ecf0f1 !important}.has-background-white-ter{background-color:#ecf0f1 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}html.theme--documenter-dark{/*! + Theme: a11y-dark + Author: @ericwbailey + Maintainer: @ericwbailey + + Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css +*/}html.theme--documenter-dark html{background-color:#1f2424;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark article,html.theme--documenter-dark aside,html.theme--documenter-dark figure,html.theme--documenter-dark footer,html.theme--documenter-dark header,html.theme--documenter-dark hgroup,html.theme--documenter-dark section{display:block}html.theme--documenter-dark body,html.theme--documenter-dark button,html.theme--documenter-dark input,html.theme--documenter-dark select,html.theme--documenter-dark textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}html.theme--documenter-dark code,html.theme--documenter-dark pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}html.theme--documenter-dark body{color:#fff;font-size:1em;font-weight:400;line-height:1.5}html.theme--documenter-dark a{color:#1abc9c;cursor:pointer;text-decoration:none}html.theme--documenter-dark a strong{color:currentColor}html.theme--documenter-dark a:hover{color:#1dd2af}html.theme--documenter-dark code{background-color:rgba(255,255,255,0.05);color:#ececec;font-size:.875em;font-weight:normal;padding:.1em}html.theme--documenter-dark hr{background-color:#282f2f;border:none;display:block;height:2px;margin:1.5rem 0}html.theme--documenter-dark img{height:auto;max-width:100%}html.theme--documenter-dark input[type="checkbox"],html.theme--documenter-dark input[type="radio"]{vertical-align:baseline}html.theme--documenter-dark small{font-size:.875em}html.theme--documenter-dark span{font-style:inherit;font-weight:inherit}html.theme--documenter-dark strong{color:#f2f2f2;font-weight:700}html.theme--documenter-dark fieldset{border:none}html.theme--documenter-dark pre{-webkit-overflow-scrolling:touch;background-color:#282f2f;color:#fff;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}html.theme--documenter-dark pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}html.theme--documenter-dark table td,html.theme--documenter-dark table th{vertical-align:top}html.theme--documenter-dark table td:not([align]),html.theme--documenter-dark table th:not([align]){text-align:left}html.theme--documenter-dark table th{color:#f2f2f2}html.theme--documenter-dark .box{background-color:#343c3d;border-radius:8px;box-shadow:none;color:#fff;display:block;padding:1.25rem}html.theme--documenter-dark a.box:hover,html.theme--documenter-dark a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #1abc9c}html.theme--documenter-dark a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #1abc9c}html.theme--documenter-dark .button{background-color:#282f2f;border-color:#4c5759;border-width:1px;color:#375a7f;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}html.theme--documenter-dark .button strong{color:inherit}html.theme--documenter-dark .button .icon,html.theme--documenter-dark .button .icon.is-small,html.theme--documenter-dark .button #documenter .docs-sidebar form.docs-search>input.icon,html.theme--documenter-dark #documenter .docs-sidebar .button form.docs-search>input.icon,html.theme--documenter-dark .button .icon.is-medium,html.theme--documenter-dark .button .icon.is-large{height:1.5em;width:1.5em}html.theme--documenter-dark .button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}html.theme--documenter-dark .button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}html.theme--documenter-dark .button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}html.theme--documenter-dark .button:hover,html.theme--documenter-dark .button.is-hovered{border-color:#8c9b9d;color:#f2f2f2}html.theme--documenter-dark .button:focus,html.theme--documenter-dark .button.is-focused{border-color:#8c9b9d;color:#17a689}html.theme--documenter-dark .button:focus:not(:active),html.theme--documenter-dark .button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button:active,html.theme--documenter-dark .button.is-active{border-color:#343c3d;color:#f2f2f2}html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;color:#fff;text-decoration:underline}html.theme--documenter-dark .button.is-text:hover,html.theme--documenter-dark .button.is-text.is-hovered,html.theme--documenter-dark .button.is-text:focus,html.theme--documenter-dark .button.is-text.is-focused{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .button.is-text:active,html.theme--documenter-dark .button.is-text.is-active{background-color:#1d2122;color:#f2f2f2}html.theme--documenter-dark .button.is-text[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:hover,html.theme--documenter-dark .button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus,html.theme--documenter-dark .button.is-white.is-focused{border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white:focus:not(:active),html.theme--documenter-dark .button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .button.is-white[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-hovered{background-color:#000}html.theme--documenter-dark .button.is-white.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-white.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-white.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:hover,html.theme--documenter-dark .button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus,html.theme--documenter-dark .button.is-black.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black:focus:not(:active),html.theme--documenter-dark .button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-black[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-black.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-black.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}html.theme--documenter-dark .button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:hover,html.theme--documenter-dark .button.is-light.is-hovered{background-color:#e5eaec;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:focus,html.theme--documenter-dark .button.is-light.is-focused{border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light:focus:not(:active),html.theme--documenter-dark .button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light.is-active{background-color:#dde4e6;border-color:transparent;color:#282f2f}html.theme--documenter-dark .button.is-light[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light{background-color:#ecf0f1;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-light.is-inverted{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-hovered{background-color:#1d2122}html.theme--documenter-dark .button.is-light.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted{background-color:#282f2f;border-color:transparent;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-loading::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-outlined.is-focused{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-light.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-outlined{background-color:transparent;border-color:#ecf0f1;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#282f2f;color:#282f2f}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-focused{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#282f2f;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark,html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover,html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered{background-color:#232829;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused{border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark:focus:not(:active),html.theme--documenter-dark .content kbd.button:focus:not(:active),html.theme--documenter-dark .button.is-dark.is-focused:not(:active),html.theme--documenter-dark .content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active{background-color:#1d2122;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .button.is-dark[disabled],html.theme--documenter-dark .content kbd.button[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark,fieldset[disabled] html.theme--documenter-dark .content kbd.button{background-color:#282f2f;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-dark.is-inverted,html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted:hover,html.theme--documenter-dark .content kbd.button.is-inverted:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-hovered{background-color:#dde4e6}html.theme--documenter-dark .button.is-dark.is-inverted[disabled],html.theme--documenter-dark .content kbd.button.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted{background-color:#ecf0f1;border-color:transparent;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-loading::after,html.theme--documenter-dark .content kbd.button.is-loading::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-dark.is-outlined,html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-outlined.is-focused{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ecf0f1 #ecf0f1 !important}html.theme--documenter-dark .button.is-dark.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-outlined{background-color:transparent;border-color:#282f2f;box-shadow:none;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#ecf0f1;color:#ecf0f1}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:hover,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined:focus,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-focused{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #282f2f #282f2f !important}html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined[disabled],html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-dark.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#ecf0f1;box-shadow:none;color:#ecf0f1}html.theme--documenter-dark .button.is-primary,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary:focus:not(:active),html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus:not(:active),html.theme--documenter-dark .button.is-primary.is-focused:not(:active),html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-primary[disabled],html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink{background-color:#375a7f;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-primary.is-inverted,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}html.theme--documenter-dark .button.is-primary.is-inverted[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-primary.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#375a7f;box-shadow:none;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:hover,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined:focus,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#375a7f}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #375a7f #375a7f !important}html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined[disabled],html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-primary.is-inverted.is-outlined,fieldset[disabled] html.theme--documenter-dark .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:hover,html.theme--documenter-dark .button.is-link.is-hovered{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus,html.theme--documenter-dark .button.is-link.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link:focus:not(:active),html.theme--documenter-dark .button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link.is-active{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-link[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link{background-color:#1abc9c;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-link.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-outlined.is-focused{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-link.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-outlined{background-color:transparent;border-color:#1abc9c;box-shadow:none;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#1abc9c}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #1abc9c #1abc9c !important}html.theme--documenter-dark .button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:hover,html.theme--documenter-dark .button.is-info.is-hovered{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus,html.theme--documenter-dark .button.is-info.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info:focus:not(:active),html.theme--documenter-dark .button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info.is-active{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-info[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info{background-color:#024c7d;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-info.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;color:#024c7d}html.theme--documenter-dark .button.is-info.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-outlined.is-focused{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-info.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-outlined{background-color:transparent;border-color:#024c7d;box-shadow:none;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#024c7d}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #024c7d #024c7d !important}html.theme--documenter-dark .button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:hover,html.theme--documenter-dark .button.is-success.is-hovered{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus,html.theme--documenter-dark .button.is-success.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success:focus:not(:active),html.theme--documenter-dark .button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success.is-active{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-success[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success{background-color:#008438;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-success.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;color:#008438}html.theme--documenter-dark .button.is-success.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-outlined.is-focused{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-success.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-outlined{background-color:transparent;border-color:#008438;box-shadow:none;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#008438}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #008438 #008438 !important}html.theme--documenter-dark .button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:hover,html.theme--documenter-dark .button.is-warning.is-hovered{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus,html.theme--documenter-dark .button.is-warning.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning:focus:not(:active),html.theme--documenter-dark .button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning.is-active{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-warning[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning{background-color:#ad8100;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-warning.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-outlined.is-focused{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-warning.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-outlined{background-color:transparent;border-color:#ad8100;box-shadow:none;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-focused{background-color:#fff;color:#ad8100}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ad8100 #ad8100 !important}html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:hover,html.theme--documenter-dark .button.is-danger.is-hovered{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus,html.theme--documenter-dark .button.is-danger.is-focused{border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger:focus:not(:active),html.theme--documenter-dark .button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger.is-active{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .button.is-danger[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger{background-color:#9e1b0d;border-color:transparent;box-shadow:none}html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}html.theme--documenter-dark .button.is-danger.is-inverted[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-outlined.is-focused{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}html.theme--documenter-dark .button.is-danger.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-outlined{background-color:transparent;border-color:#9e1b0d;box-shadow:none;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:hover,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-hovered,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined:focus,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#9e1b0d}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:hover::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading:focus::after,html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #9e1b0d #9e1b0d !important}html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] html.theme--documenter-dark .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}html.theme--documenter-dark .button.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{border-radius:3px;font-size:.85em}html.theme--documenter-dark .button.is-normal{font-size:15px}html.theme--documenter-dark .button.is-medium{font-size:1.25rem}html.theme--documenter-dark .button.is-large{font-size:1.5rem}html.theme--documenter-dark .button[disabled],fieldset[disabled] html.theme--documenter-dark .button{background-color:#8c9b9d;border-color:#dbdee0;box-shadow:none;opacity:.5}html.theme--documenter-dark .button.is-fullwidth{display:flex;width:100%}html.theme--documenter-dark .button.is-loading{color:transparent !important;pointer-events:none}html.theme--documenter-dark .button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}html.theme--documenter-dark .button.is-static{background-color:#282f2f;border-color:#5e6d6f;color:#dbdee0;box-shadow:none;pointer-events:none}html.theme--documenter-dark .button.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.button{border-radius:290486px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .buttons .button{margin-bottom:0.5rem}html.theme--documenter-dark .buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}html.theme--documenter-dark .buttons:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .buttons:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:3px;font-size:.85em}html.theme--documenter-dark .buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}html.theme--documenter-dark .buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}html.theme--documenter-dark .buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}html.theme--documenter-dark .buttons.has-addons .button:last-child{margin-right:0}html.theme--documenter-dark .buttons.has-addons .button:hover,html.theme--documenter-dark .buttons.has-addons .button.is-hovered{z-index:2}html.theme--documenter-dark .buttons.has-addons .button:focus,html.theme--documenter-dark .buttons.has-addons .button.is-focused,html.theme--documenter-dark .buttons.has-addons .button:active,html.theme--documenter-dark .buttons.has-addons .button.is-active,html.theme--documenter-dark .buttons.has-addons .button.is-selected{z-index:3}html.theme--documenter-dark .buttons.has-addons .button:focus:hover,html.theme--documenter-dark .buttons.has-addons .button.is-focused:hover,html.theme--documenter-dark .buttons.has-addons .button:active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-active:hover,html.theme--documenter-dark .buttons.has-addons .button.is-selected:hover{z-index:4}html.theme--documenter-dark .buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .buttons.is-centered{justify-content:center}html.theme--documenter-dark .buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}html.theme--documenter-dark .buttons.is-right{justify-content:flex-end}html.theme--documenter-dark .buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}html.theme--documenter-dark .container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1056px){html.theme--documenter-dark .container{max-width:992px}html.theme--documenter-dark .container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){html.theme--documenter-dark .container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){html.theme--documenter-dark .container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){html.theme--documenter-dark .container{max-width:1152px}}@media screen and (min-width: 1408px){html.theme--documenter-dark .container{max-width:1344px}}html.theme--documenter-dark .content li+li{margin-top:0.25em}html.theme--documenter-dark .content p:not(:last-child),html.theme--documenter-dark .content dl:not(:last-child),html.theme--documenter-dark .content ol:not(:last-child),html.theme--documenter-dark .content ul:not(:last-child),html.theme--documenter-dark .content blockquote:not(:last-child),html.theme--documenter-dark .content pre:not(:last-child),html.theme--documenter-dark .content table:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .content h1,html.theme--documenter-dark .content h2,html.theme--documenter-dark .content h3,html.theme--documenter-dark .content h4,html.theme--documenter-dark .content h5,html.theme--documenter-dark .content h6{color:#f2f2f2;font-weight:600;line-height:1.125}html.theme--documenter-dark .content h1{font-size:2em;margin-bottom:0.5em}html.theme--documenter-dark .content h1:not(:first-child){margin-top:1em}html.theme--documenter-dark .content h2{font-size:1.75em;margin-bottom:0.5714em}html.theme--documenter-dark .content h2:not(:first-child){margin-top:1.1428em}html.theme--documenter-dark .content h3{font-size:1.5em;margin-bottom:0.6666em}html.theme--documenter-dark .content h3:not(:first-child){margin-top:1.3333em}html.theme--documenter-dark .content h4{font-size:1.25em;margin-bottom:0.8em}html.theme--documenter-dark .content h5{font-size:1.125em;margin-bottom:0.8888em}html.theme--documenter-dark .content h6{font-size:1em;margin-bottom:1em}html.theme--documenter-dark .content blockquote{background-color:#282f2f;border-left:5px solid #5e6d6f;padding:1.25em 1.5em}html.theme--documenter-dark .content ol{list-style-position:outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ol:not([type]){list-style-type:decimal}html.theme--documenter-dark .content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}html.theme--documenter-dark .content ol.is-lower-roman:not([type]){list-style-type:lower-roman}html.theme--documenter-dark .content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}html.theme--documenter-dark .content ol.is-upper-roman:not([type]){list-style-type:upper-roman}html.theme--documenter-dark .content ul{list-style:disc outside;margin-left:2em;margin-top:1em}html.theme--documenter-dark .content ul ul{list-style-type:circle;margin-top:0.5em}html.theme--documenter-dark .content ul ul ul{list-style-type:square}html.theme--documenter-dark .content dd{margin-left:2em}html.theme--documenter-dark .content figure{margin-left:2em;margin-right:2em;text-align:center}html.theme--documenter-dark .content figure:not(:first-child){margin-top:2em}html.theme--documenter-dark .content figure:not(:last-child){margin-bottom:2em}html.theme--documenter-dark .content figure img{display:inline-block}html.theme--documenter-dark .content figure figcaption{font-style:italic}html.theme--documenter-dark .content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}html.theme--documenter-dark .content sup,html.theme--documenter-dark .content sub{font-size:75%}html.theme--documenter-dark .content table{width:100%}html.theme--documenter-dark .content table td,html.theme--documenter-dark .content table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .content table th{color:#f2f2f2}html.theme--documenter-dark .content table th:not([align]){text-align:left}html.theme--documenter-dark .content table thead td,html.theme--documenter-dark .content table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .content table tfoot td,html.theme--documenter-dark .content table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .content table tbody tr:last-child td,html.theme--documenter-dark .content table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .content .tabs li+li{margin-top:0}html.theme--documenter-dark .content.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.content{font-size:.85em}html.theme--documenter-dark .content.is-medium{font-size:1.25rem}html.theme--documenter-dark .content.is-large{font-size:1.5rem}html.theme--documenter-dark .icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}html.theme--documenter-dark .icon.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}html.theme--documenter-dark .icon.is-medium{height:2rem;width:2rem}html.theme--documenter-dark .icon.is-large{height:3rem;width:3rem}html.theme--documenter-dark .image,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{display:block;position:relative}html.theme--documenter-dark .image img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}html.theme--documenter-dark .image img.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:290486px}html.theme--documenter-dark .image.is-square img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square img,html.theme--documenter-dark .image.is-square .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,html.theme--documenter-dark .image.is-1by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 img,html.theme--documenter-dark .image.is-1by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,html.theme--documenter-dark .image.is-5by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 img,html.theme--documenter-dark .image.is-5by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,html.theme--documenter-dark .image.is-4by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 img,html.theme--documenter-dark .image.is-4by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,html.theme--documenter-dark .image.is-3by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 img,html.theme--documenter-dark .image.is-3by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,html.theme--documenter-dark .image.is-5by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 img,html.theme--documenter-dark .image.is-5by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,html.theme--documenter-dark .image.is-16by9 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 img,html.theme--documenter-dark .image.is-16by9 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,html.theme--documenter-dark .image.is-2by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 img,html.theme--documenter-dark .image.is-2by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,html.theme--documenter-dark .image.is-3by1 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 img,html.theme--documenter-dark .image.is-3by1 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,html.theme--documenter-dark .image.is-4by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 img,html.theme--documenter-dark .image.is-4by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,html.theme--documenter-dark .image.is-3by4 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 img,html.theme--documenter-dark .image.is-3by4 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,html.theme--documenter-dark .image.is-2by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 img,html.theme--documenter-dark .image.is-2by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,html.theme--documenter-dark .image.is-3by5 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 img,html.theme--documenter-dark .image.is-3by5 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,html.theme--documenter-dark .image.is-9by16 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 img,html.theme--documenter-dark .image.is-9by16 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,html.theme--documenter-dark .image.is-1by2 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 img,html.theme--documenter-dark .image.is-1by2 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,html.theme--documenter-dark .image.is-1by3 img,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 img,html.theme--documenter-dark .image.is-1by3 .has-ratio,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}html.theme--documenter-dark .image.is-square,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-square,html.theme--documenter-dark .image.is-1by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}html.theme--documenter-dark .image.is-5by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}html.theme--documenter-dark .image.is-4by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}html.theme--documenter-dark .image.is-3by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}html.theme--documenter-dark .image.is-5by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}html.theme--documenter-dark .image.is-16by9,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}html.theme--documenter-dark .image.is-2by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}html.theme--documenter-dark .image.is-3by1,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}html.theme--documenter-dark .image.is-4by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}html.theme--documenter-dark .image.is-3by4,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}html.theme--documenter-dark .image.is-2by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}html.theme--documenter-dark .image.is-3by5,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}html.theme--documenter-dark .image.is-9by16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}html.theme--documenter-dark .image.is-1by2,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}html.theme--documenter-dark .image.is-1by3,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}html.theme--documenter-dark .image.is-16x16,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}html.theme--documenter-dark .image.is-24x24,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}html.theme--documenter-dark .image.is-32x32,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}html.theme--documenter-dark .image.is-48x48,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}html.theme--documenter-dark .image.is-64x64,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}html.theme--documenter-dark .image.is-96x96,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}html.theme--documenter-dark .image.is-128x128,html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}html.theme--documenter-dark .notification{background-color:#282f2f;border-radius:.4em;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}html.theme--documenter-dark .notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .notification strong{color:currentColor}html.theme--documenter-dark .notification code,html.theme--documenter-dark .notification pre{background:#fff}html.theme--documenter-dark .notification pre code{background:transparent}html.theme--documenter-dark .notification>.delete{position:absolute;right:0.5rem;top:0.5rem}html.theme--documenter-dark .notification .title,html.theme--documenter-dark .notification .subtitle,html.theme--documenter-dark .notification .content{color:currentColor}html.theme--documenter-dark .notification.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .notification.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .notification.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .notification.is-dark,html.theme--documenter-dark .content kbd.notification{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .notification.is-primary,html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .notification.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .notification.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .notification.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .notification.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .notification.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:15px;overflow:hidden;padding:0;width:100%}html.theme--documenter-dark .progress::-webkit-progress-bar{background-color:#5e6d6f}html.theme--documenter-dark .progress::-webkit-progress-value{background-color:#dbdee0}html.theme--documenter-dark .progress::-moz-progress-bar{background-color:#dbdee0}html.theme--documenter-dark .progress::-ms-fill{background-color:#dbdee0;border:none}html.theme--documenter-dark .progress.is-white::-webkit-progress-value{background-color:#fff}html.theme--documenter-dark .progress.is-white::-moz-progress-bar{background-color:#fff}html.theme--documenter-dark .progress.is-white::-ms-fill{background-color:#fff}html.theme--documenter-dark .progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-black::-webkit-progress-value{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-moz-progress-bar{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black::-ms-fill{background-color:#0a0a0a}html.theme--documenter-dark .progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-light::-webkit-progress-value{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-moz-progress-bar{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light::-ms-fill{background-color:#ecf0f1}html.theme--documenter-dark .progress.is-light:indeterminate{background-image:linear-gradient(to right, #ecf0f1 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-dark::-webkit-progress-value,html.theme--documenter-dark .content kbd.progress::-webkit-progress-value{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-moz-progress-bar,html.theme--documenter-dark .content kbd.progress::-moz-progress-bar{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark::-ms-fill,html.theme--documenter-dark .content kbd.progress::-ms-fill{background-color:#282f2f}html.theme--documenter-dark .progress.is-dark:indeterminate,html.theme--documenter-dark .content kbd.progress:indeterminate{background-image:linear-gradient(to right, #282f2f 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-primary::-webkit-progress-value,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-moz-progress-bar,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary::-ms-fill,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#375a7f}html.theme--documenter-dark .progress.is-primary:indeterminate,html.theme--documenter-dark .docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #375a7f 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-link::-webkit-progress-value{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-moz-progress-bar{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link::-ms-fill{background-color:#1abc9c}html.theme--documenter-dark .progress.is-link:indeterminate{background-image:linear-gradient(to right, #1abc9c 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-info::-webkit-progress-value{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-moz-progress-bar{background-color:#024c7d}html.theme--documenter-dark .progress.is-info::-ms-fill{background-color:#024c7d}html.theme--documenter-dark .progress.is-info:indeterminate{background-image:linear-gradient(to right, #024c7d 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-success::-webkit-progress-value{background-color:#008438}html.theme--documenter-dark .progress.is-success::-moz-progress-bar{background-color:#008438}html.theme--documenter-dark .progress.is-success::-ms-fill{background-color:#008438}html.theme--documenter-dark .progress.is-success:indeterminate{background-image:linear-gradient(to right, #008438 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-warning::-webkit-progress-value{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-moz-progress-bar{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning::-ms-fill{background-color:#ad8100}html.theme--documenter-dark .progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ad8100 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress.is-danger::-webkit-progress-value{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-moz-progress-bar{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger::-ms-fill{background-color:#9e1b0d}html.theme--documenter-dark .progress.is-danger:indeterminate{background-image:linear-gradient(to right, #9e1b0d 30%, #5e6d6f 30%)}html.theme--documenter-dark .progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#5e6d6f;background-image:linear-gradient(to right, #fff 30%, #5e6d6f 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}html.theme--documenter-dark .progress:indeterminate::-webkit-progress-bar{background-color:transparent}html.theme--documenter-dark .progress:indeterminate::-moz-progress-bar{background-color:transparent}html.theme--documenter-dark .progress.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.progress{height:.85em}html.theme--documenter-dark .progress.is-medium{height:1.25rem}html.theme--documenter-dark .progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}html.theme--documenter-dark .table{background-color:#343c3d;color:#fff}html.theme--documenter-dark .table td,html.theme--documenter-dark .table th{border:1px solid #5e6d6f;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}html.theme--documenter-dark .table td.is-white,html.theme--documenter-dark .table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .table td.is-black,html.theme--documenter-dark .table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .table td.is-light,html.theme--documenter-dark .table th.is-light{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .table td.is-dark,html.theme--documenter-dark .table th.is-dark{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .table td.is-primary,html.theme--documenter-dark .table th.is-primary{background-color:#375a7f;border-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-link,html.theme--documenter-dark .table th.is-link{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .table td.is-info,html.theme--documenter-dark .table th.is-info{background-color:#024c7d;border-color:#024c7d;color:#fff}html.theme--documenter-dark .table td.is-success,html.theme--documenter-dark .table th.is-success{background-color:#008438;border-color:#008438;color:#fff}html.theme--documenter-dark .table td.is-warning,html.theme--documenter-dark .table th.is-warning{background-color:#ad8100;border-color:#ad8100;color:#fff}html.theme--documenter-dark .table td.is-danger,html.theme--documenter-dark .table th.is-danger{background-color:#9e1b0d;border-color:#9e1b0d;color:#fff}html.theme--documenter-dark .table td.is-narrow,html.theme--documenter-dark .table th.is-narrow{white-space:nowrap;width:1%}html.theme--documenter-dark .table td.is-selected,html.theme--documenter-dark .table th.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table td.is-selected a,html.theme--documenter-dark .table td.is-selected strong,html.theme--documenter-dark .table th.is-selected a,html.theme--documenter-dark .table th.is-selected strong{color:currentColor}html.theme--documenter-dark .table th{color:#f2f2f2}html.theme--documenter-dark .table th:not([align]){text-align:left}html.theme--documenter-dark .table tr.is-selected{background-color:#375a7f;color:#fff}html.theme--documenter-dark .table tr.is-selected a,html.theme--documenter-dark .table tr.is-selected strong{color:currentColor}html.theme--documenter-dark .table tr.is-selected td,html.theme--documenter-dark .table tr.is-selected th{border-color:#fff;color:currentColor}html.theme--documenter-dark .table thead{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table thead td,html.theme--documenter-dark .table thead th{border-width:0 0 2px;color:#f2f2f2}html.theme--documenter-dark .table tfoot{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tfoot td,html.theme--documenter-dark .table tfoot th{border-width:2px 0 0;color:#f2f2f2}html.theme--documenter-dark .table tbody{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .table tbody tr:last-child td,html.theme--documenter-dark .table tbody tr:last-child th{border-bottom-width:0}html.theme--documenter-dark .table.is-bordered td,html.theme--documenter-dark .table.is-bordered th{border-width:1px}html.theme--documenter-dark .table.is-bordered tr:last-child td,html.theme--documenter-dark .table.is-bordered tr:last-child th{border-bottom-width:1px}html.theme--documenter-dark .table.is-fullwidth{width:100%}html.theme--documenter-dark .table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#282f2f}html.theme--documenter-dark .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#2d3435}html.theme--documenter-dark .table.is-narrow td,html.theme--documenter-dark .table.is-narrow th{padding:0.25em 0.5em}html.theme--documenter-dark .table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#282f2f}html.theme--documenter-dark .table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}html.theme--documenter-dark .tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .tags .tag,html.theme--documenter-dark .tags .content kbd,html.theme--documenter-dark .content .tags kbd,html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}html.theme--documenter-dark .tags .tag:not(:last-child),html.theme--documenter-dark .tags .content kbd:not(:last-child),html.theme--documenter-dark .content .tags kbd:not(:last-child),html.theme--documenter-dark .tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0.5rem}html.theme--documenter-dark .tags:last-child{margin-bottom:-0.5rem}html.theme--documenter-dark .tags:not(:last-child){margin-bottom:1rem}html.theme--documenter-dark .tags.are-medium .tag:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .content kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .content .tags.are-medium kbd:not(.is-normal):not(.is-large),html.theme--documenter-dark .tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:15px}html.theme--documenter-dark .tags.are-large .tag:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .content kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .content .tags.are-large kbd:not(.is-normal):not(.is-medium),html.theme--documenter-dark .tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}html.theme--documenter-dark .tags.is-centered{justify-content:center}html.theme--documenter-dark .tags.is-centered .tag,html.theme--documenter-dark .tags.is-centered .content kbd,html.theme--documenter-dark .content .tags.is-centered kbd,html.theme--documenter-dark .tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}html.theme--documenter-dark .tags.is-right{justify-content:flex-end}html.theme--documenter-dark .tags.is-right .tag:not(:first-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:first-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}html.theme--documenter-dark .tags.is-right .tag:not(:last-child),html.theme--documenter-dark .tags.is-right .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.is-right kbd:not(:last-child),html.theme--documenter-dark .tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}html.theme--documenter-dark .tags.has-addons .tag,html.theme--documenter-dark .tags.has-addons .content kbd,html.theme--documenter-dark .content .tags.has-addons kbd,html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}html.theme--documenter-dark .tags.has-addons .tag:not(:first-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:first-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:first-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .tags.has-addons .tag:not(:last-child),html.theme--documenter-dark .tags.has-addons .content kbd:not(:last-child),html.theme--documenter-dark .content .tags.has-addons kbd:not(:last-child),html.theme--documenter-dark .tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .tag:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#282f2f;border-radius:.4em;color:#fff;display:inline-flex;font-size:.85em;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}html.theme--documenter-dark .tag:not(body) .delete,html.theme--documenter-dark .content kbd:not(body) .delete,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}html.theme--documenter-dark .tag.is-white:not(body),html.theme--documenter-dark .content kbd.is-white:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .tag.is-black:not(body),html.theme--documenter-dark .content kbd.is-black:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .tag.is-light:not(body),html.theme--documenter-dark .content kbd.is-light:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .tag.is-dark:not(body),html.theme--documenter-dark .content kbd:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-dark:not(body),html.theme--documenter-dark .content .docstring>section>kbd:not(body){background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .tag.is-primary:not(body),html.theme--documenter-dark .content kbd.is-primary:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body){background-color:#375a7f;color:#fff}html.theme--documenter-dark .tag.is-link:not(body),html.theme--documenter-dark .content kbd.is-link:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#1abc9c;color:#fff}html.theme--documenter-dark .tag.is-info:not(body),html.theme--documenter-dark .content kbd.is-info:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#024c7d;color:#fff}html.theme--documenter-dark .tag.is-success:not(body),html.theme--documenter-dark .content kbd.is-success:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#008438;color:#fff}html.theme--documenter-dark .tag.is-warning:not(body),html.theme--documenter-dark .content kbd.is-warning:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ad8100;color:#fff}html.theme--documenter-dark .tag.is-danger:not(body),html.theme--documenter-dark .content kbd.is-danger:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .tag.is-normal:not(body),html.theme--documenter-dark .content kbd.is-normal:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.85em}html.theme--documenter-dark .tag.is-medium:not(body),html.theme--documenter-dark .content kbd.is-medium:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:15px}html.theme--documenter-dark .tag.is-large:not(body),html.theme--documenter-dark .content kbd.is-large:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}html.theme--documenter-dark .tag:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .content kbd:not(body) .icon:first-child:not(:last-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}html.theme--documenter-dark .tag:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .content kbd:not(body) .icon:last-child:not(:first-child),html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}html.theme--documenter-dark .tag:not(body) .icon:first-child:last-child,html.theme--documenter-dark .content kbd:not(body) .icon:first-child:last-child,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}html.theme--documenter-dark .tag.is-delete:not(body),html.theme--documenter-dark .content kbd.is-delete:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before,html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}html.theme--documenter-dark .tag.is-delete:not(body)::before,html.theme--documenter-dark .content kbd.is-delete:not(body)::before,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}html.theme--documenter-dark .tag.is-delete:not(body)::after,html.theme--documenter-dark .content kbd.is-delete:not(body)::after,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}html.theme--documenter-dark .tag.is-delete:not(body):hover,html.theme--documenter-dark .content kbd.is-delete:not(body):hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):hover,html.theme--documenter-dark .tag.is-delete:not(body):focus,html.theme--documenter-dark .content kbd.is-delete:not(body):focus,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#1d2122}html.theme--documenter-dark .tag.is-delete:not(body):active,html.theme--documenter-dark .content kbd.is-delete:not(body):active,html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#111414}html.theme--documenter-dark .tag.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:not(body),html.theme--documenter-dark .content kbd.is-rounded:not(body),html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input:not(body),html.theme--documenter-dark .docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:290486px}html.theme--documenter-dark a.tag:hover,html.theme--documenter-dark .docstring>section>a.docs-sourcelink:hover{text-decoration:underline}html.theme--documenter-dark .title,html.theme--documenter-dark .subtitle{word-break:break-word}html.theme--documenter-dark .title em,html.theme--documenter-dark .title span,html.theme--documenter-dark .subtitle em,html.theme--documenter-dark .subtitle span{font-weight:inherit}html.theme--documenter-dark .title sub,html.theme--documenter-dark .subtitle sub{font-size:.75em}html.theme--documenter-dark .title sup,html.theme--documenter-dark .subtitle sup{font-size:.75em}html.theme--documenter-dark .title .tag,html.theme--documenter-dark .title .content kbd,html.theme--documenter-dark .content .title kbd,html.theme--documenter-dark .title .docstring>section>a.docs-sourcelink,html.theme--documenter-dark .subtitle .tag,html.theme--documenter-dark .subtitle .content kbd,html.theme--documenter-dark .content .subtitle kbd,html.theme--documenter-dark .subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}html.theme--documenter-dark .title{color:#fff;font-size:2rem;font-weight:500;line-height:1.125}html.theme--documenter-dark .title strong{color:inherit;font-weight:inherit}html.theme--documenter-dark .title+.highlight{margin-top:-0.75rem}html.theme--documenter-dark .title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}html.theme--documenter-dark .title.is-1{font-size:3rem}html.theme--documenter-dark .title.is-2{font-size:2.5rem}html.theme--documenter-dark .title.is-3{font-size:2rem}html.theme--documenter-dark .title.is-4{font-size:1.5rem}html.theme--documenter-dark .title.is-5{font-size:1.25rem}html.theme--documenter-dark .title.is-6{font-size:15px}html.theme--documenter-dark .title.is-7{font-size:.85em}html.theme--documenter-dark .subtitle{color:#8c9b9d;font-size:1.25rem;font-weight:400;line-height:1.25}html.theme--documenter-dark .subtitle strong{color:#8c9b9d;font-weight:600}html.theme--documenter-dark .subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}html.theme--documenter-dark .subtitle.is-1{font-size:3rem}html.theme--documenter-dark .subtitle.is-2{font-size:2.5rem}html.theme--documenter-dark .subtitle.is-3{font-size:2rem}html.theme--documenter-dark .subtitle.is-4{font-size:1.5rem}html.theme--documenter-dark .subtitle.is-5{font-size:1.25rem}html.theme--documenter-dark .subtitle.is-6{font-size:15px}html.theme--documenter-dark .subtitle.is-7{font-size:.85em}html.theme--documenter-dark .heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}html.theme--documenter-dark .highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}html.theme--documenter-dark .highlight pre{overflow:auto;max-width:100%}html.theme--documenter-dark .number{align-items:center;background-color:#282f2f;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#1f2424;border-color:#5e6d6f;border-radius:.4em;color:#dbdee0}html.theme--documenter-dark .select select::-moz-placeholder,html.theme--documenter-dark .textarea::-moz-placeholder,html.theme--documenter-dark .input::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select::-webkit-input-placeholder,html.theme--documenter-dark .textarea::-webkit-input-placeholder,html.theme--documenter-dark .input::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:-moz-placeholder,html.theme--documenter-dark .textarea:-moz-placeholder,html.theme--documenter-dark .input:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:-ms-input-placeholder,html.theme--documenter-dark .textarea:-ms-input-placeholder,html.theme--documenter-dark .input:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(219,222,224,0.3)}html.theme--documenter-dark .select select:hover,html.theme--documenter-dark .textarea:hover,html.theme--documenter-dark .input:hover,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:hover,html.theme--documenter-dark .select select.is-hovered,html.theme--documenter-dark .is-hovered.textarea,html.theme--documenter-dark .is-hovered.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#8c9b9d}html.theme--documenter-dark .select select:focus,html.theme--documenter-dark .textarea:focus,html.theme--documenter-dark .input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:focus,html.theme--documenter-dark .select select.is-focused,html.theme--documenter-dark .is-focused.textarea,html.theme--documenter-dark .is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .select select:active,html.theme--documenter-dark .textarea:active,html.theme--documenter-dark .input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:active,html.theme--documenter-dark .select select.is-active,html.theme--documenter-dark .is-active.textarea,html.theme--documenter-dark .is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{border-color:#1abc9c;box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select select[disabled],html.theme--documenter-dark .textarea[disabled],html.theme--documenter-dark .input[disabled],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] html.theme--documenter-dark .select select,fieldset[disabled] html.theme--documenter-dark .textarea,fieldset[disabled] html.theme--documenter-dark .input,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{background-color:#8c9b9d;border-color:#282f2f;box-shadow:none;color:#fff}html.theme--documenter-dark .select select[disabled]::-moz-placeholder,html.theme--documenter-dark .textarea[disabled]::-moz-placeholder,html.theme--documenter-dark .input[disabled]::-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .textarea[disabled]::-webkit-input-placeholder,html.theme--documenter-dark .input[disabled]::-webkit-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input::-webkit-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-moz-placeholder,html.theme--documenter-dark .textarea[disabled]:-moz-placeholder,html.theme--documenter-dark .input[disabled]:-moz-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-moz-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .select select[disabled]:-ms-input-placeholder,html.theme--documenter-dark .textarea[disabled]:-ms-input-placeholder,html.theme--documenter-dark .input[disabled]:-ms-input-placeholder,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .select select:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .textarea:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark .input:-ms-input-placeholder,fieldset[disabled] html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(255,255,255,0.3)}html.theme--documenter-dark .textarea,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}html.theme--documenter-dark .textarea[readonly],html.theme--documenter-dark .input[readonly],html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}html.theme--documenter-dark .is-white.textarea,html.theme--documenter-dark .is-white.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}html.theme--documenter-dark .is-white.textarea:focus,html.theme--documenter-dark .is-white.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:focus,html.theme--documenter-dark .is-white.is-focused.textarea,html.theme--documenter-dark .is-white.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-white.textarea:active,html.theme--documenter-dark .is-white.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-white:active,html.theme--documenter-dark .is-white.is-active.textarea,html.theme--documenter-dark .is-white.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .is-black.textarea,html.theme--documenter-dark .is-black.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}html.theme--documenter-dark .is-black.textarea:focus,html.theme--documenter-dark .is-black.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:focus,html.theme--documenter-dark .is-black.is-focused.textarea,html.theme--documenter-dark .is-black.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-black.textarea:active,html.theme--documenter-dark .is-black.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-black:active,html.theme--documenter-dark .is-black.is-active.textarea,html.theme--documenter-dark .is-black.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .is-light.textarea,html.theme--documenter-dark .is-light.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light{border-color:#ecf0f1}html.theme--documenter-dark .is-light.textarea:focus,html.theme--documenter-dark .is-light.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:focus,html.theme--documenter-dark .is-light.is-focused.textarea,html.theme--documenter-dark .is-light.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-light.textarea:active,html.theme--documenter-dark .is-light.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-light:active,html.theme--documenter-dark .is-light.is-active.textarea,html.theme--documenter-dark .is-light.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .is-dark.textarea,html.theme--documenter-dark .content kbd.textarea,html.theme--documenter-dark .is-dark.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark,html.theme--documenter-dark .content kbd.input{border-color:#282f2f}html.theme--documenter-dark .is-dark.textarea:focus,html.theme--documenter-dark .content kbd.textarea:focus,html.theme--documenter-dark .is-dark.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:focus,html.theme--documenter-dark .content kbd.input:focus,html.theme--documenter-dark .is-dark.is-focused.textarea,html.theme--documenter-dark .content kbd.is-focused.textarea,html.theme--documenter-dark .is-dark.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .content kbd.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-focused,html.theme--documenter-dark .is-dark.textarea:active,html.theme--documenter-dark .content kbd.textarea:active,html.theme--documenter-dark .is-dark.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-dark:active,html.theme--documenter-dark .content kbd.input:active,html.theme--documenter-dark .is-dark.is-active.textarea,html.theme--documenter-dark .content kbd.is-active.textarea,html.theme--documenter-dark .is-dark.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .content kbd.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .is-primary.textarea,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink{border-color:#375a7f}html.theme--documenter-dark .is-primary.textarea:focus,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:focus,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:focus,html.theme--documenter-dark .is-primary.is-focused.textarea,html.theme--documenter-dark .docstring>section>a.is-focused.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .docstring>section>a.is-focused.input.docs-sourcelink,html.theme--documenter-dark .is-primary.textarea:active,html.theme--documenter-dark .docstring>section>a.textarea.docs-sourcelink:active,html.theme--documenter-dark .is-primary.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-primary:active,html.theme--documenter-dark .docstring>section>a.input.docs-sourcelink:active,html.theme--documenter-dark .is-primary.is-active.textarea,html.theme--documenter-dark .docstring>section>a.is-active.textarea.docs-sourcelink,html.theme--documenter-dark .is-primary.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active,html.theme--documenter-dark .docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .is-link.textarea,html.theme--documenter-dark .is-link.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link{border-color:#1abc9c}html.theme--documenter-dark .is-link.textarea:focus,html.theme--documenter-dark .is-link.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:focus,html.theme--documenter-dark .is-link.is-focused.textarea,html.theme--documenter-dark .is-link.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-link.textarea:active,html.theme--documenter-dark .is-link.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-link:active,html.theme--documenter-dark .is-link.is-active.textarea,html.theme--documenter-dark .is-link.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .is-info.textarea,html.theme--documenter-dark .is-info.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info{border-color:#024c7d}html.theme--documenter-dark .is-info.textarea:focus,html.theme--documenter-dark .is-info.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:focus,html.theme--documenter-dark .is-info.is-focused.textarea,html.theme--documenter-dark .is-info.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-info.textarea:active,html.theme--documenter-dark .is-info.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-info:active,html.theme--documenter-dark .is-info.is-active.textarea,html.theme--documenter-dark .is-info.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .is-success.textarea,html.theme--documenter-dark .is-success.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success{border-color:#008438}html.theme--documenter-dark .is-success.textarea:focus,html.theme--documenter-dark .is-success.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:focus,html.theme--documenter-dark .is-success.is-focused.textarea,html.theme--documenter-dark .is-success.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-success.textarea:active,html.theme--documenter-dark .is-success.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-success:active,html.theme--documenter-dark .is-success.is-active.textarea,html.theme--documenter-dark .is-success.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .is-warning.textarea,html.theme--documenter-dark .is-warning.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ad8100}html.theme--documenter-dark .is-warning.textarea:focus,html.theme--documenter-dark .is-warning.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:focus,html.theme--documenter-dark .is-warning.is-focused.textarea,html.theme--documenter-dark .is-warning.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-warning.textarea:active,html.theme--documenter-dark .is-warning.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-warning:active,html.theme--documenter-dark .is-warning.is-active.textarea,html.theme--documenter-dark .is-warning.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .is-danger.textarea,html.theme--documenter-dark .is-danger.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#9e1b0d}html.theme--documenter-dark .is-danger.textarea:focus,html.theme--documenter-dark .is-danger.input:focus,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:focus,html.theme--documenter-dark .is-danger.is-focused.textarea,html.theme--documenter-dark .is-danger.is-focused.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-focused,html.theme--documenter-dark .is-danger.textarea:active,html.theme--documenter-dark .is-danger.input:active,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-danger:active,html.theme--documenter-dark .is-danger.is-active.textarea,html.theme--documenter-dark .is-danger.is-active.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .is-small.textarea,html.theme--documenter-dark .is-small.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:3px;font-size:.85em}html.theme--documenter-dark .is-medium.textarea,html.theme--documenter-dark .is-medium.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}html.theme--documenter-dark .is-large.textarea,html.theme--documenter-dark .is-large.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}html.theme--documenter-dark .is-fullwidth.textarea,html.theme--documenter-dark .is-fullwidth.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}html.theme--documenter-dark .is-inline.textarea,html.theme--documenter-dark .is-inline.input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}html.theme--documenter-dark .input.is-rounded,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{border-radius:290486px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .input.is-static,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}html.theme--documenter-dark .textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}html.theme--documenter-dark .textarea:not([rows]){max-height:600px;min-height:120px}html.theme--documenter-dark .textarea[rows]{height:initial}html.theme--documenter-dark .textarea.has-fixed-size{resize:none}html.theme--documenter-dark .radio,html.theme--documenter-dark .checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}html.theme--documenter-dark .radio input,html.theme--documenter-dark .checkbox input{cursor:pointer}html.theme--documenter-dark .radio:hover,html.theme--documenter-dark .checkbox:hover{color:#8c9b9d}html.theme--documenter-dark .radio[disabled],html.theme--documenter-dark .checkbox[disabled],fieldset[disabled] html.theme--documenter-dark .radio,fieldset[disabled] html.theme--documenter-dark .checkbox{color:#fff;cursor:not-allowed}html.theme--documenter-dark .radio+.radio{margin-left:0.5em}html.theme--documenter-dark .select{display:inline-block;max-width:100%;position:relative;vertical-align:top}html.theme--documenter-dark .select:not(.is-multiple){height:2.25em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading)::after{border-color:#1abc9c;right:1.125em;z-index:4}html.theme--documenter-dark .select.is-rounded select,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select select{border-radius:290486px;padding-left:1em}html.theme--documenter-dark .select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}html.theme--documenter-dark .select select::-ms-expand{display:none}html.theme--documenter-dark .select select[disabled]:hover,fieldset[disabled] html.theme--documenter-dark .select select:hover{border-color:#282f2f}html.theme--documenter-dark .select select:not([multiple]){padding-right:2.5em}html.theme--documenter-dark .select select[multiple]{height:auto;padding:0}html.theme--documenter-dark .select select[multiple] option{padding:0.5em 1em}html.theme--documenter-dark .select:not(.is-multiple):not(.is-loading):hover::after{border-color:#8c9b9d}html.theme--documenter-dark .select.is-white:not(:hover)::after{border-color:#fff}html.theme--documenter-dark .select.is-white select{border-color:#fff}html.theme--documenter-dark .select.is-white select:hover,html.theme--documenter-dark .select.is-white select.is-hovered{border-color:#f2f2f2}html.theme--documenter-dark .select.is-white select:focus,html.theme--documenter-dark .select.is-white select.is-focused,html.theme--documenter-dark .select.is-white select:active,html.theme--documenter-dark .select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}html.theme--documenter-dark .select.is-black:not(:hover)::after{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select{border-color:#0a0a0a}html.theme--documenter-dark .select.is-black select:hover,html.theme--documenter-dark .select.is-black select.is-hovered{border-color:#000}html.theme--documenter-dark .select.is-black select:focus,html.theme--documenter-dark .select.is-black select.is-focused,html.theme--documenter-dark .select.is-black select:active,html.theme--documenter-dark .select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}html.theme--documenter-dark .select.is-light:not(:hover)::after{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select{border-color:#ecf0f1}html.theme--documenter-dark .select.is-light select:hover,html.theme--documenter-dark .select.is-light select.is-hovered{border-color:#dde4e6}html.theme--documenter-dark .select.is-light select:focus,html.theme--documenter-dark .select.is-light select.is-focused,html.theme--documenter-dark .select.is-light select:active,html.theme--documenter-dark .select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(236,240,241,0.25)}html.theme--documenter-dark .select.is-dark:not(:hover)::after,html.theme--documenter-dark .content kbd.select:not(:hover)::after{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select,html.theme--documenter-dark .content kbd.select select{border-color:#282f2f}html.theme--documenter-dark .select.is-dark select:hover,html.theme--documenter-dark .content kbd.select select:hover,html.theme--documenter-dark .select.is-dark select.is-hovered,html.theme--documenter-dark .content kbd.select select.is-hovered{border-color:#1d2122}html.theme--documenter-dark .select.is-dark select:focus,html.theme--documenter-dark .content kbd.select select:focus,html.theme--documenter-dark .select.is-dark select.is-focused,html.theme--documenter-dark .content kbd.select select.is-focused,html.theme--documenter-dark .select.is-dark select:active,html.theme--documenter-dark .content kbd.select select:active,html.theme--documenter-dark .select.is-dark select.is-active,html.theme--documenter-dark .content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(40,47,47,0.25)}html.theme--documenter-dark .select.is-primary:not(:hover)::after,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select{border-color:#375a7f}html.theme--documenter-dark .select.is-primary select:hover,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:hover,html.theme--documenter-dark .select.is-primary select.is-hovered,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#2f4d6d}html.theme--documenter-dark .select.is-primary select:focus,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:focus,html.theme--documenter-dark .select.is-primary select.is-focused,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-focused,html.theme--documenter-dark .select.is-primary select:active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select:active,html.theme--documenter-dark .select.is-primary select.is-active,html.theme--documenter-dark .docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(55,90,127,0.25)}html.theme--documenter-dark .select.is-link:not(:hover)::after{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select{border-color:#1abc9c}html.theme--documenter-dark .select.is-link select:hover,html.theme--documenter-dark .select.is-link select.is-hovered{border-color:#17a689}html.theme--documenter-dark .select.is-link select:focus,html.theme--documenter-dark .select.is-link select.is-focused,html.theme--documenter-dark .select.is-link select:active,html.theme--documenter-dark .select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(26,188,156,0.25)}html.theme--documenter-dark .select.is-info:not(:hover)::after{border-color:#024c7d}html.theme--documenter-dark .select.is-info select{border-color:#024c7d}html.theme--documenter-dark .select.is-info select:hover,html.theme--documenter-dark .select.is-info select.is-hovered{border-color:#023d64}html.theme--documenter-dark .select.is-info select:focus,html.theme--documenter-dark .select.is-info select.is-focused,html.theme--documenter-dark .select.is-info select:active,html.theme--documenter-dark .select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(2,76,125,0.25)}html.theme--documenter-dark .select.is-success:not(:hover)::after{border-color:#008438}html.theme--documenter-dark .select.is-success select{border-color:#008438}html.theme--documenter-dark .select.is-success select:hover,html.theme--documenter-dark .select.is-success select.is-hovered{border-color:#006b2d}html.theme--documenter-dark .select.is-success select:focus,html.theme--documenter-dark .select.is-success select.is-focused,html.theme--documenter-dark .select.is-success select:active,html.theme--documenter-dark .select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(0,132,56,0.25)}html.theme--documenter-dark .select.is-warning:not(:hover)::after{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select{border-color:#ad8100}html.theme--documenter-dark .select.is-warning select:hover,html.theme--documenter-dark .select.is-warning select.is-hovered{border-color:#946e00}html.theme--documenter-dark .select.is-warning select:focus,html.theme--documenter-dark .select.is-warning select.is-focused,html.theme--documenter-dark .select.is-warning select:active,html.theme--documenter-dark .select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(173,129,0,0.25)}html.theme--documenter-dark .select.is-danger:not(:hover)::after{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select{border-color:#9e1b0d}html.theme--documenter-dark .select.is-danger select:hover,html.theme--documenter-dark .select.is-danger select.is-hovered{border-color:#86170b}html.theme--documenter-dark .select.is-danger select:focus,html.theme--documenter-dark .select.is-danger select.is-focused,html.theme--documenter-dark .select.is-danger select:active,html.theme--documenter-dark .select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(158,27,13,0.25)}html.theme--documenter-dark .select.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.select{border-radius:3px;font-size:.85em}html.theme--documenter-dark .select.is-medium{font-size:1.25rem}html.theme--documenter-dark .select.is-large{font-size:1.5rem}html.theme--documenter-dark .select.is-disabled::after{border-color:#fff}html.theme--documenter-dark .select.is-fullwidth{width:100%}html.theme--documenter-dark .select.is-fullwidth select{width:100%}html.theme--documenter-dark .select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;transform:none}html.theme--documenter-dark .select.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.85em}html.theme--documenter-dark .select.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .select.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}html.theme--documenter-dark .file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:hover .file-cta,html.theme--documenter-dark .file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-white:focus .file-cta,html.theme--documenter-dark .file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}html.theme--documenter-dark .file.is-white:active .file-cta,html.theme--documenter-dark .file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}html.theme--documenter-dark .file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:hover .file-cta,html.theme--documenter-dark .file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-black:focus .file-cta,html.theme--documenter-dark .file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}html.theme--documenter-dark .file.is-black:active .file-cta,html.theme--documenter-dark .file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-light .file-cta{background-color:#ecf0f1;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-light:hover .file-cta,html.theme--documenter-dark .file.is-light.is-hovered .file-cta{background-color:#e5eaec;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-light:focus .file-cta,html.theme--documenter-dark .file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(236,240,241,0.25);color:#282f2f}html.theme--documenter-dark .file.is-light:active .file-cta,html.theme--documenter-dark .file.is-light.is-active .file-cta{background-color:#dde4e6;border-color:transparent;color:#282f2f}html.theme--documenter-dark .file.is-dark .file-cta,html.theme--documenter-dark .content kbd.file .file-cta{background-color:#282f2f;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-dark:hover .file-cta,html.theme--documenter-dark .content kbd.file:hover .file-cta,html.theme--documenter-dark .file.is-dark.is-hovered .file-cta,html.theme--documenter-dark .content kbd.file.is-hovered .file-cta{background-color:#232829;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-dark:focus .file-cta,html.theme--documenter-dark .content kbd.file:focus .file-cta,html.theme--documenter-dark .file.is-dark.is-focused .file-cta,html.theme--documenter-dark .content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(40,47,47,0.25);color:#ecf0f1}html.theme--documenter-dark .file.is-dark:active .file-cta,html.theme--documenter-dark .content kbd.file:active .file-cta,html.theme--documenter-dark .file.is-dark.is-active .file-cta,html.theme--documenter-dark .content kbd.file.is-active .file-cta{background-color:#1d2122;border-color:transparent;color:#ecf0f1}html.theme--documenter-dark .file.is-primary .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink .file-cta{background-color:#375a7f;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:hover .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:hover .file-cta,html.theme--documenter-dark .file.is-primary.is-hovered .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#335476;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-primary:focus .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:focus .file-cta,html.theme--documenter-dark .file.is-primary.is-focused .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(55,90,127,0.25);color:#fff}html.theme--documenter-dark .file.is-primary:active .file-cta,html.theme--documenter-dark .docstring>section>a.file.docs-sourcelink:active .file-cta,html.theme--documenter-dark .file.is-primary.is-active .file-cta,html.theme--documenter-dark .docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#2f4d6d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link .file-cta{background-color:#1abc9c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:hover .file-cta,html.theme--documenter-dark .file.is-link.is-hovered .file-cta{background-color:#18b193;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-link:focus .file-cta,html.theme--documenter-dark .file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(26,188,156,0.25);color:#fff}html.theme--documenter-dark .file.is-link:active .file-cta,html.theme--documenter-dark .file.is-link.is-active .file-cta{background-color:#17a689;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info .file-cta{background-color:#024c7d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:hover .file-cta,html.theme--documenter-dark .file.is-info.is-hovered .file-cta{background-color:#024470;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-info:focus .file-cta,html.theme--documenter-dark .file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(2,76,125,0.25);color:#fff}html.theme--documenter-dark .file.is-info:active .file-cta,html.theme--documenter-dark .file.is-info.is-active .file-cta{background-color:#023d64;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success .file-cta{background-color:#008438;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:hover .file-cta,html.theme--documenter-dark .file.is-success.is-hovered .file-cta{background-color:#073;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-success:focus .file-cta,html.theme--documenter-dark .file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(0,132,56,0.25);color:#fff}html.theme--documenter-dark .file.is-success:active .file-cta,html.theme--documenter-dark .file.is-success.is-active .file-cta{background-color:#006b2d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning .file-cta{background-color:#ad8100;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:hover .file-cta,html.theme--documenter-dark .file.is-warning.is-hovered .file-cta{background-color:#a07700;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-warning:focus .file-cta,html.theme--documenter-dark .file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(173,129,0,0.25);color:#fff}html.theme--documenter-dark .file.is-warning:active .file-cta,html.theme--documenter-dark .file.is-warning.is-active .file-cta{background-color:#946e00;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger .file-cta{background-color:#9e1b0d;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:hover .file-cta,html.theme--documenter-dark .file.is-danger.is-hovered .file-cta{background-color:#92190c;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-danger:focus .file-cta,html.theme--documenter-dark .file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(158,27,13,0.25);color:#fff}html.theme--documenter-dark .file.is-danger:active .file-cta,html.theme--documenter-dark .file.is-danger.is-active .file-cta{background-color:#86170b;border-color:transparent;color:#fff}html.theme--documenter-dark .file.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.file{font-size:.85em}html.theme--documenter-dark .file.is-medium{font-size:1.25rem}html.theme--documenter-dark .file.is-medium .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-large{font-size:1.5rem}html.theme--documenter-dark .file.is-large .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .file.has-name.is-empty .file-cta{border-radius:.4em}html.theme--documenter-dark .file.has-name.is-empty .file-name{display:none}html.theme--documenter-dark .file.is-boxed .file-label{flex-direction:column}html.theme--documenter-dark .file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}html.theme--documenter-dark .file.is-boxed .file-name{border-width:0 1px 1px}html.theme--documenter-dark .file.is-boxed .file-icon{height:1.5em;width:1.5em}html.theme--documenter-dark .file.is-boxed .file-icon .fa{font-size:21px}html.theme--documenter-dark .file.is-boxed.is-small .file-icon .fa,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}html.theme--documenter-dark .file.is-boxed.is-medium .file-icon .fa{font-size:28px}html.theme--documenter-dark .file.is-boxed.is-large .file-icon .fa{font-size:35px}html.theme--documenter-dark .file.is-boxed.has-name .file-cta{border-radius:.4em .4em 0 0}html.theme--documenter-dark .file.is-boxed.has-name .file-name{border-radius:0 0 .4em .4em;border-width:0 1px 1px}html.theme--documenter-dark .file.is-centered{justify-content:center}html.theme--documenter-dark .file.is-fullwidth .file-label{width:100%}html.theme--documenter-dark .file.is-fullwidth .file-name{flex-grow:1;max-width:none}html.theme--documenter-dark .file.is-right{justify-content:flex-end}html.theme--documenter-dark .file.is-right .file-cta{border-radius:0 .4em .4em 0}html.theme--documenter-dark .file.is-right .file-name{border-radius:.4em 0 0 .4em;border-width:1px 0 1px 1px;order:-1}html.theme--documenter-dark .file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}html.theme--documenter-dark .file-label:hover .file-cta{background-color:#e5eaec;color:#282f2f}html.theme--documenter-dark .file-label:hover .file-name{border-color:#596668}html.theme--documenter-dark .file-label:active .file-cta{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .file-label:active .file-name{border-color:#535f61}html.theme--documenter-dark .file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}html.theme--documenter-dark .file-cta,html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-radius:.4em;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}html.theme--documenter-dark .file-cta{background-color:#ecf0f1;color:#343c3d}html.theme--documenter-dark .file-name{border-color:#5e6d6f;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}html.theme--documenter-dark .file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}html.theme--documenter-dark .file-icon .fa{font-size:14px}html.theme--documenter-dark .label{color:#282f2f;display:block;font-size:15px;font-weight:700}html.theme--documenter-dark .label:not(:last-child){margin-bottom:0.5em}html.theme--documenter-dark .label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.label{font-size:.85em}html.theme--documenter-dark .label.is-medium{font-size:1.25rem}html.theme--documenter-dark .label.is-large{font-size:1.5rem}html.theme--documenter-dark .help{display:block;font-size:.85em;margin-top:0.25rem}html.theme--documenter-dark .help.is-white{color:#fff}html.theme--documenter-dark .help.is-black{color:#0a0a0a}html.theme--documenter-dark .help.is-light{color:#ecf0f1}html.theme--documenter-dark .help.is-dark,html.theme--documenter-dark .content kbd.help{color:#282f2f}html.theme--documenter-dark .help.is-primary,html.theme--documenter-dark .docstring>section>a.help.docs-sourcelink{color:#375a7f}html.theme--documenter-dark .help.is-link{color:#1abc9c}html.theme--documenter-dark .help.is-info{color:#024c7d}html.theme--documenter-dark .help.is-success{color:#008438}html.theme--documenter-dark .help.is-warning{color:#ad8100}html.theme--documenter-dark .help.is-danger{color:#9e1b0d}html.theme--documenter-dark .field:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.has-addons{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.has-addons .control:not(:last-child){margin-right:-1px}html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .button,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .button,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,html.theme--documenter-dark .field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]),html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]){z-index:3}html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .button.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .button:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .button.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark #documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):focus:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-focused:not([disabled]):hover,html.theme--documenter-dark .field.has-addons .control .select select:not([disabled]):active:hover,html.theme--documenter-dark .field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}html.theme--documenter-dark .field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.has-addons.has-addons-centered{justify-content:center}html.theme--documenter-dark .field.has-addons.has-addons-right{justify-content:flex-end}html.theme--documenter-dark .field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .field.is-grouped{display:flex;justify-content:flex-start}html.theme--documenter-dark .field.is-grouped>.control{flex-shrink:0}html.theme--documenter-dark .field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}html.theme--documenter-dark .field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .field.is-grouped.is-grouped-centered{justify-content:center}html.theme--documenter-dark .field.is-grouped.is-grouped-right{justify-content:flex-end}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline{flex-wrap:wrap}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:last-child,html.theme--documenter-dark .field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}html.theme--documenter-dark .field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field.is-horizontal{display:flex}}html.theme--documenter-dark .field-label .label{font-size:inherit}@media screen and (max-width: 768px){html.theme--documenter-dark .field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}html.theme--documenter-dark .field-label.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.field-label{font-size:.85em;padding-top:0.375em}html.theme--documenter-dark .field-label.is-normal{padding-top:0.375em}html.theme--documenter-dark .field-label.is-medium{font-size:1.25rem;padding-top:0.375em}html.theme--documenter-dark .field-label.is-large{font-size:1.5rem;padding-top:0.375em}}html.theme--documenter-dark .field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{html.theme--documenter-dark .field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}html.theme--documenter-dark .field-body .field{margin-bottom:0}html.theme--documenter-dark .field-body>.field{flex-shrink:1}html.theme--documenter-dark .field-body>.field:not(.is-narrow){flex-grow:1}html.theme--documenter-dark .field-body>.field:not(:last-child){margin-right:0.75rem}}html.theme--documenter-dark .control{box-sizing:border-box;clear:both;font-size:15px;position:relative;text-align:left}html.theme--documenter-dark .control.has-icons-left .input:focus~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-left .select:focus~.icon,html.theme--documenter-dark .control.has-icons-right .input:focus~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,html.theme--documenter-dark .control.has-icons-right .select:focus~.icon{color:#5e6d6f}html.theme--documenter-dark .control.has-icons-left .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-small~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-small~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-small~.icon{font-size:.85em}html.theme--documenter-dark .control.has-icons-left .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}html.theme--documenter-dark .control.has-icons-left .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-left .select.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,html.theme--documenter-dark .control.has-icons-right .select.is-large~.icon{font-size:1.5rem}html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon{color:#dbdee0;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}html.theme--documenter-dark .control.has-icons-left .input,html.theme--documenter-dark .control.has-icons-left #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-left form.docs-search>input,html.theme--documenter-dark .control.has-icons-left .select select{padding-left:2.25em}html.theme--documenter-dark .control.has-icons-left .icon.is-left{left:0}html.theme--documenter-dark .control.has-icons-right .input,html.theme--documenter-dark .control.has-icons-right #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-icons-right form.docs-search>input,html.theme--documenter-dark .control.has-icons-right .select select{padding-right:2.25em}html.theme--documenter-dark .control.has-icons-right .icon.is-right{right:0}html.theme--documenter-dark .control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}html.theme--documenter-dark .control.is-loading.is-small:after,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.85em}html.theme--documenter-dark .control.is-loading.is-medium:after{font-size:1.25rem}html.theme--documenter-dark .control.is-loading.is-large:after{font-size:1.5rem}html.theme--documenter-dark .breadcrumb{font-size:15px;white-space:nowrap}html.theme--documenter-dark .breadcrumb a{align-items:center;color:#1abc9c;display:flex;justify-content:center;padding:0 .75em}html.theme--documenter-dark .breadcrumb a:hover{color:#1dd2af}html.theme--documenter-dark .breadcrumb li{align-items:center;display:flex}html.theme--documenter-dark .breadcrumb li:first-child a{padding-left:0}html.theme--documenter-dark .breadcrumb li.is-active a{color:#f2f2f2;cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb li+li::before{color:#8c9b9d;content:"\0002f"}html.theme--documenter-dark .breadcrumb ul,html.theme--documenter-dark .breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}html.theme--documenter-dark .breadcrumb .icon:first-child{margin-right:0.5em}html.theme--documenter-dark .breadcrumb .icon:last-child{margin-left:0.5em}html.theme--documenter-dark .breadcrumb.is-centered ol,html.theme--documenter-dark .breadcrumb.is-centered ul{justify-content:center}html.theme--documenter-dark .breadcrumb.is-right ol,html.theme--documenter-dark .breadcrumb.is-right ul{justify-content:flex-end}html.theme--documenter-dark .breadcrumb.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.85em}html.theme--documenter-dark .breadcrumb.is-medium{font-size:1.25rem}html.theme--documenter-dark .breadcrumb.is-large{font-size:1.5rem}html.theme--documenter-dark .breadcrumb.has-arrow-separator li+li::before{content:"\02192"}html.theme--documenter-dark .breadcrumb.has-bullet-separator li+li::before{content:"\02022"}html.theme--documenter-dark .breadcrumb.has-dot-separator li+li::before{content:"\000b7"}html.theme--documenter-dark .breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}html.theme--documenter-dark .card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#fff;max-width:100%;position:relative}html.theme--documenter-dark .card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}html.theme--documenter-dark .card-header-title{align-items:center;color:#f2f2f2;display:flex;flex-grow:1;font-weight:700;padding:.75rem}html.theme--documenter-dark .card-header-title.is-centered{justify-content:center}html.theme--documenter-dark .card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}html.theme--documenter-dark .card-image{display:block;position:relative}html.theme--documenter-dark .card-content{background-color:rgba(0,0,0,0);padding:1.5rem}html.theme--documenter-dark .card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #5e6d6f;align-items:stretch;display:flex}html.theme--documenter-dark .card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}html.theme--documenter-dark .card-footer-item:not(:last-child){border-right:1px solid #5e6d6f}html.theme--documenter-dark .card .media:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .dropdown{display:inline-flex;position:relative;vertical-align:top}html.theme--documenter-dark .dropdown.is-active .dropdown-menu,html.theme--documenter-dark .dropdown.is-hoverable:hover .dropdown-menu{display:block}html.theme--documenter-dark .dropdown.is-right .dropdown-menu{left:auto;right:0}html.theme--documenter-dark .dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}html.theme--documenter-dark .dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .dropdown-content{background-color:#282f2f;border-radius:.4em;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}html.theme--documenter-dark .dropdown-item{color:#fff;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}html.theme--documenter-dark a.dropdown-item,html.theme--documenter-dark button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}html.theme--documenter-dark a.dropdown-item:hover,html.theme--documenter-dark button.dropdown-item:hover{background-color:#282f2f;color:#0a0a0a}html.theme--documenter-dark a.dropdown-item.is-active,html.theme--documenter-dark button.dropdown-item.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .dropdown-divider{background-color:#5e6d6f;border:none;display:block;height:1px;margin:0.5rem 0}html.theme--documenter-dark .level{align-items:center;justify-content:space-between}html.theme--documenter-dark .level code{border-radius:.4em}html.theme--documenter-dark .level img{display:inline-block;vertical-align:top}html.theme--documenter-dark .level.is-mobile{display:flex}html.theme--documenter-dark .level.is-mobile .level-left,html.theme--documenter-dark .level.is-mobile .level-right{display:flex}html.theme--documenter-dark .level.is-mobile .level-left+.level-right{margin-top:0}html.theme--documenter-dark .level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}html.theme--documenter-dark .level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level{display:flex}html.theme--documenter-dark .level>.level-item:not(.is-narrow){flex-grow:1}}html.theme--documenter-dark .level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}html.theme--documenter-dark .level-item .title,html.theme--documenter-dark .level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){html.theme--documenter-dark .level-item:not(:last-child){margin-bottom:.75rem}}html.theme--documenter-dark .level-left,html.theme--documenter-dark .level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .level-left .level-item.is-flexible,html.theme--documenter-dark .level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left .level-item:not(:last-child),html.theme--documenter-dark .level-right .level-item:not(:last-child){margin-right:.75rem}}html.theme--documenter-dark .level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){html.theme--documenter-dark .level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-left{display:flex}}html.theme--documenter-dark .level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{html.theme--documenter-dark .level-right{display:flex}}html.theme--documenter-dark .list{background-color:#fff;border-radius:.4em;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}html.theme--documenter-dark .list-item{display:block;padding:0.5em 1em}html.theme--documenter-dark .list-item:not(a){color:#fff}html.theme--documenter-dark .list-item:first-child{border-top-left-radius:.4em;border-top-right-radius:.4em}html.theme--documenter-dark .list-item:last-child{border-bottom-left-radius:.4em;border-bottom-right-radius:.4em}html.theme--documenter-dark .list-item:not(:last-child){border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .list-item.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark a.list-item{background-color:#282f2f;cursor:pointer}html.theme--documenter-dark .media{align-items:flex-start;display:flex;text-align:left}html.theme--documenter-dark .media .content:not(:last-child){margin-bottom:0.75rem}html.theme--documenter-dark .media .media{border-top:1px solid rgba(94,109,111,0.5);display:flex;padding-top:0.75rem}html.theme--documenter-dark .media .media .content:not(:last-child),html.theme--documenter-dark .media .media .control:not(:last-child){margin-bottom:0.5rem}html.theme--documenter-dark .media .media .media{padding-top:0.5rem}html.theme--documenter-dark .media .media .media+.media{margin-top:0.5rem}html.theme--documenter-dark .media+.media{border-top:1px solid rgba(94,109,111,0.5);margin-top:1rem;padding-top:1rem}html.theme--documenter-dark .media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}html.theme--documenter-dark .media-left,html.theme--documenter-dark .media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .media-left{margin-right:1rem}html.theme--documenter-dark .media-right{margin-left:1rem}html.theme--documenter-dark .media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){html.theme--documenter-dark .media-content{overflow-x:auto}}html.theme--documenter-dark .menu{font-size:15px}html.theme--documenter-dark .menu.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.menu{font-size:.85em}html.theme--documenter-dark .menu.is-medium{font-size:1.25rem}html.theme--documenter-dark .menu.is-large{font-size:1.5rem}html.theme--documenter-dark .menu-list{line-height:1.25}html.theme--documenter-dark .menu-list a{border-radius:3px;color:#fff;display:block;padding:0.5em 0.75em}html.theme--documenter-dark .menu-list a:hover{background-color:#282f2f;color:#f2f2f2}html.theme--documenter-dark .menu-list a.is-active{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .menu-list li ul{border-left:1px solid #5e6d6f;margin:.75em;padding-left:.75em}html.theme--documenter-dark .menu-label{color:#fff;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}html.theme--documenter-dark .menu-label:not(:first-child){margin-top:1em}html.theme--documenter-dark .menu-label:not(:last-child){margin-bottom:1em}html.theme--documenter-dark .message{background-color:#282f2f;border-radius:.4em;font-size:15px}html.theme--documenter-dark .message strong{color:currentColor}html.theme--documenter-dark .message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}html.theme--documenter-dark .message.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.message{font-size:.85em}html.theme--documenter-dark .message.is-medium{font-size:1.25rem}html.theme--documenter-dark .message.is-large{font-size:1.5rem}html.theme--documenter-dark .message.is-white{background-color:#fff}html.theme--documenter-dark .message.is-white .message-header{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .message.is-white .message-body{border-color:#fff;color:#4d4d4d}html.theme--documenter-dark .message.is-black{background-color:#fafafa}html.theme--documenter-dark .message.is-black .message-header{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .message.is-black .message-body{border-color:#0a0a0a;color:#090909}html.theme--documenter-dark .message.is-light{background-color:#f9fafb}html.theme--documenter-dark .message.is-light .message-header{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .message.is-light .message-body{border-color:#ecf0f1;color:#505050}html.theme--documenter-dark .message.is-dark,html.theme--documenter-dark .content kbd.message{background-color:#f9fafa}html.theme--documenter-dark .message.is-dark .message-header,html.theme--documenter-dark .content kbd.message .message-header{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .message.is-dark .message-body,html.theme--documenter-dark .content kbd.message .message-body{border-color:#282f2f;color:#212526}html.theme--documenter-dark .message.is-primary,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink{background-color:#f8fafc}html.theme--documenter-dark .message.is-primary .message-header,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-header{background-color:#375a7f;color:#fff}html.theme--documenter-dark .message.is-primary .message-body,html.theme--documenter-dark .docstring>section>a.message.docs-sourcelink .message-body{border-color:#375a7f;color:#2b4159}html.theme--documenter-dark .message.is-link{background-color:#f6fefc}html.theme--documenter-dark .message.is-link .message-header{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .message.is-link .message-body{border-color:#1abc9c;color:#0b2f28}html.theme--documenter-dark .message.is-info{background-color:#f5fbff}html.theme--documenter-dark .message.is-info .message-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .message.is-info .message-body{border-color:#024c7d;color:#033659}html.theme--documenter-dark .message.is-success{background-color:#f5fff9}html.theme--documenter-dark .message.is-success .message-header{background-color:#008438;color:#fff}html.theme--documenter-dark .message.is-success .message-body{border-color:#008438;color:#023518}html.theme--documenter-dark .message.is-warning{background-color:#fffcf5}html.theme--documenter-dark .message.is-warning .message-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .message.is-warning .message-body{border-color:#ad8100;color:#3d2e03}html.theme--documenter-dark .message.is-danger{background-color:#fef6f6}html.theme--documenter-dark .message.is-danger .message-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .message.is-danger .message-body{border-color:#9e1b0d;color:#7a170c}html.theme--documenter-dark .message-header{align-items:center;background-color:#fff;border-radius:.4em .4em 0 0;color:rgba(0,0,0,0.7);display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}html.theme--documenter-dark .message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}html.theme--documenter-dark .message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}html.theme--documenter-dark .message-body{border-color:#5e6d6f;border-radius:.4em;border-style:solid;border-width:0 0 0 4px;color:#fff;padding:1.25em 1.5em}html.theme--documenter-dark .message-body code,html.theme--documenter-dark .message-body pre{background-color:#fff}html.theme--documenter-dark .message-body pre code{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}html.theme--documenter-dark .modal.is-active{display:flex}html.theme--documenter-dark .modal-background{background-color:rgba(10,10,10,0.86)}html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px),print{html.theme--documenter-dark .modal-content,html.theme--documenter-dark .modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}html.theme--documenter-dark .modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}html.theme--documenter-dark .modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}html.theme--documenter-dark .modal-card-head,html.theme--documenter-dark .modal-card-foot{align-items:center;background-color:#282f2f;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}html.theme--documenter-dark .modal-card-head{border-bottom:1px solid #5e6d6f;border-top-left-radius:8px;border-top-right-radius:8px}html.theme--documenter-dark .modal-card-title{color:#f2f2f2;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}html.theme--documenter-dark .modal-card-foot{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid #5e6d6f}html.theme--documenter-dark .modal-card-foot .button:not(:last-child){margin-right:0.5em}html.theme--documenter-dark .modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}html.theme--documenter-dark .navbar{background-color:#375a7f;min-height:4rem;position:relative;z-index:30}html.theme--documenter-dark .navbar.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-white .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-white .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}html.theme--documenter-dark .navbar.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-black .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-black .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}html.theme--documenter-dark .navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}html.theme--documenter-dark .navbar.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link{color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-brand .navbar-link::after{border-color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-burger{color:#282f2f}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-light .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link{color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-light .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-light .navbar-end .navbar-link::after{border-color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#ecf0f1;color:#282f2f}}html.theme--documenter-dark .navbar.is-dark,html.theme--documenter-dark .content kbd.navbar{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link{color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-brand .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-brand .navbar-link::after{border-color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-burger,html.theme--documenter-dark .content kbd.navbar .navbar-burger{color:#ecf0f1}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-dark .navbar-start>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-end>.navbar-item,html.theme--documenter-dark .content kbd.navbar .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link{color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:focus,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link:hover,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-start .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-dark .navbar-end .navbar-link::after,html.theme--documenter-dark .content kbd.navbar .navbar-end .navbar-link::after{border-color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .navbar.is-dark .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#282f2f;color:#ecf0f1}}html.theme--documenter-dark .navbar.is-primary,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-brand .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-burger,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-primary .navbar-start>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-end>.navbar-item,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:focus,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-start .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-primary .navbar-end .navbar-link::after,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#375a7f;color:#fff}}html.theme--documenter-dark .navbar.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-link .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-link .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#17a689;color:#fff}html.theme--documenter-dark .navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c;color:#fff}}html.theme--documenter-dark .navbar.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-info .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-info .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#023d64;color:#fff}html.theme--documenter-dark .navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#024c7d;color:#fff}}html.theme--documenter-dark .navbar.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-success .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-success .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#006b2d;color:#fff}html.theme--documenter-dark .navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#008438;color:#fff}}html.theme--documenter-dark .navbar.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-warning .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-warning .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#946e00;color:#fff}html.theme--documenter-dark .navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ad8100;color:#fff}}html.theme--documenter-dark .navbar.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar.is-danger .navbar-start>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-end>.navbar-item,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link{color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end>a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:focus,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link:hover,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-start .navbar-link::after,html.theme--documenter-dark .navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#86170b;color:#fff}html.theme--documenter-dark .navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#9e1b0d;color:#fff}}html.theme--documenter-dark .navbar>.container{align-items:stretch;display:flex;min-height:4rem;width:100%}html.theme--documenter-dark .navbar.has-shadow{box-shadow:0 2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-bottom,html.theme--documenter-dark .navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #282f2f}html.theme--documenter-dark .navbar.is-fixed-top{top:0}html.theme--documenter-dark html.has-navbar-fixed-top,html.theme--documenter-dark body.has-navbar-fixed-top{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom,html.theme--documenter-dark body.has-navbar-fixed-bottom{padding-bottom:4rem}html.theme--documenter-dark .navbar-brand,html.theme--documenter-dark .navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:4rem}html.theme--documenter-dark .navbar-brand a.navbar-item:focus,html.theme--documenter-dark .navbar-brand a.navbar-item:hover{background-color:transparent}html.theme--documenter-dark .navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}html.theme--documenter-dark .navbar-burger{color:#fff;cursor:pointer;display:block;height:4rem;position:relative;width:4rem;margin-left:auto}html.theme--documenter-dark .navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}html.theme--documenter-dark .navbar-burger span:nth-child(1){top:calc(50% - 6px)}html.theme--documenter-dark .navbar-burger span:nth-child(2){top:calc(50% - 1px)}html.theme--documenter-dark .navbar-burger span:nth-child(3){top:calc(50% + 4px)}html.theme--documenter-dark .navbar-burger:hover{background-color:rgba(0,0,0,0.05)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(2){opacity:0}html.theme--documenter-dark .navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}html.theme--documenter-dark .navbar-menu{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{color:#fff;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}html.theme--documenter-dark .navbar-item .icon:only-child,html.theme--documenter-dark .navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}html.theme--documenter-dark a.navbar-item,html.theme--documenter-dark .navbar-link{cursor:pointer}html.theme--documenter-dark a.navbar-item:focus,html.theme--documenter-dark a.navbar-item:focus-within,html.theme--documenter-dark a.navbar-item:hover,html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link:focus,html.theme--documenter-dark .navbar-link:focus-within,html.theme--documenter-dark .navbar-link:hover,html.theme--documenter-dark .navbar-link.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-item{display:block;flex-grow:0;flex-shrink:0}html.theme--documenter-dark .navbar-item img{max-height:1.75rem}html.theme--documenter-dark .navbar-item.has-dropdown{padding:0}html.theme--documenter-dark .navbar-item.is-expanded{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-item.is-tab{border-bottom:1px solid transparent;min-height:4rem;padding-bottom:calc(0.5rem - 1px)}html.theme--documenter-dark .navbar-item.is-tab:focus,html.theme--documenter-dark .navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c}html.theme--documenter-dark .navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#1abc9c;border-bottom-style:solid;border-bottom-width:3px;color:#1abc9c;padding-bottom:calc(0.5rem - 3px)}html.theme--documenter-dark .navbar-content{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .navbar-link:not(.is-arrowless){padding-right:2.5em}html.theme--documenter-dark .navbar-link:not(.is-arrowless)::after{border-color:#fff;margin-top:-0.375em;right:1.125em}html.theme--documenter-dark .navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}html.theme--documenter-dark .navbar-divider{background-color:rgba(0,0,0,0.2);border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar>.container{display:block}html.theme--documenter-dark .navbar-brand .navbar-item,html.theme--documenter-dark .navbar-tabs .navbar-item{align-items:center;display:flex}html.theme--documenter-dark .navbar-link::after{display:none}html.theme--documenter-dark .navbar-menu{background-color:#375a7f;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}html.theme--documenter-dark .navbar-menu.is-active{display:block}html.theme--documenter-dark .navbar.is-fixed-bottom-touch,html.theme--documenter-dark .navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-touch{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-touch{top:0}html.theme--documenter-dark .navbar.is-fixed-top .navbar-menu,html.theme--documenter-dark .navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 4rem);overflow:auto}html.theme--documenter-dark html.has-navbar-fixed-top-touch,html.theme--documenter-dark body.has-navbar-fixed-top-touch{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-touch,html.theme--documenter-dark body.has-navbar-fixed-bottom-touch{padding-bottom:4rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .navbar,html.theme--documenter-dark .navbar-menu,html.theme--documenter-dark .navbar-start,html.theme--documenter-dark .navbar-end{align-items:stretch;display:flex}html.theme--documenter-dark .navbar{min-height:4rem}html.theme--documenter-dark .navbar.is-spaced{padding:1rem 2rem}html.theme--documenter-dark .navbar.is-spaced .navbar-start,html.theme--documenter-dark .navbar.is-spaced .navbar-end{align-items:center}html.theme--documenter-dark .navbar.is-spaced a.navbar-item,html.theme--documenter-dark .navbar.is-spaced .navbar-link{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent a.navbar-item:hover,html.theme--documenter-dark .navbar.is-transparent a.navbar-item.is-active,html.theme--documenter-dark .navbar.is-transparent .navbar-link:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-link:hover,html.theme--documenter-dark .navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,html.theme--documenter-dark .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}html.theme--documenter-dark .navbar-burger{display:none}html.theme--documenter-dark .navbar-item,html.theme--documenter-dark .navbar-link{align-items:center;display:flex}html.theme--documenter-dark .navbar-item{display:flex}html.theme--documenter-dark .navbar-item.has-dropdown{align-items:stretch}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}html.theme--documenter-dark .navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:1px solid rgba(0,0,0,0.2);border-radius:8px 8px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown,html.theme--documenter-dark .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}html.theme--documenter-dark .navbar-menu{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .navbar-start{justify-content:flex-start;margin-right:auto}html.theme--documenter-dark .navbar-end{justify-content:flex-end;margin-left:auto}html.theme--documenter-dark .navbar-dropdown{background-color:#375a7f;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top:1px solid rgba(0,0,0,0.2);box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}html.theme--documenter-dark .navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}html.theme--documenter-dark .navbar-dropdown a.navbar-item{padding-right:3rem}html.theme--documenter-dark .navbar-dropdown a.navbar-item:focus,html.theme--documenter-dark .navbar-dropdown a.navbar-item:hover{background-color:rgba(0,0,0,0);color:#dbdee0}html.theme--documenter-dark .navbar-dropdown a.navbar-item.is-active{background-color:rgba(0,0,0,0);color:#1abc9c}.navbar.is-spaced html.theme--documenter-dark .navbar-dropdown,html.theme--documenter-dark .navbar-dropdown.is-boxed{border-radius:8px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}html.theme--documenter-dark .navbar-dropdown.is-right{left:auto;right:0}html.theme--documenter-dark .navbar-divider{display:block}html.theme--documenter-dark .navbar>.container .navbar-brand,html.theme--documenter-dark .container>.navbar .navbar-brand{margin-left:-.75rem}html.theme--documenter-dark .navbar>.container .navbar-menu,html.theme--documenter-dark .container>.navbar .navbar-menu{margin-right:-.75rem}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop,html.theme--documenter-dark .navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop{bottom:0}html.theme--documenter-dark .navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}html.theme--documenter-dark .navbar.is-fixed-top-desktop{top:0}html.theme--documenter-dark html.has-navbar-fixed-top-desktop,html.theme--documenter-dark body.has-navbar-fixed-top-desktop{padding-top:4rem}html.theme--documenter-dark html.has-navbar-fixed-bottom-desktop,html.theme--documenter-dark body.has-navbar-fixed-bottom-desktop{padding-bottom:4rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-top,html.theme--documenter-dark body.has-spaced-navbar-fixed-top{padding-top:6rem}html.theme--documenter-dark html.has-spaced-navbar-fixed-bottom,html.theme--documenter-dark body.has-spaced-navbar-fixed-bottom{padding-bottom:6rem}html.theme--documenter-dark a.navbar-item.is-active,html.theme--documenter-dark .navbar-link.is-active{color:#1abc9c}html.theme--documenter-dark a.navbar-item.is-active:not(:focus):not(:hover),html.theme--documenter-dark .navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}html.theme--documenter-dark .navbar-item.has-dropdown:focus .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown:hover .navbar-link,html.theme--documenter-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:rgba(0,0,0,0)}}html.theme--documenter-dark .hero.is-fullheight-with-navbar{min-height:calc(100vh - 4rem)}html.theme--documenter-dark .pagination{font-size:15px;margin:-.25rem}html.theme--documenter-dark .pagination.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination{font-size:.85em}html.theme--documenter-dark .pagination.is-medium{font-size:1.25rem}html.theme--documenter-dark .pagination.is-large{font-size:1.5rem}html.theme--documenter-dark .pagination.is-rounded .pagination-previous,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,html.theme--documenter-dark .pagination.is-rounded .pagination-next,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}html.theme--documenter-dark .pagination.is-rounded .pagination-link,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:290486px}html.theme--documenter-dark .pagination,html.theme--documenter-dark .pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-link{border-color:#5e6d6f;color:#1abc9c;min-width:2.25em}html.theme--documenter-dark .pagination-previous:hover,html.theme--documenter-dark .pagination-next:hover,html.theme--documenter-dark .pagination-link:hover{border-color:#8c9b9d;color:#1dd2af}html.theme--documenter-dark .pagination-previous:focus,html.theme--documenter-dark .pagination-next:focus,html.theme--documenter-dark .pagination-link:focus{border-color:#8c9b9d}html.theme--documenter-dark .pagination-previous:active,html.theme--documenter-dark .pagination-next:active,html.theme--documenter-dark .pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}html.theme--documenter-dark .pagination-previous[disabled],html.theme--documenter-dark .pagination-next[disabled],html.theme--documenter-dark .pagination-link[disabled]{background-color:#dbdee0;border-color:#dbdee0;box-shadow:none;color:#5e6d6f;opacity:0.5}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}html.theme--documenter-dark .pagination-link.is-current{background-color:#1abc9c;border-color:#1abc9c;color:#fff}html.theme--documenter-dark .pagination-ellipsis{color:#8c9b9d;pointer-events:none}html.theme--documenter-dark .pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){html.theme--documenter-dark .pagination{flex-wrap:wrap}html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .pagination-next{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}html.theme--documenter-dark .pagination-previous{order:2}html.theme--documenter-dark .pagination-next{order:3}html.theme--documenter-dark .pagination{justify-content:space-between}html.theme--documenter-dark .pagination.is-centered .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-centered .pagination-list{justify-content:center;order:2}html.theme--documenter-dark .pagination.is-centered .pagination-next{order:3}html.theme--documenter-dark .pagination.is-right .pagination-previous{order:1}html.theme--documenter-dark .pagination.is-right .pagination-next{order:2}html.theme--documenter-dark .pagination.is-right .pagination-list{justify-content:flex-end;order:3}}html.theme--documenter-dark .panel{font-size:15px}html.theme--documenter-dark .panel:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .panel-heading,html.theme--documenter-dark .panel-tabs,html.theme--documenter-dark .panel-block{border-bottom:1px solid #5e6d6f;border-left:1px solid #5e6d6f;border-right:1px solid #5e6d6f}html.theme--documenter-dark .panel-heading:first-child,html.theme--documenter-dark .panel-tabs:first-child,html.theme--documenter-dark .panel-block:first-child{border-top:1px solid #5e6d6f}html.theme--documenter-dark .panel-heading{background-color:#282f2f;border-radius:.4em .4em 0 0;color:#f2f2f2;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}html.theme--documenter-dark .panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}html.theme--documenter-dark .panel-tabs a{border-bottom:1px solid #5e6d6f;margin-bottom:-1px;padding:0.5em}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#343c3d;color:#17a689}html.theme--documenter-dark .panel-list a{color:#fff}html.theme--documenter-dark .panel-list a:hover{color:#1abc9c}html.theme--documenter-dark .panel-block{align-items:center;color:#f2f2f2;display:flex;justify-content:flex-start;padding:0.5em 0.75em}html.theme--documenter-dark .panel-block input[type="checkbox"]{margin-right:0.75em}html.theme--documenter-dark .panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}html.theme--documenter-dark .panel-block.is-wrapped{flex-wrap:wrap}html.theme--documenter-dark .panel-block.is-active{border-left-color:#1abc9c;color:#17a689}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#1abc9c}html.theme--documenter-dark a.panel-block,html.theme--documenter-dark label.panel-block{cursor:pointer}html.theme--documenter-dark a.panel-block:hover,html.theme--documenter-dark label.panel-block:hover{background-color:#282f2f}html.theme--documenter-dark .panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#fff;margin-right:0.75em}html.theme--documenter-dark .panel-icon .fa{font-size:inherit;line-height:inherit}html.theme--documenter-dark .tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:15px;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}html.theme--documenter-dark .tabs a{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;color:#fff;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}html.theme--documenter-dark .tabs a:hover{border-bottom-color:#f2f2f2;color:#f2f2f2}html.theme--documenter-dark .tabs li{display:block}html.theme--documenter-dark .tabs li.is-active a{border-bottom-color:#1abc9c;color:#1abc9c}html.theme--documenter-dark .tabs ul{align-items:center;border-bottom-color:#5e6d6f;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}html.theme--documenter-dark .tabs ul.is-left{padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}html.theme--documenter-dark .tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}html.theme--documenter-dark .tabs .icon:first-child{margin-right:0.5em}html.theme--documenter-dark .tabs .icon:last-child{margin-left:0.5em}html.theme--documenter-dark .tabs.is-centered ul{justify-content:center}html.theme--documenter-dark .tabs.is-right ul{justify-content:flex-end}html.theme--documenter-dark .tabs.is-boxed a{border:1px solid transparent;border-radius:.4em .4em 0 0}html.theme--documenter-dark .tabs.is-boxed a:hover{background-color:#282f2f;border-bottom-color:#5e6d6f}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#fff;border-color:#5e6d6f;border-bottom-color:rgba(0,0,0,0) !important}html.theme--documenter-dark .tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}html.theme--documenter-dark .tabs.is-toggle a{border-color:#5e6d6f;border-style:solid;border-width:1px;margin-bottom:0;position:relative}html.theme--documenter-dark .tabs.is-toggle a:hover{background-color:#282f2f;border-color:#8c9b9d;z-index:2}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .tabs.is-toggle li:first-child a{border-radius:.4em 0 0 .4em}html.theme--documenter-dark .tabs.is-toggle li:last-child a{border-radius:0 .4em .4em 0}html.theme--documenter-dark .tabs.is-toggle li.is-active a{background-color:#1abc9c;border-color:#1abc9c;color:#fff;z-index:1}html.theme--documenter-dark .tabs.is-toggle ul{border-bottom:none}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}html.theme--documenter-dark .tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}html.theme--documenter-dark .tabs.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.tabs{font-size:.85em}html.theme--documenter-dark .tabs.is-medium{font-size:1.25rem}html.theme--documenter-dark .tabs.is-large{font-size:1.5rem}html.theme--documenter-dark .column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>html.theme--documenter-dark .column.is-narrow{flex:none}.columns.is-mobile>html.theme--documenter-dark .column.is-full{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-half{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-half{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>html.theme--documenter-dark .column.is-0{flex:none;width:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-0{margin-left:0%}.columns.is-mobile>html.theme--documenter-dark .column.is-1{flex:none;width:8.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-1{margin-left:8.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-2{flex:none;width:16.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-2{margin-left:16.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-3{flex:none;width:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-3{margin-left:25%}.columns.is-mobile>html.theme--documenter-dark .column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-4{margin-left:33.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-5{flex:none;width:41.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-5{margin-left:41.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-6{flex:none;width:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-6{margin-left:50%}.columns.is-mobile>html.theme--documenter-dark .column.is-7{flex:none;width:58.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-7{margin-left:58.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-8{flex:none;width:66.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-8{margin-left:66.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-9{flex:none;width:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-9{margin-left:75%}.columns.is-mobile>html.theme--documenter-dark .column.is-10{flex:none;width:83.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-10{margin-left:83.3333333333%}.columns.is-mobile>html.theme--documenter-dark .column.is-11{flex:none;width:91.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-11{margin-left:91.6666666667%}.columns.is-mobile>html.theme--documenter-dark .column.is-12{flex:none;width:100%}.columns.is-mobile>html.theme--documenter-dark .column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){html.theme--documenter-dark .column.is-narrow-mobile{flex:none}html.theme--documenter-dark .column.is-full-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-mobile{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-mobile{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-mobile{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-mobile{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-mobile{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-mobile{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-mobile{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-mobile{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-mobile{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-mobile{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-mobile{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-mobile{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-mobile{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-mobile{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-mobile{margin-left:80%}html.theme--documenter-dark .column.is-0-mobile{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-mobile{margin-left:0%}html.theme--documenter-dark .column.is-1-mobile{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-mobile{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-mobile{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-mobile{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-mobile{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-mobile{margin-left:25%}html.theme--documenter-dark .column.is-4-mobile{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-mobile{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-mobile{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-mobile{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-mobile{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-mobile{margin-left:50%}html.theme--documenter-dark .column.is-7-mobile{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-mobile{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-mobile{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-mobile{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-mobile{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-mobile{margin-left:75%}html.theme--documenter-dark .column.is-10-mobile{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-mobile{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-mobile{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-mobile{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-mobile{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .column.is-narrow,html.theme--documenter-dark .column.is-narrow-tablet{flex:none}html.theme--documenter-dark .column.is-full,html.theme--documenter-dark .column.is-full-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters,html.theme--documenter-dark .column.is-three-quarters-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds,html.theme--documenter-dark .column.is-two-thirds-tablet{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half,html.theme--documenter-dark .column.is-half-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third,html.theme--documenter-dark .column.is-one-third-tablet{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter,html.theme--documenter-dark .column.is-one-quarter-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth,html.theme--documenter-dark .column.is-one-fifth-tablet{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths,html.theme--documenter-dark .column.is-two-fifths-tablet{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths,html.theme--documenter-dark .column.is-three-fifths-tablet{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths,html.theme--documenter-dark .column.is-four-fifths-tablet{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters,html.theme--documenter-dark .column.is-offset-three-quarters-tablet{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds,html.theme--documenter-dark .column.is-offset-two-thirds-tablet{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half,html.theme--documenter-dark .column.is-offset-half-tablet{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third,html.theme--documenter-dark .column.is-offset-one-third-tablet{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter,html.theme--documenter-dark .column.is-offset-one-quarter-tablet{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth,html.theme--documenter-dark .column.is-offset-one-fifth-tablet{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths,html.theme--documenter-dark .column.is-offset-two-fifths-tablet{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths,html.theme--documenter-dark .column.is-offset-three-fifths-tablet{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths,html.theme--documenter-dark .column.is-offset-four-fifths-tablet{margin-left:80%}html.theme--documenter-dark .column.is-0,html.theme--documenter-dark .column.is-0-tablet{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0,html.theme--documenter-dark .column.is-offset-0-tablet{margin-left:0%}html.theme--documenter-dark .column.is-1,html.theme--documenter-dark .column.is-1-tablet{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1,html.theme--documenter-dark .column.is-offset-1-tablet{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2,html.theme--documenter-dark .column.is-2-tablet{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2,html.theme--documenter-dark .column.is-offset-2-tablet{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3,html.theme--documenter-dark .column.is-3-tablet{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3,html.theme--documenter-dark .column.is-offset-3-tablet{margin-left:25%}html.theme--documenter-dark .column.is-4,html.theme--documenter-dark .column.is-4-tablet{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4,html.theme--documenter-dark .column.is-offset-4-tablet{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5,html.theme--documenter-dark .column.is-5-tablet{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5,html.theme--documenter-dark .column.is-offset-5-tablet{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6,html.theme--documenter-dark .column.is-6-tablet{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6,html.theme--documenter-dark .column.is-offset-6-tablet{margin-left:50%}html.theme--documenter-dark .column.is-7,html.theme--documenter-dark .column.is-7-tablet{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7,html.theme--documenter-dark .column.is-offset-7-tablet{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8,html.theme--documenter-dark .column.is-8-tablet{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8,html.theme--documenter-dark .column.is-offset-8-tablet{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9,html.theme--documenter-dark .column.is-9-tablet{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9,html.theme--documenter-dark .column.is-offset-9-tablet{margin-left:75%}html.theme--documenter-dark .column.is-10,html.theme--documenter-dark .column.is-10-tablet{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10,html.theme--documenter-dark .column.is-offset-10-tablet{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11,html.theme--documenter-dark .column.is-11-tablet{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11,html.theme--documenter-dark .column.is-offset-11-tablet{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12,html.theme--documenter-dark .column.is-12-tablet{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12,html.theme--documenter-dark .column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){html.theme--documenter-dark .column.is-narrow-touch{flex:none}html.theme--documenter-dark .column.is-full-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-touch{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-touch{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-touch{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-touch{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-touch{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-touch{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-touch{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-touch{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-touch{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-touch{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-touch{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-touch{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-touch{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-touch{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-touch{margin-left:80%}html.theme--documenter-dark .column.is-0-touch{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-touch{margin-left:0%}html.theme--documenter-dark .column.is-1-touch{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-touch{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-touch{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-touch{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-touch{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-touch{margin-left:25%}html.theme--documenter-dark .column.is-4-touch{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-touch{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-touch{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-touch{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-touch{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-touch{margin-left:50%}html.theme--documenter-dark .column.is-7-touch{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-touch{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-touch{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-touch{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-touch{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-touch{margin-left:75%}html.theme--documenter-dark .column.is-10-touch{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-touch{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-touch{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-touch{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-touch{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){html.theme--documenter-dark .column.is-narrow-desktop{flex:none}html.theme--documenter-dark .column.is-full-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-desktop{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-desktop{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-desktop{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-desktop{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-desktop{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-desktop{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-desktop{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-desktop{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-desktop{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-desktop{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-desktop{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-desktop{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-desktop{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-desktop{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-desktop{margin-left:80%}html.theme--documenter-dark .column.is-0-desktop{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-desktop{margin-left:0%}html.theme--documenter-dark .column.is-1-desktop{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-desktop{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-desktop{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-desktop{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-desktop{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-desktop{margin-left:25%}html.theme--documenter-dark .column.is-4-desktop{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-desktop{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-desktop{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-desktop{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-desktop{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-desktop{margin-left:50%}html.theme--documenter-dark .column.is-7-desktop{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-desktop{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-desktop{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-desktop{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-desktop{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-desktop{margin-left:75%}html.theme--documenter-dark .column.is-10-desktop{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-desktop{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-desktop{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-desktop{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-desktop{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){html.theme--documenter-dark .column.is-narrow-widescreen{flex:none}html.theme--documenter-dark .column.is-full-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-widescreen{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-widescreen{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-widescreen{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-widescreen{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-widescreen{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-widescreen{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-widescreen{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-widescreen{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-widescreen{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-widescreen{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-widescreen{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-widescreen{margin-left:80%}html.theme--documenter-dark .column.is-0-widescreen{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-widescreen{margin-left:0%}html.theme--documenter-dark .column.is-1-widescreen{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-widescreen{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-widescreen{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-widescreen{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-widescreen{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-widescreen{margin-left:25%}html.theme--documenter-dark .column.is-4-widescreen{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-widescreen{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-widescreen{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-widescreen{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-widescreen{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-widescreen{margin-left:50%}html.theme--documenter-dark .column.is-7-widescreen{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-widescreen{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-widescreen{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-widescreen{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-widescreen{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-widescreen{margin-left:75%}html.theme--documenter-dark .column.is-10-widescreen{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-widescreen{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-widescreen{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-widescreen{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-widescreen{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){html.theme--documenter-dark .column.is-narrow-fullhd{flex:none}html.theme--documenter-dark .column.is-full-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-three-quarters-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-two-thirds-fullhd{flex:none;width:66.6666%}html.theme--documenter-dark .column.is-half-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-one-third-fullhd{flex:none;width:33.3333%}html.theme--documenter-dark .column.is-one-quarter-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-one-fifth-fullhd{flex:none;width:20%}html.theme--documenter-dark .column.is-two-fifths-fullhd{flex:none;width:40%}html.theme--documenter-dark .column.is-three-fifths-fullhd{flex:none;width:60%}html.theme--documenter-dark .column.is-four-fifths-fullhd{flex:none;width:80%}html.theme--documenter-dark .column.is-offset-three-quarters-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-offset-two-thirds-fullhd{margin-left:66.6666%}html.theme--documenter-dark .column.is-offset-half-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-offset-one-third-fullhd{margin-left:33.3333%}html.theme--documenter-dark .column.is-offset-one-quarter-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-offset-one-fifth-fullhd{margin-left:20%}html.theme--documenter-dark .column.is-offset-two-fifths-fullhd{margin-left:40%}html.theme--documenter-dark .column.is-offset-three-fifths-fullhd{margin-left:60%}html.theme--documenter-dark .column.is-offset-four-fifths-fullhd{margin-left:80%}html.theme--documenter-dark .column.is-0-fullhd{flex:none;width:0%}html.theme--documenter-dark .column.is-offset-0-fullhd{margin-left:0%}html.theme--documenter-dark .column.is-1-fullhd{flex:none;width:8.3333333333%}html.theme--documenter-dark .column.is-offset-1-fullhd{margin-left:8.3333333333%}html.theme--documenter-dark .column.is-2-fullhd{flex:none;width:16.6666666667%}html.theme--documenter-dark .column.is-offset-2-fullhd{margin-left:16.6666666667%}html.theme--documenter-dark .column.is-3-fullhd{flex:none;width:25%}html.theme--documenter-dark .column.is-offset-3-fullhd{margin-left:25%}html.theme--documenter-dark .column.is-4-fullhd{flex:none;width:33.3333333333%}html.theme--documenter-dark .column.is-offset-4-fullhd{margin-left:33.3333333333%}html.theme--documenter-dark .column.is-5-fullhd{flex:none;width:41.6666666667%}html.theme--documenter-dark .column.is-offset-5-fullhd{margin-left:41.6666666667%}html.theme--documenter-dark .column.is-6-fullhd{flex:none;width:50%}html.theme--documenter-dark .column.is-offset-6-fullhd{margin-left:50%}html.theme--documenter-dark .column.is-7-fullhd{flex:none;width:58.3333333333%}html.theme--documenter-dark .column.is-offset-7-fullhd{margin-left:58.3333333333%}html.theme--documenter-dark .column.is-8-fullhd{flex:none;width:66.6666666667%}html.theme--documenter-dark .column.is-offset-8-fullhd{margin-left:66.6666666667%}html.theme--documenter-dark .column.is-9-fullhd{flex:none;width:75%}html.theme--documenter-dark .column.is-offset-9-fullhd{margin-left:75%}html.theme--documenter-dark .column.is-10-fullhd{flex:none;width:83.3333333333%}html.theme--documenter-dark .column.is-offset-10-fullhd{margin-left:83.3333333333%}html.theme--documenter-dark .column.is-11-fullhd{flex:none;width:91.6666666667%}html.theme--documenter-dark .column.is-offset-11-fullhd{margin-left:91.6666666667%}html.theme--documenter-dark .column.is-12-fullhd{flex:none;width:100%}html.theme--documenter-dark .column.is-offset-12-fullhd{margin-left:100%}}html.theme--documenter-dark .columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .columns:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}html.theme--documenter-dark .columns.is-centered{justify-content:center}html.theme--documenter-dark .columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}html.theme--documenter-dark .columns.is-gapless>.column{margin:0;padding:0 !important}html.theme--documenter-dark .columns.is-gapless:not(:last-child){margin-bottom:1.5rem}html.theme--documenter-dark .columns.is-gapless:last-child{margin-bottom:0}html.theme--documenter-dark .columns.is-mobile{display:flex}html.theme--documenter-dark .columns.is-multiline{flex-wrap:wrap}html.theme--documenter-dark .columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-desktop{display:flex}}html.theme--documenter-dark .columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}html.theme--documenter-dark .columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}html.theme--documenter-dark .columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-0-fullhd{--columnGap: 0rem}}html.theme--documenter-dark .columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-1-fullhd{--columnGap: .25rem}}html.theme--documenter-dark .columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-2-fullhd{--columnGap: .5rem}}html.theme--documenter-dark .columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-3-fullhd{--columnGap: .75rem}}html.theme--documenter-dark .columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-4-fullhd{--columnGap: 1rem}}html.theme--documenter-dark .columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}html.theme--documenter-dark .columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}html.theme--documenter-dark .columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}html.theme--documenter-dark .columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){html.theme--documenter-dark .columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark .columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){html.theme--documenter-dark .columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){html.theme--documenter-dark .columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){html.theme--documenter-dark .columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){html.theme--documenter-dark .columns.is-variable.is-8-fullhd{--columnGap: 2rem}}html.theme--documenter-dark .tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}html.theme--documenter-dark .tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}html.theme--documenter-dark .tile.is-ancestor:last-child{margin-bottom:-.75rem}html.theme--documenter-dark .tile.is-ancestor:not(:last-child){margin-bottom:.75rem}html.theme--documenter-dark .tile.is-child{margin:0 !important}html.theme--documenter-dark .tile.is-parent{padding:.75rem}html.theme--documenter-dark .tile.is-vertical{flex-direction:column}html.theme--documenter-dark .tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{html.theme--documenter-dark .tile:not(.is-child){display:flex}html.theme--documenter-dark .tile.is-1{flex:none;width:8.3333333333%}html.theme--documenter-dark .tile.is-2{flex:none;width:16.6666666667%}html.theme--documenter-dark .tile.is-3{flex:none;width:25%}html.theme--documenter-dark .tile.is-4{flex:none;width:33.3333333333%}html.theme--documenter-dark .tile.is-5{flex:none;width:41.6666666667%}html.theme--documenter-dark .tile.is-6{flex:none;width:50%}html.theme--documenter-dark .tile.is-7{flex:none;width:58.3333333333%}html.theme--documenter-dark .tile.is-8{flex:none;width:66.6666666667%}html.theme--documenter-dark .tile.is-9{flex:none;width:75%}html.theme--documenter-dark .tile.is-10{flex:none;width:83.3333333333%}html.theme--documenter-dark .tile.is-11{flex:none;width:91.6666666667%}html.theme--documenter-dark .tile.is-12{flex:none;width:100%}}html.theme--documenter-dark .hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}html.theme--documenter-dark .hero .navbar{background:none}html.theme--documenter-dark .hero .tabs ul{border-bottom:none}html.theme--documenter-dark .hero.is-white{background-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-white strong{color:inherit}html.theme--documenter-dark .hero.is-white .title{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .subtitle{color:rgba(10,10,10,0.9)}html.theme--documenter-dark .hero.is-white .subtitle a:not(.button),html.theme--documenter-dark .hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-white .navbar-menu{background-color:#fff}}html.theme--documenter-dark .hero.is-white .navbar-item,html.theme--documenter-dark .hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}html.theme--documenter-dark .hero.is-white a.navbar-item:hover,html.theme--documenter-dark .hero.is-white a.navbar-item.is-active,html.theme--documenter-dark .hero.is-white .navbar-link:hover,html.theme--documenter-dark .hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}html.theme--documenter-dark .hero.is-white .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-white .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a{color:#0a0a0a}html.theme--documenter-dark .hero.is-white .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}html.theme--documenter-dark .hero.is-black{background-color:#0a0a0a;color:#fff}html.theme--documenter-dark .hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-black strong{color:inherit}html.theme--documenter-dark .hero.is-black .title{color:#fff}html.theme--documenter-dark .hero.is-black .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-black .subtitle a:not(.button),html.theme--documenter-dark .hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-black .navbar-menu{background-color:#0a0a0a}}html.theme--documenter-dark .hero.is-black .navbar-item,html.theme--documenter-dark .hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-black a.navbar-item:hover,html.theme--documenter-dark .hero.is-black a.navbar-item.is-active,html.theme--documenter-dark .hero.is-black .navbar-link:hover,html.theme--documenter-dark .hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}html.theme--documenter-dark .hero.is-black .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-black .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-black .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-black .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}html.theme--documenter-dark .hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}html.theme--documenter-dark .hero.is-light{background-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-light strong{color:inherit}html.theme--documenter-dark .hero.is-light .title{color:#282f2f}html.theme--documenter-dark .hero.is-light .subtitle{color:rgba(40,47,47,0.9)}html.theme--documenter-dark .hero.is-light .subtitle a:not(.button),html.theme--documenter-dark .hero.is-light .subtitle strong{color:#282f2f}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-light .navbar-menu{background-color:#ecf0f1}}html.theme--documenter-dark .hero.is-light .navbar-item,html.theme--documenter-dark .hero.is-light .navbar-link{color:rgba(40,47,47,0.7)}html.theme--documenter-dark .hero.is-light a.navbar-item:hover,html.theme--documenter-dark .hero.is-light a.navbar-item.is-active,html.theme--documenter-dark .hero.is-light .navbar-link:hover,html.theme--documenter-dark .hero.is-light .navbar-link.is-active{background-color:#dde4e6;color:#282f2f}html.theme--documenter-dark .hero.is-light .tabs a{color:#282f2f;opacity:0.9}html.theme--documenter-dark .hero.is-light .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-light .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a{color:#282f2f}html.theme--documenter-dark .hero.is-light .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#282f2f;border-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .hero.is-light.is-bold{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #cadfe0 0%, #ecf0f1 71%, #fafbfc 100%)}}html.theme--documenter-dark .hero.is-dark,html.theme--documenter-dark .content kbd.hero{background-color:#282f2f;color:#ecf0f1}html.theme--documenter-dark .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-dark strong,html.theme--documenter-dark .content kbd.hero strong{color:inherit}html.theme--documenter-dark .hero.is-dark .title,html.theme--documenter-dark .content kbd.hero .title{color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .subtitle,html.theme--documenter-dark .content kbd.hero .subtitle{color:rgba(236,240,241,0.9)}html.theme--documenter-dark .hero.is-dark .subtitle a:not(.button),html.theme--documenter-dark .content kbd.hero .subtitle a:not(.button),html.theme--documenter-dark .hero.is-dark .subtitle strong,html.theme--documenter-dark .content kbd.hero .subtitle strong{color:#ecf0f1}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-dark .navbar-menu,html.theme--documenter-dark .content kbd.hero .navbar-menu{background-color:#282f2f}}html.theme--documenter-dark .hero.is-dark .navbar-item,html.theme--documenter-dark .content kbd.hero .navbar-item,html.theme--documenter-dark .hero.is-dark .navbar-link,html.theme--documenter-dark .content kbd.hero .navbar-link{color:rgba(236,240,241,0.7)}html.theme--documenter-dark .hero.is-dark a.navbar-item:hover,html.theme--documenter-dark .content kbd.hero a.navbar-item:hover,html.theme--documenter-dark .hero.is-dark a.navbar-item.is-active,html.theme--documenter-dark .content kbd.hero a.navbar-item.is-active,html.theme--documenter-dark .hero.is-dark .navbar-link:hover,html.theme--documenter-dark .content kbd.hero .navbar-link:hover,html.theme--documenter-dark .hero.is-dark .navbar-link.is-active,html.theme--documenter-dark .content kbd.hero .navbar-link.is-active{background-color:#1d2122;color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .tabs a,html.theme--documenter-dark .content kbd.hero .tabs a{color:#ecf0f1;opacity:0.9}html.theme--documenter-dark .hero.is-dark .tabs a:hover,html.theme--documenter-dark .content kbd.hero .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-dark .tabs li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a{color:#ecf0f1}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle a:hover,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a,html.theme--documenter-dark .content kbd.hero .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#ecf0f1;border-color:#ecf0f1;color:#282f2f}html.theme--documenter-dark .hero.is-dark.is-bold,html.theme--documenter-dark .content kbd.hero.is-bold{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-dark.is-bold .navbar-menu,html.theme--documenter-dark .content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0f1615 0%, #282f2f 71%, #313c40 100%)}}html.theme--documenter-dark .hero.is-primary,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink{background-color:#375a7f;color:#fff}html.theme--documenter-dark .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-primary strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink strong{color:inherit}html.theme--documenter-dark .hero.is-primary .title,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .title{color:#fff}html.theme--documenter-dark .hero.is-primary .subtitle,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-primary .subtitle a:not(.button),html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),html.theme--documenter-dark .hero.is-primary .subtitle strong,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-primary .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#375a7f}}html.theme--documenter-dark .hero.is-primary .navbar-item,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-item,html.theme--documenter-dark .hero.is-primary .navbar-link,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-primary a.navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,html.theme--documenter-dark .hero.is-primary a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,html.theme--documenter-dark .hero.is-primary .navbar-link:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link:hover,html.theme--documenter-dark .hero.is-primary .navbar-link.is-active,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#2f4d6d;color:#fff}html.theme--documenter-dark .hero.is-primary .tabs a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-primary .tabs a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-primary .tabs li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle a:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#375a7f}html.theme--documenter-dark .hero.is-primary.is-bold,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-primary.is-bold .navbar-menu,html.theme--documenter-dark .docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #214b62 0%, #375a7f 71%, #3a5796 100%)}}html.theme--documenter-dark .hero.is-link{background-color:#1abc9c;color:#fff}html.theme--documenter-dark .hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-link strong{color:inherit}html.theme--documenter-dark .hero.is-link .title{color:#fff}html.theme--documenter-dark .hero.is-link .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-link .subtitle a:not(.button),html.theme--documenter-dark .hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-link .navbar-menu{background-color:#1abc9c}}html.theme--documenter-dark .hero.is-link .navbar-item,html.theme--documenter-dark .hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-link a.navbar-item:hover,html.theme--documenter-dark .hero.is-link a.navbar-item.is-active,html.theme--documenter-dark .hero.is-link .navbar-link:hover,html.theme--documenter-dark .hero.is-link .navbar-link.is-active{background-color:#17a689;color:#fff}html.theme--documenter-dark .hero.is-link .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-link .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-link .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-link .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#1abc9c}html.theme--documenter-dark .hero.is-link.is-bold{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #0c9764 0%, #1abc9c 71%, #17d8d2 100%)}}html.theme--documenter-dark .hero.is-info{background-color:#024c7d;color:#fff}html.theme--documenter-dark .hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-info strong{color:inherit}html.theme--documenter-dark .hero.is-info .title{color:#fff}html.theme--documenter-dark .hero.is-info .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-info .subtitle a:not(.button),html.theme--documenter-dark .hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-info .navbar-menu{background-color:#024c7d}}html.theme--documenter-dark .hero.is-info .navbar-item,html.theme--documenter-dark .hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-info a.navbar-item:hover,html.theme--documenter-dark .hero.is-info a.navbar-item.is-active,html.theme--documenter-dark .hero.is-info .navbar-link:hover,html.theme--documenter-dark .hero.is-info .navbar-link.is-active{background-color:#023d64;color:#fff}html.theme--documenter-dark .hero.is-info .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-info .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-info .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-info .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#024c7d}html.theme--documenter-dark .hero.is-info.is-bold{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #003a4c 0%, #024c7d 71%, #004299 100%)}}html.theme--documenter-dark .hero.is-success{background-color:#008438;color:#fff}html.theme--documenter-dark .hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-success strong{color:inherit}html.theme--documenter-dark .hero.is-success .title{color:#fff}html.theme--documenter-dark .hero.is-success .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-success .subtitle a:not(.button),html.theme--documenter-dark .hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-success .navbar-menu{background-color:#008438}}html.theme--documenter-dark .hero.is-success .navbar-item,html.theme--documenter-dark .hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-success a.navbar-item:hover,html.theme--documenter-dark .hero.is-success a.navbar-item.is-active,html.theme--documenter-dark .hero.is-success .navbar-link:hover,html.theme--documenter-dark .hero.is-success .navbar-link.is-active{background-color:#006b2d;color:#fff}html.theme--documenter-dark .hero.is-success .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-success .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-success .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-success .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#008438}html.theme--documenter-dark .hero.is-success.is-bold{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #005115 0%, #008438 71%, #009e5d 100%)}}html.theme--documenter-dark .hero.is-warning{background-color:#ad8100;color:#fff}html.theme--documenter-dark .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-warning strong{color:inherit}html.theme--documenter-dark .hero.is-warning .title{color:#fff}html.theme--documenter-dark .hero.is-warning .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-warning .subtitle a:not(.button),html.theme--documenter-dark .hero.is-warning .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-warning .navbar-menu{background-color:#ad8100}}html.theme--documenter-dark .hero.is-warning .navbar-item,html.theme--documenter-dark .hero.is-warning .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-warning a.navbar-item:hover,html.theme--documenter-dark .hero.is-warning a.navbar-item.is-active,html.theme--documenter-dark .hero.is-warning .navbar-link:hover,html.theme--documenter-dark .hero.is-warning .navbar-link.is-active{background-color:#946e00;color:#fff}html.theme--documenter-dark .hero.is-warning .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-warning .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-warning .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ad8100}html.theme--documenter-dark .hero.is-warning.is-bold{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #7a4700 0%, #ad8100 71%, #c7b500 100%)}}html.theme--documenter-dark .hero.is-danger{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),html.theme--documenter-dark .hero.is-danger strong{color:inherit}html.theme--documenter-dark .hero.is-danger .title{color:#fff}html.theme--documenter-dark .hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}html.theme--documenter-dark .hero.is-danger .subtitle a:not(.button),html.theme--documenter-dark .hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){html.theme--documenter-dark .hero.is-danger .navbar-menu{background-color:#9e1b0d}}html.theme--documenter-dark .hero.is-danger .navbar-item,html.theme--documenter-dark .hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}html.theme--documenter-dark .hero.is-danger a.navbar-item:hover,html.theme--documenter-dark .hero.is-danger a.navbar-item.is-active,html.theme--documenter-dark .hero.is-danger .navbar-link:hover,html.theme--documenter-dark .hero.is-danger .navbar-link.is-active{background-color:#86170b;color:#fff}html.theme--documenter-dark .hero.is-danger .tabs a{color:#fff;opacity:0.9}html.theme--documenter-dark .hero.is-danger .tabs a:hover{opacity:1}html.theme--documenter-dark .hero.is-danger .tabs li.is-active a{opacity:1}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a{color:#fff}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-boxed li.is-active a:hover,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a,html.theme--documenter-dark .hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#9e1b0d}html.theme--documenter-dark .hero.is-danger.is-bold{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}@media screen and (max-width: 768px){html.theme--documenter-dark .hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #75030b 0%, #9e1b0d 71%, #ba380a 100%)}}html.theme--documenter-dark .hero.is-small .hero-body,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}html.theme--documenter-dark .hero.is-halfheight .hero-body,html.theme--documenter-dark .hero.is-fullheight .hero-body,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}html.theme--documenter-dark .hero.is-halfheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight .hero-body>.container,html.theme--documenter-dark .hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}html.theme--documenter-dark .hero.is-halfheight{min-height:50vh}html.theme--documenter-dark .hero.is-fullheight{min-height:100vh}html.theme--documenter-dark .hero-video{overflow:hidden}html.theme--documenter-dark .hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}html.theme--documenter-dark .hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-video{display:none}}html.theme--documenter-dark .hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){html.theme--documenter-dark .hero-buttons .button{display:flex}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{html.theme--documenter-dark .hero-buttons{display:flex;justify-content:center}html.theme--documenter-dark .hero-buttons .button:not(:last-child){margin-right:1.5rem}}html.theme--documenter-dark .hero-head,html.theme--documenter-dark .hero-foot{flex-grow:0;flex-shrink:0}html.theme--documenter-dark .hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}html.theme--documenter-dark .section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){html.theme--documenter-dark .section.is-medium{padding:9rem 1.5rem}html.theme--documenter-dark .section.is-large{padding:18rem 1.5rem}}html.theme--documenter-dark .footer{background-color:#282f2f;padding:3rem 1.5rem 6rem}html.theme--documenter-dark hr{height:1px}html.theme--documenter-dark h6{text-transform:uppercase;letter-spacing:0.5px}html.theme--documenter-dark .hero{background-color:#343c3d}html.theme--documenter-dark a{transition:all 200ms ease}html.theme--documenter-dark .button{transition:all 200ms ease;border-width:1px;color:#fff}html.theme--documenter-dark .button.is-active,html.theme--documenter-dark .button.is-focused,html.theme--documenter-dark .button:active,html.theme--documenter-dark .button:focus{box-shadow:0 0 0 2px rgba(140,155,157,0.5)}html.theme--documenter-dark .button.is-white.is-hovered,html.theme--documenter-dark .button.is-white:hover{background-color:#fff}html.theme--documenter-dark .button.is-white.is-active,html.theme--documenter-dark .button.is-white.is-focused,html.theme--documenter-dark .button.is-white:active,html.theme--documenter-dark .button.is-white:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,0.5)}html.theme--documenter-dark .button.is-black.is-hovered,html.theme--documenter-dark .button.is-black:hover{background-color:#1d1d1d}html.theme--documenter-dark .button.is-black.is-active,html.theme--documenter-dark .button.is-black.is-focused,html.theme--documenter-dark .button.is-black:active,html.theme--documenter-dark .button.is-black:focus{border-color:#0a0a0a;box-shadow:0 0 0 2px rgba(10,10,10,0.5)}html.theme--documenter-dark .button.is-light.is-hovered,html.theme--documenter-dark .button.is-light:hover{background-color:#fff}html.theme--documenter-dark .button.is-light.is-active,html.theme--documenter-dark .button.is-light.is-focused,html.theme--documenter-dark .button.is-light:active,html.theme--documenter-dark .button.is-light:focus{border-color:#ecf0f1;box-shadow:0 0 0 2px rgba(236,240,241,0.5)}html.theme--documenter-dark .button.is-dark.is-hovered,html.theme--documenter-dark .content kbd.button.is-hovered,html.theme--documenter-dark .button.is-dark:hover,html.theme--documenter-dark .content kbd.button:hover{background-color:#3a4344}html.theme--documenter-dark .button.is-dark.is-active,html.theme--documenter-dark .content kbd.button.is-active,html.theme--documenter-dark .button.is-dark.is-focused,html.theme--documenter-dark .content kbd.button.is-focused,html.theme--documenter-dark .button.is-dark:active,html.theme--documenter-dark .content kbd.button:active,html.theme--documenter-dark .button.is-dark:focus,html.theme--documenter-dark .content kbd.button:focus{border-color:#282f2f;box-shadow:0 0 0 2px rgba(40,47,47,0.5)}html.theme--documenter-dark .button.is-primary.is-hovered,html.theme--documenter-dark .docstring>section>a.button.is-hovered.docs-sourcelink,html.theme--documenter-dark .button.is-primary:hover,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:hover{background-color:#436d9a}html.theme--documenter-dark .button.is-primary.is-active,html.theme--documenter-dark .docstring>section>a.button.is-active.docs-sourcelink,html.theme--documenter-dark .button.is-primary.is-focused,html.theme--documenter-dark .docstring>section>a.button.is-focused.docs-sourcelink,html.theme--documenter-dark .button.is-primary:active,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:active,html.theme--documenter-dark .button.is-primary:focus,html.theme--documenter-dark .docstring>section>a.button.docs-sourcelink:focus{border-color:#375a7f;box-shadow:0 0 0 2px rgba(55,90,127,0.5)}html.theme--documenter-dark .button.is-link.is-hovered,html.theme--documenter-dark .button.is-link:hover{background-color:#1fdeb8}html.theme--documenter-dark .button.is-link.is-active,html.theme--documenter-dark .button.is-link.is-focused,html.theme--documenter-dark .button.is-link:active,html.theme--documenter-dark .button.is-link:focus{border-color:#1abc9c;box-shadow:0 0 0 2px rgba(26,188,156,0.5)}html.theme--documenter-dark .button.is-info.is-hovered,html.theme--documenter-dark .button.is-info:hover{background-color:#0363a3}html.theme--documenter-dark .button.is-info.is-active,html.theme--documenter-dark .button.is-info.is-focused,html.theme--documenter-dark .button.is-info:active,html.theme--documenter-dark .button.is-info:focus{border-color:#024c7d;box-shadow:0 0 0 2px rgba(2,76,125,0.5)}html.theme--documenter-dark .button.is-success.is-hovered,html.theme--documenter-dark .button.is-success:hover{background-color:#00aa48}html.theme--documenter-dark .button.is-success.is-active,html.theme--documenter-dark .button.is-success.is-focused,html.theme--documenter-dark .button.is-success:active,html.theme--documenter-dark .button.is-success:focus{border-color:#008438;box-shadow:0 0 0 2px rgba(0,132,56,0.5)}html.theme--documenter-dark .button.is-warning.is-hovered,html.theme--documenter-dark .button.is-warning:hover{background-color:#d39e00}html.theme--documenter-dark .button.is-warning.is-active,html.theme--documenter-dark .button.is-warning.is-focused,html.theme--documenter-dark .button.is-warning:active,html.theme--documenter-dark .button.is-warning:focus{border-color:#ad8100;box-shadow:0 0 0 2px rgba(173,129,0,0.5)}html.theme--documenter-dark .button.is-danger.is-hovered,html.theme--documenter-dark .button.is-danger:hover{background-color:#c12110}html.theme--documenter-dark .button.is-danger.is-active,html.theme--documenter-dark .button.is-danger.is-focused,html.theme--documenter-dark .button.is-danger:active,html.theme--documenter-dark .button.is-danger:focus{border-color:#9e1b0d;box-shadow:0 0 0 2px rgba(158,27,13,0.5)}html.theme--documenter-dark .label{color:#dbdee0}html.theme--documenter-dark .button,html.theme--documenter-dark .control.has-icons-left .icon,html.theme--documenter-dark .control.has-icons-right .icon,html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .pagination-ellipsis,html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous,html.theme--documenter-dark .select,html.theme--documenter-dark .select select,html.theme--documenter-dark .textarea{height:2.5em}html.theme--documenter-dark .input,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark .textarea{transition:all 200ms ease;box-shadow:none;border-width:1px;padding-left:1em;padding-right:1em}html.theme--documenter-dark .select:after,html.theme--documenter-dark .select select{border-width:1px}html.theme--documenter-dark .control.has-addons .button,html.theme--documenter-dark .control.has-addons .input,html.theme--documenter-dark .control.has-addons #documenter .docs-sidebar form.docs-search>input,html.theme--documenter-dark #documenter .docs-sidebar .control.has-addons form.docs-search>input,html.theme--documenter-dark .control.has-addons .select{margin-right:-1px}html.theme--documenter-dark .notification{background-color:#343c3d}html.theme--documenter-dark .card{box-shadow:none;border:1px solid #343c3d;background-color:#282f2f;border-radius:.4em}html.theme--documenter-dark .card .card-image img{border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-header{box-shadow:none;background-color:rgba(18,18,18,0.2);border-radius:.4em .4em 0 0}html.theme--documenter-dark .card .card-footer{background-color:rgba(18,18,18,0.2)}html.theme--documenter-dark .card .card-footer,html.theme--documenter-dark .card .card-footer-item{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .notification.is-white a:not(.button){color:#0a0a0a;text-decoration:underline}html.theme--documenter-dark .notification.is-black a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-light a:not(.button){color:#282f2f;text-decoration:underline}html.theme--documenter-dark .notification.is-dark a:not(.button),html.theme--documenter-dark .content kbd.notification a:not(.button){color:#ecf0f1;text-decoration:underline}html.theme--documenter-dark .notification.is-primary a:not(.button),html.theme--documenter-dark .docstring>section>a.notification.docs-sourcelink a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-link a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-info a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-success a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-warning a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .notification.is-danger a:not(.button){color:#fff;text-decoration:underline}html.theme--documenter-dark .tag,html.theme--documenter-dark .content kbd,html.theme--documenter-dark .docstring>section>a.docs-sourcelink{border-radius:.4em}html.theme--documenter-dark .menu-list a{transition:all 300ms ease}html.theme--documenter-dark .modal-card-body{background-color:#282f2f}html.theme--documenter-dark .modal-card-foot,html.theme--documenter-dark .modal-card-head{border-color:#343c3d}html.theme--documenter-dark .message-header{font-weight:700;background-color:#343c3d;color:#fff}html.theme--documenter-dark .message-body{border-width:1px;border-color:#343c3d}html.theme--documenter-dark .navbar{border-radius:.4em}html.theme--documenter-dark .navbar.is-transparent{background:none}html.theme--documenter-dark .navbar.is-primary .navbar-dropdown a.navbar-item.is-active,html.theme--documenter-dark .docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#1abc9c}@media screen and (max-width: 1055px){html.theme--documenter-dark .navbar .navbar-menu{background-color:#375a7f;border-radius:0 0 .4em .4em}}html.theme--documenter-dark .hero .navbar,html.theme--documenter-dark body>.navbar{border-radius:0}html.theme--documenter-dark .pagination-link,html.theme--documenter-dark .pagination-next,html.theme--documenter-dark .pagination-previous{border-width:1px}html.theme--documenter-dark .panel-block,html.theme--documenter-dark .panel-heading,html.theme--documenter-dark .panel-tabs{border-width:1px}html.theme--documenter-dark .panel-block:first-child,html.theme--documenter-dark .panel-heading:first-child,html.theme--documenter-dark .panel-tabs:first-child{border-top-width:1px}html.theme--documenter-dark .panel-heading{font-weight:700}html.theme--documenter-dark .panel-tabs a{border-width:1px;margin-bottom:-1px}html.theme--documenter-dark .panel-tabs a.is-active{border-bottom-color:#17a689}html.theme--documenter-dark .panel-block:hover{color:#1dd2af}html.theme--documenter-dark .panel-block:hover .panel-icon{color:#1dd2af}html.theme--documenter-dark .panel-block.is-active .panel-icon{color:#17a689}html.theme--documenter-dark .tabs a{border-bottom-width:1px;margin-bottom:-1px}html.theme--documenter-dark .tabs ul{border-bottom-width:1px}html.theme--documenter-dark .tabs.is-boxed a{border-width:1px}html.theme--documenter-dark .tabs.is-boxed li.is-active a{background-color:#1f2424}html.theme--documenter-dark .tabs.is-toggle li a{border-width:1px;margin-bottom:0}html.theme--documenter-dark .tabs.is-toggle li+li{margin-left:-1px}html.theme--documenter-dark .hero.is-white .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-black .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-light .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-dark .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .content kbd.hero .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-primary .navbar .navbar-dropdown .navbar-item:hover,html.theme--documenter-dark .docstring>section>a.hero.docs-sourcelink .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-link .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-info .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-success .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-warning .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark .hero.is-danger .navbar .navbar-dropdown .navbar-item:hover{background-color:rgba(0,0,0,0)}html.theme--documenter-dark h1 .docs-heading-anchor,html.theme--documenter-dark h1 .docs-heading-anchor:hover,html.theme--documenter-dark h1 .docs-heading-anchor:visited,html.theme--documenter-dark h2 .docs-heading-anchor,html.theme--documenter-dark h2 .docs-heading-anchor:hover,html.theme--documenter-dark h2 .docs-heading-anchor:visited,html.theme--documenter-dark h3 .docs-heading-anchor,html.theme--documenter-dark h3 .docs-heading-anchor:hover,html.theme--documenter-dark h3 .docs-heading-anchor:visited,html.theme--documenter-dark h4 .docs-heading-anchor,html.theme--documenter-dark h4 .docs-heading-anchor:hover,html.theme--documenter-dark h4 .docs-heading-anchor:visited,html.theme--documenter-dark h5 .docs-heading-anchor,html.theme--documenter-dark h5 .docs-heading-anchor:hover,html.theme--documenter-dark h5 .docs-heading-anchor:visited,html.theme--documenter-dark h6 .docs-heading-anchor,html.theme--documenter-dark h6 .docs-heading-anchor:hover,html.theme--documenter-dark h6 .docs-heading-anchor:visited{color:#f2f2f2}html.theme--documenter-dark h1 .docs-heading-anchor-permalink,html.theme--documenter-dark h2 .docs-heading-anchor-permalink,html.theme--documenter-dark h3 .docs-heading-anchor-permalink,html.theme--documenter-dark h4 .docs-heading-anchor-permalink,html.theme--documenter-dark h5 .docs-heading-anchor-permalink,html.theme--documenter-dark h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}html.theme--documenter-dark h1 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h2 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h3 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h4 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h5 .docs-heading-anchor-permalink::before,html.theme--documenter-dark h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f0c1"}html.theme--documenter-dark h1:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h2:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h3:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h4:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h5:hover .docs-heading-anchor-permalink,html.theme--documenter-dark h6:hover .docs-heading-anchor-permalink{visibility:visible}html.theme--documenter-dark .docs-light-only{display:none !important}html.theme--documenter-dark pre{position:relative;overflow:hidden}html.theme--documenter-dark pre code,html.theme--documenter-dark pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}html.theme--documenter-dark pre code:first-of-type,html.theme--documenter-dark pre code.hljs:first-of-type{padding-top:0.5rem !important}html.theme--documenter-dark pre code:last-of-type,html.theme--documenter-dark pre code.hljs:last-of-type{padding-bottom:0.5rem !important}html.theme--documenter-dark pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 5 Free";color:#fff;cursor:pointer;text-align:center}html.theme--documenter-dark pre .copy-button:focus,html.theme--documenter-dark pre .copy-button:hover{opacity:1;background:rgba(255,255,255,0.1);color:#1abc9c}html.theme--documenter-dark pre .copy-button.success{color:#259a12;opacity:1}html.theme--documenter-dark pre .copy-button.error{color:#cb3c33;opacity:1}html.theme--documenter-dark pre:hover .copy-button{opacity:1}html.theme--documenter-dark .admonition{background-color:#282f2f;border-style:solid;border-width:1px;border-color:#5e6d6f;border-radius:.4em;font-size:15px}html.theme--documenter-dark .admonition strong{color:currentColor}html.theme--documenter-dark .admonition.is-small,html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input.admonition{font-size:.85em}html.theme--documenter-dark .admonition.is-medium{font-size:1.25rem}html.theme--documenter-dark .admonition.is-large{font-size:1.5rem}html.theme--documenter-dark .admonition.is-default{background-color:#282f2f;border-color:#5e6d6f}html.theme--documenter-dark .admonition.is-default>.admonition-header{background-color:#5e6d6f;color:#fff}html.theme--documenter-dark .admonition.is-default>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-info{background-color:#282f2f;border-color:#024c7d}html.theme--documenter-dark .admonition.is-info>.admonition-header{background-color:#024c7d;color:#fff}html.theme--documenter-dark .admonition.is-info>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-success{background-color:#282f2f;border-color:#008438}html.theme--documenter-dark .admonition.is-success>.admonition-header{background-color:#008438;color:#fff}html.theme--documenter-dark .admonition.is-success>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-warning{background-color:#282f2f;border-color:#ad8100}html.theme--documenter-dark .admonition.is-warning>.admonition-header{background-color:#ad8100;color:#fff}html.theme--documenter-dark .admonition.is-warning>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-danger{background-color:#282f2f;border-color:#9e1b0d}html.theme--documenter-dark .admonition.is-danger>.admonition-header{background-color:#9e1b0d;color:#fff}html.theme--documenter-dark .admonition.is-danger>.admonition-body{color:#fff}html.theme--documenter-dark .admonition.is-compat{background-color:#282f2f;border-color:#137886}html.theme--documenter-dark .admonition.is-compat>.admonition-header{background-color:#137886;color:#fff}html.theme--documenter-dark .admonition.is-compat>.admonition-body{color:#fff}html.theme--documenter-dark .admonition-header{color:#fff;background-color:#5e6d6f;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}html.theme--documenter-dark .admonition-header:before{font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}html.theme--documenter-dark .admonition-body{color:#fff;padding:0.5rem .75rem}html.theme--documenter-dark .admonition-body pre{background-color:#282f2f}html.theme--documenter-dark .admonition-body code{background-color:rgba(255,255,255,0.05)}html.theme--documenter-dark .docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #5e6d6f;box-shadow:none;max-width:100%}html.theme--documenter-dark .docstring>header{display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#282f2f;box-shadow:0 1px 2px rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .docstring>header code{background-color:transparent}html.theme--documenter-dark .docstring>header .docstring-binding{margin-right:0.3em}html.theme--documenter-dark .docstring>header .docstring-category{margin-left:0.3em}html.theme--documenter-dark .docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #5e6d6f}html.theme--documenter-dark .docstring>section:last-child{border-bottom:none}html.theme--documenter-dark .docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}html.theme--documenter-dark .docstring>section>a.docs-sourcelink:focus{opacity:1 !important}html.theme--documenter-dark .docstring:hover>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}html.theme--documenter-dark .docstring>section:hover a.docs-sourcelink{opacity:1}html.theme--documenter-dark .documenter-example-output{background-color:#1f2424}html.theme--documenter-dark .outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#282f2f;color:#fff;border-bottom:3px solid #9e1b0d;padding:10px 35px;text-align:center;font-size:15px}html.theme--documenter-dark .outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}html.theme--documenter-dark .outdated-warning-overlay a{color:#1abc9c}html.theme--documenter-dark .outdated-warning-overlay a:hover{color:#1dd2af}html.theme--documenter-dark .content pre{border:1px solid #5e6d6f}html.theme--documenter-dark .content code{font-weight:inherit}html.theme--documenter-dark .content a code{color:#1abc9c}html.theme--documenter-dark .content h1 code,html.theme--documenter-dark .content h2 code,html.theme--documenter-dark .content h3 code,html.theme--documenter-dark .content h4 code,html.theme--documenter-dark .content h5 code,html.theme--documenter-dark .content h6 code{color:#f2f2f2}html.theme--documenter-dark .content table{display:block;width:initial;max-width:100%;overflow-x:auto}html.theme--documenter-dark .content blockquote>ul:first-child,html.theme--documenter-dark .content blockquote>ol:first-child,html.theme--documenter-dark .content .admonition-body>ul:first-child,html.theme--documenter-dark .content .admonition-body>ol:first-child{margin-top:0}html.theme--documenter-dark pre,html.theme--documenter-dark code{font-variant-ligatures:no-contextual}html.theme--documenter-dark .breadcrumb a.is-disabled{cursor:default;pointer-events:none}html.theme--documenter-dark .breadcrumb a.is-disabled,html.theme--documenter-dark .breadcrumb a.is-disabled:hover{color:#f2f2f2}html.theme--documenter-dark .hljs{background:initial !important}html.theme--documenter-dark .katex .katex-mathml{top:0;right:0}html.theme--documenter-dark .katex-display,html.theme--documenter-dark mjx-container,html.theme--documenter-dark .MathJax_Display{margin:0.5em 0 !important}html.theme--documenter-dark html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}html.theme--documenter-dark li.no-marker{list-style:none}html.theme--documenter-dark #documenter .docs-main>article{overflow-wrap:break-word}html.theme--documenter-dark #documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main{width:100%}html.theme--documenter-dark #documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-main>header,html.theme--documenter-dark #documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}html.theme--documenter-dark #documenter .docs-main header.docs-navbar{background-color:#1f2424;border-bottom:1px solid #5e6d6f;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-icon,html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label,html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{display:inline-block}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-settings-button{margin:auto 0 auto 1rem}html.theme--documenter-dark #documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{font-size:1.5rem;margin:auto 0 auto 1rem}html.theme--documenter-dark #documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #171717;transition-duration:0.7s;-webkit-transition-duration:0.7s}html.theme--documenter-dark #documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}html.theme--documenter-dark #documenter .docs-main section.footnotes{border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-main section.footnotes li .tag:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,html.theme--documenter-dark #documenter .docs-main section.footnotes li .content kbd:first-child,html.theme--documenter-dark .content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}html.theme--documenter-dark #documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #5e6d6f;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage,html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}html.theme--documenter-dark #documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}html.theme--documenter-dark #documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}html.theme--documenter-dark #documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}html.theme--documenter-dark #documenter .docs-sidebar{display:flex;flex-direction:column;color:#fff;background-color:#282f2f;border-right:1px solid #5e6d6f;padding:0;flex:0 0 18rem;z-index:5;font-size:15px;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}html.theme--documenter-dark #documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #171717}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar{left:0;top:0}}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a,html.theme--documenter-dark #documenter .docs-sidebar .docs-package-name a:hover{color:#fff}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector{border-top:1px solid #5e6d6f;display:none;padding:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar .docs-version-selector.visible{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #5e6d6f;padding-bottom:1.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li li{font-size:14.25px;margin-left:1em;border-left:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:11.25px;margin-left:1rem;margin-top:auto;margin-bottom:auto}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f054"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#fff;background:#282f2f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu a.tocitem:hover,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#fff;background-color:#32393a}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #5e6d6f;border-bottom:1px solid #5e6d6f;background-color:#1f2424}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#1f2424;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#32393a;color:#fff}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #5e6d6f}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:12.75px;border-left:none;margin-left:0;margin-top:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}html.theme--documenter-dark #documenter .docs-sidebar form.docs-search>input{width:14.4rem}@media screen and (min-width: 1056px){html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}@media screen and (max-width: 1055px){html.theme--documenter-dark #documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#3b4445}html.theme--documenter-dark #documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#4e5a5c}}html.theme--documenter-dark #documenter .docs-main #documenter-search-info{margin-bottom:1rem}html.theme--documenter-dark #documenter .docs-main #documenter-search-results{list-style-type:circle;list-style-position:outside}html.theme--documenter-dark #documenter .docs-main #documenter-search-results li{margin-left:2rem}html.theme--documenter-dark #documenter .docs-main #documenter-search-results .docs-highlight{background-color:yellow}html.theme--documenter-dark{background-color:#1f2424;font-size:16px;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}html.theme--documenter-dark .ansi span.sgr1{font-weight:bolder}html.theme--documenter-dark .ansi span.sgr2{font-weight:lighter}html.theme--documenter-dark .ansi span.sgr3{font-style:italic}html.theme--documenter-dark .ansi span.sgr4{text-decoration:underline}html.theme--documenter-dark .ansi span.sgr7{color:#1f2424;background-color:#fff}html.theme--documenter-dark .ansi span.sgr8{color:transparent}html.theme--documenter-dark .ansi span.sgr8 span{color:transparent}html.theme--documenter-dark .ansi span.sgr9{text-decoration:line-through}html.theme--documenter-dark .ansi span.sgr30{color:#242424}html.theme--documenter-dark .ansi span.sgr31{color:#f6705f}html.theme--documenter-dark .ansi span.sgr32{color:#4fb43a}html.theme--documenter-dark .ansi span.sgr33{color:#f4c72f}html.theme--documenter-dark .ansi span.sgr34{color:#7587f0}html.theme--documenter-dark .ansi span.sgr35{color:#bc89d3}html.theme--documenter-dark .ansi span.sgr36{color:#49b6ca}html.theme--documenter-dark .ansi span.sgr37{color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr40{background-color:#242424}html.theme--documenter-dark .ansi span.sgr41{background-color:#f6705f}html.theme--documenter-dark .ansi span.sgr42{background-color:#4fb43a}html.theme--documenter-dark .ansi span.sgr43{background-color:#f4c72f}html.theme--documenter-dark .ansi span.sgr44{background-color:#7587f0}html.theme--documenter-dark .ansi span.sgr45{background-color:#bc89d3}html.theme--documenter-dark .ansi span.sgr46{background-color:#49b6ca}html.theme--documenter-dark .ansi span.sgr47{background-color:#b3bdbe}html.theme--documenter-dark .ansi span.sgr90{color:#92a0a2}html.theme--documenter-dark .ansi span.sgr91{color:#ff8674}html.theme--documenter-dark .ansi span.sgr92{color:#79d462}html.theme--documenter-dark .ansi span.sgr93{color:#ffe76b}html.theme--documenter-dark .ansi span.sgr94{color:#8a98ff}html.theme--documenter-dark .ansi span.sgr95{color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr96{color:#6bc8db}html.theme--documenter-dark .ansi span.sgr97{color:#ecf0f1}html.theme--documenter-dark .ansi span.sgr100{background-color:#92a0a2}html.theme--documenter-dark .ansi span.sgr101{background-color:#ff8674}html.theme--documenter-dark .ansi span.sgr102{background-color:#79d462}html.theme--documenter-dark .ansi span.sgr103{background-color:#ffe76b}html.theme--documenter-dark .ansi span.sgr104{background-color:#8a98ff}html.theme--documenter-dark .ansi span.sgr105{background-color:#d2a4e6}html.theme--documenter-dark .ansi span.sgr106{background-color:#6bc8db}html.theme--documenter-dark .ansi span.sgr107{background-color:#ecf0f1}html.theme--documenter-dark code.language-julia-repl>span.hljs-meta{color:#4fb43a;font-weight:bolder}html.theme--documenter-dark .hljs{background:#2b2b2b;color:#f8f8f2}html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-quote{color:#d4d0ab}html.theme--documenter-dark .hljs-variable,html.theme--documenter-dark .hljs-template-variable,html.theme--documenter-dark .hljs-tag,html.theme--documenter-dark .hljs-name,html.theme--documenter-dark .hljs-selector-id,html.theme--documenter-dark .hljs-selector-class,html.theme--documenter-dark .hljs-regexp,html.theme--documenter-dark .hljs-deletion{color:#ffa07a}html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-link{color:#f5ab35}html.theme--documenter-dark .hljs-attribute{color:#ffd700}html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-addition{color:#abe338}html.theme--documenter-dark .hljs-title,html.theme--documenter-dark .hljs-section{color:#00e0e0}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{color:#dcc6e0}html.theme--documenter-dark .hljs-emphasis{font-style:italic}html.theme--documenter-dark .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast: active){html.theme--documenter-dark .hljs-addition,html.theme--documenter-dark .hljs-attribute,html.theme--documenter-dark .hljs-built_in,html.theme--documenter-dark .hljs-bullet,html.theme--documenter-dark .hljs-comment,html.theme--documenter-dark .hljs-link,html.theme--documenter-dark .hljs-literal,html.theme--documenter-dark .hljs-meta,html.theme--documenter-dark .hljs-number,html.theme--documenter-dark .hljs-params,html.theme--documenter-dark .hljs-string,html.theme--documenter-dark .hljs-symbol,html.theme--documenter-dark .hljs-type,html.theme--documenter-dark .hljs-quote{color:highlight}html.theme--documenter-dark .hljs-keyword,html.theme--documenter-dark .hljs-selector-tag{font-weight:bold}}html.theme--documenter-dark .hljs-subst{color:#f8f8f2} diff --git a/previews/PR1101/assets/themes/documenter-light.css b/previews/PR1101/assets/themes/documenter-light.css new file mode 100644 index 000000000..9b9a14b04 --- /dev/null +++ b/previews/PR1101/assets/themes/documenter-light.css @@ -0,0 +1,9 @@ +@keyframes spinAround{from{transform:rotate(0deg)}to{transform:rotate(359deg)}}.tabs,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.breadcrumb,.file,.button,.is-unselectable,.modal-close,.delete{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:0.625em}.admonition:not(:last-child),.tabs:not(:last-child),.message:not(:last-child),.list:not(:last-child),.level:not(:last-child),.breadcrumb:not(:last-child),.highlight:not(:last-child),.block:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.progress:not(:last-child),.notification:not(:last-child),.content:not(:last-child),.box:not(:last-child){margin-bottom:1.5rem}.modal-close,.delete{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.modal-close::before,.delete::before,.modal-close::after,.delete::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal-close::before,.delete::before{height:2px;width:50%}.modal-close::after,.delete::after{height:50%;width:2px}.modal-close:hover,.delete:hover,.modal-close:focus,.delete:focus{background-color:rgba(10,10,10,0.3)}.modal-close:active,.delete:active{background-color:rgba(10,10,10,0.4)}.is-small.modal-close,#documenter .docs-sidebar form.docs-search>input.modal-close,.is-small.delete,#documenter .docs-sidebar form.docs-search>input.delete{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.modal-close,.is-medium.delete{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.modal-close,.is-large.delete{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.control.is-loading::after,.select.is-loading::after,.loader,.button.is-loading::after{animation:spinAround 500ms infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.modal-background,.modal,.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio,.is-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.file-cta,.file-name,.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input,.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.file-cta:focus,.file-name:focus,.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.button:focus,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.is-focused.file-cta,.is-focused.file-name,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-focused.button,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.file-cta:active,.file-name:active,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.button:active,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis,.is-active.file-cta,.is-active.file-name,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.is-active.button{outline:none}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled],.pagination-ellipsis[disabled],.file-cta[disabled],.file-name[disabled],.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],.button[disabled],fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input,fieldset[disabled] .button{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:auto;overflow-y:scroll;text-rendering:optimizeLegibility;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace}body{color:#222;font-size:1em;font-weight:400;line-height:1.5}a{color:#2e63b8;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:rgba(0,0,0,0.05);color:#000;font-size:.875em;font-weight:normal;padding:.1em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type="checkbox"],input[type="radio"]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#222;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#222;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:left}table th{color:#222}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7,.docstring>section>a.docs-sourcelink{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px),print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1055px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1056px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px),print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1055px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1056px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px),print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1055px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1056px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px),print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1055px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1056px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px),print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1055px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1056px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#f5f5f5 !important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb !important}.has-background-light{background-color:#f5f5f5 !important}.has-text-dark{color:#363636 !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c !important}.has-background-dark{background-color:#363636 !important}.has-text-primary{color:#4eb5de !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#27a1d2 !important}.has-background-primary{background-color:#4eb5de !important}.has-text-link{color:#2e63b8 !important}a.has-text-link:hover,a.has-text-link:focus{color:#244d8f !important}.has-background-link{background-color:#2e63b8 !important}.has-text-info{color:#209cee !important}a.has-text-info:hover,a.has-text-info:focus{color:#1081cb !important}.has-background-info{background-color:#209cee !important}.has-text-success{color:#22c35b !important}a.has-text-success:hover,a.has-text-success:focus{color:#1a9847 !important}.has-background-success{background-color:#22c35b !important}.has-text-warning{color:#ffdd57 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd324 !important}.has-background-warning{background-color:#ffdd57 !important}.has-text-danger{color:#da0b00 !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#a70800 !important}.has-background-danger{background-color:#da0b00 !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#363636 !important}.has-background-grey-darker{background-color:#363636 !important}.has-text-grey-dark{color:#4a4a4a !important}.has-background-grey-dark{background-color:#4a4a4a !important}.has-text-grey{color:#6b6b6b !important}.has-background-grey{background-color:#6b6b6b !important}.has-text-grey-light{color:#b5b5b5 !important}.has-background-grey-light{background-color:#b5b5b5 !important}.has-text-grey-lighter{color:#dbdbdb !important}.has-background-grey-lighter{background-color:#dbdbdb !important}.has-text-white-ter{color:#f5f5f5 !important}.has-background-white-ter{background-color:#f5f5f5 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:"Lato Medium",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-family-code{font-family:"JuliaMono","SFMono-Regular","Menlo","Consolas","Liberation Mono","DejaVu Sans Mono",monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px),print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1055px){.is-block-touch{display:block !important}}@media screen and (min-width: 1056px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px),print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1055px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1056px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px),print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1055px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1056px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px),print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1055px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1056px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px),print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1055px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1056px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px),print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1055px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1056px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px),print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1055px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1055px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1056px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1056px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#222;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #2e63b8}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #2e63b8}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button #documenter .docs-sidebar form.docs-search>input.icon,#documenter .docs-sidebar .button form.docs-search>input.icon,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}.button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#363636}.button:focus,.button.is-focused{border-color:#3c5dcd;color:#363636}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#222;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#222}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#222}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-outlined.is-loading:hover::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-outlined.is-loading:hover::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#363636}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#363636}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-outlined.is-loading:hover::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark,.content kbd.button{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark:hover,.content kbd.button:hover,.button.is-dark.is-hovered,.content kbd.button.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark:focus,.content kbd.button:focus,.button.is-dark.is-focused,.content kbd.button.is-focused{border-color:transparent;color:#f5f5f5}.button.is-dark:focus:not(:active),.content kbd.button:focus:not(:active),.button.is-dark.is-focused:not(:active),.content kbd.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.button.is-dark:active,.content kbd.button:active,.button.is-dark.is-active,.content kbd.button.is-active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],.content kbd.button[disabled],fieldset[disabled] .button.is-dark,fieldset[disabled] .content kbd.button,.content fieldset[disabled] kbd.button{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted,.content kbd.button.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover,.content kbd.button.is-inverted:hover,.button.is-dark.is-inverted.is-hovered,.content kbd.button.is-inverted.is-hovered{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],.content kbd.button.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted,fieldset[disabled] .content kbd.button.is-inverted,.content fieldset[disabled] kbd.button.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after,.content kbd.button.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined,.content kbd.button.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.content kbd.button.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.content kbd.button.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.content kbd.button.is-outlined:focus,.button.is-dark.is-outlined.is-focused,.content kbd.button.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after,.content kbd.button.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-outlined.is-loading:hover::after,.content kbd.button.is-outlined.is-loading:hover::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.content kbd.button.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading.is-focused::after,.content kbd.button.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined[disabled],.content kbd.button.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined,fieldset[disabled] .content kbd.button.is-outlined,.content fieldset[disabled] kbd.button.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined,.content kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:hover,.content kbd.button.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.content kbd.button.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.content kbd.button.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused,.content kbd.button.is-inverted.is-outlined.is-focused{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover::after,.content kbd.button.is-inverted.is-outlined.is-loading:hover::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.content kbd.button.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,.content kbd.button.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-inverted.is-outlined[disabled],.content kbd.button.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined,fieldset[disabled] .content kbd.button.is-inverted.is-outlined,.content fieldset[disabled] kbd.button.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary,.docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:transparent;color:#fff}.button.is-primary:hover,.docstring>section>a.button.docs-sourcelink:hover,.button.is-primary.is-hovered,.docstring>section>a.button.is-hovered.docs-sourcelink{background-color:#43b1dc;border-color:transparent;color:#fff}.button.is-primary:focus,.docstring>section>a.button.docs-sourcelink:focus,.button.is-primary.is-focused,.docstring>section>a.button.is-focused.docs-sourcelink{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.docstring>section>a.button.docs-sourcelink:focus:not(:active),.button.is-primary.is-focused:not(:active),.docstring>section>a.button.is-focused.docs-sourcelink:not(:active){box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.button.is-primary:active,.docstring>section>a.button.docs-sourcelink:active,.button.is-primary.is-active,.docstring>section>a.button.is-active.docs-sourcelink{background-color:#39acda;border-color:transparent;color:#fff}.button.is-primary[disabled],.docstring>section>a.button.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary,fieldset[disabled] .docstring>section>a.button.docs-sourcelink{background-color:#4eb5de;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted,.docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted:hover,.docstring>section>a.button.is-inverted.docs-sourcelink:hover,.button.is-primary.is-inverted.is-hovered,.docstring>section>a.button.is-inverted.is-hovered.docs-sourcelink{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],.docstring>section>a.button.is-inverted.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted,fieldset[disabled] .docstring>section>a.button.is-inverted.docs-sourcelink{background-color:#fff;border-color:transparent;box-shadow:none;color:#4eb5de}.button.is-primary.is-loading::after,.docstring>section>a.button.is-loading.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined,.docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;color:#4eb5de}.button.is-primary.is-outlined:hover,.docstring>section>a.button.is-outlined.docs-sourcelink:hover,.button.is-primary.is-outlined.is-hovered,.docstring>section>a.button.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-outlined:focus,.docstring>section>a.button.is-outlined.docs-sourcelink:focus,.button.is-primary.is-outlined.is-focused,.docstring>section>a.button.is-outlined.is-focused.docs-sourcelink{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.button.is-primary.is-outlined.is-loading::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined[disabled],.docstring>section>a.button.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-outlined,fieldset[disabled] .docstring>section>a.button.is-outlined.docs-sourcelink{background-color:transparent;border-color:#4eb5de;box-shadow:none;color:#4eb5de}.button.is-primary.is-inverted.is-outlined,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.docstring>section>a.button.is-inverted.is-outlined.is-hovered.docs-sourcelink,.button.is-primary.is-inverted.is-outlined:focus,.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink:focus,.button.is-primary.is-inverted.is-outlined.is-focused,.docstring>section>a.button.is-inverted.is-outlined.is-focused.docs-sourcelink{background-color:#fff;color:#4eb5de}.button.is-primary.is-inverted.is-outlined.is-loading:hover::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:hover::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-hovered.docs-sourcelink::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.docs-sourcelink:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,.docstring>section>a.button.is-inverted.is-outlined.is-loading.is-focused.docs-sourcelink::after{border-color:transparent transparent #4eb5de #4eb5de !important}.button.is-primary.is-inverted.is-outlined[disabled],.docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined,fieldset[disabled] .docstring>section>a.button.is-inverted.is-outlined.docs-sourcelink{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#2e63b8;border-color:transparent;color:#fff}.button.is-link:hover,.button.is-link.is-hovered{background-color:#2b5eae;border-color:transparent;color:#fff}.button.is-link:focus,.button.is-link.is-focused{border-color:transparent;color:#fff}.button.is-link:focus:not(:active),.button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.button.is-link:active,.button.is-link.is-active{background-color:#2958a4;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#2e63b8;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted:hover,.button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#2e63b8}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;color:#2e63b8}.button.is-link.is-outlined:hover,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined.is-focused{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-outlined.is-loading:hover::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#2e63b8;box-shadow:none;color:#2e63b8}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:hover,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#2e63b8}.button.is-link.is-inverted.is-outlined.is-loading:hover::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #2e63b8 #2e63b8 !important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#1497ed;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.button.is-info:active,.button.is-info.is-active{background-color:#1190e3;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-outlined.is-loading:hover::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading:hover::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#22c35b;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#20b856;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.button.is-success:active,.button.is-success.is-active{background-color:#1ead51;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#22c35b;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#22c35b}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#22c35b}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;color:#22c35b}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#22c35b;border-color:#22c35b;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-outlined.is-loading:hover::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#22c35b;box-shadow:none;color:#22c35b}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#22c35b}.button.is-success.is-inverted.is-outlined.is-loading:hover::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #22c35b #22c35b !important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-outlined.is-loading:hover::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading:hover::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-danger{background-color:#da0b00;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#cd0a00;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.button.is-danger:active,.button.is-danger.is-active{background-color:#c10a00;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#da0b00;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#da0b00}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;color:#da0b00}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#da0b00;border-color:#da0b00;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-outlined.is-loading:hover::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#da0b00;box-shadow:none;color:#da0b00}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#da0b00}.button.is-danger.is-inverted.is-outlined.is-loading:hover::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #da0b00 #da0b00 !important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small,#documenter .docs-sidebar form.docs-search>input.button{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent !important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#6b6b6b;box-shadow:none;pointer-events:none}.button.is-rounded,#documenter .docs-sidebar form.docs-search>input.button{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:0.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}.buttons:last-child{margin-bottom:-0.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1056px){.container{max-width:992px}.container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){.container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){.container{max-width:1152px}}@media screen and (min-width: 1408px){.container{max-width:1344px}}.content li+li{margin-top:0.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#222;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:0.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:0.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:0.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:0.8em}.content h5{font-size:1.125em;margin-bottom:0.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol.is-lower-alpha:not([type]){list-style-type:lower-alpha}.content ol.is-lower-roman:not([type]){list-style-type:lower-roman}.content ol.is-upper-alpha:not([type]){list-style-type:upper-alpha}.content ol.is-upper-roman:not([type]){list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:0.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:0;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.content table th{color:#222}.content table th:not([align]){text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#222}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#222}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small,#documenter .docs-sidebar form.docs-search>input.content{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small,#documenter .docs-sidebar form.docs-search>input.icon{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image,#documenter .docs-sidebar .docs-logo>img{display:block;position:relative}.image img,#documenter .docs-sidebar .docs-logo>img img{display:block;height:auto;width:100%}.image img.is-rounded,#documenter .docs-sidebar .docs-logo>img img.is-rounded{border-radius:290486px}.image.is-square img,#documenter .docs-sidebar .docs-logo>img.is-square img,.image.is-square .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-square .has-ratio,.image.is-1by1 img,#documenter .docs-sidebar .docs-logo>img.is-1by1 img,.image.is-1by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by1 .has-ratio,.image.is-5by4 img,#documenter .docs-sidebar .docs-logo>img.is-5by4 img,.image.is-5by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by4 .has-ratio,.image.is-4by3 img,#documenter .docs-sidebar .docs-logo>img.is-4by3 img,.image.is-4by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by3 .has-ratio,.image.is-3by2 img,#documenter .docs-sidebar .docs-logo>img.is-3by2 img,.image.is-3by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by2 .has-ratio,.image.is-5by3 img,#documenter .docs-sidebar .docs-logo>img.is-5by3 img,.image.is-5by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-5by3 .has-ratio,.image.is-16by9 img,#documenter .docs-sidebar .docs-logo>img.is-16by9 img,.image.is-16by9 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-16by9 .has-ratio,.image.is-2by1 img,#documenter .docs-sidebar .docs-logo>img.is-2by1 img,.image.is-2by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by1 .has-ratio,.image.is-3by1 img,#documenter .docs-sidebar .docs-logo>img.is-3by1 img,.image.is-3by1 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by1 .has-ratio,.image.is-4by5 img,#documenter .docs-sidebar .docs-logo>img.is-4by5 img,.image.is-4by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-4by5 .has-ratio,.image.is-3by4 img,#documenter .docs-sidebar .docs-logo>img.is-3by4 img,.image.is-3by4 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by4 .has-ratio,.image.is-2by3 img,#documenter .docs-sidebar .docs-logo>img.is-2by3 img,.image.is-2by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-2by3 .has-ratio,.image.is-3by5 img,#documenter .docs-sidebar .docs-logo>img.is-3by5 img,.image.is-3by5 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-3by5 .has-ratio,.image.is-9by16 img,#documenter .docs-sidebar .docs-logo>img.is-9by16 img,.image.is-9by16 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-9by16 .has-ratio,.image.is-1by2 img,#documenter .docs-sidebar .docs-logo>img.is-1by2 img,.image.is-1by2 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by2 .has-ratio,.image.is-1by3 img,#documenter .docs-sidebar .docs-logo>img.is-1by3 img,.image.is-1by3 .has-ratio,#documenter .docs-sidebar .docs-logo>img.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,#documenter .docs-sidebar .docs-logo>img.is-square,.image.is-1by1,#documenter .docs-sidebar .docs-logo>img.is-1by1{padding-top:100%}.image.is-5by4,#documenter .docs-sidebar .docs-logo>img.is-5by4{padding-top:80%}.image.is-4by3,#documenter .docs-sidebar .docs-logo>img.is-4by3{padding-top:75%}.image.is-3by2,#documenter .docs-sidebar .docs-logo>img.is-3by2{padding-top:66.6666%}.image.is-5by3,#documenter .docs-sidebar .docs-logo>img.is-5by3{padding-top:60%}.image.is-16by9,#documenter .docs-sidebar .docs-logo>img.is-16by9{padding-top:56.25%}.image.is-2by1,#documenter .docs-sidebar .docs-logo>img.is-2by1{padding-top:50%}.image.is-3by1,#documenter .docs-sidebar .docs-logo>img.is-3by1{padding-top:33.3333%}.image.is-4by5,#documenter .docs-sidebar .docs-logo>img.is-4by5{padding-top:125%}.image.is-3by4,#documenter .docs-sidebar .docs-logo>img.is-3by4{padding-top:133.3333%}.image.is-2by3,#documenter .docs-sidebar .docs-logo>img.is-2by3{padding-top:150%}.image.is-3by5,#documenter .docs-sidebar .docs-logo>img.is-3by5{padding-top:166.6666%}.image.is-9by16,#documenter .docs-sidebar .docs-logo>img.is-9by16{padding-top:177.7777%}.image.is-1by2,#documenter .docs-sidebar .docs-logo>img.is-1by2{padding-top:200%}.image.is-1by3,#documenter .docs-sidebar .docs-logo>img.is-1by3{padding-top:300%}.image.is-16x16,#documenter .docs-sidebar .docs-logo>img.is-16x16{height:16px;width:16px}.image.is-24x24,#documenter .docs-sidebar .docs-logo>img.is-24x24{height:24px;width:24px}.image.is-32x32,#documenter .docs-sidebar .docs-logo>img.is-32x32{height:32px;width:32px}.image.is-48x48,#documenter .docs-sidebar .docs-logo>img.is-48x48{height:48px;width:48px}.image.is-64x64,#documenter .docs-sidebar .docs-logo>img.is-64x64{height:64px;width:64px}.image.is-96x96,#documenter .docs-sidebar .docs-logo>img.is-96x96{height:96px;width:96px}.image.is-128x128,#documenter .docs-sidebar .docs-logo>img.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:0.5rem;top:0.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark,.content kbd.notification{background-color:#363636;color:#f5f5f5}.notification.is-primary,.docstring>section>a.notification.docs-sourcelink{background-color:#4eb5de;color:#fff}.notification.is-link{background-color:#2e63b8;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#22c35b;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.notification.is-danger{background-color:#da0b00;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#222}.progress::-moz-progress-bar{background-color:#222}.progress::-ms-fill{background-color:#222;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right, #f5f5f5 30%, #dbdbdb 30%)}.progress.is-dark::-webkit-progress-value,.content kbd.progress::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar,.content kbd.progress::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill,.content kbd.progress::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate,.content kbd.progress:indeterminate{background-image:linear-gradient(to right, #363636 30%, #dbdbdb 30%)}.progress.is-primary::-webkit-progress-value,.docstring>section>a.progress.docs-sourcelink::-webkit-progress-value{background-color:#4eb5de}.progress.is-primary::-moz-progress-bar,.docstring>section>a.progress.docs-sourcelink::-moz-progress-bar{background-color:#4eb5de}.progress.is-primary::-ms-fill,.docstring>section>a.progress.docs-sourcelink::-ms-fill{background-color:#4eb5de}.progress.is-primary:indeterminate,.docstring>section>a.progress.docs-sourcelink:indeterminate{background-image:linear-gradient(to right, #4eb5de 30%, #dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#2e63b8}.progress.is-link::-moz-progress-bar{background-color:#2e63b8}.progress.is-link::-ms-fill{background-color:#2e63b8}.progress.is-link:indeterminate{background-image:linear-gradient(to right, #2e63b8 30%, #dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right, #209cee 30%, #dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#22c35b}.progress.is-success::-moz-progress-bar{background-color:#22c35b}.progress.is-success::-ms-fill{background-color:#22c35b}.progress.is-success:indeterminate{background-image:linear-gradient(to right, #22c35b 30%, #dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#da0b00}.progress.is-danger::-moz-progress-bar{background-color:#da0b00}.progress.is-danger::-ms-fill{background-color:#da0b00}.progress.is-danger:indeterminate{background-image:linear-gradient(to right, #da0b00 30%, #dbdbdb 30%)}.progress:indeterminate{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:moveIndeterminate;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right, #222 30%, #dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-small,#documenter .docs-sidebar form.docs-search>input.progress{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#4eb5de;border-color:#4eb5de;color:#fff}.table td.is-link,.table th.is-link{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#22c35b;border-color:#22c35b;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.table td.is-danger,.table th.is-danger{background-color:#da0b00;border-color:#da0b00;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#4eb5de;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#222}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#4eb5de;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:rgba(0,0,0,0)}.table thead td,.table thead th{border-width:0 0 2px;color:#222}.table tfoot{background-color:rgba(0,0,0,0)}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#222}.table tbody{background-color:rgba(0,0,0,0)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:0.25em 0.5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag,.tags .content kbd,.content .tags kbd,.tags .docstring>section>a.docs-sourcelink{margin-bottom:0.5rem}.tags .tag:not(:last-child),.tags .content kbd:not(:last-child),.content .tags kbd:not(:last-child),.tags .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0.5rem}.tags:last-child{margin-bottom:-0.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large),.tags.are-medium .content kbd:not(.is-normal):not(.is-large),.content .tags.are-medium kbd:not(.is-normal):not(.is-large),.tags.are-medium .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium),.tags.are-large .content kbd:not(.is-normal):not(.is-medium),.content .tags.are-large kbd:not(.is-normal):not(.is-medium),.tags.are-large .docstring>section>a.docs-sourcelink:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag,.tags.is-centered .content kbd,.content .tags.is-centered kbd,.tags.is-centered .docstring>section>a.docs-sourcelink{margin-right:0.25rem;margin-left:0.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child),.tags.is-right .content kbd:not(:first-child),.content .tags.is-right kbd:not(:first-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0.5rem}.tags.is-right .tag:not(:last-child),.tags.is-right .content kbd:not(:last-child),.content .tags.is-right kbd:not(:last-child),.tags.is-right .docstring>section>a.docs-sourcelink:not(:last-child){margin-right:0}.tags.has-addons .tag,.tags.has-addons .content kbd,.content .tags.has-addons kbd,.tags.has-addons .docstring>section>a.docs-sourcelink{margin-right:0}.tags.has-addons .tag:not(:first-child),.tags.has-addons .content kbd:not(:first-child),.content .tags.has-addons kbd:not(:first-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child),.tags.has-addons .content kbd:not(:last-child),.content .tags.has-addons kbd:not(:last-child),.tags.has-addons .docstring>section>a.docs-sourcelink:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#222;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.tag:not(body) .delete,.content kbd:not(body) .delete,.docstring>section>a.docs-sourcelink:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}.tag.is-white:not(body),.content kbd.is-white:not(body),.docstring>section>a.docs-sourcelink.is-white:not(body){background-color:#fff;color:#0a0a0a}.tag.is-black:not(body),.content kbd.is-black:not(body),.docstring>section>a.docs-sourcelink.is-black:not(body){background-color:#0a0a0a;color:#fff}.tag.is-light:not(body),.content kbd.is-light:not(body),.docstring>section>a.docs-sourcelink.is-light:not(body){background-color:#f5f5f5;color:#363636}.tag.is-dark:not(body),.content kbd:not(body),.docstring>section>a.docs-sourcelink.is-dark:not(body),.content .docstring>section>kbd:not(body){background-color:#363636;color:#f5f5f5}.tag.is-primary:not(body),.content kbd.is-primary:not(body),.docstring>section>a.docs-sourcelink:not(body){background-color:#4eb5de;color:#fff}.tag.is-link:not(body),.content kbd.is-link:not(body),.docstring>section>a.docs-sourcelink.is-link:not(body){background-color:#2e63b8;color:#fff}.tag.is-info:not(body),.content kbd.is-info:not(body),.docstring>section>a.docs-sourcelink.is-info:not(body){background-color:#209cee;color:#fff}.tag.is-success:not(body),.content kbd.is-success:not(body),.docstring>section>a.docs-sourcelink.is-success:not(body){background-color:#22c35b;color:#fff}.tag.is-warning:not(body),.content kbd.is-warning:not(body),.docstring>section>a.docs-sourcelink.is-warning:not(body){background-color:#ffdd57;color:rgba(0,0,0,0.7)}.tag.is-danger:not(body),.content kbd.is-danger:not(body),.docstring>section>a.docs-sourcelink.is-danger:not(body){background-color:#da0b00;color:#fff}.tag.is-normal:not(body),.content kbd.is-normal:not(body),.docstring>section>a.docs-sourcelink.is-normal:not(body){font-size:.75rem}.tag.is-medium:not(body),.content kbd.is-medium:not(body),.docstring>section>a.docs-sourcelink.is-medium:not(body){font-size:1rem}.tag.is-large:not(body),.content kbd.is-large:not(body),.docstring>section>a.docs-sourcelink.is-large:not(body){font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child),.content kbd:not(body) .icon:first-child:not(:last-child),.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}.tag:not(body) .icon:last-child:not(:first-child),.content kbd:not(body) .icon:last-child:not(:first-child),.docstring>section>a.docs-sourcelink:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}.tag:not(body) .icon:first-child:last-child,.content kbd:not(body) .icon:first-child:last-child,.docstring>section>a.docs-sourcelink:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}.tag.is-delete:not(body),.content kbd.is-delete:not(body),.docstring>section>a.docs-sourcelink.is-delete:not(body){margin-left:1px;padding:0;position:relative;width:2em}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before,.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag.is-delete:not(body)::before,.content kbd.is-delete:not(body)::before,.docstring>section>a.docs-sourcelink.is-delete:not(body)::before{height:1px;width:50%}.tag.is-delete:not(body)::after,.content kbd.is-delete:not(body)::after,.docstring>section>a.docs-sourcelink.is-delete:not(body)::after{height:50%;width:1px}.tag.is-delete:not(body):hover,.content kbd.is-delete:not(body):hover,.docstring>section>a.docs-sourcelink.is-delete:not(body):hover,.tag.is-delete:not(body):focus,.content kbd.is-delete:not(body):focus,.docstring>section>a.docs-sourcelink.is-delete:not(body):focus{background-color:#e8e8e8}.tag.is-delete:not(body):active,.content kbd.is-delete:not(body):active,.docstring>section>a.docs-sourcelink.is-delete:not(body):active{background-color:#dbdbdb}.tag.is-rounded:not(body),#documenter .docs-sidebar form.docs-search>input:not(body),.content kbd.is-rounded:not(body),#documenter .docs-sidebar .content form.docs-search>input:not(body),.docstring>section>a.docs-sourcelink.is-rounded:not(body){border-radius:290486px}a.tag:hover,.docstring>section>a.docs-sourcelink:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub{font-size:.75em}.title sup,.subtitle sup{font-size:.75em}.title .tag,.title .content kbd,.content .title kbd,.title .docstring>section>a.docs-sourcelink,.subtitle .tag,.subtitle .content kbd,.content .subtitle kbd,.subtitle .docstring>section>a.docs-sourcelink{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-0.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}.select select,.textarea,.input,#documenter .docs-sidebar form.docs-search>input{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.select select::-moz-placeholder,.textarea::-moz-placeholder,.input::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input::-moz-placeholder{color:rgba(54,54,54,0.3)}.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.input::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder{color:rgba(54,54,54,0.3)}.select select:-moz-placeholder,.textarea:-moz-placeholder,.input:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input:-moz-placeholder{color:rgba(54,54,54,0.3)}.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder,.input:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder{color:rgba(54,54,54,0.3)}.select select:hover,.textarea:hover,.input:hover,#documenter .docs-sidebar form.docs-search>input:hover,.select select.is-hovered,.is-hovered.textarea,.is-hovered.input,#documenter .docs-sidebar form.docs-search>input.is-hovered{border-color:#b5b5b5}.select select:focus,.textarea:focus,.input:focus,#documenter .docs-sidebar form.docs-search>input:focus,.select select.is-focused,.is-focused.textarea,.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.select select:active,.textarea:active,.input:active,#documenter .docs-sidebar form.docs-search>input:active,.select select.is-active,.is-active.textarea,.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{border-color:#2e63b8;box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select select[disabled],.textarea[disabled],.input[disabled],#documenter .docs-sidebar form.docs-search>input[disabled],fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .textarea,fieldset[disabled] .input,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#6b6b6b}.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,.input[disabled]::-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,.input[disabled]::-webkit-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input::-webkit-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input::-webkit-input-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,.input[disabled]:-moz-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-moz-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-moz-placeholder{color:rgba(107,107,107,0.3)}.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,.input[disabled]:-ms-input-placeholder,#documenter .docs-sidebar form.docs-search>input[disabled]:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] #documenter .docs-sidebar form.docs-search>input:-ms-input-placeholder,#documenter .docs-sidebar fieldset[disabled] form.docs-search>input:-ms-input-placeholder{color:rgba(107,107,107,0.3)}.textarea,.input,#documenter .docs-sidebar form.docs-search>input{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}.textarea[readonly],.input[readonly],#documenter .docs-sidebar form.docs-search>input[readonly]{box-shadow:none}.is-white.textarea,.is-white.input,#documenter .docs-sidebar form.docs-search>input.is-white{border-color:#fff}.is-white.textarea:focus,.is-white.input:focus,#documenter .docs-sidebar form.docs-search>input.is-white:focus,.is-white.is-focused.textarea,.is-white.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-white.textarea:active,.is-white.input:active,#documenter .docs-sidebar form.docs-search>input.is-white:active,.is-white.is-active.textarea,.is-white.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.is-black.textarea,.is-black.input,#documenter .docs-sidebar form.docs-search>input.is-black{border-color:#0a0a0a}.is-black.textarea:focus,.is-black.input:focus,#documenter .docs-sidebar form.docs-search>input.is-black:focus,.is-black.is-focused.textarea,.is-black.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-black.textarea:active,.is-black.input:active,#documenter .docs-sidebar form.docs-search>input.is-black:active,.is-black.is-active.textarea,.is-black.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.is-light.textarea,.is-light.input,#documenter .docs-sidebar form.docs-search>input.is-light{border-color:#f5f5f5}.is-light.textarea:focus,.is-light.input:focus,#documenter .docs-sidebar form.docs-search>input.is-light:focus,.is-light.is-focused.textarea,.is-light.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-light.textarea:active,.is-light.input:active,#documenter .docs-sidebar form.docs-search>input.is-light:active,.is-light.is-active.textarea,.is-light.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.is-dark.textarea,.content kbd.textarea,.is-dark.input,#documenter .docs-sidebar form.docs-search>input.is-dark,.content kbd.input{border-color:#363636}.is-dark.textarea:focus,.content kbd.textarea:focus,.is-dark.input:focus,#documenter .docs-sidebar form.docs-search>input.is-dark:focus,.content kbd.input:focus,.is-dark.is-focused.textarea,.content kbd.is-focused.textarea,.is-dark.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.content kbd.is-focused.input,#documenter .docs-sidebar .content form.docs-search>input.is-focused,.is-dark.textarea:active,.content kbd.textarea:active,.is-dark.input:active,#documenter .docs-sidebar form.docs-search>input.is-dark:active,.content kbd.input:active,.is-dark.is-active.textarea,.content kbd.is-active.textarea,.is-dark.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.content kbd.is-active.input,#documenter .docs-sidebar .content form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.is-primary.textarea,.docstring>section>a.textarea.docs-sourcelink,.is-primary.input,#documenter .docs-sidebar form.docs-search>input.is-primary,.docstring>section>a.input.docs-sourcelink{border-color:#4eb5de}.is-primary.textarea:focus,.docstring>section>a.textarea.docs-sourcelink:focus,.is-primary.input:focus,#documenter .docs-sidebar form.docs-search>input.is-primary:focus,.docstring>section>a.input.docs-sourcelink:focus,.is-primary.is-focused.textarea,.docstring>section>a.is-focused.textarea.docs-sourcelink,.is-primary.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.docstring>section>a.is-focused.input.docs-sourcelink,.is-primary.textarea:active,.docstring>section>a.textarea.docs-sourcelink:active,.is-primary.input:active,#documenter .docs-sidebar form.docs-search>input.is-primary:active,.docstring>section>a.input.docs-sourcelink:active,.is-primary.is-active.textarea,.docstring>section>a.is-active.textarea.docs-sourcelink,.is-primary.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active,.docstring>section>a.is-active.input.docs-sourcelink{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.is-link.textarea,.is-link.input,#documenter .docs-sidebar form.docs-search>input.is-link{border-color:#2e63b8}.is-link.textarea:focus,.is-link.input:focus,#documenter .docs-sidebar form.docs-search>input.is-link:focus,.is-link.is-focused.textarea,.is-link.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-link.textarea:active,.is-link.input:active,#documenter .docs-sidebar form.docs-search>input.is-link:active,.is-link.is-active.textarea,.is-link.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.is-info.textarea,.is-info.input,#documenter .docs-sidebar form.docs-search>input.is-info{border-color:#209cee}.is-info.textarea:focus,.is-info.input:focus,#documenter .docs-sidebar form.docs-search>input.is-info:focus,.is-info.is-focused.textarea,.is-info.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-info.textarea:active,.is-info.input:active,#documenter .docs-sidebar form.docs-search>input.is-info:active,.is-info.is-active.textarea,.is-info.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.is-success.textarea,.is-success.input,#documenter .docs-sidebar form.docs-search>input.is-success{border-color:#22c35b}.is-success.textarea:focus,.is-success.input:focus,#documenter .docs-sidebar form.docs-search>input.is-success:focus,.is-success.is-focused.textarea,.is-success.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-success.textarea:active,.is-success.input:active,#documenter .docs-sidebar form.docs-search>input.is-success:active,.is-success.is-active.textarea,.is-success.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.is-warning.textarea,.is-warning.input,#documenter .docs-sidebar form.docs-search>input.is-warning{border-color:#ffdd57}.is-warning.textarea:focus,.is-warning.input:focus,#documenter .docs-sidebar form.docs-search>input.is-warning:focus,.is-warning.is-focused.textarea,.is-warning.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-warning.textarea:active,.is-warning.input:active,#documenter .docs-sidebar form.docs-search>input.is-warning:active,.is-warning.is-active.textarea,.is-warning.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.is-danger.textarea,.is-danger.input,#documenter .docs-sidebar form.docs-search>input.is-danger{border-color:#da0b00}.is-danger.textarea:focus,.is-danger.input:focus,#documenter .docs-sidebar form.docs-search>input.is-danger:focus,.is-danger.is-focused.textarea,.is-danger.is-focused.input,#documenter .docs-sidebar form.docs-search>input.is-focused,.is-danger.textarea:active,.is-danger.input:active,#documenter .docs-sidebar form.docs-search>input.is-danger:active,.is-danger.is-active.textarea,.is-danger.is-active.input,#documenter .docs-sidebar form.docs-search>input.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.is-small.textarea,.is-small.input,#documenter .docs-sidebar form.docs-search>input{border-radius:2px;font-size:.75rem}.is-medium.textarea,.is-medium.input,#documenter .docs-sidebar form.docs-search>input.is-medium{font-size:1.25rem}.is-large.textarea,.is-large.input,#documenter .docs-sidebar form.docs-search>input.is-large{font-size:1.5rem}.is-fullwidth.textarea,.is-fullwidth.input,#documenter .docs-sidebar form.docs-search>input.is-fullwidth{display:block;width:100%}.is-inline.textarea,.is-inline.input,#documenter .docs-sidebar form.docs-search>input.is-inline{display:inline;width:auto}.input.is-rounded,#documenter .docs-sidebar form.docs-search>input{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static,#documenter .docs-sidebar form.docs-search>input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.radio,.checkbox{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.radio input,.checkbox input{cursor:pointer}.radio:hover,.checkbox:hover{color:#363636}.radio[disabled],.checkbox[disabled],fieldset[disabled] .radio,fieldset[disabled] .checkbox{color:#6b6b6b;cursor:not-allowed}.radio+.radio{margin-left:0.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#2e63b8;right:1.125em;z-index:4}.select.is-rounded select,#documenter .docs-sidebar form.docs-search>input.select select{border-radius:290486px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:0.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.select.is-dark:not(:hover)::after,.content kbd.select:not(:hover)::after{border-color:#363636}.select.is-dark select,.content kbd.select select{border-color:#363636}.select.is-dark select:hover,.content kbd.select select:hover,.select.is-dark select.is-hovered,.content kbd.select select.is-hovered{border-color:#292929}.select.is-dark select:focus,.content kbd.select select:focus,.select.is-dark select.is-focused,.content kbd.select select.is-focused,.select.is-dark select:active,.content kbd.select select:active,.select.is-dark select.is-active,.content kbd.select select.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.select.is-primary:not(:hover)::after,.docstring>section>a.select.docs-sourcelink:not(:hover)::after{border-color:#4eb5de}.select.is-primary select,.docstring>section>a.select.docs-sourcelink select{border-color:#4eb5de}.select.is-primary select:hover,.docstring>section>a.select.docs-sourcelink select:hover,.select.is-primary select.is-hovered,.docstring>section>a.select.docs-sourcelink select.is-hovered{border-color:#39acda}.select.is-primary select:focus,.docstring>section>a.select.docs-sourcelink select:focus,.select.is-primary select.is-focused,.docstring>section>a.select.docs-sourcelink select.is-focused,.select.is-primary select:active,.docstring>section>a.select.docs-sourcelink select:active,.select.is-primary select.is-active,.docstring>section>a.select.docs-sourcelink select.is-active{box-shadow:0 0 0 0.125em rgba(78,181,222,0.25)}.select.is-link:not(:hover)::after{border-color:#2e63b8}.select.is-link select{border-color:#2e63b8}.select.is-link select:hover,.select.is-link select.is-hovered{border-color:#2958a4}.select.is-link select:focus,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(46,99,184,0.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#1190e3}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.select.is-success:not(:hover)::after{border-color:#22c35b}.select.is-success select{border-color:#22c35b}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#1ead51}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(34,195,91,0.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd83e}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.select.is-danger:not(:hover)::after{border-color:#da0b00}.select.is-danger select{border-color:#da0b00}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#c10a00}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(218,11,0,0.25)}.select.is-small,#documenter .docs-sidebar form.docs-search>input.select{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#6b6b6b}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;transform:none}.select.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(245,245,245,0.25);color:#363636}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta,.content kbd.file .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark:hover .file-cta,.content kbd.file:hover .file-cta,.file.is-dark.is-hovered .file-cta,.content kbd.file.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark:focus .file-cta,.content kbd.file:focus .file-cta,.file.is-dark.is-focused .file-cta,.content kbd.file.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(54,54,54,0.25);color:#f5f5f5}.file.is-dark:active .file-cta,.content kbd.file:active .file-cta,.file.is-dark.is-active .file-cta,.content kbd.file.is-active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta,.docstring>section>a.file.docs-sourcelink .file-cta{background-color:#4eb5de;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.docstring>section>a.file.docs-sourcelink:hover .file-cta,.file.is-primary.is-hovered .file-cta,.docstring>section>a.file.is-hovered.docs-sourcelink .file-cta{background-color:#43b1dc;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.docstring>section>a.file.docs-sourcelink:focus .file-cta,.file.is-primary.is-focused .file-cta,.docstring>section>a.file.is-focused.docs-sourcelink .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(78,181,222,0.25);color:#fff}.file.is-primary:active .file-cta,.docstring>section>a.file.docs-sourcelink:active .file-cta,.file.is-primary.is-active .file-cta,.docstring>section>a.file.is-active.docs-sourcelink .file-cta{background-color:#39acda;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#2e63b8;border-color:transparent;color:#fff}.file.is-link:hover .file-cta,.file.is-link.is-hovered .file-cta{background-color:#2b5eae;border-color:transparent;color:#fff}.file.is-link:focus .file-cta,.file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(46,99,184,0.25);color:#fff}.file.is-link:active .file-cta,.file.is-link.is-active .file-cta{background-color:#2958a4;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#1497ed;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(32,156,238,0.25);color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#1190e3;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#22c35b;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#20b856;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(34,195,91,0.25);color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#1ead51;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffda4a;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,221,87,0.25);color:rgba(0,0,0,0.7)}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd83e;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-danger .file-cta{background-color:#da0b00;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#cd0a00;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(218,11,0,0.25);color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#c10a00;border-color:transparent;color:#fff}.file.is-small,#documenter .docs-sidebar form.docs-search>input.file{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa,#documenter .docs-sidebar form.docs-search>input.is-boxed .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:0.5em}.label.is-small,#documenter .docs-sidebar form.docs-search>input.label{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:0.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark,.content kbd.help{color:#363636}.help.is-primary,.docstring>section>a.help.docs-sourcelink{color:#4eb5de}.help.is-link{color:#2e63b8}.help.is-info{color:#209cee}.help.is-success{color:#22c35b}.help.is-warning{color:#ffdd57}.help.is-danger{color:#da0b00}.field:not(:last-child){margin-bottom:0.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:not(:first-child):not(:last-child) form.docs-search>input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:first-child:not(:only-child) form.docs-search>input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .field.has-addons .control:last-child:not(:only-child) form.docs-search>input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button.is-hovered:not([disabled]),.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):hover,.field.has-addons .control .input.is-hovered:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-hovered:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-hovered:not([disabled]),.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select.is-hovered:not([disabled]){z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button.is-focused:not([disabled]),.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button.is-active:not([disabled]),.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus,.field.has-addons .control .input.is-focused:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]),.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active,.field.has-addons .control .input.is-active:not([disabled]),.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]),#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]),.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select.is-focused:not([disabled]),.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select.is-active:not([disabled]){z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button.is-focused:not([disabled]):hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button.is-active:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):focus:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):focus:hover,.field.has-addons .control .input.is-focused:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-focused:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-focused:not([disabled]):hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input:not([disabled]):active:hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input:not([disabled]):active:hover,.field.has-addons .control .input.is-active:not([disabled]):hover,.field.has-addons .control #documenter .docs-sidebar form.docs-search>input.is-active:not([disabled]):hover,#documenter .docs-sidebar .field.has-addons .control form.docs-search>input.is-active:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select.is-focused:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select.is-active:not([disabled]):hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small,#documenter .docs-sidebar form.docs-search>input.field-label{font-size:.75rem;padding-top:0.375em}.field-label.is-normal{padding-top:0.375em}.field-label.is-medium{font-size:1.25rem;padding-top:0.375em}.field-label.is-large{font-size:1.5rem;padding-top:0.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:0.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input:focus~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#6b6b6b}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-medium~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input.is-large~.icon,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-left form.docs-search>input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right #documenter .docs-sidebar form.docs-search>input,#documenter .docs-sidebar .control.has-icons-right form.docs-search>input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}.control.is-loading.is-small:after,#documenter .docs-sidebar form.docs-search>input.is-loading:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#2e63b8;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#222;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:0.5em}.breadcrumb .icon:last-child{margin-left:0.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small,#documenter .docs-sidebar form.docs-search>input.breadcrumb{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#222;max-width:100%;position:relative}.card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}.card-header-title{align-items:center;color:#222;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#2e63b8;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:0.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px),print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}.list-item{display:block;padding:0.5em 1em}.list-item:not(a){color:#222}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#2e63b8;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:0.75rem}.media .media{border-top:1px solid rgba(219,219,219,0.5);display:flex;padding-top:0.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:0.5rem}.media .media .media{padding-top:0.5rem}.media .media .media+.media{margin-top:0.5rem}.media+.media{border-top:1px solid rgba(219,219,219,0.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small,#documenter .docs-sidebar form.docs-search>input.menu{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#222;display:block;padding:0.5em 0.75em}.menu-list a:hover{background-color:#f5f5f5;color:#222}.menu-list a.is-active{background-color:#2e63b8;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#6b6b6b;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small,#documenter .docs-sidebar form.docs-search>input.message{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark,.content kbd.message{background-color:#fafafa}.message.is-dark .message-header,.content kbd.message .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body,.content kbd.message .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary,.docstring>section>a.message.docs-sourcelink{background-color:#f6fbfd}.message.is-primary .message-header,.docstring>section>a.message.docs-sourcelink .message-header{background-color:#4eb5de;color:#fff}.message.is-primary .message-body,.docstring>section>a.message.docs-sourcelink .message-body{border-color:#4eb5de;color:#1f556a}.message.is-link{background-color:#f7f9fd}.message.is-link .message-header{background-color:#2e63b8;color:#fff}.message.is-link .message-body{border-color:#2e63b8;color:#264981}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537d}.message.is-success{background-color:#f6fdf9}.message.is-success .message-header{background-color:#22c35b;color:#fff}.message.is-success .message-body{border-color:#22c35b;color:#0f361d}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3c3108}.message.is-danger{background-color:#fff5f5}.message.is-danger .message-header{background-color:#da0b00;color:#fff}.message.is-danger .message-body{border-color:#da0b00;color:#9b0c04}.message-header{align-items:center;background-color:#222;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#222;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:rgba(0,0,0,0)}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,0.86)}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px),print{.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#222;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:0.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1056px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link::after,.navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link::after,.navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#363636}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width: 1056px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#363636}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-start .navbar-link::after,.navbar.is-light .navbar-end .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark,.content kbd.navbar{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand>.navbar-item,.content kbd.navbar .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link,.content kbd.navbar .navbar-brand .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.content kbd.navbar .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.content kbd.navbar .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.content kbd.navbar .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.content kbd.navbar .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.content kbd.navbar .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active,.content kbd.navbar .navbar-brand .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after,.content kbd.navbar .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger,.content kbd.navbar .navbar-burger{color:#f5f5f5}@media screen and (min-width: 1056px){.navbar.is-dark .navbar-start>.navbar-item,.content kbd.navbar .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.content kbd.navbar .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.content kbd.navbar .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link,.content kbd.navbar .navbar-end .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-start>a.navbar-item:focus,.content kbd.navbar .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.content kbd.navbar .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.content kbd.navbar .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.content kbd.navbar .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.content kbd.navbar .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.content kbd.navbar .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.content kbd.navbar .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.content kbd.navbar .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.content kbd.navbar .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.content kbd.navbar .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.content kbd.navbar .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active,.content kbd.navbar .navbar-end .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-start .navbar-link::after,.content kbd.navbar .navbar-start .navbar-link::after,.navbar.is-dark .navbar-end .navbar-link::after,.content kbd.navbar .navbar-end .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.content kbd.navbar .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.content kbd.navbar .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active,.content kbd.navbar .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary,.docstring>section>a.navbar.docs-sourcelink{background-color:#4eb5de;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger,.docstring>section>a.navbar.docs-sourcelink .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-primary .navbar-start>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.docstring>section>a.navbar.docs-sourcelink .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link.is-active{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-start .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-start .navbar-link::after,.navbar.is-primary .navbar-end .navbar-link::after,.docstring>section>a.navbar.docs-sourcelink .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.docstring>section>a.navbar.docs-sourcelink .navbar-item.has-dropdown.is-active .navbar-link{background-color:#39acda;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active,.docstring>section>a.navbar.docs-sourcelink .navbar-dropdown a.navbar-item.is-active{background-color:#4eb5de;color:#fff}}.navbar.is-link{background-color:#2e63b8;color:#fff}.navbar.is-link .navbar-brand>.navbar-item,.navbar.is-link .navbar-brand .navbar-link{color:#fff}.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-link .navbar-start>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-end .navbar-link{color:#fff}.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end .navbar-link.is-active{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-start .navbar-link::after,.navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2958a4;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#2e63b8;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-start .navbar-link::after,.navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1190e3;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#22c35b;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-start .navbar-link::after,.navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#1ead51;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#22c35b;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1056px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start .navbar-link::after,.navbar.is-warning .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,0.7)}}.navbar.is-danger{background-color:#da0b00;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1056px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-start .navbar-link::after,.navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#c10a00;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#da0b00;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,0.05)}.navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#fafafa;color:#2e63b8}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(0.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8}.navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#2e63b8;border-bottom-style:solid;border-bottom-width:3px;color:#2e63b8;padding-bottom:calc(0.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#2e63b8;margin-top:-0.375em;right:1.125em}.navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1055px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1056px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(0.25em, -0.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#2e63b8}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1), 0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small,#documenter .docs-sidebar form.docs-search>input.pagination{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-previous,.pagination.is-rounded .pagination-next,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link,#documenter .docs-sidebar form.docs-search>input.pagination .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#363636}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#3c5dcd}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#6b6b6b;opacity:0.5}.pagination-previous,.pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.pagination-link.is-current{background-color:#2e63b8;border-color:#2e63b8;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-heading,.panel-tabs,.panel-block{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-heading:first-child,.panel-tabs:first-child,.panel-block:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#222;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:0.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#222}.panel-list a:hover{color:#2e63b8}.panel-block{align-items:center;color:#222;display:flex;justify-content:flex-start;padding:0.5em 0.75em}.panel-block input[type="checkbox"]{margin-right:0.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#2e63b8;color:#363636}.panel-block.is-active .panel-icon{color:#2e63b8}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#6b6b6b;margin-right:0.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#222;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#222;color:#222}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#2e63b8;color:#2e63b8}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:0.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}.tabs .icon:first-child{margin-right:0.5em}.tabs .icon:last-child{margin-left:0.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:rgba(0,0,0,0) !important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#2e63b8;border-color:#2e63b8;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small,#documenter .docs-sidebar form.docs-search>input.tabs{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.3333333333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.3333333333%}.columns.is-mobile>.column.is-2{flex:none;width:16.6666666667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.6666666667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.3333333333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.3333333333%}.columns.is-mobile>.column.is-5{flex:none;width:41.6666666667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.6666666667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.3333333333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.3333333333%}.columns.is-mobile>.column.is-8{flex:none;width:66.6666666667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.6666666667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.3333333333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.3333333333%}.columns.is-mobile>.column.is-11{flex:none;width:91.6666666667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.6666666667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.3333333333%}.column.is-offset-1-mobile{margin-left:8.3333333333%}.column.is-2-mobile{flex:none;width:16.6666666667%}.column.is-offset-2-mobile{margin-left:16.6666666667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.3333333333%}.column.is-offset-4-mobile{margin-left:33.3333333333%}.column.is-5-mobile{flex:none;width:41.6666666667%}.column.is-offset-5-mobile{margin-left:41.6666666667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.3333333333%}.column.is-offset-7-mobile{margin-left:58.3333333333%}.column.is-8-mobile{flex:none;width:66.6666666667%}.column.is-offset-8-mobile{margin-left:66.6666666667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.3333333333%}.column.is-offset-10-mobile{margin-left:83.3333333333%}.column.is-11-mobile{flex:none;width:91.6666666667%}.column.is-offset-11-mobile{margin-left:91.6666666667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.3333333333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.3333333333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.6666666667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.6666666667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.3333333333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.3333333333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.6666666667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.6666666667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.3333333333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.3333333333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.6666666667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.6666666667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.3333333333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.3333333333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.6666666667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.6666666667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1055px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.3333333333%}.column.is-offset-1-touch{margin-left:8.3333333333%}.column.is-2-touch{flex:none;width:16.6666666667%}.column.is-offset-2-touch{margin-left:16.6666666667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.3333333333%}.column.is-offset-4-touch{margin-left:33.3333333333%}.column.is-5-touch{flex:none;width:41.6666666667%}.column.is-offset-5-touch{margin-left:41.6666666667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.3333333333%}.column.is-offset-7-touch{margin-left:58.3333333333%}.column.is-8-touch{flex:none;width:66.6666666667%}.column.is-offset-8-touch{margin-left:66.6666666667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.3333333333%}.column.is-offset-10-touch{margin-left:83.3333333333%}.column.is-11-touch{flex:none;width:91.6666666667%}.column.is-offset-11-touch{margin-left:91.6666666667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1056px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.3333333333%}.column.is-offset-1-desktop{margin-left:8.3333333333%}.column.is-2-desktop{flex:none;width:16.6666666667%}.column.is-offset-2-desktop{margin-left:16.6666666667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.3333333333%}.column.is-offset-4-desktop{margin-left:33.3333333333%}.column.is-5-desktop{flex:none;width:41.6666666667%}.column.is-offset-5-desktop{margin-left:41.6666666667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.3333333333%}.column.is-offset-7-desktop{margin-left:58.3333333333%}.column.is-8-desktop{flex:none;width:66.6666666667%}.column.is-offset-8-desktop{margin-left:66.6666666667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.3333333333%}.column.is-offset-10-desktop{margin-left:83.3333333333%}.column.is-11-desktop{flex:none;width:91.6666666667%}.column.is-offset-11-desktop{margin-left:91.6666666667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.3333333333%}.column.is-offset-1-widescreen{margin-left:8.3333333333%}.column.is-2-widescreen{flex:none;width:16.6666666667%}.column.is-offset-2-widescreen{margin-left:16.6666666667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.3333333333%}.column.is-offset-4-widescreen{margin-left:33.3333333333%}.column.is-5-widescreen{flex:none;width:41.6666666667%}.column.is-offset-5-widescreen{margin-left:41.6666666667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.3333333333%}.column.is-offset-7-widescreen{margin-left:58.3333333333%}.column.is-8-widescreen{flex:none;width:66.6666666667%}.column.is-offset-8-widescreen{margin-left:66.6666666667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.3333333333%}.column.is-offset-10-widescreen{margin-left:83.3333333333%}.column.is-11-widescreen{flex:none;width:91.6666666667%}.column.is-offset-11-widescreen{margin-left:91.6666666667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.3333333333%}.column.is-offset-1-fullhd{margin-left:8.3333333333%}.column.is-2-fullhd{flex:none;width:16.6666666667%}.column.is-offset-2-fullhd{margin-left:16.6666666667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.3333333333%}.column.is-offset-4-fullhd{margin-left:33.3333333333%}.column.is-5-fullhd{flex:none;width:41.6666666667%}.column.is-offset-5-fullhd{margin-left:41.6666666667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.3333333333%}.column.is-offset-7-fullhd{margin-left:58.3333333333%}.column.is-8-fullhd{flex:none;width:66.6666666667%}.column.is-offset-8-fullhd{margin-left:66.6666666667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.3333333333%}.column.is-offset-10-fullhd{margin-left:83.3333333333%}.column.is-11-fullhd{flex:none;width:91.6666666667%}.column.is-offset-11-fullhd{margin-left:91.6666666667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0 !important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1056px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px),print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1055px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1055px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1056px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1056px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.3333333333%}.tile.is-2{flex:none;width:16.6666666667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.3333333333%}.tile.is-5{flex:none;width:41.6666666667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.3333333333%}.tile.is-8{flex:none;width:66.6666666667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.3333333333%}.tile.is-11{flex:none;width:91.6666666667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,0.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1055px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e8e3e4 0%, #fff 71%, #fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,0.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:0.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,0.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width: 1055px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,0.7)}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:0.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}}.hero.is-dark,.content kbd.hero{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.content kbd.hero a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong,.content kbd.hero strong{color:inherit}.hero.is-dark .title,.content kbd.hero .title{color:#f5f5f5}.hero.is-dark .subtitle,.content kbd.hero .subtitle{color:rgba(245,245,245,0.9)}.hero.is-dark .subtitle a:not(.button),.content kbd.hero .subtitle a:not(.button),.hero.is-dark .subtitle strong,.content kbd.hero .subtitle strong{color:#f5f5f5}@media screen and (max-width: 1055px){.hero.is-dark .navbar-menu,.content kbd.hero .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.content kbd.hero .navbar-item,.hero.is-dark .navbar-link,.content kbd.hero .navbar-link{color:rgba(245,245,245,0.7)}.hero.is-dark a.navbar-item:hover,.content kbd.hero a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.content kbd.hero a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.content kbd.hero .navbar-link:hover,.hero.is-dark .navbar-link.is-active,.content kbd.hero .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a,.content kbd.hero .tabs a{color:#f5f5f5;opacity:0.9}.hero.is-dark .tabs a:hover,.content kbd.hero .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a,.content kbd.hero .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.content kbd.hero .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a,.content kbd.hero .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.content kbd.hero .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover,.content kbd.hero .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.content kbd.hero .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.content kbd.hero .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold,.content kbd.hero.is-bold{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu,.content kbd.hero.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}}.hero.is-primary,.docstring>section>a.hero.docs-sourcelink{background-color:#4eb5de;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.docstring>section>a.hero.docs-sourcelink a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong,.docstring>section>a.hero.docs-sourcelink strong{color:inherit}.hero.is-primary .title,.docstring>section>a.hero.docs-sourcelink .title{color:#fff}.hero.is-primary .subtitle,.docstring>section>a.hero.docs-sourcelink .subtitle{color:rgba(255,255,255,0.9)}.hero.is-primary .subtitle a:not(.button),.docstring>section>a.hero.docs-sourcelink .subtitle a:not(.button),.hero.is-primary .subtitle strong,.docstring>section>a.hero.docs-sourcelink .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-primary .navbar-menu,.docstring>section>a.hero.docs-sourcelink .navbar-menu{background-color:#4eb5de}}.hero.is-primary .navbar-item,.docstring>section>a.hero.docs-sourcelink .navbar-item,.hero.is-primary .navbar-link,.docstring>section>a.hero.docs-sourcelink .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-primary a.navbar-item:hover,.docstring>section>a.hero.docs-sourcelink a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.docstring>section>a.hero.docs-sourcelink a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.docstring>section>a.hero.docs-sourcelink .navbar-link:hover,.hero.is-primary .navbar-link.is-active,.docstring>section>a.hero.docs-sourcelink .navbar-link.is-active{background-color:#39acda;color:#fff}.hero.is-primary .tabs a,.docstring>section>a.hero.docs-sourcelink .tabs a{color:#fff;opacity:0.9}.hero.is-primary .tabs a:hover,.docstring>section>a.hero.docs-sourcelink .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.docstring>section>a.hero.docs-sourcelink .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#4eb5de}.hero.is-primary.is-bold,.docstring>section>a.hero.is-bold.docs-sourcelink{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu,.docstring>section>a.hero.is-bold.docs-sourcelink .navbar-menu{background-image:linear-gradient(141deg, #1bc7de 0%, #4eb5de 71%, #5fa9e7 100%)}}.hero.is-link{background-color:#2e63b8;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,0.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-link .navbar-menu{background-color:#2e63b8}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-link a.navbar-item:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link .navbar-link:hover,.hero.is-link .navbar-link.is-active{background-color:#2958a4;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:0.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#2e63b8}.hero.is-link.is-bold{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}@media screen and (max-width: 768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1b6098 0%, #2e63b8 71%, #2d51d2 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,0.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#1190e3;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:0.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #05a6d6 0%, #209cee 71%, #3287f5 100%)}}.hero.is-success{background-color:#22c35b;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,0.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-success .navbar-menu{background-color:#22c35b}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#1ead51;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:0.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#22c35b}.hero.is-success.is-bold{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #12a02c 0%, #22c35b 71%, #1fdf83 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,0.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,0.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1055px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd83e;color:rgba(0,0,0,0.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ffae24 0%, #ffdd57 71%, #fffa71 100%)}}.hero.is-danger{background-color:#da0b00;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1055px){.hero.is-danger .navbar-menu{background-color:#da0b00}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#c10a00;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:0.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#da0b00}.hero.is-danger.is-bold{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #a70013 0%, #da0b00 71%, #f43500 100%)}}.hero.is-small .hero-body,#documenter .docs-sidebar form.docs-search>input.hero .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px),print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px),print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%, -50%, 0)}.hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width: 1056px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}h1 .docs-heading-anchor,h1 .docs-heading-anchor:hover,h1 .docs-heading-anchor:visited,h2 .docs-heading-anchor,h2 .docs-heading-anchor:hover,h2 .docs-heading-anchor:visited,h3 .docs-heading-anchor,h3 .docs-heading-anchor:hover,h3 .docs-heading-anchor:visited,h4 .docs-heading-anchor,h4 .docs-heading-anchor:hover,h4 .docs-heading-anchor:visited,h5 .docs-heading-anchor,h5 .docs-heading-anchor:hover,h5 .docs-heading-anchor:visited,h6 .docs-heading-anchor,h6 .docs-heading-anchor:hover,h6 .docs-heading-anchor:visited{color:#222}h1 .docs-heading-anchor-permalink,h2 .docs-heading-anchor-permalink,h3 .docs-heading-anchor-permalink,h4 .docs-heading-anchor-permalink,h5 .docs-heading-anchor-permalink,h6 .docs-heading-anchor-permalink{visibility:hidden;vertical-align:middle;margin-left:0.5em;font-size:0.7rem}h1 .docs-heading-anchor-permalink::before,h2 .docs-heading-anchor-permalink::before,h3 .docs-heading-anchor-permalink::before,h4 .docs-heading-anchor-permalink::before,h5 .docs-heading-anchor-permalink::before,h6 .docs-heading-anchor-permalink::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f0c1"}h1:hover .docs-heading-anchor-permalink,h2:hover .docs-heading-anchor-permalink,h3:hover .docs-heading-anchor-permalink,h4:hover .docs-heading-anchor-permalink,h5:hover .docs-heading-anchor-permalink,h6:hover .docs-heading-anchor-permalink{visibility:visible}.docs-dark-only{display:none !important}pre{position:relative;overflow:hidden}pre code,pre code.hljs{padding:0 .75rem !important;overflow:auto;display:block}pre code:first-of-type,pre code.hljs:first-of-type{padding-top:0.5rem !important}pre code:last-of-type,pre code.hljs:last-of-type{padding-bottom:0.5rem !important}pre .copy-button{opacity:0.2;transition:opacity 0.2s;position:absolute;right:0em;top:0em;padding:0.5em;width:2.5em;height:2.5em;background:transparent;border:none;font-family:"Font Awesome 5 Free";color:#222;cursor:pointer;text-align:center}pre .copy-button:focus,pre .copy-button:hover{opacity:1;background:rgba(34,34,34,0.1);color:#2e63b8}pre .copy-button.success{color:#259a12;opacity:1}pre .copy-button.error{color:#cb3c33;opacity:1}pre:hover .copy-button{opacity:1}.admonition{background-color:#b5b5b5;border-style:solid;border-width:1px;border-color:#363636;border-radius:4px;font-size:1rem}.admonition strong{color:currentColor}.admonition.is-small,#documenter .docs-sidebar form.docs-search>input.admonition{font-size:.75rem}.admonition.is-medium{font-size:1.25rem}.admonition.is-large{font-size:1.5rem}.admonition.is-default{background-color:#b5b5b5;border-color:#363636}.admonition.is-default>.admonition-header{background-color:#363636;color:#fff}.admonition.is-default>.admonition-body{color:#fff}.admonition.is-info{background-color:#def0fc;border-color:#209cee}.admonition.is-info>.admonition-header{background-color:#209cee;color:#fff}.admonition.is-info>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-success{background-color:#bdf4d1;border-color:#22c35b}.admonition.is-success>.admonition-header{background-color:#22c35b;color:#fff}.admonition.is-success>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-warning{background-color:#fff3c5;border-color:#ffdd57}.admonition.is-warning>.admonition-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.admonition.is-warning>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-danger{background-color:#ffaba7;border-color:#da0b00}.admonition.is-danger>.admonition-header{background-color:#da0b00;color:#fff}.admonition.is-danger>.admonition-body{color:rgba(0,0,0,0.7)}.admonition.is-compat{background-color:#bdeff5;border-color:#1db5c9}.admonition.is-compat>.admonition-header{background-color:#1db5c9;color:#fff}.admonition.is-compat>.admonition-body{color:rgba(0,0,0,0.7)}.admonition-header{color:#fff;background-color:#363636;align-items:center;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.5rem .75rem;position:relative}.admonition-header:before{font-family:"Font Awesome 5 Free";font-weight:900;margin-right:.75rem;content:"\f06a"}.admonition-body{color:#222;padding:0.5rem .75rem}.admonition-body pre{background-color:#f5f5f5}.admonition-body code{background-color:rgba(0,0,0,0.05)}.docstring{margin-bottom:1em;background-color:rgba(0,0,0,0);border:1px solid #dbdbdb;box-shadow:2px 2px 3px rgba(10,10,10,0.1);max-width:100%}.docstring>header{display:flex;flex-grow:1;align-items:stretch;padding:0.5rem .75rem;background-color:#f5f5f5;box-shadow:0 1px 2px rgba(10,10,10,0.1);box-shadow:none;border-bottom:1px solid #dbdbdb}.docstring>header code{background-color:transparent}.docstring>header .docstring-binding{margin-right:0.3em}.docstring>header .docstring-category{margin-left:0.3em}.docstring>section{position:relative;padding:.75rem .75rem;border-bottom:1px solid #dbdbdb}.docstring>section:last-child{border-bottom:none}.docstring>section>a.docs-sourcelink{transition:opacity 0.3s;opacity:0;position:absolute;right:.375rem;bottom:.375rem}.docstring>section>a.docs-sourcelink:focus{opacity:1 !important}.docstring:hover>section>a.docs-sourcelink{opacity:0.2}.docstring:focus-within>section>a.docs-sourcelink{opacity:0.2}.docstring>section:hover a.docs-sourcelink{opacity:1}.documenter-example-output{background-color:#fff}.outdated-warning-overlay{position:fixed;top:0;left:0;right:0;box-shadow:0 0 10px rgba(0,0,0,0.3);z-index:999;background-color:#ffaba7;color:rgba(0,0,0,0.7);border-bottom:3px solid #da0b00;padding:10px 35px;text-align:center;font-size:15px}.outdated-warning-overlay .outdated-warning-closer{position:absolute;top:calc(50% - 10px);right:18px;cursor:pointer;width:12px}.outdated-warning-overlay a{color:#2e63b8}.outdated-warning-overlay a:hover{color:#363636}.content pre{border:1px solid #dbdbdb}.content code{font-weight:inherit}.content a code{color:#2e63b8}.content h1 code,.content h2 code,.content h3 code,.content h4 code,.content h5 code,.content h6 code{color:#222}.content table{display:block;width:initial;max-width:100%;overflow-x:auto}.content blockquote>ul:first-child,.content blockquote>ol:first-child,.content .admonition-body>ul:first-child,.content .admonition-body>ol:first-child{margin-top:0}pre,code{font-variant-ligatures:no-contextual}.breadcrumb a.is-disabled{cursor:default;pointer-events:none}.breadcrumb a.is-disabled,.breadcrumb a.is-disabled:hover{color:#222}.hljs{background:initial !important}.katex .katex-mathml{top:0;right:0}.katex-display,mjx-container,.MathJax_Display{margin:0.5em 0 !important}html{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto}li.no-marker{list-style:none}#documenter .docs-main>article{overflow-wrap:break-word}#documenter .docs-main>article .math-container{overflow-x:auto;overflow-y:hidden}@media screen and (min-width: 1056px){#documenter .docs-main{max-width:52rem;margin-left:20rem;padding-right:1rem}}@media screen and (max-width: 1055px){#documenter .docs-main{width:100%}#documenter .docs-main>article{max-width:52rem;margin-left:auto;margin-right:auto;margin-bottom:1rem;padding:0 1rem}#documenter .docs-main>header,#documenter .docs-main>nav{max-width:100%;width:100%;margin:0}}#documenter .docs-main header.docs-navbar{background-color:#fff;border-bottom:1px solid #dbdbdb;z-index:2;min-height:4rem;margin-bottom:1rem;display:flex}#documenter .docs-main header.docs-navbar .breadcrumb{flex-grow:1}#documenter .docs-main header.docs-navbar .docs-right{display:flex;white-space:nowrap}#documenter .docs-main header.docs-navbar .docs-right .docs-icon,#documenter .docs-main header.docs-navbar .docs-right .docs-label,#documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{display:inline-block}#documenter .docs-main header.docs-navbar .docs-right .docs-label{padding:0;margin-left:0.3em}#documenter .docs-main header.docs-navbar .docs-right .docs-settings-button{margin:auto 0 auto 1rem}#documenter .docs-main header.docs-navbar .docs-right .docs-sidebar-button{font-size:1.5rem;margin:auto 0 auto 1rem}#documenter .docs-main header.docs-navbar>*{margin:auto 0}@media screen and (max-width: 1055px){#documenter .docs-main header.docs-navbar{position:sticky;top:0;padding:0 1rem;transition-property:top, box-shadow;-webkit-transition-property:top, box-shadow;transition-duration:0.3s;-webkit-transition-duration:0.3s}#documenter .docs-main header.docs-navbar.headroom--not-top{box-shadow:.2rem 0rem .4rem #bbb;transition-duration:0.7s;-webkit-transition-duration:0.7s}#documenter .docs-main header.docs-navbar.headroom--unpinned.headroom--not-top.headroom--not-bottom{top:-4.5rem;transition-duration:0.7s;-webkit-transition-duration:0.7s}}#documenter .docs-main section.footnotes{border-top:1px solid #dbdbdb}#documenter .docs-main section.footnotes li .tag:first-child,#documenter .docs-main section.footnotes li .docstring>section>a.docs-sourcelink:first-child,#documenter .docs-main section.footnotes li .content kbd:first-child,.content #documenter .docs-main section.footnotes li kbd:first-child{margin-right:1em;margin-bottom:0.4em}#documenter .docs-main .docs-footer{display:flex;flex-wrap:wrap;margin-left:0;margin-right:0;border-top:1px solid #dbdbdb;padding-top:1rem;padding-bottom:1rem}@media screen and (max-width: 1055px){#documenter .docs-main .docs-footer{padding-left:1rem;padding-right:1rem}}#documenter .docs-main .docs-footer .docs-footer-nextpage,#documenter .docs-main .docs-footer .docs-footer-prevpage{flex-grow:1}#documenter .docs-main .docs-footer .docs-footer-nextpage{text-align:right}#documenter .docs-main .docs-footer .flexbox-break{flex-basis:100%;height:0}#documenter .docs-main .docs-footer .footer-message{font-size:0.8em;margin:0.5em auto 0 auto;text-align:center}#documenter .docs-sidebar{display:flex;flex-direction:column;color:#0a0a0a;background-color:#f5f5f5;border-right:1px solid #dbdbdb;padding:0;flex:0 0 18rem;z-index:5;font-size:1rem;position:fixed;left:-18rem;width:18rem;height:100%;transition:left 0.3s}#documenter .docs-sidebar.visible{left:0;box-shadow:.4rem 0rem .8rem #bbb}@media screen and (min-width: 1056px){#documenter .docs-sidebar.visible{box-shadow:none}}@media screen and (min-width: 1056px){#documenter .docs-sidebar{left:0;top:0}}#documenter .docs-sidebar .docs-logo{margin-top:1rem;padding:0 1rem}#documenter .docs-sidebar .docs-logo>img{max-height:6rem;margin:auto}#documenter .docs-sidebar .docs-package-name{flex-shrink:0;font-size:1.5rem;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;padding:0.5rem 0}#documenter .docs-sidebar .docs-package-name .docs-autofit{max-width:16.2rem}#documenter .docs-sidebar .docs-package-name a,#documenter .docs-sidebar .docs-package-name a:hover{color:#0a0a0a}#documenter .docs-sidebar .docs-version-selector{border-top:1px solid #dbdbdb;display:none;padding:0.5rem}#documenter .docs-sidebar .docs-version-selector.visible{display:flex}#documenter .docs-sidebar ul.docs-menu{flex-grow:1;user-select:none;border-top:1px solid #dbdbdb;padding-bottom:1.5rem}#documenter .docs-sidebar ul.docs-menu>li>.tocitem{font-weight:bold}#documenter .docs-sidebar ul.docs-menu>li li{font-size:.95rem;margin-left:1em;border-left:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu input.collapse-toggle{display:none}#documenter .docs-sidebar ul.docs-menu ul.collapsed{display:none}#documenter .docs-sidebar ul.docs-menu input:checked~ul.collapsed{display:block}#documenter .docs-sidebar ul.docs-menu label.tocitem{display:flex}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-label{flex-grow:2}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1;font-size:.75rem;margin-left:1rem;margin-top:auto;margin-bottom:auto}#documenter .docs-sidebar ul.docs-menu label.tocitem .docs-chevron::before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f054"}#documenter .docs-sidebar ul.docs-menu input:checked~label.tocitem .docs-chevron::before{content:"\f078"}#documenter .docs-sidebar ul.docs-menu .tocitem{display:block;padding:0.5rem 0.5rem}#documenter .docs-sidebar ul.docs-menu .tocitem,#documenter .docs-sidebar ul.docs-menu .tocitem:hover{color:#0a0a0a;background:#f5f5f5}#documenter .docs-sidebar ul.docs-menu a.tocitem:hover,#documenter .docs-sidebar ul.docs-menu label.tocitem:hover{color:#0a0a0a;background-color:#ebebeb}#documenter .docs-sidebar ul.docs-menu li.is-active{border-top:1px solid #dbdbdb;border-bottom:1px solid #dbdbdb;background-color:#fff}#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem,#documenter .docs-sidebar ul.docs-menu li.is-active .tocitem:hover{background-color:#fff;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu li.is-active ul.internal .tocitem:hover{background-color:#ebebeb;color:#0a0a0a}#documenter .docs-sidebar ul.docs-menu>li.is-active:first-child{border-top:none}#documenter .docs-sidebar ul.docs-menu ul.internal{margin:0 0.5rem 0.5rem;border-top:1px solid #dbdbdb}#documenter .docs-sidebar ul.docs-menu ul.internal li{font-size:.85rem;border-left:none;margin-left:0;margin-top:0.5rem}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem{width:100%;padding:0}#documenter .docs-sidebar ul.docs-menu ul.internal .tocitem::before{content:"⚬";margin-right:0.4em}#documenter .docs-sidebar form.docs-search{margin:auto;margin-top:0.5rem;margin-bottom:0.5rem}#documenter .docs-sidebar form.docs-search>input{width:14.4rem}@media screen and (min-width: 1056px){#documenter .docs-sidebar ul.docs-menu{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar ul.docs-menu::-webkit-scrollbar-thumb:hover{background:#ccc}}@media screen and (max-width: 1055px){#documenter .docs-sidebar{overflow-y:auto;-webkit-overflow-scroll:touch}#documenter .docs-sidebar::-webkit-scrollbar{width:.3rem;background:none}#documenter .docs-sidebar::-webkit-scrollbar-thumb{border-radius:5px 0px 0px 5px;background:#e0e0e0}#documenter .docs-sidebar::-webkit-scrollbar-thumb:hover{background:#ccc}}#documenter .docs-main #documenter-search-info{margin-bottom:1rem}#documenter .docs-main #documenter-search-results{list-style-type:circle;list-style-position:outside}#documenter .docs-main #documenter-search-results li{margin-left:2rem}#documenter .docs-main #documenter-search-results .docs-highlight{background-color:yellow}.ansi span.sgr1{font-weight:bolder}.ansi span.sgr2{font-weight:lighter}.ansi span.sgr3{font-style:italic}.ansi span.sgr4{text-decoration:underline}.ansi span.sgr7{color:#fff;background-color:#222}.ansi span.sgr8{color:transparent}.ansi span.sgr8 span{color:transparent}.ansi span.sgr9{text-decoration:line-through}.ansi span.sgr30{color:#242424}.ansi span.sgr31{color:#a7201f}.ansi span.sgr32{color:#066f00}.ansi span.sgr33{color:#856b00}.ansi span.sgr34{color:#2149b0}.ansi span.sgr35{color:#7d4498}.ansi span.sgr36{color:#007989}.ansi span.sgr37{color:gray}.ansi span.sgr40{background-color:#242424}.ansi span.sgr41{background-color:#a7201f}.ansi span.sgr42{background-color:#066f00}.ansi span.sgr43{background-color:#856b00}.ansi span.sgr44{background-color:#2149b0}.ansi span.sgr45{background-color:#7d4498}.ansi span.sgr46{background-color:#007989}.ansi span.sgr47{background-color:gray}.ansi span.sgr90{color:#616161}.ansi span.sgr91{color:#cb3c33}.ansi span.sgr92{color:#0e8300}.ansi span.sgr93{color:#a98800}.ansi span.sgr94{color:#3c5dcd}.ansi span.sgr95{color:#9256af}.ansi span.sgr96{color:#008fa3}.ansi span.sgr97{color:#f5f5f5}.ansi span.sgr100{background-color:#616161}.ansi span.sgr101{background-color:#cb3c33}.ansi span.sgr102{background-color:#0e8300}.ansi span.sgr103{background-color:#a98800}.ansi span.sgr104{background-color:#3c5dcd}.ansi span.sgr105{background-color:#9256af}.ansi span.sgr106{background-color:#008fa3}.ansi span.sgr107{background-color:#f5f5f5}code.language-julia-repl>span.hljs-meta{color:#066f00;font-weight:bolder}/*! + Theme: Default + Description: Original highlight.js style + Author: (c) Ivan Sagalaev + Maintainer: @highlightjs/core-team + Website: https://highlightjs.org/ + License: see project LICENSE + Touched: 2021 +*/pre code.hljs{display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{background:#F0F0F0;color:#444}.hljs-comment{color:#888888}.hljs-tag,.hljs-punctuation{color:#444a}.hljs-tag .hljs-name,.hljs-tag .hljs-attr{color:#444}.hljs-keyword,.hljs-attribute,.hljs-selector-tag,.hljs-meta .hljs-keyword,.hljs-doctag,.hljs-name{font-weight:bold}.hljs-type,.hljs-string,.hljs-number,.hljs-selector-id,.hljs-selector-class,.hljs-quote,.hljs-template-tag,.hljs-deletion{color:#880000}.hljs-title,.hljs-section{color:#880000;font-weight:bold}.hljs-regexp,.hljs-symbol,.hljs-variable,.hljs-template-variable,.hljs-link,.hljs-selector-attr,.hljs-operator,.hljs-selector-pseudo{color:#BC6060}.hljs-literal{color:#78A960}.hljs-built_in,.hljs-bullet,.hljs-code,.hljs-addition{color:#397300}.hljs-meta{color:#1f7199}.hljs-meta .hljs-string{color:#4d99bf}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold} diff --git a/previews/PR1101/assets/themeswap.js b/previews/PR1101/assets/themeswap.js new file mode 100644 index 000000000..c58e993e3 --- /dev/null +++ b/previews/PR1101/assets/themeswap.js @@ -0,0 +1,66 @@ +// Small function to quickly swap out themes. Gets put into the tag.. +function set_theme_from_local_storage() { + // Intialize the theme to null, which means default + var theme = null; + // If the browser supports the localstorage and is not disabled then try to get the + // documenter theme + if(window.localStorage != null) { + // Get the user-picked theme from localStorage. May be `null`, which means the default + // theme. + theme = window.localStorage.getItem("documenter-theme"); + } + // Check if the browser supports user color preference + var darkPreference = false; + // Check if the users preference is for dark color scheme + if(window.matchMedia('(prefers-color-scheme: dark)').matches === true) { + darkPreference = true; + } + // Initialize a few variables for the loop: + // + // - active: will contain the index of the theme that should be active. Note that there + // is no guarantee that localStorage contains sane values. If `active` stays `null` + // we either could not find the theme or it is the default (primary) theme anyway. + // Either way, we then need to stick to the primary theme. + // + // - disabled: style sheets that should be disabled (i.e. all the theme style sheets + // that are not the currently active theme) + var active = null; var disabled = []; var darkTheme = null; + for (var i = 0; i < document.styleSheets.length; i++) { + var ss = document.styleSheets[i]; + // The tag of each style sheet is expected to have a data-theme-name attribute + // which must contain the name of the theme. The names in localStorage much match this. + var themename = ss.ownerNode.getAttribute("data-theme-name"); + // attribute not set => non-theme stylesheet => ignore + if(themename === null) continue; + // To distinguish the default (primary) theme, it needs to have the data-theme-primary + // attribute set. + var isprimary = (ss.ownerNode.getAttribute("data-theme-primary") !== null); + // Check if the theme is primary dark theme + var isDarkTheme = (ss.ownerNode.getAttribute("data-theme-primary-dark") !== null); + // If ss is for dark theme then set the value of darkTheme to the name of the theme + if(isDarkTheme) darkTheme = themename; + // If we find a matching theme (and it's not the default), we'll set active to non-null + if(themename === theme) active = i; + // Store the style sheets of inactive themes so that we could disable them + if(themename !== theme) disabled.push(ss); + } + if(active !== null) { + // If we did find an active theme, we'll (1) add the theme--$(theme) class to + document.getElementsByTagName('html')[0].className = "theme--" + theme; + // and (2) disable all the other theme stylesheets + disabled.forEach(function(ss){ + ss.disabled = true; + }); + } + else if(darkTheme !== null && darkPreference === true) { + // If we did find an active theme, we'll (1) add the theme--$(theme) class to + document.getElementsByTagName('html')[0].className = "theme--" + darkTheme; + // and (2) disable all the other theme stylesheets + disabled.forEach(function(ss){ + if (ss.ownerNode.getAttribute("data-theme-name") !== darkTheme) { + ss.disabled = true; + } + }); + } +} +set_theme_from_local_storage(); diff --git a/previews/PR1101/assets/warner.js b/previews/PR1101/assets/warner.js new file mode 100644 index 000000000..5531c8851 --- /dev/null +++ b/previews/PR1101/assets/warner.js @@ -0,0 +1,49 @@ +function maybeAddWarning () { + // DOCUMENTER_NEWEST is defined in versions.js, DOCUMENTER_CURRENT_VERSION and DOCUMENTER_STABLE + // in siteinfo.js. + // If either of these are undefined something went horribly wrong, so we abort. + if ( + window.DOCUMENTER_NEWEST === undefined || + window.DOCUMENTER_CURRENT_VERSION === undefined || + window.DOCUMENTER_STABLE === undefined + ) { + return + }; + + // Current version is not a version number, so we can't tell if it's the newest version. Abort. + if (!/v(\d+\.)*\d+/.test(window.DOCUMENTER_CURRENT_VERSION)) { + return + }; + + // Current version is newest version, so no need to add a warning. + if (window.DOCUMENTER_NEWEST === window.DOCUMENTER_CURRENT_VERSION) { + return + }; + + // Add a noindex meta tag (unless one exists) so that search engines don't index this version of the docs. + if (document.body.querySelector('meta[name="robots"]') === null) { + const meta = document.createElement('meta'); + meta.name = 'robots'; + meta.content = 'noindex'; + + document.getElementsByTagName('head')[0].appendChild(meta); + }; + + const div = document.createElement('div'); + div.classList.add('outdated-warning-overlay'); + const closer = document.createElement('button'); + closer.classList.add('outdated-warning-closer', 'delete'); + closer.addEventListener('click', function () { + document.body.removeChild(div); + }); + const href = window.documenterBaseURL + '/../' + window.DOCUMENTER_STABLE; + div.innerHTML = 'This documentation is not for the latest stable release, but for either the development version or an older release.
    Click here to go to the documentation for the latest stable release.'; + div.appendChild(closer); + document.body.appendChild(div); +}; + +if (document.readyState === 'loading') { + document.addEventListener('DOMContentLoaded', maybeAddWarning); +} else { + maybeAddWarning(); +}; diff --git a/previews/PR1101/example2.h5 b/previews/PR1101/example2.h5 new file mode 100644 index 0000000000000000000000000000000000000000..a469af773606fca03e327c2c70227142ab4a12d8 GIT binary patch literal 1936 zcmeD5aB<`1lHy_j0S*oZ76t(@6Gr@pf(h&p5f~pPp8#brLg@}Dy@CnCU<8^7l9Pan z3qZ|(zzPuvfQp9%xw?XwF!NzFRC<&e;UVDR>IhCM5zuhpfYK+R=?oS;uyhDZS1@sM zXrgV1uZKI+PKno)IDdsYn +Home · HDF5.jl

    HDF5.jl

    Overview

    HDF5 stands for Hierarchical Data Format v5 and is closely modeled on file systems. In HDF5, a "group" is analogous to a directory, a "dataset" is like a file. HDF5 also uses "attributes" to associate metadata with a particular group or dataset. HDF5 uses ASCII names for these different objects, and objects can be accessed by Unix-like pathnames, e.g., "/sample1/tempsensor/firsttrial" for a top-level group "sample1", a subgroup "tempsensor", and a dataset "firsttrial".

    For simple types (scalars, strings, and arrays), HDF5 provides sufficient metadata to know how each item is to be interpreted. For example, HDF5 encodes that a given block of bytes is to be interpreted as an array of Int64, and represents them in a way that is compatible across different computing architectures.

    However, to preserve Julia objects, one generally needs additional type information to be supplied, which is easy to provide using attributes. This is handled for you automatically in the JLD/JLD2. These specific formats (conventions) provide "extra" functionality, but they are still both regular HDF5 files and are therefore compatible with any HDF5 reader or writer.

    Language wrappers for HDF5 are often described as either "low level" or "high level." This package contains both flavors: at the low level, it directly wraps HDF5's functions, thus copying their API and making them available from within Julia. At the high level, it provides a set of functions built on the low-level wrap which may make the usage of this library more convenient.

    Installation

    julia>]
    +pkg> add HDF5

    Starting from Julia 1.3, the HDF5 binaries are by default downloaded using the HDF5_jll package.

    Using custom or system provided HDF5 binaries

    Migration from HDF5.jl v0.16 and earlier

    How to use a system-provided HDF5 library has been changed in HDF5.jl v0.17. Previously, the library path was set by the environment variable JULIA_HDF5_PATH, which required to rebuild HDF5.jl afterwards. The environment variable has been removed and no longer has an effect (for backward compatibility it is still recommended to also set the environment variable). Instead, proceed as described below.

    To use system-provided HDF5 binaries instead, set the preferences libhdf5 and libhdf5_hl, see also Preferences.jl. These need to point to the local paths of the libraries libhdf5 and libhdf5_hl.

    For example, to use HDF5 (libhdf5-mpich-dev) with MPI using system libraries on Ubuntu 20.04, you would run

    $ sudo apt install mpich libhdf5-mpich-dev

    If your system HDF5 library is compiled with MPI, you need to tell MPI.jl to use the same locally installed MPI implementation. This can be done in Julia by running:

    using MPIPreferences
    +MPIPreferences.use_system_binary()

    to set the MPI preferences, see the documentation of MPI.jl. You can set the path to the system library using Preferences.jl by:

    using Preferences, UUIDs
    +
    +set_preferences!(
    +    UUID("f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"), # UUID of HDF5.jl
    +    "libhdf5" => "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5.so",
    +    "libhdf5_hl" => "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so", force = true)

    Also see the file test/configure_packages.jl for an example.

    Both, the MPI preferences and the preferences for HDF5.jl write to a file called LocalPreferences.toml in the project directory. After performing the described steps this file could look like the following:

    [MPIPreferences]
    +_format = "1.0"
    +abi = "MPICH"
    +binary = "system"
    +libmpi = "/software/mpi/lib/libmpi.so"
    +mpiexec = "/software/mpi/bin/mpiexec"
    +
    +[HDF5]
    +libhdf5 = "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5.so"
    +libhdf5_hl = "/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so"

    If you want to switch to another HDF5 library or the library moved, you can call the set_preferences! commands again (or manually edit LocalPreferences.toml) to set the new paths. Using the default implementation provided by HDF5_jll can be done by simply manually deleting the LocalPreferences.toml file.

    Opening and closing files

    "Plain" (i.e., with no extra formatting conventions) HDF5 files are created and/or opened with the h5open command:

    fid = h5open(filename, mode)

    The mode can be any one of the following:

    modeMeaning
    "r"read-only
    "r+"read-write, preserving any existing contents
    "cw"read-write, create file if not existing, preserve existing contents
    "w"read-write, destroying any existing contents (if any)

    For example

    julia> using HDF5
    julia> fname = tempname(); # temporary file
    julia> fid = h5open(fname, "w")🗂️ HDF5.File: (read-write) /tmp/jl_hQd0xo3MFW

    This produces an object of type HDF5File, a subtype of the abstract type DataFile. This file will have no elements (groups, datasets, or attributes) that are not explicitly created by the user.

    When you're finished with a file, you should close it:

    close(fid)

    Closing a file also closes any other open objects (e.g., datasets, groups) in that file. In general, you need to close an HDF5 file to "release" it for use by other applications.

    Creating a group or dataset

    Groups can be created via the function create_group

    julia> create_group(fid, "mygroup")📂 HDF5.Group: /mygroup (file: /tmp/jl_hQd0xo3MFW)

    We can write the "mydataset" by indexing into fid. This also happens to write data to the dataset.

    julia> fid["mydataset"] = rand()0.193303731908682

    Alternatively, we can call create_dataset, which does not write data to the dataset. It merely creates the dataset.

    julia> create_dataset(fid, "myvector", Int, (10,))🔢 HDF5.Dataset: /myvector (file: /tmp/jl_hQd0xo3MFW xfer_mode: 0)

    Creating a dataset within a group is as simple as indexing into the group with the name of the dataset or calling create_dataset with the group as the first argument.

    julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_hQd0xo3MFW)
    julia> g["mydataset"] = "Hello World!""Hello World!"
    julia> create_dataset(g, "myvector", Int, (10,))🔢 HDF5.Dataset: /mygroup/myvector (file: /tmp/jl_hQd0xo3MFW xfer_mode: 0)

    The do syntax is also supported. The file, group, and dataset handles will automatically be closed after the do block terminates.

    julia> h5open("example2.h5", "w") do fid
    +           g = create_group(fid, "mygroup")
    +           dset = create_dataset(g, "myvector", Float64, (10,))
    +           write(dset,rand(10))
    +       endERROR: MethodError: no method matching isless(::HDF5.API.H5S_class_t, ::Int64)
    +
    +Closest candidates are:
    +  isless(::T, !Matched::T) where T<:Enum
    +   @ Base Enums.jl:32
    +  isless(!Matched::AbstractFloat, ::Real)
    +   @ Base operators.jl:179
    +  isless(!Matched::Real, ::Real)
    +   @ Base operators.jl:421
    +  ...

    Opening and closing objects

    If you have a file object fid, and this has a group or dataset called "mygroup" at the top level of a file, you can open it in the following way:

    julia> obj = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_hQd0xo3MFW)
    +├─ 🔢 mydataset
    +└─ 🔢 myvector

    This does not read any data or attributes associated with the object, it's simply a handle for further manipulations. For example:

    julia> g = fid["mygroup"]📂 HDF5.Group: /mygroup (file: /tmp/jl_hQd0xo3MFW)
    +├─ 🔢 mydataset
    +└─ 🔢 myvector
    julia> dset = g["mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_hQd0xo3MFW xfer_mode: 0)

    or simply

    julia> dset = fid["mygroup/mydataset"]🔢 HDF5.Dataset: /mygroup/mydataset (file: /tmp/jl_hQd0xo3MFW xfer_mode: 0)

    When you're done with an object, you can close it using close(obj). If you forget to do this, it will be closed for you anyway when the file is closed, or if obj goes out of scope and gets garbage collected.

    Reading and writing data

    Suppose you have a group g which contains a dataset with path "mydataset", and that you've also opened this dataset as dset = g["mydataset"]. You can read information in this dataset in any of the following ways:

    A = read(dset)
    +A = read(g, "mydataset")
    +Asub = dset[2:3, 1:3]

    The last syntax reads just a subset of the data array (assuming that dset is an array of sufficient size). libhdf5 has internal mechanisms for slicing arrays, and consequently if you need only a small piece of a large array, it can be faster to read just what you need rather than reading the entire array and discarding most of it.

    Datasets can be created with either

    g["mydataset"] = rand(3,5)
    +write(g, "mydataset", rand(3,5))

    One can use the high level interface load and save from FileIO, where an optional OrderedDict can be passed (track_order inferred). Note that using track_order=true or passing an OrderedDict is a promise that the read file has been created with the appropriate ordering flags.

    julia> using OrderedCollections, FileIO
    +julia> save("track_order.h5", OrderedDict("z"=>1, "a"=>2, "g/f"=>3, "g/b"=>4))
    +julia> load("track_order.h5"; dict=OrderedDict())
    +OrderedDict{Any, Any} with 4 entries:
    +  "z"   => 1
    +  "a"   => 2
    +  "g/f" => 3
    +  "g/b" => 4

    Passing parameters

    It is often required to pass parameters to specific routines, which are collected in so-called property lists in HDF5. There are different property lists for different tasks, e.g. for the access/creation of files, datasets, groups. In this high level framework multiple parameters can be simply applied by appending them at the end of function calls as keyword arguments.

    g["A"] = A  # basic
    +g["A", chunk=(5,5)] = A # add chunks
    +
    +B = h5read(fn,"mygroup/B", # two parameters
    +  fapl_mpio=(ccomm,cinfo), # if parameter requires multiple args use tuples
    +  dxpl_mpio=HDF5.H5FD_MPIO_COLLECTIVE )

    This will automatically create the correct property lists, add the properties, and apply the property list while reading/writing the data. The naming of the properties generally follows that of HDF5, i.e. the key fapl_mpio returns the HDF5 functions h5pget/set_fapl_mpio and their corresponding property list type H5P_FILE_ACCESS. The complete list if routines and their interfaces is available at the H5P: Property List Interface documentation. Note that not all properties are available. When searching for a property check whether the corresponding h5pget/set functions are available.

    Chunking and compression

    You can also optionally "chunk" and/or compress your data. For example,

    A = rand(100,100)
    +g["A", chunk=(5,5)] = A

    stores the matrix A in 5-by-5 chunks. Chunking improves efficiency if you write or extract small segments or slices of an array, if these are not stored contiguously.

    A = rand(100,100)
    +g1["A", chunk=(5,5), compress=3] = A
    +g2["A", chunk=(5,5), shuffle=(), deflate=3] = A
    +using H5Zblosc # load in Blosc
    +g3["A", chunk=(5,5), blosc=3] = A

    Standard compression in HDF5 ("compress") corresponds to ("deflate") and uses the deflate/zlib algorithm. The deflate algorithm is often more efficient if prefixed by a "shuffle" filter. Blosc is generally much faster than deflate – however, reading Blosc-compressed HDF5 files require Blosc to be installed. This is the case for Julia, but often not for vanilla HDF5 distributions that may be used outside Julia. (In this case, the structure of the HDF5 file is still accessible, but compressed datasets cannot be read.) Compression requires chunking, and heuristic chunking is automatically used if you specify compression but don't specify chunking.

    It is also possible to write to subsets of an on-disk HDF5 dataset. This is useful to incrementally save to very large datasets you don't want to keep in memory. For example,

    dset = create_dataset(g, "B", datatype(Float64), dataspace(1000,100,10), chunk=(100,100,1))
    +dset[:,1,1] = rand(1000)

    creates a Float64 dataset in the file or group g, with dimensions 1000x100x10, and then writes to just the first 1000 element slice. If you know the typical size of subset reasons you'll be reading/writing, it can be beneficial to set the chunk dimensions appropriately.

    For fine-grained control of filter and compression pipelines, please use the filters keyword to define a filter pipeline. For example, this can be used to include external filter packages. This enables the use of Blosc, Bzip2, LZ4, ZStandard, or custom filter plugins.

    Memory mapping

    If you will frequently be accessing individual elements or small regions of array datasets, it can be substantially more efficient to bypass HDF5 routines and use direct memory mapping. This is possible only under particular conditions: when the dataset is an array of standard "bits" types (e.g., Float64 or Int32) and no chunking/compression is being used. You can use the ismmappable function to test whether this is possible; for example,

    dset = g["x"]
    +if HDF5.ismmappable(dset)
    +    dset = HDF5.readmmap(dset)
    +end
    +val = dset[15]

    Note that readmmap returns an Array rather than an HDF5 object.

    Note: if you use readmmap on a dataset and subsequently close the file, the array data are still available–-and file continues to be in use–-until all of the arrays are garbage-collected. This is in contrast to standard HDF5 datasets, where closing the file prevents further access to any of the datasets, but the file is also detached and can safely be rewritten immediately.

    Under the default allocation-time policy, a newly added ismmappable dataset can only be memory mapped after it has been written to. The following fails:

    vec_dset = create_dataset(g, "v", datatype(Float64), dataspace(10_000,1))
    +HDF5.ismmappable(vec_dset)    # == true
    +vec = HDF5.readmmap(vec_dset) # throws ErrorException("Error mmapping array")

    because although the dataset description has been added, the space within the HDF5 file has not yet actually been allocated (so the file region cannot be memory mapped by the OS). The storage can be allocated by making at least one write:

    vec_dset[1,1] = 0.0      # force allocation of /g/v within the file
    +vec = HDF5.readmmap(vec_dset) # and now the memory mapping can succeed

    Alternatively, the policy can be set so that the space is allocated immediately upon creation of the data set with the alloc_time keyword:

    mtx_dset = create_dataset(g, "M", datatype(Float64), dataspace(100, 1000),
    +                    alloc_time = HDF5.H5D_ALLOC_TIME_EARLY)
    +mtx = HDF5.readmmap(mtx_dset) # succeeds immediately

    Supported data types

    HDF5.jl knows how to store values of the following types: signed and unsigned integers of 8, 16, 32, and 64 bits, Float32, Float64; Complex versions of these numeric types; Arrays of these numeric types (including complex versions); ASCIIString and UTF8String; and Arrays of these two string types. Arrays of strings are supported using HDF5's variable-length-strings facility. By default Complex numbers are stored as compound types with r and i fields following the h5py convention. When reading data, compound types with matching field names will be loaded as the corresponding Complex Julia type. These field names are configurable with the HDF5.set_complex_field_names(real::AbstractString, imag::AbstractString) function and complex support can be completely enabled/disabled with HDF5.enable/disable_complex_support().

    For Arrays, note that the array dimensionality is preserved, including 0-length dimensions:

    fid["zero_vector"] = zeros(0)
    +fid["zero_matrix"] = zeros(0, 0)
    +size(fid["zero_vector"]) # == (0,)
    +size(fid["zero_matrix"]) # == (0, 0)

    An exception to this rule is Julia's 0-dimensional Array, which is stored as an HDF5 scalar because there is a value to be preserved:

    fid["zero_dim_value"] = fill(1.0π)
    +read(fid["zero_dim_value"]) # == 3.141592653589793, != [3.141592653589793]

    HDF5 also has the concept of a null array which contains a type but has neither size nor contents, which is represented by the type HDF5.EmptyArray:

    fid["empty_array"] = HDF5.EmptyArray{Float32}()
    +HDF5.isnull(fid["empty_array"]) # == true
    +size(fid["empty_array"]) # == ()
    +eltype(fid["empty_array"]) # == Float32

    This module also supports HDF5's VLEN, OPAQUE, and REFERENCE types, which can be used to encode more complex types. In general, you need to specify how you want to combine these more advanced facilities to represent more complex data types. For many of the data types in Julia, the JLD module implements support. You can likewise define your own file format if, for example, you need to interact with some external program that has explicit formatting requirements.

    Creating groups and attributes

    Create a new group in the following way:

    g = create_group(parent, name)

    The named group will be created as a child of the parent.

    Attributes can be created using

    attributes(parent)[name] = value

    where attributes simply indicates that the object referenced by name (a string) is an attribute, not another group or dataset. (Datasets cannot have child datasets, but groups can have either.) value must be a simple type: BitsKinds, strings, and arrays of either of these. The HDF5 standard recommends against storing large objects as attributes.

    The value stored in an attribute can be retrieved like

    read_attribute(parent, name)

    You can also access the value of an attribute by indexing, like so:

    julia> attr = attributes(parent)[name];
    +julia> attr[]

    Getting information

    HDF5.name(obj)

    will return the full HDF5 pathname of object obj.

    keys(g)

    returns a string array containing all objects inside group g. These relative pathnames, not absolute pathnames.

    You can iterate over the objects in a group, i.e.,

    for obj in g
    +  data = read(obj)
    +  println(data)
    +end

    This gives you a straightforward way of recursively exploring an entire HDF5 file.

    If you need to know whether group g has a dataset named mydata, you can test that with

    if haskey(g, "mydata")
    +   ...
    +end
    +tf = haskey(g, "mydata")

    If instead you want to know whether g has an attribute named myattribute, do it this way:

    tf = haskey(attributes(g), "myattribute")

    If you have an HDF5 object, and you want to know where it fits in the hierarchy of the file, the following can be useful:

    p = parent(obj)     # p is the parent object (usually a group)
    +fn = HDF5.filename(obj)  # fn is a string
    +g = HDF5.root(obj)       # g is the group "/"

    For array objects (datasets and attributes) the following methods work:

    dims = size(dset)
    +nd = ndims(dset)
    +len = length(dset)

    Objects can be created with properties, and you can query those properties in the following way:

    p = HDF5.get_create_properties(dset)
    +chunksz = HDF5.get_chunk(p)

    The simpler syntax chunksz = HDF5.get_chunk(dset) is also available.

    Finally, sometimes you need to be able to conveniently test whether a file is an HDF5 file:

    tf = HDF5.ishdf5(filename)

    Mid-level routines

    Sometimes you might want more fine-grained control, which can be achieved using a different set of routines. For example,

    g = open_group(parent, name)
    +dset = open_dataset(parent, name[, apl])
    +attr = open_attribute(parent, name)
    +t = open_datatype(parent, name)

    These open the named group, dataset, attribute, and committed datatype, respectively. For datasets, apl stands for "access parameter list" and provides opportunities for more sophisticated control (see the HDF5 documentation).

    New objects can be created in the following ways:

    g = create_group(parent, name[, lcpl, gcpl]; properties...)
    +dset = create_dataset(parent, name, data; properties...)
    +attr = create_attribute(parent, name, data)

    creates groups, datasets, and attributes without writing any data to them. You can then use write(obj, data) to store the data. The optional properties and property lists allow even more fine-grained control. This syntax uses data to infer the object's "HDF5.datatype" and "HDF5.dataspace"; for the most explicit control, data can be replaced with dtype, dspace, where dtype is an HDF5.Datatype and dspace is an HDF5.Dataspace.

    Analogously, to create committed data types, use

    t = commit_datatype(parent, name, dtype[, lcpl, tcpl, tapl])

    You can create and write data in one step,

    write_dataset(parent, name, data; properties...)
    +write_attribute(parent, name, data)

    You can use extendible dimensions,

    d = create_dataset(parent, name, dtype, (dims, max_dims), chunk=(chunk_dims))
    +HDF5.set_extent_dims(d, new_dims)

    where dims is a tuple of integers. For example

    b = create_dataset(fid, "b", Int, ((1000,),(-1,)), chunk=(100,)) #-1 is equivalent to typemax(hsize_t)
    +HDF5.set_extent_dims(b, (10000,))
    +b[1:10000] = collect(1:10000)

    when dimensions are reduced, the truncated data is lost. A maximum dimension of -1 is often referred to as unlimited dimensions, though it is limited by the maximum size of an unsigned integer.

    You can copy data from one file to another:

    copy_object(source, data_name, target, name)
    +copy_object(source[data_name], target, name)

    Finally, it's possible to delete objects:

    delete_object(parent, name)   # for groups, datasets, and datatypes
    +delete_attribute(parent, name)   # for attributes

    Low-level routines

    Many of the most commonly-used libhdf5 functions have been wrapped in a submodule API. The library follows a consistent convention: for example, libhdf5's H5Adelete is wrapped with a Julia function called h5a_delete. The arguments are exactly as specified in the HDF5 reference manual. Note that the functions in the API submodule are not exported, so unless you import them specifically, you need to preface them with HDF5.API to use them: for example, HDF5.API.h5a_delete.

    HDF5 is a large library, and the low-level wrap is not complete. However, many of the most-commonly used functions are wrapped, and in general wrapping a new function takes only a single line of code. Users who need additional functionality are encouraged to contribute it.

    Note that Julia's HDF5 directly uses the "2" interfaces, e.g., H5Dcreate2, so you need to have version 1.8 of the HDF5 library or later.

    Language interoperability with row- and column-major order arrays

    There are two main methods for storing multidimensional arrays in linear storage row-major order and column-major order. Julia, like Fortran and MATLAB, stores multidimensional arrays in column-major order, while other languages, including C and Python (NumPy), use row-major order. Therefore when reading an array in Julia from row-major order language the dimensions may be inverted.

    To read a multidimensional array into the original shape from an HDF5 file written by Python (numpy and h5py) or C/C++/Objective-C, simply reverse the dimensions. For example, one may add the following line after reading the dataset dset:

    dset = permutedims(dset, reverse(1:ndims(dset)))

    Note that some languages or libraries use both methods, so please check the datset's description for details. For example, NumPy arrays are row-major by default, but NumPy can use either row-major or column-major ordered arrays.

    Credits

    • Konrad Hinsen initiated Julia's support for HDF5

    • Tim Holy and Simon Kornblith (primary authors)

    • Tom Short contributed code and ideas to the dictionary-like interface

    • Blake Johnson made several improvements, such as support for iterating over attributes

    • Isaiah Norton and Elliot Saba improved installation on Windows and OSX

    • Steve Johnson contributed the do syntax and Blosc compression

    • Mike Nolta and Jameson Nash contributed code or suggestions for improving the handling of HDF5's constants

    • Thanks also to the users who have reported bugs and tested fixes

    diff --git a/previews/PR1101/interface/attributes/index.html b/previews/PR1101/interface/attributes/index.html new file mode 100644 index 000000000..d9fe93b39 --- /dev/null +++ b/previews/PR1101/interface/attributes/index.html @@ -0,0 +1,7 @@ + +Attributes · HDF5.jl

    Attributes

    Dictionary interface

    HDF5.attrsFunction
    attrs(object::Union{File,Group,Dataset,Datatype})

    The attributes dictionary of object. Returns an AttributeDict, a Dict-like object for accessing the attributes of object.

    attrs(object)["name"] = value  # create/overwrite an attribute
    +attr = attrs(object)["name"]   # read an attribute
    +delete!(attrs(object), "name") # delete an attribute
    +keys(attrs(object))            # list the attribute names
    source
    HDF5.attributesFunction
    attributes(object::Union{File,Object})

    The attributes of a file or object: this returns an Attributes object, which is Dict-like object for accessing the attributes of object: getindex will return an Attribute object, and setindex! will call write_attribute.

    source

    Mid-level Interface

    HDF5.create_attributeFunction
    create_attribute(parent::Union{File,Object}, name::AbstractString, dtype::Datatype, space::Dataspace)
    +create_attribute(parent::Union{File,Object}, name::AbstractString, data)

    Create a new Attribute object named name on the object parent, either by specifying the Datatype and Dataspace of the attribute, or by providing the data. Note that no data will be written: use write_attribute to write the data.

    source
    HDF5.read_attributeFunction
    read_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)

    Read the value of the named attribute on the parent object.

    Example

    julia> HDF5.read_attribute(g, "time")
    +2.45
    source
    HDF5.rename_attributeFunction
    rename_attribute(parent::Union{File,Object}, oldname::AbstractString, newname::AbstractString)

    Rename the Attribute of the object parent named oldname to newname.

    source

    Convenience interface

    HDF5.h5readattrFunction
    h5readattr(filename, name::AbstractString, data::Dict)

    Read the attributes of the object at name in the HDF5 file filename, returning a Dict.

    source
    HDF5.h5writeattrFunction
    h5writeattr(filename, name::AbstractString, data::Dict)

    Write data as attributes to the object at name in the HDF5 file filename.

    source
    diff --git a/previews/PR1101/interface/configuration/index.html b/previews/PR1101/interface/configuration/index.html new file mode 100644 index 000000000..d67584a28 --- /dev/null +++ b/previews/PR1101/interface/configuration/index.html @@ -0,0 +1,2 @@ + +Configuration · HDF5.jl

    Configuration

    HDF5.has_ros3Function
    has_ros3()

    Returns true if the HDF5 libraries were compiled with ros3 support

    source

    Display

    HDF5.SHOW_TREE_ICONSConstant
    SHOW_TREE_ICONS = Ref{Bool}(true)

    Configurable option to control whether emoji icons (true) or a plain-text annotation (false) is used to indicate the object type by show_tree.

    source

    Internals

    HDF5.get_context_propertyFunction
    get_context_property(name::Symbol)

    Internal API

    Retrieve a property list from the task local context, defaulting to HDF5.CONTEXT if task_local_storage()[:hdf5_context] does not exist.

    source
    HDF5.HDF5ContextType
    HDF5Context

    Internal API

    An HDF5Context is a collection of HDF5 property lists. It is meant to be used as a Task local mechanism to store state and change the default property lists for new objects.

    Use the function get_context_property(name::Symbol) to access a property list within the local context.

    The context in task_local_storage()[:hdf5_context] will be checked first. A common global HDF5Context is stored in the constant HDF5.CONTEXT and serves as the default context if the current task does not have a :hdf5_context.

    Fields

    • attribute_access
    • attribute_create
    • dataset_access
    • dataset_create
    • dataset_tranfer
    • datatype_access
    • datatype_create
    • file_access
    • file_create
    • file_mount
    • group_access
    • group_create
    • link_access
    • link_create
    • object_copy
    • object_create
    • string_create
    source
    diff --git a/previews/PR1101/interface/dataset/index.html b/previews/PR1101/interface/dataset/index.html new file mode 100644 index 000000000..19d234bb8 --- /dev/null +++ b/previews/PR1101/interface/dataset/index.html @@ -0,0 +1,2 @@ + +Dataset · HDF5.jl

    Dataset

    Many dataset operations are available through the indexing interface, which is aliased to the functional interface. Below describes the functional interface.

    HDF5.DatasetType
    HDF5.Dataset

    A mutable wrapper for a HDF5 Dataset HDF5.API.hid_t.

    source
    HDF5.create_datasetFunction
    create_dataset(parent, path, datatype, dataspace; properties...)

    Arguments

    • parent - File or Group
    • path - String describing the path of the dataset within the HDF5 file or nothing to create an anonymous dataset
    • datatype - Datatype or Type or the dataset
    • dataspace - Dataspace or Dims of the dataset
    • properties - keyword name-value pairs set properties of the dataset

    Keywords

    There are many keyword properties that can be set. Below are a few select keywords.

    • chunk - Dims describing the size of a chunk. Needed to apply filters.
    • filters - AbstractVector{<: Filters.Filter} describing the order of the filters to apply to the data. See Filters
    • external - Tuple{AbstractString, Intger, Integer} (filepath, offset, filesize) External dataset file location, data offset, and file size. See API.h5p_set_external.

    Additionally, the initial create, transfer, and access properties can be provided as a keyword:

    source
    Base.copyto!Function
    copyto!(output_buffer::AbstractArray{T}, obj::Union{DatasetOrAttribute}) where T

    Copy [part of] a HDF5 dataset or attribute to a preallocated output buffer. The output buffer must be convertible to a pointer and have a contiguous layout.

    source
    Base.similarFunction
    similar(obj::DatasetOrAttribute, [::Type{T}], [dims::Integer...]; normalize = true)

    Return a Array{T} or Matrix{UInt8} to that can contain [part of] the dataset.

    The normalize keyword will normalize the buffer for string and array datatypes.

    source
    HDF5.create_external_datasetFunction
    create_external_dataset(parent, name, filepath, dtype, dspace, offset = 0)

    Create an external dataset with data in an external file.

    • parent - File or Group
    • name - Name of the Dataset
    • filepath - File path to where the data is tored
    • dtype - Datatype, Type, or value where datatype is applicable
    • offset - Offset, in bytes, from the beginning of the file to the location in the file where the data starts.

    See also API.h5p_set_external to link to multiple segments.

    source
    HDF5.get_datasetsFunction
    get_datasets(file::HDF5.File) -> datasets::Vector{HDF5.Dataset}

    Get all the datasets in an hdf5 file without loading the data.

    source
    HDF5.write_datasetFunction
    write_dataset(parent::Union{File,Group}, name::Union{AbstractString,Nothing}, data; pv...)

    Create and write a dataset with data. Keywords are forwarded to create_dataset. Providing nothing as the name will create an anonymous dataset.

    See also create_dataset

    source
    HDF5.read_datasetFunction
    read_dataset(parent::Union{File,Group}, name::AbstractString)

    Read a dataset with named name from parent. This will typically return an array. The dataset will be opened, read, and closed.

    See also HDF5.open_dataset, Base.read

    source

    Chunks

    HDF5.do_read_chunkFunction
    do_read_chunk(dataset::Dataset, offset)

    Read a raw chunk at a given offset. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

    source
    do_read_chunk(dataset::Dataset, index::Integer)

    Read a raw chunk at a given index. index is 1-based and consecutive up to the number of chunks.

    source
    HDF5.do_write_chunkFunction
    do_write_chunk(dataset::Dataset, offset, chunk_bytes::AbstractArray, filter_mask=0)

    Write a raw chunk at a given offset. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.

    source
    do_write_chunk(dataset::Dataset, index, chunk_bytes::AbstractArray, filter_mask=0)

    Write a raw chunk at a given linear index. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. index is 1-based and consecutive up to the number of chunks.

    source
    HDF5.get_chunk_indexFunction
    HDF5.get_chunk_index(dataset_id, offset)

    Get 0-based index of chunk from 0-based offset returned in Julia's column-major order. For a 1-based API, see HDF5.ChunkStorage.

    source
    HDF5.get_chunk_info_allFunction
    HDF5.get_chunk_info_all(dataset, [dxpl])

    Obtain information on all the chunks in a dataset. Returns a Vector{ChunkInfo{N}}. The fields of ChunkInfo{N} are

    • offset - NTuple{N, Int} indicating the offset of the chunk in terms of elements, reversed to F-order
    • filter_mask - Cuint, 32-bit flags indicating whether filters have been applied to the cunk
    • addr - haddr_t, byte-offset of the chunk in the file
    • size - hsize_t, size of the chunk in bytes
    source
    HDF5.get_chunk_lengthFunction
    HDF5.get_chunk_length(dataset_id)

    Retrieves the chunk size in bytes. Equivalent to API.h5d_get_chunk_info(dataset_id, index)[:size].

    source
    HDF5.get_chunk_offsetFunction
    HDF5.get_chunk_offset(dataset_id, index)

    Get 0-based offset of chunk from 0-based index. The offsets are returned in Julia's column-major order rather than hdf5 row-major order. For a 1-based API, see HDF5.ChunkStorage.

    source
    HDF5.get_num_chunksFunction
    HDF5.get_num_chunks(dataset_id)

    Returns the number of chunks in a dataset. Equivalent to API.h5d_get_num_chunks(dataset_id, HDF5.H5S_ALL).

    source
    HDF5.read_chunkFunction
    HDF5.read_chunk(dataset_id, offset, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

    Helper method to read chunks via 0-based offsets in a Tuple.

    Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.get_chunk_length. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

    This method returns Vector{UInt8}.

    source
    HDF5.read_chunk(dataset_id, index::Integer, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())

    Helper method to read chunks via 0-based integer index.

    Argument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.API.h5d_get_chunk_info. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.

    This method returns Vector{UInt8}.

    source
    HDF5.write_chunkFunction
    HDF5.write_chunk(dataset_id, offset, buf::AbstractArray; dxpl_id = HDF5.API.H5P_DEFAULT, filter_mask = 0)

    Helper method to write chunks via 0-based offsets offset as a Tuple.

    source
    HDF5.write_chunk(dataset_id, index::Integer, buf::AbstractArray; dxpl_id = API.H5P_DEFAULT, filter_mask = 0)

    Helper method to write chunks via 0-based integer index.

    source

    Private Implementation

    These functions select private implementations of the public high-level API. They should be used for diagnostic purposes only.

    diff --git a/previews/PR1101/interface/dataspaces/index.html b/previews/PR1101/interface/dataspaces/index.html new file mode 100644 index 000000000..7a3433b39 --- /dev/null +++ b/previews/PR1101/interface/dataspaces/index.html @@ -0,0 +1,7 @@ + +Dataspaces · HDF5.jl

    Dataspaces

    HDF5.DataspaceType
    HDF5.Dataspace

    A dataspace defines the size and the shape of a dataset or an attribute.

    A dataspace is typically constructed by calling dataspace.

    The following functions have methods defined for Dataspace objects

    • ==
    • ndims
    • size
    • length
    • isempty
    • isnull
    source
    HDF5.dataspaceFunction
    dataspace(obj::Union{Attribute, Dataset, Dataspace})

    The Dataspace of obj.

    source
    dataspace(data)

    The default Dataspace used for representing a Julia object data:

    • strings or numbers: a scalar Dataspace
    • arrays: a simple Dataspace
    • struct types: a scalar Dataspace
    • nothing or an EmptyArray: a null dataspace
    source
    dataspace(dims::Tuple; max_dims::Tuple=dims)
    +dataspace(dims::Tuple, max_dims::Tuple)

    Construct a simple Dataspace for the given dimensions dims. The maximum dimensions maxdims specifies the maximum possible size: -1 can be used to indicate unlimited dimensions.

    source
    HDF5.isnullFunction
    isnull(dspace::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute})

    Determines whether the given object has no size (consistent with the API.H5S_NULL dataspace).

    Examples

    julia> HDF5.isnull(dataspace(HDF5.EmptyArray{Float64}()))
    +true
    +
    +julia> HDF5.isnull(dataspace((0,)))
    +false
    source
    HDF5.get_extent_dimsFunction
    HDF5.get_extent_dims(obj::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute}) -> dims, maxdims

    Get the array dimensions from a dataspace, dataset, or attribute and return a tuple of dims and maxdims.

    source
    HDF5.set_extent_dimsFunction
    HDF5.set_extent_dims(dset::HDF5.Dataset, new_dims::Dims)

    Change the current dimensions of a dataset to new_dims, limited by max_dims = get_extent_dims(dset)[2]. Reduction is possible and leads to loss of truncated data.

    source
    HDF5.set_extent_dims(dspace::HDF5.Dataspace, new_dims::Dims, max_dims::Union{Dims,Nothing} = nothing)

    Change the dimensions of a dataspace dspace to new_dims, optionally with the maximum possible dimensions max_dims different from the active size new_dims. If not given, max_dims is set equal to new_dims.

    source

    Hyperslab

    HDF5.BlockRangeType
    HDF5.BlockRange(;start::Integer, stride::Integer=1, count::Integer=1, block::Integer=1)

    A BlockRange represents a selection along a single dimension of a HDF5 hyperslab. It is similar to a Julia range object, with some extra features for selecting multiple contiguous blocks.

    • start: the index of the first element in the first block (1-based).
    • stride: the step between the first element of each block (must be >0)
    • count: the number of blocks (can be -1 for an unlimited number of blocks)
    • block: the number of elements in each block.
    HDF5.BlockRange(obj::Union{Integer, OrdinalRange})

    Convert obj to a BlockRange object.

    External links

    source
    HDF5.select_hyperslab!Function
    HDF5.select_hyperslab!(dspace::Dataspace, [op, ], idxs::Tuple)

    Selects a hyperslab region of the dspace. idxs should be a tuple of integers, ranges or BlockRange objects.

    • op determines how the new selection is to be combined with the already selected dataspace:
      • :select (default): replace the existing selection with the new selection.
      • :or: adds the new selection to the existing selection. Aliases: |, , union.
      • :and: retains only the overlapping portions of the new and existing selection. Aliases: &, , intersect.
      • :xor: retains only the elements that are members of the new selection or the existing selection, excluding elements that are members of both selections. Aliases: , xor
      • :notb: retains only elements of the existing selection that are not in the new selection. Alias: setdiff.
      • :nota: retains only elements of the new selection that are not in the existing selection.
    source
    diff --git a/previews/PR1101/interface/datatype/index.html b/previews/PR1101/interface/datatype/index.html new file mode 100644 index 000000000..fe30acad9 --- /dev/null +++ b/previews/PR1101/interface/datatype/index.html @@ -0,0 +1,2 @@ + +Datatypes · HDF5.jl

    Datatypes

    HDF5.DatatypeType
    HDF5.Datatype(id, toclose = true)

    Wrapper for a HDF5 datatype id. If toclose is true, the finalizer will close the datatype.

    source
    diff --git a/previews/PR1101/interface/files/index.html b/previews/PR1101/interface/files/index.html new file mode 100644 index 000000000..94d42245d --- /dev/null +++ b/previews/PR1101/interface/files/index.html @@ -0,0 +1,6 @@ + +Files · HDF5.jl

    Files

    HDF5.h5openFunction
    h5open(filename::AbstractString, mode::AbstractString="r"; swmr=false, pv...)

    Open or create an HDF5 file where mode is one of:

    • "r" read only
    • "r+" read and write
    • "cw" read and write, create file if not existing, do not truncate
    • "w" read and write, create a new file (destroys any existing contents)

    Pass swmr=true to enable (Single Writer Multiple Reader) SWMR write access for "w" and "r+", or SWMR read access for "r".

    Properties can be specified as keywords for FileAccessProperties and FileCreateProperties.

    Also the keywords fapl and fcpl can be used to provide default instances of these property lists. Property lists passed in via keyword will be closed. This is useful to set properties not currently defined by HDF5.jl.

    Note that h5open uses fclose_degree = :strong by default, but this can be overriden by the fapl keyword.

    source
    function h5open(f::Function, args...; pv...)

    Apply the function f to the result of h5open(args...; kwargs...) and close the resulting HDF5.File upon completion. For example with a do block:

    h5open("foo.h5","w") do h5
    +    h5["foo"]=[1,2,3]
    +end
    source
    HDF5.ishdf5Function
    ishdf5(name::AbstractString)

    Returns true if the file specified by name is in the HDF5 format, and false otherwise.

    source
    Base.isopenFunction

    isopen(obj::HDF5.File)

    Returns true if obj has not been closed, false if it has been closed.

    source
    Base.readFunction
    read(parent::H5DataStore)
    +read(parent::H5DataStore, names...)

    Read a list of variables, read(parent, "A", "B", "x", ...). If no variables are specified, read every variable in the file.

    source
    read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString; pv...)
    +read(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString => dt::HDF5.Datatype; pv...)

    Read a dataset or attribute from a HDF5 file of group identified by name. Optionally, specify the HDF5.Datatype to be read.

    source
    read(obj::HDF5.DatasetOrAttribute}

    Read the data within a HDF5.Dataset or HDF5.Attribute.

    source
    diff --git a/previews/PR1101/interface/filters/index.html b/previews/PR1101/interface/filters/index.html new file mode 100644 index 000000000..3b7f1944a --- /dev/null +++ b/previews/PR1101/interface/filters/index.html @@ -0,0 +1,73 @@ + +Filters · HDF5.jl

    Filters

    HDF5 supports filters for compression and validation: these are applied sequentially to each chunk of a dataset when writing data, and in reverse order when reading data.

    These can be set by passing a filter or vector of filters as a filters property to DatasetCreateProperties or via the filters keyword argument of create_dataset.

    Example

    HDF5.FiltersModule

    HDF5.Filters

    This module contains the interface for using filters in HDF5.jl.

    Example Usage

    using HDF5
    +using HDF5.Filters
    +
    +# Create a new file
    +fn = tempname()
    +
    +# Create test data
    +data = rand(1000, 1000)
    +
    +# Open temp file for writing
    +f = h5open(fn, "w") 
    +
    +# Create datasets
    +dsdeflate = create_dataset(f, "deflate", datatype(data), dataspace(data),
    +                           chunk=(100, 100), deflate=3)
    +
    +dsshufdef = create_dataset(f, "shufdef", datatype(data), dataspace(data),
    +                           chunk=(100, 100), shuffle=true, deflate=3)
    +
    +dsfiltdef = create_dataset(f, "filtdef", datatype(data), dataspace(data),
    +                           chunk=(100, 100), filters=Filters.Deflate(3))
    +
    +dsfiltshufdef = create_dataset(f, "filtshufdef", datatype(data), dataspace(data),
    +                               chunk=(100, 100), filters=[Filters.Shuffle(), Filters.Deflate(3)])
    +
    +# Write data
    +write(dsdeflate, data)
    +write(dsshufdef, data)
    +write(dsfiltdef, data)
    +write(dsfiltshufdef, data)
    +
    +close(f)

    Additonal Examples

    See test/filter.jl for further examples.

    source

    Built-in Filters

    HDF5.Filters.ShuffleType
    Shuffle()

    The shuffle filter de-interlaces a block of data by reordering the bytes. All the bytes from one consistent byte position of each data element are placed together in one block; all bytes from a second consistent byte position of each data element are placed together a second block; etc. For example, given three data elements of a 4-byte datatype stored as 012301230123, shuffling will re-order data as 000111222333. This can be a valuable step in an effective compression algorithm because the bytes in each byte position are often closely related to each other and putting them together can increase the compression ratio.

    As implied above, the primary value of the shuffle filter lies in its coordinated use with a compression filter; it does not provide data compression when used alone. When the shuffle filter is applied to a dataset immediately prior to the use of a compression filter, the compression ratio achieved is often superior to that achieved by the use of a compression filter without the shuffle filter.

    External links

    source
    HDF5.Filters.SzipType
    Szip(coding=:nn, pixels_per_block=8)

    Szip compression lossless filter. Options:

    • coding: the coding method: either :ec (entropy coding) or :nn (nearest neighbors, default)
    • pixels_per_block: The number of pixels or data elements in each data block (typically 8, 10, 16, or 32)

    External links

    source
    HDF5.Filters.ExternalFilterType
    ExternalFilter(filter_id::API.H5Z_filter_t, flags::Cuint, data::Vector{Cuint}, name::String, config::Cuint)
    +ExternalFilter(filter_id, flags, data::Integer...)
    +ExternalFilter(filter_id, data::AbstractVector{<:Integer} = Cuint[])

    Intended to support arbitrary, unregistered, external filters. Allows the quick creation of filters using internal/proprietary filters without subtyping HDF5.Filters.Filter. Users are instead encouraged to define subtypes on HDF5.Filters.Filter.

    Fields / Arguments

    • filter_id - (required) Integer filter identifer.
    • flags - (optional) bit vector describing general properties of the filter. Defaults to API.H5Z_FLAG_MANDATORY
    • data - (optional) auxillary data for the filter. See cd_values. Defaults to Cuint[]
    • name - (optional) String describing the name of the filter. Defaults to "Unknown Filter with id [filter_id]"
    • config - (optional) bit vector representing information about the filter regarding whether it is able to encode data, decode data, neither, or both. Defaults to 0.

    See also:

    flags bits

    • API.H5Z_FLAG_OPTIONAL
    • API.H5Z_FLAG_MANDATORY

    config bits

    • API.H5Z_FILTER_CONFIG_ENCODE_ENABLED
    • API.H5Z_FILTER_CONFIG_DECODE_ENABLED
    source

    External Filter Packages

    Several external Julia packages implement HDF5 filter plugins in Julia. As they are independent of HDF5.jl, they must be installed in order to use their plugins.

    The H5Zblosc.jl, H5Zbzip2.jl, H5Zlz4.jl, and H5Zzstd.jl packages are maintained as independent subdirectory packages within the HDF5.jl repository.

    H5Zblosc.jl

    H5Zbzip2.jl

    H5Zlz4.jl

    H5Zzstd.jl

    Other External Filters

    Additional filters can be dynamically loaded by the HDF5 library. See External Links below for more information.

    Using an ExternalFilter

    ExternalFilter can be used to insert a dynamically loaded filter into the FilterPipeline in an ad-hoc fashion.

    Example for bitshuffle

    If we do not have a defined subtype of Filter for the bitshuffle filter we can create an ExternalFilter. From the header file or list of registered plugins, we see that the bitshuffle filter has an id of 32008.

    Furthermore, the header describes two options:

    1. block_size (optional). Default is 0.
    2. compression - This can be 0 or BSHUF_H5_COMPRESS_LZ4 (2 as defined in the C header)
    using HDF5.Filters
    +
    +bitshuf = ExternalFilter(32008, Cuint[0, 0])
    +bitshuf_comp = ExternalFilter(32008, Cuint[0, 2])
    +
    +data_A = rand(0:31, 1024)
    +data_B = rand(32:63, 1024)
    +
    +filename, _ = mktemp()
    +h5open(filename, "w") do h5f
    +    # Indexing style
    +    h5f["ex_data_A", chunk=(32,), filters=bitshuf] = data_A
    +    # Procedural style
    +    d, dt = create_dataset(h5f, "ex_data_B", data_B, chunk=(32,), filters=[bitshuf_comp])
    +    write(d, data_B)
    +end

    Creating a new Filter type

    Examining the bitshuffle filter source code we see that three additional data components get prepended to the options. These are

    1. The major version
    2. The minor version
    3. The element size in bytes of the type via H5Tget_size.
    import HDF5.Filters: FILTERS, Filter, FilterPipeline, filterid
    +using HDF5.API
    +
    +const H5Z_BSHUF_ID = API.H5Z_filter_t(32008)
    +struct BitShuffleFilter <: HDF5.Filters.Filter
    +    major::Cuint
    +    minor::Cuint
    +    elem_size::Cuint
    +    block_size::Cuint
    +    compression::Cuint
    +    BitShuffleFilter(block_size, compression) = new(0, 0, 0, block_size, compression)
    +end
    +# filterid is the only required method of the filter interface
    +# since we are using an externally registered filter
    +filterid(::Type{BitShuffleFilter}) = H5Z_BSHUF_ID
    +FILTERS[H5Z_BSHUF_ID] = BitShuffleFilter
    +
    +function Base.push!(p::FilterPipeline, f::BitShuffleFilter)
    +    ref = Ref(f)
    +    GC.@preserve ref begin
    +        API.h5p_set_filter(p.plist, H5Z_BSHUF_ID, API.H5Z_FLAG_OPTIONAL, 2, pointer_from_objref(ref) + sizeof(Cuint)*3)
    +    end
    +    return p
    +end

    Because the first three elements are not provided directly via h5p_set_filter, we also needed to implement a custom Base.push! into the FilterPipeline.

    Filter Interface

    The filter interface is used to describe filters and obtain information on them.

    HDF5.Filters.FilterType
    Filter

    Abstract type to describe HDF5 Filters. See the Extended Help for information on implementing a new filter.

    Extended Help

    Filter interface

    The Filter interface is implemented upon the Filter subtype.

    See API.h5z_register for details.

    Required Methods to Implement

    • filterid - registered filter ID
    • filter_func - implement the actual filter

    Optional Methods to Implement

    • filtername - defaults to "Unnamed Filter"
    • encoder_present - defaults to true
    • decoder_present - defaults to true
    • can_apply_func - defaults to nothing
    • set_local_func - defaults to nothing

    Advanced Methods to Implement

    • can_apply_cfunc - Defaults to wrapping @cfunction around the result of can_apply_func
    • set_local_cfunc - Defaults to wrapping @cfunction around the result of set_local_func
    • filter_cfunc - Defaults to wrapping @cfunction around the result of filter_func
    • register_filter - Defaults to using the above functions to register the filter

    Implement the Advanced Methods to avoid @cfunction from generating a runtime closure which may not work on all systems.

    source
    HDF5.Filters.FilterPipelineType
    FilterPipeline(plist::DatasetCreateProperties)

    The filter pipeline associated with plist. Acts like a AbstractVector{Filter}, supporting the following operations:

    • length(pipeline): the number of filters.
    • pipeline[i] to return the ith filter.
    • pipeline[FilterType] to return a filter of type FilterType
    • push!(pipline, filter) to add an extra filter to the pipeline.
    • append!(pipeline, filters) to add multiple filters to the pipeline.
    • delete!(pipeline, FilterType) to remove a filter of type FilterType from the pipeline.
    • empty!(pipeline) to remove all filters from the pipeline.
    source
    HDF5.Filters.isavailableFunction
    isavailable(filter_or_id)

    Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter is available and false otherwise.

    source
    HDF5.Filters.isdecoderenabledFunction
    isdecoderenabled(filter_or_id)

    Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can decode or decompress data.

    source
    HDF5.Filters.isencoderenabledFunction
    isencoderenabled(filter_or_id)

    Given a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can encode or compress data.

    source
    HDF5.Filters.can_apply_funcFunction
    can_apply_func(::Type{F}) where {F<:Filter}

    Return a function indicating whether the filter can be applied or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register

    source
    HDF5.Filters.can_apply_cfuncFunction
    can_apply_cfunc(::Type{F}) where {F<:Filter}

    Return a C function pointer for the can apply function. By default, this will return the result of using @cfunction on the function specified by can_apply_func(F) or C_NULL if nothing.

    Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

    source
    HDF5.Filters.set_local_funcFunction
    set_local_func(::Type{F}) where {F<:Filter}

    Return a function that sets dataset specific parameters or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register.

    source
    HDF5.Filters.set_local_cfuncFunction
    set_local_cfunc(::Type{F}) where {F<:Filter}

    Return a C function pointer for the set local function. By default, this will return the result of using @cfunction on the function specified by set_local_func(F) or C_NULL if nothing.

    Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

    source
    HDF5.Filters.filter_cfuncFunction
    filter_cfunc(::Type{F}) where {F<:Filter}

    Return a C function pointer for the filter function. By default, this will return the result of using @cfunction on the function specified by filter_func(F) or will throw an error if nothing.

    Overriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.

    source
    diff --git a/previews/PR1101/interface/groups/index.html b/previews/PR1101/interface/groups/index.html new file mode 100644 index 000000000..ed399e118 --- /dev/null +++ b/previews/PR1101/interface/groups/index.html @@ -0,0 +1,3 @@ + +Groups · HDF5.jl

    Groups

    HDF5.open_groupFunction
    open_group(parent::Union{File,Group}, path::AbstractString; properties...)

    Open an existing Group at path under the parent object.

    Optional keyword arguments include any keywords that that belong to GroupAccessProperties.

    source
    HDF5.create_externalFunction
    create_external(source::Union{HDF5.File, HDF5.Group}, source_relpath, target_filename, target_path;
    +                lcpl_id=HDF5.API.H5P_DEFAULT, lapl_id=HDF5.H5P.DEFAULT)

    Create an external link such that source[source_relpath] points to target_path within the file with path target_filename.

    See also

    API.h5l_create_external

    source
    diff --git a/previews/PR1101/interface/objects/index.html b/previews/PR1101/interface/objects/index.html new file mode 100644 index 000000000..2258887a5 --- /dev/null +++ b/previews/PR1101/interface/objects/index.html @@ -0,0 +1,7 @@ + +Objects · HDF5.jl

    Objects

    HDF5.copy_objectFunction
    copy_object(src_parent::Union{File,Group}, src_path::AbstractString, dst_parent::Union{File,Group}, dst_path::AbstractString)

    Copy data from src_parent[src_path] to dst_parent[dst_path].

    Examples

    f = h5open("f.h5", "r")
    +g = h5open("g.h5", "cw")
    +copy_object(f, "Group1", g, "GroupA")
    +copy_object(f["Group1"], "data1", g, "DataSet/data_1")
    source
    copy_object(src_obj::Object, dst_parent::Union{File,Group}, dst_path::AbstractString)

    Examples

    copy_object(f["Group1"], g, "GroupA")
    +copy_object(f["Group1/data1"], g, "DataSet/data_1")
    source
    HDF5.delete_objectFunction
    delete_object(parent::Union{File,Group}, path::AbstractString)

    Delete the object at parent[path].

    Examples

    f = h5open("f.h5", "r+")
    +delete_object(f, "Group1")
    source
    diff --git a/previews/PR1101/interface/properties/index.html b/previews/PR1101/interface/properties/index.html new file mode 100644 index 000000000..cb1278bde --- /dev/null +++ b/previews/PR1101/interface/properties/index.html @@ -0,0 +1,22 @@ + +Properties · HDF5.jl

    Properties

    HDF5 property lists are collections of name-value pairs which can be passed to other HDF5 functions to control features that are typically unimportant or whose default values are usually used. In HDF5.jl, these options are typically handled by keyword arguments to such functions, which will internally create the appropriate Properties objects, and so users will not usually be required to construct them manually.

    Not all properties defined by the HDF5 library are currently available in HDF5.jl. If you require additional properties, please open an issue or pull request.

    Common functions

    HDF5.setproperties!Function
    setproperties!(props::Properties...; kwargs...)

    For each (key, value) pair in kwargs, set the corresponding properties in each Properties object in props. Returns a Dict of any pairs which didn't match properties in props.

    source

    Properties types

    HDF5.AttributeCreatePropertiesType
    AttributeCreateProperties(;kws...)
    +AttributeCreateProperties(f::Function; kws...)

    Properties used when creating attributes.

    • char_encoding: the character enconding, either :ascii or :utf8.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.FileAccessPropertiesType
    FileAccessProperties(;kws...)
    +FileAccessProperties(f::Function; kws...)

    Properties used when accessing files.

    • alignment :: Tuple{Integer, Integer}: a (threshold, alignment) pair: any file object greater than or equal in size to threshold bytes will be aligned on an address which is a multiple of alignment. Default values are 1, implying no alignment.

    • driver: the file driver used to access the file. See Drivers.

    • driver_info (get only)

    • fclose_degree: file close degree property. One of:

      • :weak
      • :semi
      • :strong
      • :default
    • libver_bounds: a (low, high) pair: low sets the earliest possible format versions that the library will use when creating objects in the file; high sets the latest format versions that the library will be allowed to use when creating objects in the file. Values can be a VersionNumber for the hdf5 library, :earliest, or :latest . See H5P_SET_LIBVER_BOUNDS

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.FileCreatePropertiesType
    FileCreateProperties(;kws...)
    +FileCreateProperties(f::Function; kws...)

    Properties used when creating a new File. Inherits from ObjectCreateProperties, with additional properties:

    • userblock :: Integer: user block size in bytes. The default user block size is 0; it may be set to any power of 2 equal to 512 or greater (512, 1024, 2048, etc.). See H5P_SET_USERBLOCK.
    • track_order :: Bool: tracks the file creation order.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.GroupCreatePropertiesType
    GroupCreateProperties(;kws...)
    +GroupCreateProperties(f::Function; kws...)

    Properties used when creating a new Group. Inherits from ObjectCreateProperties, with additional options:

    • local_heap_size_hint :: Integer: the anticipated maximum local heap size in bytes. See H5P_SET_LOCAL_HEAP_SIZE_HINT.
    • track_order :: Bool: tracks the group creation order.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.DatasetCreatePropertiesType
    DatasetCreateProperties(;kws...)
    +DatasetCreateProperties(f::Function; kws...)

    Properties used when creating a new Dataset. Inherits from ObjectCreateProperties, with additional properties:

    • alloc_time: the timing for the allocation of storage space for a dataset's raw data; one of:

      • :default

      • :early: allocate all space when the dataset is created

      • :incremental: Allocate space incrementally, as data is written to the dataset

      • :late: Allocate all space when data is first written to the dataset.

      See H5P_SET_ALLOC_TIME.

    • fill_time: the timing of when the dataset should be filled; one of:

      • :alloc: Fill when allocated
      • :never: Never fill
      • :ifset: Fill if a value is set
    • fill_value: the fill value for a dataset. See H5P_SET_FILL_VALUE.

    • chunk: a tuple containing the size of the chunks to store each dimension. See H5P_SET_CHUNK (note that this uses Julia's column-major ordering).

    • external: A tuple of (name,offset,size), See H5P_SET_EXTERNAL.

    • filters (only valid when layout=:chunked): a filter or vector of filters that are applied to applied to each chunk of a dataset, see Filters. When accessed, will return a Filters.FilterPipeline object that can be modified in-place.

    • layout: the type of storage used to store the raw data for a dataset. Can be one of:

      • :compact: Store raw data in the dataset object header in file. This should only be used for datasets with small amounts of raw data.

      • :contiguous: Store raw data separately from the object header in one large chunk in the file.

      • :chunked: Store raw data separately from the object header as chunks of data in separate locations in the file.

      • :virtual: Draw raw data from multiple datasets in different files. See the virtual property below.

      See H5P_SET_LAYOUT.

    • no_attrs_hint: Minimize the space for dataset metadata by hinting that no attributes will be added if set to true. Attributes can still be added but may exist elsewhere within the file. See H5P_SET_DSET_NO_ATTRS_HINT.

    • virtual: when specified, creates a virtual dataset (VDS). The argument should be a "virtuala collection of VirtualMapping objects for describing the mapping from the dataset to the source datasets. When accessed, returns a VirtualLayout object.

    The following options are shortcuts for the various filters, and are set-only. They will be appended to the filter pipeline in the order in which they appear

    • blosc = true | level: set the H5Zblosc.BloscFilter compression filter; argument can be either true, or the compression level.

    • deflate = true | level: set the Filters.Deflate compression filter; argument can be either true, or the compression level.

    • fletcher32 = true: set the Filters.Fletcher32 checksum filter.

    • shuffle = true: set the Filters.Shuffle filter.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.DatasetAccessPropertiesType
    DatasetAccessProperties(;kws...)
    +DatasetAccessProperties(f::Function; kws...)

    Properties that control access to data in external, virtual, and chunked datasets.

    • chunk_cache: Chunk cache parameters as (nslots, nbytes, w0). Default: (521, 0x100000, 0.75)
    • efile_prefix: Path prefix for reading external files. The default is the current working directory.
      • :origin: alias for raw"$ORIGIN" will make the external file relative to the HDF5 file.
    • virtual_prefix: Path prefix for reading virtual datasets.
    • virtual_printf_gap: The maximum number of missing source files and/or datasets with the printf-style names when getting the extent of an unlimited virtual dataset
    • virtual_view: Influences whether the view of the virtual dataset includes or excludes missing mapped elements
      • :first_missing: includes all data before the first missing mapped data
      • :last_available: includes all available mapped data

    A function argument passed via do will be given an initialized property list that will be closed.

    See Dataset Access Properties

    source
    HDF5.DatasetTransferPropertiesType
    DatasetTransferProperties(;kws...)
    +DatasetTransferProperties(f::Function; kws...)

    Properties used when transferring data to/from datasets

    • dxpl_mpio: MPI transfer mode when using Drivers.MPIO file driver:
      • :independent: use independent I/O access (default),
      • :collective: use collective I/O access.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.LinkCreatePropertiesType
    LinkCreateProperties(;kws...)
    +LinkCreateProperties(f::Function; kws...)

    Properties used when creating links.

    • char_encoding: the character enconding, either :ascii or :utf8.

    • create_intermediate_group :: Bool: if true, will create missing intermediate groups.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.ObjectCreatePropertiesType
    ObjectCreateProperties(;kws...)
    +ObjectCreateProperties(f::Function; kws...)

    Properties used when creating a new object. Available options:

    • obj_track_times :: Bool: governs the recording of times associated with an object. If set to true, time data will be recorded. See H5P_SET_OBJ_TRACK_TIMES.

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.StringCreatePropertiesType
    StringCreateProperties(;kws...)
    +StringCreateProperties(f::Function; kws...)

    A function argument passed via do will be given an initialized property list that will be closed.

    source
    HDF5.DatatypeCreatePropertiesType
    DatatypeCreateProperties(;kws...)
    +DatatypeCreateProperties(f::Function; kws...)

    A function argument passed via do will be given an initialized property list that will be closed.

    source

    Virtual Datasets

    HDF5.VirtualMappingType
    VirtualMapping(
    +    vspace::Dataspace,
    +    srcfile::AbstractString,
    +    srcdset::AbstractString,
    +    srcspace::Dataspace
    +)

    Specify a map of elements of the virtual dataset (VDS) described by vspace to the elements of the source dataset described by srcspace. The source dataset is identified by the name of the file where it is located, srcfile, and the name of the dataset, srcdset.

    Both srcfile and srcdset support "printf"-style formats with %b being replaced by the block count of the selection.

    For more details on how source file resolution works, see H5P_SET_VIRTUAL.

    source
    HDF5.VirtualLayoutType
    VirtualLayout(dcpl::DatasetCreateProperties)

    The collection of VirtualMappings associated with dcpl. This is an AbstractVector{VirtualMapping}, supporting length, getindex and push!.

    source

    Drivers

    File drivers determine how the HDF5 is accessed. These can be set as the driver property in FileAccessProperties.

    HDF5.Drivers.CoreType
    Core([increment::Csize_t, backing_store::Cuint, [write_tracking::Cuint, page_size::Csize_t]])
    +Core(; increment::Csize_t = 8192, backing_store::Cuint = true, write_tracking::Cuint = false, page_size::Csize_t = 524288)

    Arguments

    • increment: specifies the increment by which allocated memory is to be increased each time more memory is required. (default: 8192)
    • backing_store: Boolean flag indicating whether to write the file contents to disk when the file is closed. (default: false)
    • write_tracking: Boolean flag indicating whether write tracking is enabled. (default: false)
    • page_size: Size, in bytes, of write aggregation pages. (default: 524288)
    source
    HDF5.Drivers.POSIXType
    POSIX()

    Also referred to as SEC2, this driver uses POSIX file-system functions like read and write to perform I/O to a single, permanent file on local disk with no system buffering. This driver is POSIX-compliant and is the default file driver for all systems.

    source
    HDF5.Drivers.ROS3Type
    ROS3()
    +ROS3(aws_region::String, secret_id::String, secret_key::String)
    +ROS3(version::Int32, authenticate::Bool, aws_region::String, secret_id::String, secret_key::String)

    This is the read-only virtual driver that enables access to HDF5 objects stored in AWS S3

    source

    Internals

    The following macros are used for defining new properties and property getters/setters.

    HDF5.@propertyclassMacro
    @propertyclass P classid

    Define a new subtype of P <: Properties corresponding to a HDF5 property list with class identifier classid.

    Once defined, the following interfaces can be defined:

    superclass(::Type{P})

    This should return the type from which P inherits. If not defined, it will inherit from GenericProperties.

    class_propertynames(::Type{P})

    This should return a Tuple of Symbols, being the names of the properties associated with P.

    class_getproperty(::Type{P}, p::Properties, name::Symbol)

    If name is an associated property of type P, this should return the value of the property, otherwise call class_getproperty(superclass(P), p, name).

    class_setproperty!(::Type{P}, p::Properties, name::Symbol, val)

    If name is an associated property of type P, this should set the value of the property, otherwise call class_setproperty!(superclass(P), p, name, val).

    source
    HDF5.@bool_propertyMacro
    @bool_property(name)

    Wrap property getter/setter API functions that use 0/1 to use Bool values

    source
    HDF5.@enum_propertyMacro
    @enum_property(name, sym1 => enumvalue1, sym2 => enumvalue2, ...)

    Wrap property getter/setter API functions that use enum values to use symbol instead.

    source
    diff --git a/previews/PR1101/mpi/index.html b/previews/PR1101/mpi/index.html new file mode 100644 index 000000000..6d4824a5e --- /dev/null +++ b/previews/PR1101/mpi/index.html @@ -0,0 +1,32 @@ + +Parallel HDF5 · HDF5.jl

    Parallel HDF5

    It is possible to read and write parallel HDF5 files using MPI. For this, the HDF5 binaries loaded by HDF5.jl must have been compiled with parallel support, and linked to the specific MPI implementation that will be used for parallel I/O.

    Parallel-enabled HDF5 libraries are usually included in computing clusters and linked to the available MPI implementations. They are also available via the package manager of a number of Linux distributions.

    Finally, note that the MPI.jl package is lazy-loaded by HDF5.jl using Requires. In practice, this means that in Julia code, MPI must be imported before HDF5 for parallel functionality to be available.

    Setting-up Parallel HDF5

    The following step-by-step guide assumes one already has access to parallel-enabled HDF5 libraries linked to an existent MPI installation.

    1. Using system-provided MPI libraries

    Using a system-provided MPI library can be done with MPIPreferences.jl. After installing MPIPreferences.jl and running julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()' MPIPreferences.jl identifies any available MPI implementation and stores the information in a file LocalPreferences.toml. See the MPI.jl docs for details.

    2. Using parallel HDF5 libraries

    Migration from HDF5.jl v0.16 and earlier

    How to use a system-provided HDF5 library has been changed in HDF5.jl v0.17. Previously, the library path was set by the environment variable JULIA_HDF5_PATH, which required to rebuild HDF5.jl afterwards. The environment variable has been removed and no longer has an effect (for backward compatibility it is still recommended to also set the environment variable). Instead, proceed as described below.

    As detailed in Using custom or system provided HDF5 binaries, set the preferences libhdf5 and libhdf5_hl to the full path, where the parallel HDF5 binaries are located. This can be done by:

    julia> using Preferences, UUIDs
    +
    +julia> set_preferences!(
    +           UUID("f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"), # UUID of HDF5.jl
    +           "libhdf5" => "/path/to/your/libhdf5.so",
    +           "libhdf5_hl" => "/path/to/your/libhdf5_hl.so",
    +           force = true)

    3. Loading MPI-enabled HDF5

    In Julia code, MPI.jl must be loaded before HDF5.jl for MPI functionality to be available:

    using MPI
    +using HDF5
    +
    +@assert HDF5.has_parallel()

    Notes to HPC cluster administrators

    More information for a setup at an HPC cluster can be found in the docs of MPI.jl. After performing the steps 1. and 2. the LocalPreferences.toml file could look something like the following:

    [MPIPreferences]
    +_format = "1.0"
    +abi = "OpenMPI"
    +binary = "system"
    +libmpi = "/software/mpi/lib/libmpi.so"
    +mpiexec = "/software/mpi/bin/mpiexec"
    +
    +[HDF5]
    +libhdf5 = "/path/to/your/libhdf5.so"
    +libhdf5_hl = "/path/to/your/libhdf5_hl.so"

    Reading and writing data in parallel

    A parallel HDF5 file may be opened by passing a MPI.Comm (and optionally a MPI.Info) object to h5open. For instance:

    comm = MPI.COMM_WORLD
    +info = MPI.Info()
    +ff = h5open(filename, "w", comm, info)

    MPI-distributed data is typically written by first creating a dataset describing the global dimensions of the data. The following example writes a 10 × Nproc array distributed over Nproc MPI processes.

    Nproc = MPI.Comm_size(comm)
    +myrank = MPI.Comm_rank(comm)
    +M = 10
    +A = fill(myrank, M)  # local data
    +dims = (M, Nproc)    # dimensions of global data
    +
    +# Create dataset
    +dset = create_dataset(ff, "/data", datatype(eltype(A)), dataspace(dims))
    +
    +# Write local data
    +dset[:, myrank + 1] = A

    Note that metadata operations, such as create_dataset, must be called collectively (on all processes at the same time, with the same arguments), but the actual writing to the dataset may be done independently. See Collective Calling Requirements in Parallel HDF5 Applications for the exact requirements.

    Sometimes, it may be more efficient to write data in chunks, so that each process writes to a separate chunk of the file. This is especially the case when data is uniformly distributed among MPI processes. In this example, this can be achieved by passing chunk=(M, 1) to create_dataset.

    For better performance, it is sometimes preferable to perform collective I/O when reading and writing datasets in parallel. This is achieved by passing dxpl_mpio=:collective to create_dataset. See also the HDF5 docs.

    A few more examples are available in test/mpio.jl.

    diff --git a/previews/PR1101/search/index.html b/previews/PR1101/search/index.html new file mode 100644 index 000000000..31b611e3d --- /dev/null +++ b/previews/PR1101/search/index.html @@ -0,0 +1,2 @@ + +Search · HDF5.jl

    Loading search...

      diff --git a/previews/PR1101/search_index.js b/previews/PR1101/search_index.js new file mode 100644 index 000000000..c8ea9749b --- /dev/null +++ b/previews/PR1101/search_index.js @@ -0,0 +1,3 @@ +var documenterSearchIndex = {"docs": +[{"location":"mpi/#Parallel-HDF5","page":"Parallel HDF5","title":"Parallel HDF5","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"It is possible to read and write parallel HDF5 files using MPI. For this, the HDF5 binaries loaded by HDF5.jl must have been compiled with parallel support, and linked to the specific MPI implementation that will be used for parallel I/O.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Parallel-enabled HDF5 libraries are usually included in computing clusters and linked to the available MPI implementations. They are also available via the package manager of a number of Linux distributions.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Finally, note that the MPI.jl package is lazy-loaded by HDF5.jl using Requires. In practice, this means that in Julia code, MPI must be imported before HDF5 for parallel functionality to be available.","category":"page"},{"location":"mpi/#Setting-up-Parallel-HDF5","page":"Parallel HDF5","title":"Setting-up Parallel HDF5","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"The following step-by-step guide assumes one already has access to parallel-enabled HDF5 libraries linked to an existent MPI installation.","category":"page"},{"location":"mpi/#using_system_MPI","page":"Parallel HDF5","title":"1. Using system-provided MPI libraries","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Using a system-provided MPI library can be done with MPIPreferences.jl. After installing MPIPreferences.jl and running julia --project -e 'using MPIPreferences; MPIPreferences.use_system_binary()' MPIPreferences.jl identifies any available MPI implementation and stores the information in a file LocalPreferences.toml. See the MPI.jl docs for details.","category":"page"},{"location":"mpi/#using_parallel_HDF5","page":"Parallel HDF5","title":"2. Using parallel HDF5 libraries","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"note: Migration from HDF5.jl v0.16 and earlier\nHow to use a system-provided HDF5 library has been changed in HDF5.jl v0.17. Previously, the library path was set by the environment variable JULIA_HDF5_PATH, which required to rebuild HDF5.jl afterwards. The environment variable has been removed and no longer has an effect (for backward compatibility it is still recommended to also set the environment variable). Instead, proceed as described below.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"As detailed in Using custom or system provided HDF5 binaries, set the preferences libhdf5 and libhdf5_hl to the full path, where the parallel HDF5 binaries are located. This can be done by:","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"julia> using Preferences, UUIDs\n\njulia> set_preferences!(\n UUID(\"f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f\"), # UUID of HDF5.jl\n \"libhdf5\" => \"/path/to/your/libhdf5.so\",\n \"libhdf5_hl\" => \"/path/to/your/libhdf5_hl.so\",\n force = true)","category":"page"},{"location":"mpi/#.-Loading-MPI-enabled-HDF5","page":"Parallel HDF5","title":"3. Loading MPI-enabled HDF5","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"In Julia code, MPI.jl must be loaded before HDF5.jl for MPI functionality to be available:","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"using MPI\nusing HDF5\n\n@assert HDF5.has_parallel()","category":"page"},{"location":"mpi/#Notes-to-HPC-cluster-administrators","page":"Parallel HDF5","title":"Notes to HPC cluster administrators","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"More information for a setup at an HPC cluster can be found in the docs of MPI.jl. After performing the steps 1. and 2. the LocalPreferences.toml file could look something like the following:","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"[MPIPreferences]\n_format = \"1.0\"\nabi = \"OpenMPI\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\n\n[HDF5]\nlibhdf5 = \"/path/to/your/libhdf5.so\"\nlibhdf5_hl = \"/path/to/your/libhdf5_hl.so\"","category":"page"},{"location":"mpi/#Reading-and-writing-data-in-parallel","page":"Parallel HDF5","title":"Reading and writing data in parallel","text":"","category":"section"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"A parallel HDF5 file may be opened by passing a MPI.Comm (and optionally a MPI.Info) object to h5open. For instance:","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"comm = MPI.COMM_WORLD\ninfo = MPI.Info()\nff = h5open(filename, \"w\", comm, info)","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"MPI-distributed data is typically written by first creating a dataset describing the global dimensions of the data. The following example writes a 10 × Nproc array distributed over Nproc MPI processes.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Nproc = MPI.Comm_size(comm)\nmyrank = MPI.Comm_rank(comm)\nM = 10\nA = fill(myrank, M) # local data\ndims = (M, Nproc) # dimensions of global data\n\n# Create dataset\ndset = create_dataset(ff, \"/data\", datatype(eltype(A)), dataspace(dims))\n\n# Write local data\ndset[:, myrank + 1] = A","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Note that metadata operations, such as create_dataset, must be called collectively (on all processes at the same time, with the same arguments), but the actual writing to the dataset may be done independently. See Collective Calling Requirements in Parallel HDF5 Applications for the exact requirements.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"Sometimes, it may be more efficient to write data in chunks, so that each process writes to a separate chunk of the file. This is especially the case when data is uniformly distributed among MPI processes. In this example, this can be achieved by passing chunk=(M, 1) to create_dataset.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"For better performance, it is sometimes preferable to perform collective I/O when reading and writing datasets in parallel. This is achieved by passing dxpl_mpio=:collective to create_dataset. See also the HDF5 docs.","category":"page"},{"location":"mpi/","page":"Parallel HDF5","title":"Parallel HDF5","text":"A few more examples are available in test/mpio.jl.","category":"page"},{"location":"interface/filters/#Filters","page":"Filters","title":"Filters","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"HDF5 supports filters for compression and validation: these are applied sequentially to each chunk of a dataset when writing data, and in reverse order when reading data.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"These can be set by passing a filter or vector of filters as a filters property to DatasetCreateProperties or via the filters keyword argument of create_dataset.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = HDF5.Filters","category":"page"},{"location":"interface/filters/#Example","page":"Filters","title":"Example","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Filters","category":"page"},{"location":"interface/filters/#HDF5.Filters","page":"Filters","title":"HDF5.Filters","text":"HDF5.Filters\n\nThis module contains the interface for using filters in HDF5.jl.\n\nExample Usage\n\nusing HDF5\nusing HDF5.Filters\n\n# Create a new file\nfn = tempname()\n\n# Create test data\ndata = rand(1000, 1000)\n\n# Open temp file for writing\nf = h5open(fn, \"w\") \n\n# Create datasets\ndsdeflate = create_dataset(f, \"deflate\", datatype(data), dataspace(data),\n chunk=(100, 100), deflate=3)\n\ndsshufdef = create_dataset(f, \"shufdef\", datatype(data), dataspace(data),\n chunk=(100, 100), shuffle=true, deflate=3)\n\ndsfiltdef = create_dataset(f, \"filtdef\", datatype(data), dataspace(data),\n chunk=(100, 100), filters=Filters.Deflate(3))\n\ndsfiltshufdef = create_dataset(f, \"filtshufdef\", datatype(data), dataspace(data),\n chunk=(100, 100), filters=[Filters.Shuffle(), Filters.Deflate(3)])\n\n# Write data\nwrite(dsdeflate, data)\nwrite(dsshufdef, data)\nwrite(dsfiltdef, data)\nwrite(dsfiltshufdef, data)\n\nclose(f)\n\nAdditonal Examples\n\nSee test/filter.jl for further examples.\n\n\n\n\n\n","category":"module"},{"location":"interface/filters/#Built-in-Filters","page":"Filters","title":"Built-in Filters","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Deflate\nShuffle\nFletcher32\nSzip\nNBit\nScaleOffset\nExternalFilter","category":"page"},{"location":"interface/filters/#HDF5.Filters.Deflate","page":"Filters","title":"HDF5.Filters.Deflate","text":"Deflate(level=5)\n\nDeflate/ZLIB lossless compression filter. level is an integer between 0 and 9, inclusive, denoting the compression level, with 0 being no compression, 9 being the highest compression (but slowest speed).\n\nExternal links\n\nH5P_SET_DEFLATE\nDeflate on Wikipedia\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.Shuffle","page":"Filters","title":"HDF5.Filters.Shuffle","text":"Shuffle()\n\nThe shuffle filter de-interlaces a block of data by reordering the bytes. All the bytes from one consistent byte position of each data element are placed together in one block; all bytes from a second consistent byte position of each data element are placed together a second block; etc. For example, given three data elements of a 4-byte datatype stored as 012301230123, shuffling will re-order data as 000111222333. This can be a valuable step in an effective compression algorithm because the bytes in each byte position are often closely related to each other and putting them together can increase the compression ratio.\n\nAs implied above, the primary value of the shuffle filter lies in its coordinated use with a compression filter; it does not provide data compression when used alone. When the shuffle filter is applied to a dataset immediately prior to the use of a compression filter, the compression ratio achieved is often superior to that achieved by the use of a compression filter without the shuffle filter.\n\nExternal links\n\nH5P_SET_SHUFFLE\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.Fletcher32","page":"Filters","title":"HDF5.Filters.Fletcher32","text":"Fletcher32()\n\nThe Fletcher32 checksum filter. This doesn't perform compression, but instead checks the validity of the stored data.\n\nThis should be applied after any lossy filters have been applied.\n\nExternal links\n\nH5P_SET_FLETCHER32\nFletcher's checksum on Wikipedia\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.Szip","page":"Filters","title":"HDF5.Filters.Szip","text":"Szip(coding=:nn, pixels_per_block=8)\n\nSzip compression lossless filter. Options:\n\ncoding: the coding method: either :ec (entropy coding) or :nn (nearest neighbors, default)\npixels_per_block: The number of pixels or data elements in each data block (typically 8, 10, 16, or 32)\n\nExternal links\n\nH5P_SET_SZIP\nSzip Compression in HDF Products\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.NBit","page":"Filters","title":"HDF5.Filters.NBit","text":"NBit()\n\nThe N-Bit filter.\n\nExternal links\n\nH5P_SET_NBIT\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.ScaleOffset","page":"Filters","title":"HDF5.Filters.ScaleOffset","text":"ScaleOffset(scale_type::Integer, scale_offset::Integer)\n\nThe scale-offset filter.\n\nExternal links\n\nH5P_SET_SCALEOFFSET\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.ExternalFilter","page":"Filters","title":"HDF5.Filters.ExternalFilter","text":"ExternalFilter(filter_id::API.H5Z_filter_t, flags::Cuint, data::Vector{Cuint}, name::String, config::Cuint)\nExternalFilter(filter_id, flags, data::Integer...)\nExternalFilter(filter_id, data::AbstractVector{<:Integer} = Cuint[])\n\nIntended to support arbitrary, unregistered, external filters. Allows the quick creation of filters using internal/proprietary filters without subtyping HDF5.Filters.Filter. Users are instead encouraged to define subtypes on HDF5.Filters.Filter.\n\nFields / Arguments\n\nfilter_id - (required) Integer filter identifer.\nflags - (optional) bit vector describing general properties of the filter. Defaults to API.H5Z_FLAG_MANDATORY\ndata - (optional) auxillary data for the filter. See cd_values. Defaults to Cuint[]\nname - (optional) String describing the name of the filter. Defaults to \"Unknown Filter with id [filter_id]\"\nconfig - (optional) bit vector representing information about the filter regarding whether it is able to encode data, decode data, neither, or both. Defaults to 0.\n\nSee also:\n\nAPI.h5p_set_filter\nH5Z_GET_FILTER_INFO.\nRegistered Filter Plugins\n\nflags bits\n\nAPI.H5Z_FLAG_OPTIONAL\nAPI.H5Z_FLAG_MANDATORY\n\nconfig bits \n\nAPI.H5Z_FILTER_CONFIG_ENCODE_ENABLED\nAPI.H5Z_FILTER_CONFIG_DECODE_ENABLED\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#External-Filter-Packages","page":"Filters","title":"External Filter Packages","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Several external Julia packages implement HDF5 filter plugins in Julia. As they are independent of HDF5.jl, they must be installed in order to use their plugins.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"The H5Zblosc.jl, H5Zbzip2.jl, H5Zlz4.jl, and H5Zzstd.jl packages are maintained as independent subdirectory packages within the HDF5.jl repository.","category":"page"},{"location":"interface/filters/#H5Zblosc.jl","page":"Filters","title":"H5Zblosc.jl","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = H5Zblosc","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"BloscFilter","category":"page"},{"location":"interface/filters/#H5Zblosc.BloscFilter","page":"Filters","title":"H5Zblosc.BloscFilter","text":"BloscFilter(;level=5, shuffle=true, compressor=\"blosclz\")\n\nThe Blosc compression filter, using Blosc.jl. Options:\n\nlevel: compression level\nshuffle: whether to shuffle data before compressing (this option should be used instead of the Shuffle filter)\ncompressor: the compression algorithm. Call Blosc.compressors() for the available compressors.\n\nExternal links\n\nWhat Is Blosc?\nBlosc HDF5 Filter ID 32001\nBlosc HDF5 Plugin Repository (C code)\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#H5Zbzip2.jl","page":"Filters","title":"H5Zbzip2.jl","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = H5Zbzip2","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Bzip2Filter","category":"page"},{"location":"interface/filters/#H5Zbzip2.Bzip2Filter","page":"Filters","title":"H5Zbzip2.Bzip2Filter","text":"Bzip2Filter(blockSize100k)\n\nApply Bzip2 compression. The filter id is 307.\n\nExternal Links\n\nBZIP2 HDF5 Filter ID 307\nPyTables Repository (C code)\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#H5Zlz4.jl","page":"Filters","title":"H5Zlz4.jl","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = H5Zlz4","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Lz4Filter","category":"page"},{"location":"interface/filters/#H5Zlz4.Lz4Filter","page":"Filters","title":"H5Zlz4.Lz4Filter","text":"Lz4Filter(blockSize)\n\nApply LZ4 compression. blockSize is the main argument. The filter id is 32004.\n\nExternal Links\n\nLZ4 HDF5 Filter ID 32004\nLZ4 HDF5 Plugin Repository (C code)\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#H5Zzstd.jl","page":"Filters","title":"H5Zzstd.jl","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = H5Zzstd","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"ZstdFilter","category":"page"},{"location":"interface/filters/#H5Zzstd.ZstdFilter","page":"Filters","title":"H5Zzstd.ZstdFilter","text":"ZstdFilter(clevel)\n\nZstandard compression filter. clevel determines the compression level.\n\nExternal Links\n\nZstandard HDF5 Filter ID 32015\nZstandard HDF5 Plugin Repository (C code)\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#Other-External-Filters","page":"Filters","title":"Other External Filters","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Additional filters can be dynamically loaded by the HDF5 library. See External Links below for more information.","category":"page"},{"location":"interface/filters/#Using-an-ExternalFilter","page":"Filters","title":"Using an ExternalFilter","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = HDF5.Filters","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"ExternalFilter can be used to insert a dynamically loaded filter into the FilterPipeline in an ad-hoc fashion.","category":"page"},{"location":"interface/filters/#Example-for-bitshuffle","page":"Filters","title":"Example for bitshuffle","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"If we do not have a defined subtype of Filter for the bitshuffle filter we can create an ExternalFilter. From the header file or list of registered plugins, we see that the bitshuffle filter has an id of 32008.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Furthermore, the header describes two options:","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"block_size (optional). Default is 0.\ncompression - This can be 0 or BSHUF_H5_COMPRESS_LZ4 (2 as defined in the C header)","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"using HDF5.Filters\n\nbitshuf = ExternalFilter(32008, Cuint[0, 0])\nbitshuf_comp = ExternalFilter(32008, Cuint[0, 2])\n\ndata_A = rand(0:31, 1024)\ndata_B = rand(32:63, 1024)\n\nfilename, _ = mktemp()\nh5open(filename, \"w\") do h5f\n # Indexing style\n h5f[\"ex_data_A\", chunk=(32,), filters=bitshuf] = data_A\n # Procedural style\n d, dt = create_dataset(h5f, \"ex_data_B\", data_B, chunk=(32,), filters=[bitshuf_comp])\n write(d, data_B)\nend","category":"page"},{"location":"interface/filters/#Creating-a-new-Filter-type","page":"Filters","title":"Creating a new Filter type","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Examining the bitshuffle filter source code we see that three additional data components get prepended to the options. These are","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"The major version\nThe minor version\nThe element size in bytes of the type via H5Tget_size.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"import HDF5.Filters: FILTERS, Filter, FilterPipeline, filterid\nusing HDF5.API\n\nconst H5Z_BSHUF_ID = API.H5Z_filter_t(32008)\nstruct BitShuffleFilter <: HDF5.Filters.Filter\n major::Cuint\n minor::Cuint\n elem_size::Cuint\n block_size::Cuint\n compression::Cuint\n BitShuffleFilter(block_size, compression) = new(0, 0, 0, block_size, compression)\nend\n# filterid is the only required method of the filter interface\n# since we are using an externally registered filter\nfilterid(::Type{BitShuffleFilter}) = H5Z_BSHUF_ID\nFILTERS[H5Z_BSHUF_ID] = BitShuffleFilter\n\nfunction Base.push!(p::FilterPipeline, f::BitShuffleFilter)\n ref = Ref(f)\n GC.@preserve ref begin\n API.h5p_set_filter(p.plist, H5Z_BSHUF_ID, API.H5Z_FLAG_OPTIONAL, 2, pointer_from_objref(ref) + sizeof(Cuint)*3)\n end\n return p\nend","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Because the first three elements are not provided directly via h5p_set_filter, we also needed to implement a custom Base.push! into the FilterPipeline.","category":"page"},{"location":"interface/filters/#Filter-Interface","page":"Filters","title":"Filter Interface","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"CurrentModule = HDF5.Filters","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"The filter interface is used to describe filters and obtain information on them.","category":"page"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"Filter\nFilterPipeline\nUnknownFilter\nFILTERS\nEXTERNAL_FILTER_JULIA_PACKAGES\nfilterid\nisavailable\nisdecoderenabled\nisencoderenabled\ndecoder_present\nencoder_present\nensure_filters_available\nfiltername\ncan_apply_func\ncan_apply_cfunc\nset_local_func\nset_local_cfunc\nfilter_func\nfilter_cfunc\nregister_filter","category":"page"},{"location":"interface/filters/#HDF5.Filters.Filter","page":"Filters","title":"HDF5.Filters.Filter","text":"Filter\n\nAbstract type to describe HDF5 Filters. See the Extended Help for information on implementing a new filter.\n\nExtended Help\n\nFilter interface\n\nThe Filter interface is implemented upon the Filter subtype.\n\nSee API.h5z_register for details.\n\nRequired Methods to Implement\n\nfilterid - registered filter ID\nfilter_func - implement the actual filter\n\nOptional Methods to Implement\n\nfiltername - defaults to \"Unnamed Filter\"\nencoder_present - defaults to true\ndecoder_present - defaults to true\ncan_apply_func - defaults to nothing\nset_local_func - defaults to nothing\n\nAdvanced Methods to Implement\n\ncan_apply_cfunc - Defaults to wrapping @cfunction around the result of can_apply_func\nset_local_cfunc - Defaults to wrapping @cfunction around the result of set_local_func\nfilter_cfunc - Defaults to wrapping @cfunction around the result of filter_func\nregister_filter - Defaults to using the above functions to register the filter\n\nImplement the Advanced Methods to avoid @cfunction from generating a runtime closure which may not work on all systems.\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.FilterPipeline","page":"Filters","title":"HDF5.Filters.FilterPipeline","text":"FilterPipeline(plist::DatasetCreateProperties)\n\nThe filter pipeline associated with plist. Acts like a AbstractVector{Filter}, supporting the following operations:\n\nlength(pipeline): the number of filters.\npipeline[i] to return the ith filter.\npipeline[FilterType] to return a filter of type FilterType\npush!(pipline, filter) to add an extra filter to the pipeline.\nappend!(pipeline, filters) to add multiple filters to the pipeline.\ndelete!(pipeline, FilterType) to remove a filter of type FilterType from the pipeline.\nempty!(pipeline) to remove all filters from the pipeline.\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.UnknownFilter","page":"Filters","title":"HDF5.Filters.UnknownFilter","text":"UnknownFilter\n\nUnknown filter type. Alias for ExternalFilter (see related documentation).\n\n\n\n\n\n","category":"type"},{"location":"interface/filters/#HDF5.Filters.FILTERS","page":"Filters","title":"HDF5.Filters.FILTERS","text":"FILTERS\n\nMaps filter id to filter type.\n\n\n\n\n\n","category":"constant"},{"location":"interface/filters/#HDF5.Filters.EXTERNAL_FILTER_JULIA_PACKAGES","page":"Filters","title":"HDF5.Filters.EXTERNAL_FILTER_JULIA_PACKAGES","text":"EXTERNAL_FILTER_JULIA_PACKAGES\n\nMaps filter id to the Julia package name that contains the filter.\n\n\n\n\n\n","category":"constant"},{"location":"interface/filters/#HDF5.Filters.filterid","page":"Filters","title":"HDF5.Filters.filterid","text":"filterid(F) where {F <: Filter}\n\nThe internal filter id of a filter of type F.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.isavailable","page":"Filters","title":"HDF5.Filters.isavailable","text":"isavailable(filter_or_id)\n\nGiven a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter is available and false otherwise.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.isdecoderenabled","page":"Filters","title":"HDF5.Filters.isdecoderenabled","text":"isdecoderenabled(filter_or_id)\n\nGiven a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can decode or decompress data.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.isencoderenabled","page":"Filters","title":"HDF5.Filters.isencoderenabled","text":"isencoderenabled(filter_or_id)\n\nGiven a subtype of Filters.Filter or the filter ID number as an integer, return true if the filter can encode or compress data.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.decoder_present","page":"Filters","title":"HDF5.Filters.decoder_present","text":"decoder_present(::Type{F}) where {F<:Filter}\n\nCan the filter decode or decompress the data? Defaults to true. Returns a Bool. See API.h5z_register\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.encoder_present","page":"Filters","title":"HDF5.Filters.encoder_present","text":"encoder_present(::Type{F}) where {F<:Filter}\n\nCan the filter have an encode or compress the data? Defaults to true. Returns a Bool. See API.h5z_register.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.ensure_filters_available","page":"Filters","title":"HDF5.Filters.ensure_filters_available","text":"Error if all filters in a filter pipeline are not available.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.filtername","page":"Filters","title":"HDF5.Filters.filtername","text":"filtername(::Type{F}) where {F<:Filter}\n\nWhat is the name of a filter? Defaults to \"Unnamed Filter\" Returns a String describing the filter. See API.h5z_register\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.can_apply_func","page":"Filters","title":"HDF5.Filters.can_apply_func","text":"can_apply_func(::Type{F}) where {F<:Filter}\n\nReturn a function indicating whether the filter can be applied or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.can_apply_cfunc","page":"Filters","title":"HDF5.Filters.can_apply_cfunc","text":"can_apply_cfunc(::Type{F}) where {F<:Filter}\n\nReturn a C function pointer for the can apply function. By default, this will return the result of using @cfunction on the function specified by can_apply_func(F) or C_NULL if nothing.\n\nOverriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.set_local_func","page":"Filters","title":"HDF5.Filters.set_local_func","text":"set_local_func(::Type{F}) where {F<:Filter}\n\nReturn a function that sets dataset specific parameters or nothing if no function exists. The function signature is func(dcpl_id::API.hid_t, type_id::API.hid_t, space_id::API.hid_t). See API.h5z_register.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.set_local_cfunc","page":"Filters","title":"HDF5.Filters.set_local_cfunc","text":"set_local_cfunc(::Type{F}) where {F<:Filter}\n\nReturn a C function pointer for the set local function. By default, this will return the result of using @cfunction on the function specified by set_local_func(F) or C_NULL if nothing.\n\nOverriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.filter_func","page":"Filters","title":"HDF5.Filters.filter_func","text":"filter_func(::Type{F}) where {F<:Filter}\n\nReturns a function that performs the actual filtering.\n\nSee API.h5z_register\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.filter_cfunc","page":"Filters","title":"HDF5.Filters.filter_cfunc","text":"filter_cfunc(::Type{F}) where {F<:Filter}\n\nReturn a C function pointer for the filter function. By default, this will return the result of using @cfunction on the function specified by filter_func(F) or will throw an error if nothing.\n\nOverriding this will allow @cfunction to return a Ptr{Nothing} rather than a CFunction` closure which may not work on all systems.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#HDF5.Filters.register_filter","page":"Filters","title":"HDF5.Filters.register_filter","text":"register_filter(::Type{F}) where F <: Filter\n\nRegister the filter with the HDF5 library via API.h5z_register. Also add F to the FILTERS dictionary.\n\n\n\n\n\n","category":"function"},{"location":"interface/filters/#External-Links","page":"Filters","title":"External Links","text":"","category":"section"},{"location":"interface/filters/","page":"Filters","title":"Filters","text":"A list of registered filter plugins can be found on the HDF Group website.\nSee the HDF5 Documentation of HDF5 Filter Plugins for details.\nThe source code for many external plugins have been collected in the HDFGroup hdf5_plugins repository.\nCompiled binaries of dynamically downloaded plugins by downloaded from HDF5 Group.","category":"page"},{"location":"interface/groups/#Groups","page":"Groups","title":"Groups","text":"","category":"section"},{"location":"interface/groups/","page":"Groups","title":"Groups","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/groups/","page":"Groups","title":"Groups","text":"Group\ncreate_group\nopen_group\ncreate_external","category":"page"},{"location":"interface/groups/#HDF5.Group","page":"Groups","title":"HDF5.Group","text":"HDF5.Group\n\nAn object representing a HDF5 group. A group is analagous to a file system directory, in that, except for the root group, every object must be a member of at least one group.\n\nSee also\n\ncreate_group\nopen_group\n\n\n\n\n\n","category":"type"},{"location":"interface/groups/#HDF5.create_group","page":"Groups","title":"HDF5.create_group","text":"create_group(parent::Union{File,Group}, path::AbstractString; properties...)\n\nCreate a new Group at path under the parent object. Optional keyword arguments include any keywords that that belong to LinkCreateProperties or GroupCreateProperties.\n\n\n\n\n\n","category":"function"},{"location":"interface/groups/#HDF5.open_group","page":"Groups","title":"HDF5.open_group","text":"open_group(parent::Union{File,Group}, path::AbstractString; properties...)\n\nOpen an existing Group at path under the parent object.\n\nOptional keyword arguments include any keywords that that belong to GroupAccessProperties.\n\n\n\n\n\n","category":"function"},{"location":"interface/groups/#HDF5.create_external","page":"Groups","title":"HDF5.create_external","text":"create_external(source::Union{HDF5.File, HDF5.Group}, source_relpath, target_filename, target_path;\n lcpl_id=HDF5.API.H5P_DEFAULT, lapl_id=HDF5.H5P.DEFAULT)\n\nCreate an external link such that source[source_relpath] points to target_path within the file with path target_filename.\n\nSee also\n\nAPI.h5l_create_external\n\n\n\n\n\n","category":"function"},{"location":"interface/objects/#Objects","page":"Objects","title":"Objects","text":"","category":"section"},{"location":"interface/objects/","page":"Objects","title":"Objects","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/objects/","page":"Objects","title":"Objects","text":"copy_object\ndelete_object","category":"page"},{"location":"interface/objects/#HDF5.copy_object","page":"Objects","title":"HDF5.copy_object","text":"copy_object(src_parent::Union{File,Group}, src_path::AbstractString, dst_parent::Union{File,Group}, dst_path::AbstractString)\n\nCopy data from src_parent[src_path] to dst_parent[dst_path].\n\nExamples\n\nf = h5open(\"f.h5\", \"r\")\ng = h5open(\"g.h5\", \"cw\")\ncopy_object(f, \"Group1\", g, \"GroupA\")\ncopy_object(f[\"Group1\"], \"data1\", g, \"DataSet/data_1\")\n\n\n\n\n\ncopy_object(src_obj::Object, dst_parent::Union{File,Group}, dst_path::AbstractString)\n\nExamples\n\ncopy_object(f[\"Group1\"], g, \"GroupA\")\ncopy_object(f[\"Group1/data1\"], g, \"DataSet/data_1\")\n\n\n\n\n\n","category":"function"},{"location":"interface/objects/#HDF5.delete_object","page":"Objects","title":"HDF5.delete_object","text":"delete_object(parent::Union{File,Group}, path::AbstractString)\n\nDelete the object at parent[path].\n\nExamples\n\nf = h5open(\"f.h5\", \"r+\")\ndelete_object(f, \"Group1\")\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#Dataset","page":"Dataset","title":"Dataset","text":"","category":"section"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"Many dataset operations are available through the indexing interface, which is aliased to the functional interface. Below describes the functional interface.","category":"page"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"Dataset\ncreate_dataset\nBase.copyto!\nBase.similar\ncreate_external_dataset\nget_datasets\nopen_dataset\nwrite_dataset\nread_dataset","category":"page"},{"location":"interface/dataset/#HDF5.Dataset","page":"Dataset","title":"HDF5.Dataset","text":"HDF5.Dataset\n\nA mutable wrapper for a HDF5 Dataset HDF5.API.hid_t.\n\n\n\n\n\n","category":"type"},{"location":"interface/dataset/#HDF5.create_dataset","page":"Dataset","title":"HDF5.create_dataset","text":"create_dataset(parent, path, datatype, dataspace; properties...)\n\nArguments\n\nparent - File or Group\npath - String describing the path of the dataset within the HDF5 file or nothing to create an anonymous dataset\ndatatype - Datatype or Type or the dataset\ndataspace - Dataspace or Dims of the dataset\nproperties - keyword name-value pairs set properties of the dataset\n\nKeywords\n\nThere are many keyword properties that can be set. Below are a few select keywords.\n\nchunk - Dims describing the size of a chunk. Needed to apply filters.\nfilters - AbstractVector{<: Filters.Filter} describing the order of the filters to apply to the data. See Filters\nexternal - Tuple{AbstractString, Intger, Integer} (filepath, offset, filesize) External dataset file location, data offset, and file size. See API.h5p_set_external.\n\nAdditionally, the initial create, transfer, and access properties can be provided as a keyword:\n\ndcpl - DatasetCreateProperties\ndxpl - DatasetTransferProperties\ndapl - DatasetAccessProperties\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#Base.copyto!","page":"Dataset","title":"Base.copyto!","text":"copyto!(output_buffer::AbstractArray{T}, obj::Union{DatasetOrAttribute}) where T\n\nCopy [part of] a HDF5 dataset or attribute to a preallocated output buffer. The output buffer must be convertible to a pointer and have a contiguous layout.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#Base.similar","page":"Dataset","title":"Base.similar","text":"similar(obj::DatasetOrAttribute, [::Type{T}], [dims::Integer...]; normalize = true)\n\nReturn a Array{T} or Matrix{UInt8} to that can contain [part of] the dataset.\n\nThe normalize keyword will normalize the buffer for string and array datatypes.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.create_external_dataset","page":"Dataset","title":"HDF5.create_external_dataset","text":"create_external_dataset(parent, name, filepath, dtype, dspace, offset = 0)\n\nCreate an external dataset with data in an external file.\n\nparent - File or Group\nname - Name of the Dataset\nfilepath - File path to where the data is tored\ndtype - Datatype, Type, or value where datatype is applicable\noffset - Offset, in bytes, from the beginning of the file to the location in the file where the data starts.\n\nSee also API.h5p_set_external to link to multiple segments.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_datasets","page":"Dataset","title":"HDF5.get_datasets","text":"get_datasets(file::HDF5.File) -> datasets::Vector{HDF5.Dataset}\n\nGet all the datasets in an hdf5 file without loading the data.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.open_dataset","page":"Dataset","title":"HDF5.open_dataset","text":"open_dataset(parent::Union{File, Group}, path::AbstractString; properties...)\n\nOpen an existing HDF5.Dataset at path under parent\n\nOptional keyword arguments include any keywords that that belong to DatasetAccessProperties or DatasetTransferProperties.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.write_dataset","page":"Dataset","title":"HDF5.write_dataset","text":"write_dataset(parent::Union{File,Group}, name::Union{AbstractString,Nothing}, data; pv...)\n\nCreate and write a dataset with data. Keywords are forwarded to create_dataset. Providing nothing as the name will create an anonymous dataset.\n\nSee also create_dataset\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.read_dataset","page":"Dataset","title":"HDF5.read_dataset","text":"read_dataset(parent::Union{File,Group}, name::AbstractString)\n\nRead a dataset with named name from parent. This will typically return an array. The dataset will be opened, read, and closed.\n\nSee also HDF5.open_dataset, Base.read\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#Chunks","page":"Dataset","title":"Chunks","text":"","category":"section"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"do_read_chunk\ndo_write_chunk\nget_chunk_index\nget_chunk_info_all\nget_chunk_length\nget_chunk_offset\nget_num_chunks\nget_num_chunks_per_dim\nread_chunk\nwrite_chunk","category":"page"},{"location":"interface/dataset/#HDF5.do_read_chunk","page":"Dataset","title":"HDF5.do_read_chunk","text":"do_read_chunk(dataset::Dataset, offset)\n\nRead a raw chunk at a given offset. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.\n\n\n\n\n\ndo_read_chunk(dataset::Dataset, index::Integer)\n\nRead a raw chunk at a given index. index is 1-based and consecutive up to the number of chunks.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.do_write_chunk","page":"Dataset","title":"HDF5.do_write_chunk","text":"do_write_chunk(dataset::Dataset, offset, chunk_bytes::AbstractArray, filter_mask=0)\n\nWrite a raw chunk at a given offset. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. offset is a 1-based list of rank ndims(dataset) and must fall on a chunk boundary.\n\n\n\n\n\ndo_write_chunk(dataset::Dataset, index, chunk_bytes::AbstractArray, filter_mask=0)\n\nWrite a raw chunk at a given linear index. chunk_bytes is an AbstractArray that can be converted to a pointer, Ptr{Cvoid}. index is 1-based and consecutive up to the number of chunks.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_chunk_index","page":"Dataset","title":"HDF5.get_chunk_index","text":"HDF5.get_chunk_index(dataset_id, offset)\n\nGet 0-based index of chunk from 0-based offset returned in Julia's column-major order. For a 1-based API, see HDF5.ChunkStorage.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_chunk_info_all","page":"Dataset","title":"HDF5.get_chunk_info_all","text":"HDF5.get_chunk_info_all(dataset, [dxpl])\n\nObtain information on all the chunks in a dataset. Returns a Vector{ChunkInfo{N}}. The fields of ChunkInfo{N} are\n\noffset - NTuple{N, Int} indicating the offset of the chunk in terms of elements, reversed to F-order\nfilter_mask - Cuint, 32-bit flags indicating whether filters have been applied to the cunk\naddr - haddr_t, byte-offset of the chunk in the file\nsize - hsize_t, size of the chunk in bytes\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_chunk_length","page":"Dataset","title":"HDF5.get_chunk_length","text":"HDF5.get_chunk_length(dataset_id)\n\nRetrieves the chunk size in bytes. Equivalent to API.h5d_get_chunk_info(dataset_id, index)[:size].\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_chunk_offset","page":"Dataset","title":"HDF5.get_chunk_offset","text":"HDF5.get_chunk_offset(dataset_id, index)\n\nGet 0-based offset of chunk from 0-based index. The offsets are returned in Julia's column-major order rather than hdf5 row-major order. For a 1-based API, see HDF5.ChunkStorage.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_num_chunks","page":"Dataset","title":"HDF5.get_num_chunks","text":"HDF5.get_num_chunks(dataset_id)\n\nReturns the number of chunks in a dataset. Equivalent to API.h5d_get_num_chunks(dataset_id, HDF5.H5S_ALL).\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.get_num_chunks_per_dim","page":"Dataset","title":"HDF5.get_num_chunks_per_dim","text":"HDF5.get_num_chunks_per_dim(dataset_id)\n\nGet the number of chunks in each dimension in Julia's column-major order.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.read_chunk","page":"Dataset","title":"HDF5.read_chunk","text":"HDF5.read_chunk(dataset_id, offset, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())\n\nHelper method to read chunks via 0-based offsets in a Tuple.\n\nArgument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.get_chunk_length. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.\n\nThis method returns Vector{UInt8}.\n\n\n\n\n\nHDF5.read_chunk(dataset_id, index::Integer, [buf]; dxpl_id = HDF5.API.H5P_DEFAULT, filters = Ref{UInt32}())\n\nHelper method to read chunks via 0-based integer index.\n\nArgument buf is optional and defaults to a Vector{UInt8} of length determined by HDF5.API.h5d_get_chunk_info. Argument dxpl_id can be supplied a keyword and defaults to HDF5.API.H5P_DEFAULT. Argument filters can be retrieved by supplying a Ref{UInt32} value via a keyword argument.\n\nThis method returns Vector{UInt8}.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5.write_chunk","page":"Dataset","title":"HDF5.write_chunk","text":"HDF5.write_chunk(dataset_id, offset, buf::AbstractArray; dxpl_id = HDF5.API.H5P_DEFAULT, filter_mask = 0)\n\nHelper method to write chunks via 0-based offsets offset as a Tuple.\n\n\n\n\n\nHDF5.write_chunk(dataset_id, index::Integer, buf::AbstractArray; dxpl_id = API.H5P_DEFAULT, filter_mask = 0)\n\nHelper method to write chunks via 0-based integer index.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#Private-Implementation","page":"Dataset","title":"Private Implementation","text":"","category":"section"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"These functions select private implementations of the public high-level API. They should be used for diagnostic purposes only.","category":"page"},{"location":"interface/dataset/","page":"Dataset","title":"Dataset","text":"_get_chunk_info_all_by_index\n_get_chunk_info_all_by_iter","category":"page"},{"location":"interface/dataset/#HDF5._get_chunk_info_all_by_index","page":"Dataset","title":"HDF5._get_chunk_info_all_by_index","text":"_get_chunk_info_all_by_index(dataset, [dxpl])\n\nImplementation of get_chunk_info_all via HDF5.API.h5d_get_chunk_info.\n\nWe expect this will be slower, O(N^2), than using h5d_chunk_iter since each call to h5d_get_chunk_info iterates through the B-tree structure.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataset/#HDF5._get_chunk_info_all_by_iter","page":"Dataset","title":"HDF5._get_chunk_info_all_by_iter","text":"_get_chunk_info_all_by_iter(dataset, [dxpl])\n\nImplementation of get_chunk_info_all via HDF5.API.h5d_chunk_iter.\n\nWe expect this will be faster, O(N), than using h5d_get_chunk_info since this allows us to iterate through the chunks once.\n\n\n\n\n\n","category":"function"},{"location":"interface/files/#Files","page":"Files","title":"Files","text":"","category":"section"},{"location":"interface/files/","page":"Files","title":"Files","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/files/","page":"Files","title":"Files","text":"h5open\nishdf5\nBase.isopen\nBase.read\nstart_swmr_write","category":"page"},{"location":"interface/files/#HDF5.h5open","page":"Files","title":"HDF5.h5open","text":"h5open(filename::AbstractString, mode::AbstractString=\"r\"; swmr=false, pv...)\n\nOpen or create an HDF5 file where mode is one of:\n\n\"r\" read only\n\"r+\" read and write\n\"cw\" read and write, create file if not existing, do not truncate\n\"w\" read and write, create a new file (destroys any existing contents)\n\nPass swmr=true to enable (Single Writer Multiple Reader) SWMR write access for \"w\" and \"r+\", or SWMR read access for \"r\".\n\nProperties can be specified as keywords for FileAccessProperties and FileCreateProperties.\n\nAlso the keywords fapl and fcpl can be used to provide default instances of these property lists. Property lists passed in via keyword will be closed. This is useful to set properties not currently defined by HDF5.jl.\n\nNote that h5open uses fclose_degree = :strong by default, but this can be overriden by the fapl keyword.\n\n\n\n\n\nfunction h5open(f::Function, args...; pv...)\n\nApply the function f to the result of h5open(args...; kwargs...) and close the resulting HDF5.File upon completion. For example with a do block:\n\nh5open(\"foo.h5\",\"w\") do h5\n h5[\"foo\"]=[1,2,3]\nend\n\n\n\n\n\n","category":"function"},{"location":"interface/files/#HDF5.ishdf5","page":"Files","title":"HDF5.ishdf5","text":"ishdf5(name::AbstractString)\n\nReturns true if the file specified by name is in the HDF5 format, and false otherwise.\n\n\n\n\n\n","category":"function"},{"location":"interface/files/#Base.isopen","page":"Files","title":"Base.isopen","text":"isopen(obj::HDF5.File)\n\nReturns true if obj has not been closed, false if it has been closed.\n\n\n\n\n\n","category":"function"},{"location":"interface/files/#Base.read","page":"Files","title":"Base.read","text":"read(parent::H5DataStore)\nread(parent::H5DataStore, names...)\n\nRead a list of variables, read(parent, \"A\", \"B\", \"x\", ...). If no variables are specified, read every variable in the file.\n\n\n\n\n\nread(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString; pv...)\nread(parent::Union{HDF5.File, HDF5.Group}, name::AbstractString => dt::HDF5.Datatype; pv...)\n\nRead a dataset or attribute from a HDF5 file of group identified by name. Optionally, specify the HDF5.Datatype to be read.\n\n\n\n\n\nread(obj::HDF5.DatasetOrAttribute}\n\nRead the data within a HDF5.Dataset or HDF5.Attribute.\n\n\n\n\n\n","category":"function"},{"location":"interface/files/#HDF5.start_swmr_write","page":"Files","title":"HDF5.start_swmr_write","text":"start_swmr_write(h5::HDF5.File)\n\nStart Single Reader Multiple Writer (SWMR) writing mode.\n\nExternal links\n\nSingle Writer Multiple Reader from the HDF5 manual.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#Attributes","page":"Attributes","title":"Attributes","text":"","category":"section"},{"location":"interface/attributes/","page":"Attributes","title":"Attributes","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/attributes/#Dictionary-interface","page":"Attributes","title":"Dictionary interface","text":"","category":"section"},{"location":"interface/attributes/","page":"Attributes","title":"Attributes","text":"attrs\nattributes","category":"page"},{"location":"interface/attributes/#HDF5.attrs","page":"Attributes","title":"HDF5.attrs","text":"attrs(object::Union{File,Group,Dataset,Datatype})\n\nThe attributes dictionary of object. Returns an AttributeDict, a Dict-like object for accessing the attributes of object.\n\nattrs(object)[\"name\"] = value # create/overwrite an attribute\nattr = attrs(object)[\"name\"] # read an attribute\ndelete!(attrs(object), \"name\") # delete an attribute\nkeys(attrs(object)) # list the attribute names\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.attributes","page":"Attributes","title":"HDF5.attributes","text":"attributes(object::Union{File,Object})\n\nThe attributes of a file or object: this returns an Attributes object, which is Dict-like object for accessing the attributes of object: getindex will return an Attribute object, and setindex! will call write_attribute.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#Mid-level-Interface","page":"Attributes","title":"Mid-level Interface","text":"","category":"section"},{"location":"interface/attributes/","page":"Attributes","title":"Attributes","text":"Attribute\nopen_attribute\ncreate_attribute\nread_attribute\nwrite_attribute\ndelete_attribute\nrename_attribute","category":"page"},{"location":"interface/attributes/#HDF5.Attribute","page":"Attributes","title":"HDF5.Attribute","text":"HDF5.Attribute\n\nA HDF5 attribute: this is a piece of metadata attached to an HDF5 Group or Dataset. It acts like a Dataset, in that it has a defined datatype and dataspace, and can read and write data to it.\n\nSee also\n\nopen_attribute\ncreate_attribute\nread_attribute\nwrite_attribute\ndelete_attribute\n\n\n\n\n\n","category":"type"},{"location":"interface/attributes/#HDF5.open_attribute","page":"Attributes","title":"HDF5.open_attribute","text":"open_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)\n\nOpen the Attribute named name on the object parent.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.create_attribute","page":"Attributes","title":"HDF5.create_attribute","text":"create_attribute(parent::Union{File,Object}, name::AbstractString, dtype::Datatype, space::Dataspace)\ncreate_attribute(parent::Union{File,Object}, name::AbstractString, data)\n\nCreate a new Attribute object named name on the object parent, either by specifying the Datatype and Dataspace of the attribute, or by providing the data. Note that no data will be written: use write_attribute to write the data.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.read_attribute","page":"Attributes","title":"HDF5.read_attribute","text":"read_attribute(parent::Union{File,Group,Dataset,Datatype}, name::AbstractString)\n\nRead the value of the named attribute on the parent object.\n\nExample\n\njulia> HDF5.read_attribute(g, \"time\")\n2.45\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.write_attribute","page":"Attributes","title":"HDF5.write_attribute","text":"write_attribute(parent::Union{File,Object}, name::AbstractString, data)\n\nWrite data as an Attribute named name on the object parent.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.delete_attribute","page":"Attributes","title":"HDF5.delete_attribute","text":"delete_attribute(parent::Union{File,Object}, name::AbstractString)\n\nDelete the Attribute named name on the object parent.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.rename_attribute","page":"Attributes","title":"HDF5.rename_attribute","text":"rename_attribute(parent::Union{File,Object}, oldname::AbstractString, newname::AbstractString)\n\nRename the Attribute of the object parent named oldname to newname.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#Convenience-interface","page":"Attributes","title":"Convenience interface","text":"","category":"section"},{"location":"interface/attributes/","page":"Attributes","title":"Attributes","text":"h5readattr\nh5writeattr\nnum_attrs","category":"page"},{"location":"interface/attributes/#HDF5.h5readattr","page":"Attributes","title":"HDF5.h5readattr","text":"h5readattr(filename, name::AbstractString, data::Dict)\n\nRead the attributes of the object at name in the HDF5 file filename, returning a Dict.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.h5writeattr","page":"Attributes","title":"HDF5.h5writeattr","text":"h5writeattr(filename, name::AbstractString, data::Dict)\n\nWrite data as attributes to the object at name in the HDF5 file filename.\n\n\n\n\n\n","category":"function"},{"location":"interface/attributes/#HDF5.num_attrs","page":"Attributes","title":"HDF5.num_attrs","text":"num_attrs()\n\nRetrieve the number of attributes from an object.\n\nSee API.h5o_get_info.\n\n\n\n\n\n","category":"function"},{"location":"interface/properties/#Properties","page":"Properties","title":"Properties","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"HDF5 property lists are collections of name-value pairs which can be passed to other HDF5 functions to control features that are typically unimportant or whose default values are usually used. In HDF5.jl, these options are typically handled by keyword arguments to such functions, which will internally create the appropriate Properties objects, and so users will not usually be required to construct them manually.","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"Not all properties defined by the HDF5 library are currently available in HDF5.jl. If you require additional properties, please open an issue or pull request.","category":"page"},{"location":"interface/properties/#Common-functions","page":"Properties","title":"Common functions","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"setproperties!","category":"page"},{"location":"interface/properties/#HDF5.setproperties!","page":"Properties","title":"HDF5.setproperties!","text":"setproperties!(props::Properties...; kwargs...)\n\nFor each (key, value) pair in kwargs, set the corresponding properties in each Properties object in props. Returns a Dict of any pairs which didn't match properties in props.\n\n\n\n\n\n","category":"function"},{"location":"interface/properties/#Properties-types","page":"Properties","title":"Properties types","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"AttributeCreateProperties\nFileAccessProperties\nFileCreateProperties\nGroupAccessProperties\nGroupCreateProperties\nDatasetCreateProperties\nDatasetAccessProperties\nDatatypeAccessProperties\nDatasetTransferProperties\nLinkCreateProperties\nObjectCreateProperties\nStringCreateProperties\nDatatypeCreateProperties","category":"page"},{"location":"interface/properties/#HDF5.AttributeCreateProperties","page":"Properties","title":"HDF5.AttributeCreateProperties","text":"AttributeCreateProperties(;kws...)\nAttributeCreateProperties(f::Function; kws...)\n\nProperties used when creating attributes.\n\nchar_encoding: the character enconding, either :ascii or :utf8.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.FileAccessProperties","page":"Properties","title":"HDF5.FileAccessProperties","text":"FileAccessProperties(;kws...)\nFileAccessProperties(f::Function; kws...)\n\nProperties used when accessing files.\n\nalignment :: Tuple{Integer, Integer}: a (threshold, alignment) pair: any file object greater than or equal in size to threshold bytes will be aligned on an address which is a multiple of alignment. Default values are 1, implying no alignment.\ndriver: the file driver used to access the file. See Drivers.\ndriver_info (get only)\nfclose_degree: file close degree property. One of:\n:weak\n:semi\n:strong\n:default\nlibver_bounds: a (low, high) pair: low sets the earliest possible format versions that the library will use when creating objects in the file; high sets the latest format versions that the library will be allowed to use when creating objects in the file. Values can be a VersionNumber for the hdf5 library, :earliest, or :latest . See H5P_SET_LIBVER_BOUNDS\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.FileCreateProperties","page":"Properties","title":"HDF5.FileCreateProperties","text":"FileCreateProperties(;kws...)\nFileCreateProperties(f::Function; kws...)\n\nProperties used when creating a new File. Inherits from ObjectCreateProperties, with additional properties:\n\nuserblock :: Integer: user block size in bytes. The default user block size is 0; it may be set to any power of 2 equal to 512 or greater (512, 1024, 2048, etc.). See H5P_SET_USERBLOCK.\ntrack_order :: Bool: tracks the file creation order.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.GroupAccessProperties","page":"Properties","title":"HDF5.GroupAccessProperties","text":"GroupAccessProperties(;kws...)\n\nProperties used when accessing datatypes. None are currently defined.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.GroupCreateProperties","page":"Properties","title":"HDF5.GroupCreateProperties","text":"GroupCreateProperties(;kws...)\nGroupCreateProperties(f::Function; kws...)\n\nProperties used when creating a new Group. Inherits from ObjectCreateProperties, with additional options:\n\nlocal_heap_size_hint :: Integer: the anticipated maximum local heap size in bytes. See H5P_SET_LOCAL_HEAP_SIZE_HINT.\ntrack_order :: Bool: tracks the group creation order.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.DatasetCreateProperties","page":"Properties","title":"HDF5.DatasetCreateProperties","text":"DatasetCreateProperties(;kws...)\nDatasetCreateProperties(f::Function; kws...)\n\nProperties used when creating a new Dataset. Inherits from ObjectCreateProperties, with additional properties:\n\nalloc_time: the timing for the allocation of storage space for a dataset's raw data; one of:\n:default\n:early: allocate all space when the dataset is created\n:incremental: Allocate space incrementally, as data is written to the dataset\n:late: Allocate all space when data is first written to the dataset.\nSee H5P_SET_ALLOC_TIME.\nfill_time: the timing of when the dataset should be filled; one of:\n:alloc: Fill when allocated\n:never: Never fill\n:ifset: Fill if a value is set\nfill_value: the fill value for a dataset. See H5P_SET_FILL_VALUE.\nchunk: a tuple containing the size of the chunks to store each dimension. See H5P_SET_CHUNK (note that this uses Julia's column-major ordering).\nexternal: A tuple of (name,offset,size), See H5P_SET_EXTERNAL.\nfilters (only valid when layout=:chunked): a filter or vector of filters that are applied to applied to each chunk of a dataset, see Filters. When accessed, will return a Filters.FilterPipeline object that can be modified in-place.\nlayout: the type of storage used to store the raw data for a dataset. Can be one of:\n:compact: Store raw data in the dataset object header in file. This should only be used for datasets with small amounts of raw data.\n:contiguous: Store raw data separately from the object header in one large chunk in the file.\n:chunked: Store raw data separately from the object header as chunks of data in separate locations in the file.\n:virtual: Draw raw data from multiple datasets in different files. See the virtual property below.\nSee H5P_SET_LAYOUT.\nno_attrs_hint: Minimize the space for dataset metadata by hinting that no attributes will be added if set to true. Attributes can still be added but may exist elsewhere within the file. See H5P_SET_DSET_NO_ATTRS_HINT.\nvirtual: when specified, creates a virtual dataset (VDS). The argument should be a \"virtuala collection of VirtualMapping objects for describing the mapping from the dataset to the source datasets. When accessed, returns a VirtualLayout object.\n\nThe following options are shortcuts for the various filters, and are set-only. They will be appended to the filter pipeline in the order in which they appear\n\nblosc = true | level: set the H5Zblosc.BloscFilter compression filter; argument can be either true, or the compression level.\ndeflate = true | level: set the Filters.Deflate compression filter; argument can be either true, or the compression level.\nfletcher32 = true: set the Filters.Fletcher32 checksum filter.\nshuffle = true: set the Filters.Shuffle filter.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.DatasetAccessProperties","page":"Properties","title":"HDF5.DatasetAccessProperties","text":"DatasetAccessProperties(;kws...)\nDatasetAccessProperties(f::Function; kws...)\n\nProperties that control access to data in external, virtual, and chunked datasets.\n\nchunk_cache: Chunk cache parameters as (nslots, nbytes, w0). Default: (521, 0x100000, 0.75)\nefile_prefix: Path prefix for reading external files. The default is the current working directory.\n:origin: alias for raw\"$ORIGIN\" will make the external file relative to the HDF5 file.\nvirtual_prefix: Path prefix for reading virtual datasets.\nvirtual_printf_gap: The maximum number of missing source files and/or datasets with the printf-style names when getting the extent of an unlimited virtual dataset\nvirtual_view: Influences whether the view of the virtual dataset includes or excludes missing mapped elements\n:first_missing: includes all data before the first missing mapped data\n:last_available: includes all available mapped data\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\nSee Dataset Access Properties\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.DatatypeAccessProperties","page":"Properties","title":"HDF5.DatatypeAccessProperties","text":"DatatypeAccessProperties(;kws...)\n\nProperties used when accessing datatypes. None are currently defined.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.DatasetTransferProperties","page":"Properties","title":"HDF5.DatasetTransferProperties","text":"DatasetTransferProperties(;kws...)\nDatasetTransferProperties(f::Function; kws...)\n\nProperties used when transferring data to/from datasets\n\ndxpl_mpio: MPI transfer mode when using Drivers.MPIO file driver:\n:independent: use independent I/O access (default),\n:collective: use collective I/O access.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.LinkCreateProperties","page":"Properties","title":"HDF5.LinkCreateProperties","text":"LinkCreateProperties(;kws...)\nLinkCreateProperties(f::Function; kws...)\n\nProperties used when creating links.\n\nchar_encoding: the character enconding, either :ascii or :utf8.\ncreate_intermediate_group :: Bool: if true, will create missing intermediate groups.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.ObjectCreateProperties","page":"Properties","title":"HDF5.ObjectCreateProperties","text":"ObjectCreateProperties(;kws...)\nObjectCreateProperties(f::Function; kws...)\n\nProperties used when creating a new object. Available options:\n\nobj_track_times :: Bool: governs the recording of times associated with an object. If set to true, time data will be recorded. See H5P_SET_OBJ_TRACK_TIMES.\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.StringCreateProperties","page":"Properties","title":"HDF5.StringCreateProperties","text":"StringCreateProperties(;kws...)\nStringCreateProperties(f::Function; kws...)\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.DatatypeCreateProperties","page":"Properties","title":"HDF5.DatatypeCreateProperties","text":"DatatypeCreateProperties(;kws...)\nDatatypeCreateProperties(f::Function; kws...)\n\nA function argument passed via do will be given an initialized property list that will be closed.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#Virtual-Datasets","page":"Properties","title":"Virtual Datasets","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"VirtualMapping\nVirtualLayout","category":"page"},{"location":"interface/properties/#HDF5.VirtualMapping","page":"Properties","title":"HDF5.VirtualMapping","text":"VirtualMapping(\n vspace::Dataspace,\n srcfile::AbstractString,\n srcdset::AbstractString,\n srcspace::Dataspace\n)\n\nSpecify a map of elements of the virtual dataset (VDS) described by vspace to the elements of the source dataset described by srcspace. The source dataset is identified by the name of the file where it is located, srcfile, and the name of the dataset, srcdset.\n\nBoth srcfile and srcdset support \"printf\"-style formats with %b being replaced by the block count of the selection.\n\nFor more details on how source file resolution works, see H5P_SET_VIRTUAL.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.VirtualLayout","page":"Properties","title":"HDF5.VirtualLayout","text":"VirtualLayout(dcpl::DatasetCreateProperties)\n\nThe collection of VirtualMappings associated with dcpl. This is an AbstractVector{VirtualMapping}, supporting length, getindex and push!.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#Drivers","page":"Properties","title":"Drivers","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"File drivers determine how the HDF5 is accessed. These can be set as the driver property in FileAccessProperties.","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"CurrentModule = HDF5.Drivers","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"Core\nPOSIX\nROS3\nMPIO","category":"page"},{"location":"interface/properties/#HDF5.Drivers.Core","page":"Properties","title":"HDF5.Drivers.Core","text":"Core([increment::Csize_t, backing_store::Cuint, [write_tracking::Cuint, page_size::Csize_t]])\nCore(; increment::Csize_t = 8192, backing_store::Cuint = true, write_tracking::Cuint = false, page_size::Csize_t = 524288)\n\nArguments\n\nincrement: specifies the increment by which allocated memory is to be increased each time more memory is required. (default: 8192)\nbacking_store: Boolean flag indicating whether to write the file contents to disk when the file is closed. (default: false)\nwrite_tracking: Boolean flag indicating whether write tracking is enabled. (default: false)\npage_size: Size, in bytes, of write aggregation pages. (default: 524288)\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.Drivers.POSIX","page":"Properties","title":"HDF5.Drivers.POSIX","text":"POSIX()\n\nAlso referred to as SEC2, this driver uses POSIX file-system functions like read and write to perform I/O to a single, permanent file on local disk with no system buffering. This driver is POSIX-compliant and is the default file driver for all systems.\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.Drivers.ROS3","page":"Properties","title":"HDF5.Drivers.ROS3","text":"ROS3()\nROS3(aws_region::String, secret_id::String, secret_key::String)\nROS3(version::Int32, authenticate::Bool, aws_region::String, secret_id::String, secret_key::String)\n\nThis is the read-only virtual driver that enables access to HDF5 objects stored in AWS S3\n\n\n\n\n\n","category":"type"},{"location":"interface/properties/#HDF5.Drivers.MPIO","page":"Properties","title":"HDF5.Drivers.MPIO","text":"MPIO(comm::MPI.Comm, info::MPI.Info)\nMPIO(comm::MPI.Comm; kwargs....)\n\nThe parallel MPI file driver. This requires the use of MPI.jl, and a custom HDF5 binary that has been built with MPI support.\n\ncomm is the communicator over which the file will be opened.\ninfo/kwargs are MPI-IO options, and are passed to MPI_FILE_OPEN.\n\nSee also\n\nHDF5.has_parallel\nParallel HDF5\n\nExternal links\n\nH5P_SET_FAPL_MPIO\nParallel HDF5\n\n\n\n\n\n","category":"function"},{"location":"interface/properties/#Internals","page":"Properties","title":"Internals","text":"","category":"section"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"The following macros are used for defining new properties and property getters/setters.","category":"page"},{"location":"interface/properties/","page":"Properties","title":"Properties","text":"@propertyclass\n@bool_property\n@enum_property\n@tuple_property","category":"page"},{"location":"interface/properties/#HDF5.@propertyclass","page":"Properties","title":"HDF5.@propertyclass","text":"@propertyclass P classid\n\nDefine a new subtype of P <: Properties corresponding to a HDF5 property list with class identifier classid.\n\nOnce defined, the following interfaces can be defined:\n\nsuperclass(::Type{P})\n\nThis should return the type from which P inherits. If not defined, it will inherit from GenericProperties.\n\nclass_propertynames(::Type{P})\n\nThis should return a Tuple of Symbols, being the names of the properties associated with P.\n\nclass_getproperty(::Type{P}, p::Properties, name::Symbol)\n\nIf name is an associated property of type P, this should return the value of the property, otherwise call class_getproperty(superclass(P), p, name).\n\nclass_setproperty!(::Type{P}, p::Properties, name::Symbol, val)\n\nIf name is an associated property of type P, this should set the value of the property, otherwise call class_setproperty!(superclass(P), p, name, val).\n\n\n\n\n\n","category":"macro"},{"location":"interface/properties/#HDF5.@bool_property","page":"Properties","title":"HDF5.@bool_property","text":"@bool_property(name)\n\nWrap property getter/setter API functions that use 0/1 to use Bool values\n\n\n\n\n\n","category":"macro"},{"location":"interface/properties/#HDF5.@enum_property","page":"Properties","title":"HDF5.@enum_property","text":"@enum_property(name, sym1 => enumvalue1, sym2 => enumvalue2, ...)\n\nWrap property getter/setter API functions that use enum values to use symbol instead.\n\n\n\n\n\n","category":"macro"},{"location":"interface/properties/#HDF5.@tuple_property","page":"Properties","title":"HDF5.@tuple_property","text":"@tuple_property(name)\n\n\n\n\n\n","category":"macro"},{"location":"interface/datatype/#Datatypes","page":"Datatypes","title":"Datatypes","text":"","category":"section"},{"location":"interface/datatype/","page":"Datatypes","title":"Datatypes","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/datatype/","page":"Datatypes","title":"Datatypes","text":"Datatype\nopen_datatype","category":"page"},{"location":"interface/datatype/#HDF5.Datatype","page":"Datatypes","title":"HDF5.Datatype","text":"HDF5.Datatype(id, toclose = true)\n\nWrapper for a HDF5 datatype id. If toclose is true, the finalizer will close the datatype.\n\n\n\n\n\n","category":"type"},{"location":"interface/datatype/#HDF5.open_datatype","page":"Datatypes","title":"HDF5.open_datatype","text":"open_datatype(parent::Union{File,Group}, path::AbstractString; properties...)\n\nOpen an existing Datatype at path under the parent object.\n\nOptional keyword arguments include any keywords that that belong to DatatypeAccessProperties.\n\n\n\n\n\n","category":"function"},{"location":"interface/configuration/#Configuration","page":"Configuration","title":"Configuration","text":"","category":"section"},{"location":"interface/configuration/","page":"Configuration","title":"Configuration","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/configuration/","page":"Configuration","title":"Configuration","text":"has_parallel\nhas_ros3","category":"page"},{"location":"interface/configuration/#HDF5.has_parallel","page":"Configuration","title":"HDF5.has_parallel","text":"has_parallel()\n\nReturns true if the HDF5 libraries were compiled with MPI parallel support via the Drivers.MPIO driver.\n\nSee Parallel HDF5 for more details.\n\n\n\n\n\n","category":"function"},{"location":"interface/configuration/#HDF5.has_ros3","page":"Configuration","title":"HDF5.has_ros3","text":"has_ros3()\n\nReturns true if the HDF5 libraries were compiled with ros3 support\n\n\n\n\n\n","category":"function"},{"location":"interface/configuration/#Display","page":"Configuration","title":"Display","text":"","category":"section"},{"location":"interface/configuration/","page":"Configuration","title":"Configuration","text":"SHOW_TREE_ICONS\nSHOW_TREE_MAX_CHILDREN\nSHOW_TREE_MAX_DEPTH","category":"page"},{"location":"interface/configuration/#HDF5.SHOW_TREE_ICONS","page":"Configuration","title":"HDF5.SHOW_TREE_ICONS","text":"SHOW_TREE_ICONS = Ref{Bool}(true)\n\nConfigurable option to control whether emoji icons (true) or a plain-text annotation (false) is used to indicate the object type by show_tree.\n\n\n\n\n\n","category":"constant"},{"location":"interface/configuration/#HDF5.SHOW_TREE_MAX_CHILDREN","page":"Configuration","title":"HDF5.SHOW_TREE_MAX_CHILDREN","text":"SHOW_TREE_MAX_CHILDREN = Ref{Int}(50)\n\nMaximum number of children to show at each node.\n\n\n\n\n\n","category":"constant"},{"location":"interface/configuration/#HDF5.SHOW_TREE_MAX_DEPTH","page":"Configuration","title":"HDF5.SHOW_TREE_MAX_DEPTH","text":"SHOW_TREE_MAX_DEPTH = Ref{Int}(5)\n\nMaximum recursive depth to descend during printing.\n\n\n\n\n\n","category":"constant"},{"location":"interface/configuration/#Internals","page":"Configuration","title":"Internals","text":"","category":"section"},{"location":"interface/configuration/","page":"Configuration","title":"Configuration","text":"get_context_property\nCONTEXT\nHDF5Context","category":"page"},{"location":"interface/configuration/#HDF5.get_context_property","page":"Configuration","title":"HDF5.get_context_property","text":"get_context_property(name::Symbol)\n\nInternal API\n\nRetrieve a property list from the task local context, defaulting to HDF5.CONTEXT if task_local_storage()[:hdf5_context] does not exist.\n\n\n\n\n\n","category":"function"},{"location":"interface/configuration/#HDF5.CONTEXT","page":"Configuration","title":"HDF5.CONTEXT","text":"HDF5.CONTEXT\n\nInternal API\n\nDefault HDF5Context.\n\n\n\n\n\n","category":"constant"},{"location":"interface/configuration/#HDF5.HDF5Context","page":"Configuration","title":"HDF5.HDF5Context","text":"HDF5Context\n\nInternal API\n\nAn HDF5Context is a collection of HDF5 property lists. It is meant to be used as a Task local mechanism to store state and change the default property lists for new objects.\n\nUse the function get_context_property(name::Symbol) to access a property list within the local context.\n\nThe context in task_local_storage()[:hdf5_context] will be checked first. A common global HDF5Context is stored in the constant HDF5.CONTEXT and serves as the default context if the current task does not have a :hdf5_context.\n\nFields\n\nattribute_access\nattribute_create\ndataset_access\ndataset_create\ndataset_tranfer\ndatatype_access\ndatatype_create\nfile_access\nfile_create\nfile_mount\ngroup_access\ngroup_create\nlink_access\nlink_create\nobject_copy\nobject_create\nstring_create\n\n\n\n\n\n","category":"type"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"CurrentModule = HDF5.API","category":"page"},{"location":"api_bindings/#Low-level-library-bindings","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"At the lowest level, HDF5.jl operates by calling the public API of the HDF5 shared library through a set of ccall wrapper functions. This page documents the function names and nominal C argument types of the API which have bindings in this package. Note that in many cases, high-level data types are valid arguments through automatic ccall conversions. For instance, HDF5.Datatype objects will be automatically converted to their hid_t ID by Julia's cconvert+unsafe_convert ccall rules.","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"There are additional helper wrappers (often for out-argument functions) which are not documented here.","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5","page":"Low-level library bindings","title":"H5 — General Library Functions","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5_close\nh5_dont_atexit\nh5_free_memory\nh5_garbage_collect\nh5_get_libversion\nh5_is_library_threadsafe\nh5_open\nh5_set_free_list_limits","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5_close\nh5_dont_atexit\nh5_free_memory\nh5_garbage_collect\nh5_get_libversion\nh5_is_library_threadsafe\nh5_open\nh5_set_free_list_limits","category":"page"},{"location":"api_bindings/#HDF5.API.h5_close","page":"Low-level library bindings","title":"HDF5.API.h5_close","text":"h5_close()\n\nSee libhdf5 documentation for H5close.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_dont_atexit","page":"Low-level library bindings","title":"HDF5.API.h5_dont_atexit","text":"h5_dont_atexit()\n\nSee libhdf5 documentation for H5dont_atexit.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_free_memory","page":"Low-level library bindings","title":"HDF5.API.h5_free_memory","text":"h5_free_memory(buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5free_memory.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_garbage_collect","page":"Low-level library bindings","title":"HDF5.API.h5_garbage_collect","text":"h5_garbage_collect()\n\nSee libhdf5 documentation for H5garbage_collect.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_get_libversion","page":"Low-level library bindings","title":"HDF5.API.h5_get_libversion","text":"h5_get_libversion(majnum::Ref{Cuint}, minnum::Ref{Cuint}, relnum::Ref{Cuint})\n\nSee libhdf5 documentation for H5get_libversion.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_is_library_threadsafe","page":"Low-level library bindings","title":"HDF5.API.h5_is_library_threadsafe","text":"h5_is_library_threadsafe(is_ts::Ref{Cuint})\n\nSee libhdf5 documentation for H5is_library_threadsafe.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_open","page":"Low-level library bindings","title":"HDF5.API.h5_open","text":"h5_open()\n\nSee libhdf5 documentation for H5open.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5_set_free_list_limits","page":"Low-level library bindings","title":"HDF5.API.h5_set_free_list_limits","text":"h5_set_free_list_limits(reg_global_lim::Cint, reg_list_lim::Cint, arr_global_lim::Cint, arr_list_lim::Cint, blk_global_lim::Cint, blk_list_lim::Cint)\n\nSee libhdf5 documentation for H5set_free_list_limits.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5A","page":"Low-level library bindings","title":"H5A — Attribute Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5a_close\nh5a_create\nh5a_create_by_name\nh5a_delete\nh5a_delete_by_idx\nh5a_delete_by_name\nh5a_exists\nh5a_exists_by_name\nh5a_get_create_plist\nh5a_get_name\nh5a_get_name_by_idx\nh5a_get_space\nh5a_get_type\nh5a_iterate\nh5a_open\nh5a_open_by_idx\nh5a_read\nh5a_rename\nh5a_write","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5a_close\nh5a_create\nh5a_create_by_name\nh5a_delete\nh5a_delete_by_idx\nh5a_delete_by_name\nh5a_exists\nh5a_exists_by_name\nh5a_get_create_plist\nh5a_get_name\nh5a_get_name_by_idx\nh5a_get_space\nh5a_get_type\nh5a_iterate\nh5a_open\nh5a_open_by_idx\nh5a_read\nh5a_rename\nh5a_write","category":"page"},{"location":"api_bindings/#HDF5.API.h5a_close","page":"Low-level library bindings","title":"HDF5.API.h5a_close","text":"h5a_close(id::hid_t)\n\nSee libhdf5 documentation for H5Aclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_create","page":"Low-level library bindings","title":"HDF5.API.h5a_create","text":"h5a_create(loc_id::hid_t, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Acreate2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_create_by_name","page":"Low-level library bindings","title":"HDF5.API.h5a_create_by_name","text":"h5a_create_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, type_id::hid_t, space_id::hid_t, acpl_id::hid_t, aapl_id::hid_t, lapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Acreate_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_delete","page":"Low-level library bindings","title":"HDF5.API.h5a_delete","text":"h5a_delete(loc_id::hid_t, attr_name::Cstring)\n\nSee libhdf5 documentation for H5Adelete.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_delete_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5a_delete_by_idx","text":"h5a_delete_by_idx(loc_id::hid_t, obj_name::Cstring, idx_type::Cint, order::Cint, n::hsize_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Adelete_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_delete_by_name","page":"Low-level library bindings","title":"HDF5.API.h5a_delete_by_name","text":"h5a_delete_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Adelete_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_exists","page":"Low-level library bindings","title":"HDF5.API.h5a_exists","text":"h5a_exists(obj_id::hid_t, attr_name::Cstring) -> Bool\n\nSee libhdf5 documentation for H5Aexists.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_exists_by_name","page":"Low-level library bindings","title":"HDF5.API.h5a_exists_by_name","text":"h5a_exists_by_name(loc_id::hid_t, obj_name::Cstring, attr_name::Cstring, lapl_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Aexists_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_get_create_plist","page":"Low-level library bindings","title":"HDF5.API.h5a_get_create_plist","text":"h5a_get_create_plist(attr_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Aget_create_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_get_name","page":"Low-level library bindings","title":"HDF5.API.h5a_get_name","text":"h5a_get_name(attr_id::hid_t, buf_size::Csize_t, buf::Ptr{UInt8}) -> Cssize_t\n\nSee libhdf5 documentation for H5Aget_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_get_name_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5a_get_name_by_idx","text":"h5a_get_name_by_idx(loc_id::hid_t, obj_name::Cstring, index_type::Cint, order::Cint, idx::hsize_t, name::Ptr{UInt8}, size::Csize_t, lapl_id::hid_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Aget_name_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_get_space","page":"Low-level library bindings","title":"HDF5.API.h5a_get_space","text":"h5a_get_space(attr_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Aget_space.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_get_type","page":"Low-level library bindings","title":"HDF5.API.h5a_get_type","text":"h5a_get_type(attr_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Aget_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_iterate","page":"Low-level library bindings","title":"HDF5.API.h5a_iterate","text":"h5a_iterate(obj_id::hid_t, idx_type::Cint, order::Cint, n::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)\n\nSee libhdf5 documentation for H5Aiterate2.\n\n\n\n\n\nh5a_iterate(f, loc_id, idx_type, order, idx = 0) -> hsize_t\n\nExecutes h5a_iterate with the user-provided callback function f, returning the index where iteration ends.\n\nThe callback function must correspond to the signature\n\nf(loc::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5A_info_t}) -> Union{Bool, Integer}\n\nwhere a negative return value halts iteration abnormally (triggering an error), a true or a positive value halts iteration successfully, and false or zero continues iteration.\n\nExamples\n\njulia> HDF5.API.h5a_iterate(obj, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do loc, name, info\n println(unsafe_string(name))\n return false\n end\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_open","page":"Low-level library bindings","title":"HDF5.API.h5a_open","text":"h5a_open(obj_id::hid_t, attr_name::Cstring, aapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Aopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_open_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5a_open_by_idx","text":"h5a_open_by_idx(obj_id::hid_t, pathname::Cstring, idx_type::Cint, order::Cint, n::hsize_t, aapl_id::hid_t, lapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Aopen_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_read","page":"Low-level library bindings","title":"HDF5.API.h5a_read","text":"h5a_read(attr_id::hid_t, mem_type_id::hid_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Aread.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_rename","page":"Low-level library bindings","title":"HDF5.API.h5a_rename","text":"h5a_rename(loc_id::hid_t, old_attr_name::Cstring, new_attr_name::Cstring)\n\nSee libhdf5 documentation for H5Arename.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5a_write","page":"Low-level library bindings","title":"HDF5.API.h5a_write","text":"h5a_write(attr_hid::hid_t, mem_type_id::hid_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Awrite.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5D","page":"Low-level library bindings","title":"H5D — Dataset Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5d_chunk_iter\nh5d_close\nh5d_create\nh5d_create_anon\nh5d_extend\nh5d_fill\nh5d_flush\nh5d_gather\nh5d_get_access_plist\nh5d_get_chunk_info\nh5d_get_chunk_info_by_coord\nh5d_get_chunk_storage_size\nh5d_get_create_plist\nh5d_get_num_chunks\nh5d_get_offset\nh5d_get_space\nh5d_get_space_status\nh5d_get_storage_size\nh5d_get_type\nh5d_iterate\nh5d_open\nh5d_read\nh5d_read_chunk\nh5d_refresh\nh5d_scatter\nh5d_set_extent\nh5d_vlen_get_buf_size\nh5d_vlen_reclaim\nh5d_write\nh5d_write_chunk","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5d_chunk_iter\nh5d_close\nh5d_create\nh5d_create_anon\nh5d_extend\nh5d_fill\nh5d_flush\nh5d_gather\nh5d_get_access_plist\nh5d_get_chunk_info\nh5d_get_chunk_info_by_coord\nh5d_get_chunk_storage_size\nh5d_get_create_plist\nh5d_get_num_chunks\nh5d_get_offset\nh5d_get_space\nh5d_get_space_status\nh5d_get_storage_size\nh5d_get_type\nh5d_iterate\nh5d_open\nh5d_read\nh5d_read_chunk\nh5d_refresh\nh5d_scatter\nh5d_set_extent\nh5d_vlen_get_buf_size\nh5d_vlen_reclaim\nh5d_write\nh5d_write_chunk","category":"page"},{"location":"api_bindings/#HDF5.API.h5d_chunk_iter","page":"Low-level library bindings","title":"HDF5.API.h5d_chunk_iter","text":"h5d_chunk_iter(dset_id::hid_t, dxpl_id::hid_t, cb::Ptr{Nothing}, op_data::Any)\n\nSee libhdf5 documentation for H5Dchunk_iter.\n\n\n\n\n\nh5d_chunk_iter(f, dataset, [dxpl_id=H5P_DEFAULT])\n\nCall f(offset::Ptr{hsize_t}, filter_mask::Cuint, addr::haddr_t, size::hsize_t) for each chunk. dataset maybe a HDF5.Dataset or a dataset id. dxpl_id is the the dataset transfer property list and is optional.\n\nAvailable only for HDF5 1.10.x series for 1.10.9 and greater or for version HDF5 1.12.3 or greater.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_close","page":"Low-level library bindings","title":"HDF5.API.h5d_close","text":"h5d_close(dataset_id::hid_t)\n\nSee libhdf5 documentation for H5Dclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_create","page":"Low-level library bindings","title":"HDF5.API.h5d_create","text":"h5d_create(loc_id::hid_t, pathname::Cstring, dtype_id::hid_t, space_id::hid_t, lcpl_id::hid_t, dcpl_id::hid_t, dapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dcreate2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_create_anon","page":"Low-level library bindings","title":"HDF5.API.h5d_create_anon","text":"h5d_create_anon(loc_id::hid_t, type_id::hid_t, space_id::hid_t, dcpl_id::hid_t, dapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dcreate_anon.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_extend","page":"Low-level library bindings","title":"HDF5.API.h5d_extend","text":"h5d_extend(dataset_id::hid_t, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dextend.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_fill","page":"Low-level library bindings","title":"HDF5.API.h5d_fill","text":"h5d_fill(fill::Ptr{Cvoid}, fill_type_id::hid_t, buf::Ptr{Cvoid}, buf_type_id::hid_t, space_id::hid_t)\n\nSee libhdf5 documentation for H5Dfill.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_flush","page":"Low-level library bindings","title":"HDF5.API.h5d_flush","text":"h5d_flush(dataset_id::hid_t)\n\nSee libhdf5 documentation for H5Dflush.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_gather","page":"Low-level library bindings","title":"HDF5.API.h5d_gather","text":"h5d_gather(src_space_id::hid_t, src_buf::Ptr{Cvoid}, type_id::hid_t, dst_buf_size::Csize_t, dst_buf::Ptr{Cvoid}, op::Ptr{Cvoid}, op_data::Any)\n\nSee libhdf5 documentation for H5Dgather.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_access_plist","page":"Low-level library bindings","title":"HDF5.API.h5d_get_access_plist","text":"h5d_get_access_plist(dataset_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dget_access_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_chunk_info","page":"Low-level library bindings","title":"HDF5.API.h5d_get_chunk_info","text":"h5d_get_chunk_info(dataset_id::hid_t, fspace_id::hid_t, index::hsize_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dget_chunk_info.\n\n\n\n\n\nh5d_get_chunk_info(dataset_id, fspace_id, index)\nh5d_get_chunk_info(dataset_id, index; fspace_id = HDF5.API.H5S_ALL)\n\nHelper method to retrieve chunk information.\n\nReturns a NamedTuple{(:offset, :filter_mask, :addr, :size), Tuple{HDF5.API.hsize_t, UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_chunk_info_by_coord","page":"Low-level library bindings","title":"HDF5.API.h5d_get_chunk_info_by_coord","text":"h5d_get_chunk_info_by_coord(dataset_id::hid_t, offset::Ptr{hsize_t}, filter_mask::Ptr{Cuint}, addr::Ptr{haddr_t}, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dget_chunk_info_by_coord.\n\n\n\n\n\nh5d_get_chunk_info_by_coord(dataset_id, offset)\n\nHelper method to read chunk information by coordinate. Returns a NamedTuple{(:filter_mask, :addr, :size), Tuple{UInt32, HDF5.API.haddr_t, HDF5.API.hsize_t}}.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_chunk_storage_size","page":"Low-level library bindings","title":"HDF5.API.h5d_get_chunk_storage_size","text":"h5d_get_chunk_storage_size(dataset_id::hid_t, offset::Ptr{hsize_t}, chunk_nbytes::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dget_chunk_storage_size.\n\n\n\n\n\nh5d_get_chunk_storage_size(dataset_id, offset)\n\nHelper method to retrieve the chunk storage size in bytes. Returns an integer of type HDF5.API.hsize_t.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_create_plist","page":"Low-level library bindings","title":"HDF5.API.h5d_get_create_plist","text":"h5d_get_create_plist(dataset_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dget_create_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_num_chunks","page":"Low-level library bindings","title":"HDF5.API.h5d_get_num_chunks","text":"h5d_get_num_chunks(dataset_id::hid_t, fspace_id::hid_t, nchunks::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dget_num_chunks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_offset","page":"Low-level library bindings","title":"HDF5.API.h5d_get_offset","text":"h5d_get_offset(dataset_id::hid_t) -> haddr_t\n\nSee libhdf5 documentation for H5Dget_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_space","page":"Low-level library bindings","title":"HDF5.API.h5d_get_space","text":"h5d_get_space(dataset_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dget_space.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_space_status","page":"Low-level library bindings","title":"HDF5.API.h5d_get_space_status","text":"h5d_get_space_status(dataset_id::hid_t, status::Ref{Cint})\n\nSee libhdf5 documentation for H5Dget_space_status.\n\n\n\n\n\nh5d_get_space_status(dataset_id)\n\nHelper method to retrieve the status of the dataset space. Returns a HDF5.API.H5D_space_status_t (Cint) indicating the status, see HDF5.API.H5D_SPACE_STATUS_* constants.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_storage_size","page":"Low-level library bindings","title":"HDF5.API.h5d_get_storage_size","text":"h5d_get_storage_size(dataset_id::hid_t) -> hsize_t\n\nSee libhdf5 documentation for H5Dget_storage_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_get_type","page":"Low-level library bindings","title":"HDF5.API.h5d_get_type","text":"h5d_get_type(dataset_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dget_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_iterate","page":"Low-level library bindings","title":"HDF5.API.h5d_iterate","text":"h5d_iterate(buf::Ptr{Cvoid}, type_id::hid_t, space_id::hid_t, operator::Ptr{Cvoid}, operator_data::Any)\n\nSee libhdf5 documentation for H5Diterate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_open","page":"Low-level library bindings","title":"HDF5.API.h5d_open","text":"h5d_open(loc_id::hid_t, pathname::Cstring, dapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Dopen2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_read","page":"Low-level library bindings","title":"HDF5.API.h5d_read","text":"h5d_read(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dread.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_read_chunk","page":"Low-level library bindings","title":"HDF5.API.h5d_read_chunk","text":"h5d_read_chunk(dset::hid_t, dxpl_id::hid_t, offset::Ptr{hsize_t}, filters::Ptr{UInt32}, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dread_chunk.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_refresh","page":"Low-level library bindings","title":"HDF5.API.h5d_refresh","text":"h5d_refresh(dataset_id::hid_t)\n\nSee libhdf5 documentation for H5Drefresh.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_scatter","page":"Low-level library bindings","title":"HDF5.API.h5d_scatter","text":"h5d_scatter(op::Ptr{Cvoid}, op_data::Any, type_id::hid_t, dst_space_id::hid_t, dst_buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dscatter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_set_extent","page":"Low-level library bindings","title":"HDF5.API.h5d_set_extent","text":"h5d_set_extent(dataset_id::hid_t, new_dims::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dset_extent.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_vlen_get_buf_size","page":"Low-level library bindings","title":"HDF5.API.h5d_vlen_get_buf_size","text":"h5d_vlen_get_buf_size(dset_id::hid_t, type_id::hid_t, space_id::hid_t, buf::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Dvlen_get_buf_size.\n\n\n\n\n\nh5d_vlen_get_buf_size(dataset_id, type_id, space_id)\n\nHelper method to determines the number of bytes required to store the variable length data from the dataset. Returns a value of type HDF5.API.hsize_t.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_vlen_reclaim","page":"Low-level library bindings","title":"HDF5.API.h5d_vlen_reclaim","text":"h5d_vlen_reclaim(type_id::hid_t, space_id::hid_t, plist_id::hid_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dvlen_reclaim.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_write","page":"Low-level library bindings","title":"HDF5.API.h5d_write","text":"h5d_write(dataset_id::hid_t, mem_type_id::hid_t, mem_space_id::hid_t, file_space_id::hid_t, xfer_plist_id::hid_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dwrite.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5d_write_chunk","page":"Low-level library bindings","title":"HDF5.API.h5d_write_chunk","text":"h5d_write_chunk(dset_id::hid_t, dxpl_id::hid_t, filter_mask::UInt32, offset::Ptr{hsize_t}, bufsize::Csize_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Dwrite_chunk.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5E","page":"Low-level library bindings","title":"H5E — Error Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5e_close_stack\nh5e_get_auto\nh5e_get_current_stack\nh5e_get_msg\nh5e_get_num\nh5e_set_auto\nh5e_walk","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5e_close_stack\nh5e_get_auto\nh5e_get_current_stack\nh5e_get_msg\nh5e_get_num\nh5e_set_auto\nh5e_walk","category":"page"},{"location":"api_bindings/#HDF5.API.h5e_close_stack","page":"Low-level library bindings","title":"HDF5.API.h5e_close_stack","text":"h5e_close_stack(stack_id::hid_t)\n\nSee libhdf5 documentation for H5Eclose_stack.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_get_auto","page":"Low-level library bindings","title":"HDF5.API.h5e_get_auto","text":"h5e_get_auto(estack_id::hid_t, func::Ref{Ptr{Cvoid}}, client_data::Ref{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Eget_auto2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_get_current_stack","page":"Low-level library bindings","title":"HDF5.API.h5e_get_current_stack","text":"h5e_get_current_stack() -> hid_t\n\nSee libhdf5 documentation for H5Eget_current_stack.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_get_msg","page":"Low-level library bindings","title":"HDF5.API.h5e_get_msg","text":"h5e_get_msg(mesg_id::hid_t, mesg_type::Ref{Cint}, mesg::Ref{UInt8}, len::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Eget_msg.\n\n\n\n\n\nmesg_type, mesg = h5e_get_msg(meshg_id)\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_get_num","page":"Low-level library bindings","title":"HDF5.API.h5e_get_num","text":"h5e_get_num(estack_id::hid_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Eget_num.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_set_auto","page":"Low-level library bindings","title":"HDF5.API.h5e_set_auto","text":"h5e_set_auto(estack_id::hid_t, func::Ptr{Cvoid}, client_data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Eset_auto2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5e_walk","page":"Low-level library bindings","title":"HDF5.API.h5e_walk","text":"h5e_walk(stack_id::hid_t, direction::Cint, op::Ptr{Cvoid}, op_data::Any)\n\nSee libhdf5 documentation for H5Ewalk2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5F","page":"Low-level library bindings","title":"H5F — File Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5f_clear_elink_file_cache\nh5f_close\nh5f_create\nh5f_delete\nh5f_flush\nh5f_format_convert\nh5f_get_access_plist\nh5f_get_create_plist\nh5f_get_dset_no_attrs_hint\nh5f_get_eoa\nh5f_get_file_image\nh5f_get_fileno\nh5f_get_filesize\nh5f_get_free_sections\nh5f_get_freespace\nh5f_get_info\nh5f_get_intent\nh5f_get_mdc_config\nh5f_get_mdc_hit_rate\nh5f_get_mdc_image_info\nh5f_get_mdc_logging_status\nh5f_get_mdc_size\nh5f_get_metadata_read_retry_info\nh5f_get_mpi_atomicity\nh5f_get_name\nh5f_get_obj_count\nh5f_get_obj_ids\nh5f_get_page_buffering_stats\nh5f_get_vfd_handle\nh5f_increment_filesize\nh5f_is_accessible\nh5f_is_hdf5\nh5f_mount\nh5f_open\nh5f_reopen\nh5f_reset_mdc_hit_rate_stats\nh5f_reset_page_buffering_stats\nh5f_set_dset_no_attrs_hint\nh5f_set_libver_bounds\nh5f_set_mdc_config\nh5f_set_mpi_atomicity\nh5f_start_mdc_logging\nh5f_start_swmr_write\nh5f_stop_mdc_logging\nh5f_unmount","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5f_clear_elink_file_cache\nh5f_close\nh5f_create\nh5f_delete\nh5f_flush\nh5f_format_convert\nh5f_get_access_plist\nh5f_get_create_plist\nh5f_get_dset_no_attrs_hint\nh5f_get_eoa\nh5f_get_file_image\nh5f_get_fileno\nh5f_get_filesize\nh5f_get_free_sections\nh5f_get_freespace\nh5f_get_info\nh5f_get_intent\nh5f_get_mdc_config\nh5f_get_mdc_hit_rate\nh5f_get_mdc_image_info\nh5f_get_mdc_logging_status\nh5f_get_mdc_size\nh5f_get_metadata_read_retry_info\nh5f_get_mpi_atomicity\nh5f_get_name\nh5f_get_obj_count\nh5f_get_obj_ids\nh5f_get_page_buffering_stats\nh5f_get_vfd_handle\nh5f_increment_filesize\nh5f_is_accessible\nh5f_is_hdf5\nh5f_mount\nh5f_open\nh5f_reopen\nh5f_reset_mdc_hit_rate_stats\nh5f_reset_page_buffering_stats\nh5f_set_dset_no_attrs_hint\nh5f_set_libver_bounds\nh5f_set_mdc_config\nh5f_set_mpi_atomicity\nh5f_start_mdc_logging\nh5f_start_swmr_write\nh5f_stop_mdc_logging\nh5f_unmount","category":"page"},{"location":"api_bindings/#HDF5.API.h5f_clear_elink_file_cache","page":"Low-level library bindings","title":"HDF5.API.h5f_clear_elink_file_cache","text":"h5f_clear_elink_file_cache(file_id::hid_t)\n\nSee libhdf5 documentation for H5Fclear_elink_file_cache.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_close","page":"Low-level library bindings","title":"HDF5.API.h5f_close","text":"h5f_close(file_id::hid_t)\n\nSee libhdf5 documentation for H5Fclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_create","page":"Low-level library bindings","title":"HDF5.API.h5f_create","text":"h5f_create(pathname::Cstring, flags::Cuint, fcpl_id::hid_t, fapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Fcreate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_delete","page":"Low-level library bindings","title":"HDF5.API.h5f_delete","text":"h5f_delete(filename::Cstring, fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Fdelete.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_flush","page":"Low-level library bindings","title":"HDF5.API.h5f_flush","text":"h5f_flush(object_id::hid_t, scope::Cint)\n\nSee libhdf5 documentation for H5Fflush.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_format_convert","page":"Low-level library bindings","title":"HDF5.API.h5f_format_convert","text":"h5f_format_convert(fid::hid_t)\n\nSee libhdf5 documentation for H5Fformat_convert.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_access_plist","page":"Low-level library bindings","title":"HDF5.API.h5f_get_access_plist","text":"h5f_get_access_plist(file_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Fget_access_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_create_plist","page":"Low-level library bindings","title":"HDF5.API.h5f_get_create_plist","text":"h5f_get_create_plist(file_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Fget_create_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_dset_no_attrs_hint","page":"Low-level library bindings","title":"HDF5.API.h5f_get_dset_no_attrs_hint","text":"h5f_get_dset_no_attrs_hint(file_id::hid_t, minimize::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Fget_dset_no_attrs_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_eoa","page":"Low-level library bindings","title":"HDF5.API.h5f_get_eoa","text":"h5f_get_eoa(file_id::hid_t, eoa::Ptr{haddr_t})\n\nSee libhdf5 documentation for H5Fget_eoa.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_file_image","page":"Low-level library bindings","title":"HDF5.API.h5f_get_file_image","text":"h5f_get_file_image(file_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Fget_file_image.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_fileno","page":"Low-level library bindings","title":"HDF5.API.h5f_get_fileno","text":"h5f_get_fileno(file_id::hid_t, fileno::Ptr{Culong})\n\nSee libhdf5 documentation for H5Fget_fileno.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_filesize","page":"Low-level library bindings","title":"HDF5.API.h5f_get_filesize","text":"h5f_get_filesize(file_id::hid_t, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Fget_filesize.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_free_sections","page":"Low-level library bindings","title":"HDF5.API.h5f_get_free_sections","text":"h5f_get_free_sections(file_id::hid_t, type::H5F_mem_t, nsects::Csize_t, sect_info::Ptr{H5F_sect_info_t}) -> Cssize_t\n\nSee libhdf5 documentation for H5Fget_free_sections.\n\n\n\n\n\nh5f_get_free_sections(file_id, type, [sect_info::AbstractVector{H5F_sect_info_t}])::AbstractVector{H5F_sect_info_t}\n\nReturn an AbstractVector of the free section information. If sect_info is not provided a new Vector will be allocated and returned. If sect_info is provided, a view, a SubArray, will be returned.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_freespace","page":"Low-level library bindings","title":"HDF5.API.h5f_get_freespace","text":"h5f_get_freespace(file_id::hid_t) -> hssize_t\n\nSee libhdf5 documentation for H5Fget_freespace.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_info","page":"Low-level library bindings","title":"HDF5.API.h5f_get_info","text":"h5f_get_info(obj_id::hid_t, file_info::Ptr{H5F_info2_t})\n\nSee libhdf5 documentation for H5Fget_info2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_intent","page":"Low-level library bindings","title":"HDF5.API.h5f_get_intent","text":"h5f_get_intent(file_id::hid_t, intent::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Fget_intent.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mdc_config","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mdc_config","text":"h5f_get_mdc_config(file_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})\n\nSee libhdf5 documentation for H5Fget_mdc_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mdc_hit_rate","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mdc_hit_rate","text":"h5f_get_mdc_hit_rate(file_id::hid_t, hit_rate_ptr::Ptr{Cdouble})\n\nSee libhdf5 documentation for H5Fget_mdc_hit_rate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mdc_image_info","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mdc_image_info","text":"h5f_get_mdc_image_info(file_id::hid_t, image_addr::Ptr{haddr_t}, image_size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Fget_mdc_image_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mdc_logging_status","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mdc_logging_status","text":"h5f_get_mdc_logging_status(file_id::hid_t, is_enabled::Ptr{hbool_t}, is_currently_logging::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Fget_mdc_logging_status.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mdc_size","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mdc_size","text":"h5f_get_mdc_size(file_id::hid_t, max_size_ptr::Ptr{Csize_t}, min_clean_size_ptr::Ptr{Csize_t}, cur_size_ptr::Ptr{Csize_t}, cur_num_entries_ptr::Ptr{Cint})\n\nSee libhdf5 documentation for H5Fget_mdc_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_metadata_read_retry_info","page":"Low-level library bindings","title":"HDF5.API.h5f_get_metadata_read_retry_info","text":"h5f_get_metadata_read_retry_info(file_id::hid_t, info::Ptr{H5F_retry_info_t})\n\nSee libhdf5 documentation for H5Fget_metadata_read_retry_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_mpi_atomicity","page":"Low-level library bindings","title":"HDF5.API.h5f_get_mpi_atomicity","text":"h5f_get_mpi_atomicity(file_id::hid_t, flag::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Fget_mpi_atomicity.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_name","page":"Low-level library bindings","title":"HDF5.API.h5f_get_name","text":"h5f_get_name(obj_id::hid_t, buf::Ptr{UInt8}, buf_size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Fget_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_obj_count","page":"Low-level library bindings","title":"HDF5.API.h5f_get_obj_count","text":"h5f_get_obj_count(file_id::hid_t, types::Cuint) -> Cssize_t\n\nSee libhdf5 documentation for H5Fget_obj_count.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_obj_ids","page":"Low-level library bindings","title":"HDF5.API.h5f_get_obj_ids","text":"h5f_get_obj_ids(file_id::hid_t, types::Cuint, max_objs::Csize_t, obj_id_list::Ptr{hid_t}) -> Cssize_t\n\nSee libhdf5 documentation for H5Fget_obj_ids.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_page_buffering_stats","page":"Low-level library bindings","title":"HDF5.API.h5f_get_page_buffering_stats","text":"h5f_get_page_buffering_stats(file_id::hid_t, accesses::Ptr{Cuint}, hits::Ptr{Cuint}, misses::Ptr{Cuint}, evictions::Ptr{Cuint}, bypasses::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Fget_page_buffering_stats.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_get_vfd_handle","page":"Low-level library bindings","title":"HDF5.API.h5f_get_vfd_handle","text":"h5f_get_vfd_handle(file_id::hid_t, fapl_id::hid_t, file_handle::Ref{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Fget_vfd_handle.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_increment_filesize","page":"Low-level library bindings","title":"HDF5.API.h5f_increment_filesize","text":"h5f_increment_filesize(file_id::hid_t, increment::hsize_t)\n\nSee libhdf5 documentation for H5Fincrement_filesize.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_is_accessible","page":"Low-level library bindings","title":"HDF5.API.h5f_is_accessible","text":"h5f_is_accessible(container_name::Cstring, fapl_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Fis_accessible.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_is_hdf5","page":"Low-level library bindings","title":"HDF5.API.h5f_is_hdf5","text":"h5f_is_hdf5(pathname::Cstring) -> Bool\n\nSee libhdf5 documentation for H5Fis_hdf5.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_mount","page":"Low-level library bindings","title":"HDF5.API.h5f_mount","text":"h5f_mount(loc::hid_t, name::Cstring, child::hid_t, plist::hid_t)\n\nSee libhdf5 documentation for H5Fmount.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_open","page":"Low-level library bindings","title":"HDF5.API.h5f_open","text":"h5f_open(pathname::Cstring, flags::Cuint, fapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Fopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_reopen","page":"Low-level library bindings","title":"HDF5.API.h5f_reopen","text":"h5f_reopen(file_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Freopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_reset_mdc_hit_rate_stats","page":"Low-level library bindings","title":"HDF5.API.h5f_reset_mdc_hit_rate_stats","text":"h5f_reset_mdc_hit_rate_stats(file_id::hid_t)\n\nSee libhdf5 documentation for H5Freset_mdc_hit_rate_stats.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_reset_page_buffering_stats","page":"Low-level library bindings","title":"HDF5.API.h5f_reset_page_buffering_stats","text":"h5f_reset_page_buffering_stats(file_id::hid_t)\n\nSee libhdf5 documentation for H5Freset_page_buffering_stats.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_set_dset_no_attrs_hint","page":"Low-level library bindings","title":"HDF5.API.h5f_set_dset_no_attrs_hint","text":"h5f_set_dset_no_attrs_hint(file_id::hid_t, minimize::hbool_t)\n\nSee libhdf5 documentation for H5Fset_dset_no_attrs_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_set_libver_bounds","page":"Low-level library bindings","title":"HDF5.API.h5f_set_libver_bounds","text":"h5f_set_libver_bounds(file_id::hid_t, low::H5F_libver_t, high::H5F_libver_t)\n\nSee libhdf5 documentation for H5Fset_libver_bounds.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_set_mdc_config","page":"Low-level library bindings","title":"HDF5.API.h5f_set_mdc_config","text":"h5f_set_mdc_config(file_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})\n\nSee libhdf5 documentation for H5Fset_mdc_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_set_mpi_atomicity","page":"Low-level library bindings","title":"HDF5.API.h5f_set_mpi_atomicity","text":"h5f_set_mpi_atomicity(file_id::hid_t, flag::hbool_t)\n\nSee libhdf5 documentation for H5Fset_mpi_atomicity.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_start_mdc_logging","page":"Low-level library bindings","title":"HDF5.API.h5f_start_mdc_logging","text":"h5f_start_mdc_logging(file_id::hid_t)\n\nSee libhdf5 documentation for H5Fstart_mdc_logging.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_start_swmr_write","page":"Low-level library bindings","title":"HDF5.API.h5f_start_swmr_write","text":"h5f_start_swmr_write(id::hid_t)\n\nSee libhdf5 documentation for H5Fstart_swmr_write.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_stop_mdc_logging","page":"Low-level library bindings","title":"HDF5.API.h5f_stop_mdc_logging","text":"h5f_stop_mdc_logging(file_id::hid_t)\n\nSee libhdf5 documentation for H5Fstop_mdc_logging.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5f_unmount","page":"Low-level library bindings","title":"HDF5.API.h5f_unmount","text":"h5f_unmount(loc::hid_t, name::Cstring)\n\nSee libhdf5 documentation for H5Funmount.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5G","page":"Low-level library bindings","title":"H5G — Group Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5g_close\nh5g_create\nh5g_get_create_plist\nh5g_get_info\nh5g_get_num_objs\nh5g_get_objname_by_idx\nh5g_open","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5g_close\nh5g_create\nh5g_get_create_plist\nh5g_get_info\nh5g_get_num_objs\nh5g_get_objname_by_idx\nh5g_open","category":"page"},{"location":"api_bindings/#HDF5.API.h5g_close","page":"Low-level library bindings","title":"HDF5.API.h5g_close","text":"h5g_close(group_id::hid_t)\n\nSee libhdf5 documentation for H5Gclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_create","page":"Low-level library bindings","title":"HDF5.API.h5g_create","text":"h5g_create(loc_id::hid_t, pathname::Cstring, lcpl_id::hid_t, gcpl_id::hid_t, gapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Gcreate2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_get_create_plist","page":"Low-level library bindings","title":"HDF5.API.h5g_get_create_plist","text":"h5g_get_create_plist(group_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Gget_create_plist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_get_info","page":"Low-level library bindings","title":"HDF5.API.h5g_get_info","text":"h5g_get_info(group_id::hid_t, buf::Ptr{H5G_info_t})\n\nSee libhdf5 documentation for H5Gget_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_get_num_objs","page":"Low-level library bindings","title":"HDF5.API.h5g_get_num_objs","text":"h5g_get_num_objs(loc_id::hid_t, num_obj::Ptr{hsize_t}) -> hid_t\n\nSee libhdf5 documentation for H5Gget_num_objs.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_get_objname_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5g_get_objname_by_idx","text":"h5g_get_objname_by_idx(loc_id::hid_t, idx::hsize_t, pathname::Ptr{UInt8}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Gget_objname_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5g_open","page":"Low-level library bindings","title":"HDF5.API.h5g_open","text":"h5g_open(loc_id::hid_t, pathname::Cstring, gapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Gopen2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5I","page":"Low-level library bindings","title":"H5I — Identifier Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5i_dec_ref\nh5i_get_file_id\nh5i_get_name\nh5i_get_ref\nh5i_get_type\nh5i_inc_ref\nh5i_is_valid","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5i_dec_ref\nh5i_get_file_id\nh5i_get_name\nh5i_get_ref\nh5i_get_type\nh5i_inc_ref\nh5i_is_valid","category":"page"},{"location":"api_bindings/#HDF5.API.h5i_dec_ref","page":"Low-level library bindings","title":"HDF5.API.h5i_dec_ref","text":"h5i_dec_ref(obj_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Idec_ref.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_get_file_id","page":"Low-level library bindings","title":"HDF5.API.h5i_get_file_id","text":"h5i_get_file_id(obj_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Iget_file_id.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_get_name","page":"Low-level library bindings","title":"HDF5.API.h5i_get_name","text":"h5i_get_name(obj_id::hid_t, buf::Ptr{UInt8}, buf_size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Iget_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_get_ref","page":"Low-level library bindings","title":"HDF5.API.h5i_get_ref","text":"h5i_get_ref(obj_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Iget_ref.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_get_type","page":"Low-level library bindings","title":"HDF5.API.h5i_get_type","text":"h5i_get_type(obj_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Iget_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_inc_ref","page":"Low-level library bindings","title":"HDF5.API.h5i_inc_ref","text":"h5i_inc_ref(obj_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Iinc_ref.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5i_is_valid","page":"Low-level library bindings","title":"HDF5.API.h5i_is_valid","text":"h5i_is_valid(obj_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Iis_valid.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5L","page":"Low-level library bindings","title":"H5L — Link Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5l_create_external\nh5l_create_hard\nh5l_create_soft\nh5l_delete\nh5l_exists\nh5l_get_info\nh5l_get_name_by_idx\nh5l_iterate\nh5l_move","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5l_create_external\nh5l_create_hard\nh5l_create_soft\nh5l_delete\nh5l_exists\nh5l_get_info\nh5l_get_name_by_idx\nh5l_iterate\nh5l_move","category":"page"},{"location":"api_bindings/#HDF5.API.h5l_create_external","page":"Low-level library bindings","title":"HDF5.API.h5l_create_external","text":"h5l_create_external(target_file_name::Cstring, target_obj_name::Cstring, link_loc_id::hid_t, link_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Lcreate_external.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_create_hard","page":"Low-level library bindings","title":"HDF5.API.h5l_create_hard","text":"h5l_create_hard(obj_loc_id::hid_t, obj_name::Cstring, link_loc_id::hid_t, link_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Lcreate_hard.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_create_soft","page":"Low-level library bindings","title":"HDF5.API.h5l_create_soft","text":"h5l_create_soft(target_path::Cstring, link_loc_id::hid_t, link_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Lcreate_soft.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_delete","page":"Low-level library bindings","title":"HDF5.API.h5l_delete","text":"h5l_delete(obj_id::hid_t, pathname::Cstring, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Ldelete.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_exists","page":"Low-level library bindings","title":"HDF5.API.h5l_exists","text":"h5l_exists(loc_id::hid_t, pathname::Cstring, lapl_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Lexists.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_get_info","page":"Low-level library bindings","title":"HDF5.API.h5l_get_info","text":"h5l_get_info(link_loc_id::hid_t, link_name::Cstring, link_buf::Ptr{H5L_info_t}, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Lget_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_get_name_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5l_get_name_by_idx","text":"h5l_get_name_by_idx(loc_id::hid_t, group_name::Cstring, index_field::Cint, order::Cint, n::hsize_t, name::Ptr{UInt8}, size::Csize_t, lapl_id::hid_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Lget_name_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_iterate","page":"Low-level library bindings","title":"HDF5.API.h5l_iterate","text":"h5l_iterate(group_id::hid_t, idx_type::Cint, order::Cint, idx::Ptr{hsize_t}, op::Ptr{Cvoid}, op_data::Any)\n\nSee libhdf5 documentation for H5Literate1.\n\n\n\n\n\nh5l_iterate(f, group_id, idx_type, order, idx = 0) -> hsize_t\n\nExecutes h5l_iterate with the user-provided callback function f, returning the index where iteration ends.\n\nThe callback function must correspond to the signature\n\nf(group::HDF5.API.hid_t, name::Ptr{Cchar}, info::Ptr{HDF5.API.H5L_info_t}) -> Union{Bool, Integer}\n\nwhere a negative return value halts iteration abnormally, true or a positive value halts iteration successfully, and false or zero continues iteration.\n\nExamples\n\njulia> HDF5.API.h5l_iterate(hfile, HDF5.API.H5_INDEX_NAME, HDF5.API.H5_ITER_INC) do group, name, info\n println(unsafe_string(name))\n return HDF5.API.herr_t(0)\n end\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5l_move","page":"Low-level library bindings","title":"HDF5.API.h5l_move","text":"h5l_move(src_obj_id::hid_t, src_name::Cstring, dest_obj_id::hid_t, dest_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Lmove.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5O","page":"Low-level library bindings","title":"H5O — Object Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5o_are_mdc_flushes_disabled\nh5o_close\nh5o_copy\nh5o_decr_refcount\nh5o_disable_mdc_flushes\nh5o_enable_mdc_flushes\nh5o_exists_by_name\nh5o_flush\nh5o_get_comment\nh5o_get_comment_by_name\nh5o_get_info\nh5o_get_info1\nh5o_get_info_by_idx\nh5o_get_info_by_name\nh5o_get_native_info\nh5o_get_native_info_by_idx\nh5o_get_native_info_by_name\nh5o_incr_refcount\nh5o_link\nh5o_open\nh5o_open_by_addr\nh5o_open_by_idx\nh5o_refresh\nh5o_set_comment\nh5o_set_comment_by_name\nh5o_token_cmp\nh5o_token_from_str\nh5o_token_to_str\nh5o_visit\nh5o_visit_by_name","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5o_are_mdc_flushes_disabled\nh5o_close\nh5o_copy\nh5o_decr_refcount\nh5o_disable_mdc_flushes\nh5o_enable_mdc_flushes\nh5o_exists_by_name\nh5o_flush\nh5o_get_comment\nh5o_get_comment_by_name\nh5o_get_info\nh5o_get_info1\nh5o_get_info_by_idx\nh5o_get_info_by_name\nh5o_get_native_info\nh5o_get_native_info_by_idx\nh5o_get_native_info_by_name\nh5o_incr_refcount\nh5o_link\nh5o_open\nh5o_open_by_addr\nh5o_open_by_idx\nh5o_refresh\nh5o_set_comment\nh5o_set_comment_by_name\nh5o_token_cmp\nh5o_token_from_str\nh5o_token_to_str\nh5o_visit\nh5o_visit_by_name","category":"page"},{"location":"api_bindings/#HDF5.API.h5o_are_mdc_flushes_disabled","page":"Low-level library bindings","title":"HDF5.API.h5o_are_mdc_flushes_disabled","text":"h5o_are_mdc_flushes_disabled(object_id::hid_t, are_disabled::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Oare_mdc_flushes_disabled.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_close","page":"Low-level library bindings","title":"HDF5.API.h5o_close","text":"h5o_close(object_id::hid_t)\n\nSee libhdf5 documentation for H5Oclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_copy","page":"Low-level library bindings","title":"HDF5.API.h5o_copy","text":"h5o_copy(src_loc_id::hid_t, src_name::Cstring, dst_loc_id::hid_t, dst_name::Cstring, ocpypl_id::hid_t, lcpl_id::hid_t)\n\nSee libhdf5 documentation for H5Ocopy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_decr_refcount","page":"Low-level library bindings","title":"HDF5.API.h5o_decr_refcount","text":"h5o_decr_refcount(object_id::hid_t)\n\nSee libhdf5 documentation for H5Odecr_refcount.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_disable_mdc_flushes","page":"Low-level library bindings","title":"HDF5.API.h5o_disable_mdc_flushes","text":"h5o_disable_mdc_flushes(object_id::hid_t)\n\nSee libhdf5 documentation for H5Odisable_mdc_flushes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_enable_mdc_flushes","page":"Low-level library bindings","title":"HDF5.API.h5o_enable_mdc_flushes","text":"h5o_enable_mdc_flushes(object_id::hid_t)\n\nSee libhdf5 documentation for H5Oenable_mdc_flushes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_exists_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_exists_by_name","text":"h5o_exists_by_name(loc_id::hid_t, name::Cstring, lapl_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Oexists_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_flush","page":"Low-level library bindings","title":"HDF5.API.h5o_flush","text":"h5o_flush(obj_id::hid_t)\n\nSee libhdf5 documentation for H5Oflush.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_comment","page":"Low-level library bindings","title":"HDF5.API.h5o_get_comment","text":"h5o_get_comment(obj_id::hid_t, comment::Ptr{Cchar}, bufsize::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Oget_comment.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_comment_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_get_comment_by_name","text":"h5o_get_comment_by_name(loc_id::hid_t, name::Cstring, comment::Ptr{Cchar}, bufsize::Csize_t, lapl_id::hid_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Oget_comment_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_info","page":"Low-level library bindings","title":"HDF5.API.h5o_get_info","text":"h5o_get_info(loc_id::hid_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint)\n\nSee libhdf5 documentation for H5Oget_info3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_info1","page":"Low-level library bindings","title":"HDF5.API.h5o_get_info1","text":"h5o_get_info1(object_id, [buf])\n\nDeprecated HDF5 function. Use h5o_get_info or h5o_get_native_info if possible.\n\nSee libhdf5 documentation for H5Oget_info1.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_info_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5o_get_info_by_idx","text":"h5o_get_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Oget_info_by_idx3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_info_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_get_info_by_name","text":"h5o_get_info_by_name(loc_id::hid_t, name::Cstring, oinfo::Ptr{H5O_info2_t}, fields::Cuint, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Oget_info_by_name3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_native_info","page":"Low-level library bindings","title":"HDF5.API.h5o_get_native_info","text":"h5o_get_native_info(loc_id::hid_t, oinfo::Ptr{H5O_native_info_t}, fields::Cuint)\n\nSee libhdf5 documentation for H5Oget_native_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_native_info_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5o_get_native_info_by_idx","text":"h5o_get_native_info_by_idx(loc_id::hid_t, group_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, n::hsize_t, oinfo::Ptr{H5O_native_info_t}, fields::Cuint, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Oget_native_info_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_get_native_info_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_get_native_info_by_name","text":"h5o_get_native_info_by_name(loc_id::hid_t, name::Cstring, oinfo::Ptr{H5O_native_info_t}, fields::Cuint, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Oget_native_info_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_incr_refcount","page":"Low-level library bindings","title":"HDF5.API.h5o_incr_refcount","text":"h5o_incr_refcount(object_id::hid_t)\n\nSee libhdf5 documentation for H5Oincr_refcount.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_link","page":"Low-level library bindings","title":"HDF5.API.h5o_link","text":"h5o_link(obj_id::hid_t, new_loc_id::hid_t, new_name::Cstring, lcpl_id::hid_t, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Olink.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_open","page":"Low-level library bindings","title":"HDF5.API.h5o_open","text":"h5o_open(loc_id::hid_t, pathname::Cstring, lapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Oopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_open_by_addr","page":"Low-level library bindings","title":"HDF5.API.h5o_open_by_addr","text":"h5o_open_by_addr(loc_id::hid_t, addr::haddr_t) -> hid_t\n\nSee libhdf5 documentation for H5Oopen_by_addr.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_open_by_idx","page":"Low-level library bindings","title":"HDF5.API.h5o_open_by_idx","text":"h5o_open_by_idx(loc_id::hid_t, group_name::Cstring, index_type::Cint, order::Cint, n::hsize_t, lapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Oopen_by_idx.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_refresh","page":"Low-level library bindings","title":"HDF5.API.h5o_refresh","text":"h5o_refresh(oid::hid_t)\n\nSee libhdf5 documentation for H5Orefresh.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_set_comment","page":"Low-level library bindings","title":"HDF5.API.h5o_set_comment","text":"h5o_set_comment(obj_id::hid_t, comment::Cstring)\n\nSee libhdf5 documentation for H5Oset_comment.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_set_comment_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_set_comment_by_name","text":"h5o_set_comment_by_name(loc_id::hid_t, name::Cstring, comment::Cstring, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Oset_comment_by_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_token_cmp","page":"Low-level library bindings","title":"HDF5.API.h5o_token_cmp","text":"h5o_token_cmp(loc_id::hid_t, token1::Ptr{H5O_token_t}, token2::Ptr{H5O_token_t}, cmp_value::Ptr{Cint})\n\nSee libhdf5 documentation for H5Otoken_cmp.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_token_from_str","page":"Low-level library bindings","title":"HDF5.API.h5o_token_from_str","text":"h5o_token_from_str(loc_id::hid_t, token_str::Cstring, token::Ptr{H5O_token_t})\n\nSee libhdf5 documentation for H5Otoken_from_str.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_token_to_str","page":"Low-level library bindings","title":"HDF5.API.h5o_token_to_str","text":"h5o_token_to_str(loc_id::hid_t, token::Ptr{H5O_token_t}, token_str::Ptr{Ptr{Cchar}})\n\nSee libhdf5 documentation for H5Otoken_to_str.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_visit","page":"Low-level library bindings","title":"HDF5.API.h5o_visit","text":"h5o_visit(obj_id::hid_t, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint)\n\nSee libhdf5 documentation for H5Ovisit3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5o_visit_by_name","page":"Low-level library bindings","title":"HDF5.API.h5o_visit_by_name","text":"h5o_visit_by_name(loc_id::hid_t, obj_name::Cstring, idx_type::H5_index_t, order::H5_iter_order_t, op::H5O_iterate2_t, op_data::Ptr{Cvoid}, fields::Cuint, lapl_id::hid_t)\n\nSee libhdf5 documentation for H5Ovisit_by_name3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5PL","page":"Low-level library bindings","title":"H5PL — Plugin Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5pl_append\nh5pl_get\nh5pl_get_loading_state\nh5pl_insert\nh5pl_prepend\nh5pl_remove\nh5pl_replace\nh5pl_set_loading_state\nh5pl_size","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5pl_append\nh5pl_get\nh5pl_get_loading_state\nh5pl_insert\nh5pl_prepend\nh5pl_remove\nh5pl_replace\nh5pl_set_loading_state\nh5pl_size","category":"page"},{"location":"api_bindings/#HDF5.API.h5pl_append","page":"Low-level library bindings","title":"HDF5.API.h5pl_append","text":"h5pl_append(search_path::Cstring)\n\nSee libhdf5 documentation for H5PLappend.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_get","page":"Low-level library bindings","title":"HDF5.API.h5pl_get","text":"h5pl_get(index::Cuint, path_buf::Ptr{Cchar}, buf_size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5PLget.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_get_loading_state","page":"Low-level library bindings","title":"HDF5.API.h5pl_get_loading_state","text":"h5pl_get_loading_state(plugin_control_mask::Ptr{Cuint})\n\nSee libhdf5 documentation for H5PLget_loading_state.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_insert","page":"Low-level library bindings","title":"HDF5.API.h5pl_insert","text":"h5pl_insert(search_path::Cstring, index::Cuint)\n\nSee libhdf5 documentation for H5PLinsert.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_prepend","page":"Low-level library bindings","title":"HDF5.API.h5pl_prepend","text":"h5pl_prepend(search_path::Cstring)\n\nSee libhdf5 documentation for H5PLprepend.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_remove","page":"Low-level library bindings","title":"HDF5.API.h5pl_remove","text":"h5pl_remove(index::Cuint)\n\nSee libhdf5 documentation for H5PLremove.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_replace","page":"Low-level library bindings","title":"HDF5.API.h5pl_replace","text":"h5pl_replace(search_path::Cstring, index::Cuint)\n\nSee libhdf5 documentation for H5PLreplace.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_set_loading_state","page":"Low-level library bindings","title":"HDF5.API.h5pl_set_loading_state","text":"h5pl_set_loading_state(plugin_control_mask::Cuint)\n\nSee libhdf5 documentation for H5PLset_loading_state.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5pl_size","page":"Low-level library bindings","title":"HDF5.API.h5pl_size","text":"h5pl_size(num_paths::Ptr{Cuint})\n\nSee libhdf5 documentation for H5PLsize.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5P","page":"Low-level library bindings","title":"H5P — Property Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5p_add_merge_committed_dtype_path\nh5p_all_filters_avail\nh5p_close\nh5p_close_class\nh5p_copy\nh5p_copy_prop\nh5p_create\nh5p_create_class\nh5p_decode\nh5p_encode\nh5p_equal\nh5p_exist\nh5p_fill_value_defined\nh5p_free_merge_committed_dtype_paths\nh5p_get\nh5p_get_alignment\nh5p_get_alloc_time\nh5p_get_append_flush\nh5p_get_attr_creation_order\nh5p_get_attr_phase_change\nh5p_get_btree_ratios\nh5p_get_buffer\nh5p_get_cache\nh5p_get_char_encoding\nh5p_get_chunk\nh5p_get_chunk_cache\nh5p_get_chunk_opts\nh5p_get_class\nh5p_get_class_name\nh5p_get_class_parent\nh5p_get_copy_object\nh5p_get_core_write_tracking\nh5p_get_create_intermediate_group\nh5p_get_data_transform\nh5p_get_driver\nh5p_get_driver_info\nh5p_get_dset_no_attrs_hint\nh5p_get_dxpl_mpio\nh5p_get_edc_check\nh5p_get_efile_prefix\nh5p_get_elink_acc_flags\nh5p_get_elink_cb\nh5p_get_elink_fapl\nh5p_get_elink_file_cache_size\nh5p_get_elink_prefix\nh5p_get_est_link_info\nh5p_get_evict_on_close\nh5p_get_external\nh5p_get_external_count\nh5p_get_family_offset\nh5p_get_fapl_core\nh5p_get_fapl_family\nh5p_get_fapl_hdfs\nh5p_get_fapl_mpio\nh5p_get_fapl_multi\nh5p_get_fapl_ros3\nh5p_get_fapl_splitter\nh5p_get_fclose_degree\nh5p_get_file_image\nh5p_get_file_image_callbacks\nh5p_get_file_locking\nh5p_get_file_space\nh5p_get_file_space_page_size\nh5p_get_file_space_strategy\nh5p_get_fill_time\nh5p_get_fill_value\nh5p_get_filter\nh5p_get_filter_by_id\nh5p_get_gc_references\nh5p_get_hyper_vector_size\nh5p_get_istore_k\nh5p_get_layout\nh5p_get_libver_bounds\nh5p_get_link_creation_order\nh5p_get_link_phase_change\nh5p_get_local_heap_size_hint\nh5p_get_mcdt_search_cb\nh5p_get_mdc_config\nh5p_get_mdc_image_config\nh5p_get_mdc_log_options\nh5p_get_meta_block_size\nh5p_get_metadata_read_attempts\nh5p_get_multi_type\nh5p_get_nfilters\nh5p_get_nlinks\nh5p_get_nprops\nh5p_get_obj_track_times\nh5p_get_object_flush_cb\nh5p_get_page_buffer_size\nh5p_get_preserve\nh5p_get_shared_mesg_index\nh5p_get_shared_mesg_nindexes\nh5p_get_shared_mesg_phase_change\nh5p_get_sieve_buf_size\nh5p_get_size\nh5p_get_sizes\nh5p_get_small_data_block_size\nh5p_get_sym_k\nh5p_get_type_conv_cb\nh5p_get_userblock\nh5p_get_version\nh5p_get_virtual_count\nh5p_get_virtual_dsetname\nh5p_get_virtual_filename\nh5p_get_virtual_prefix\nh5p_get_virtual_printf_gap\nh5p_get_virtual_srcspace\nh5p_get_virtual_view\nh5p_get_virtual_vspace\nh5p_get_vlen_mem_manager\nh5p_get_vol_id\nh5p_get_vol_info\nh5p_insert\nh5p_isa_class\nh5p_iterate\nh5p_modify_filter\nh5p_register\nh5p_remove\nh5p_remove_filter\nh5p_set\nh5p_set_alignment\nh5p_set_alloc_time\nh5p_set_append_flush\nh5p_set_attr_creation_order\nh5p_set_attr_phase_change\nh5p_set_btree_ratios\nh5p_set_buffer\nh5p_set_cache\nh5p_set_char_encoding\nh5p_set_chunk\nh5p_set_chunk_cache\nh5p_set_chunk_opts\nh5p_set_copy_object\nh5p_set_core_write_tracking\nh5p_set_create_intermediate_group\nh5p_set_data_transform\nh5p_set_deflate\nh5p_set_driver\nh5p_set_dset_no_attrs_hint\nh5p_set_dxpl_mpio\nh5p_set_edc_check\nh5p_set_efile_prefix\nh5p_set_elink_acc_flags\nh5p_set_elink_cb\nh5p_set_elink_fapl\nh5p_set_elink_file_cache_size\nh5p_set_elink_prefix\nh5p_set_est_link_info\nh5p_set_evict_on_close\nh5p_set_external\nh5p_set_family_offset\nh5p_set_fapl_core\nh5p_set_fapl_family\nh5p_set_fapl_hdfs\nh5p_set_fapl_log\nh5p_set_fapl_mpio\nh5p_set_fapl_multi\nh5p_set_fapl_ros3\nh5p_set_fapl_sec2\nh5p_set_fapl_split\nh5p_set_fapl_splitter\nh5p_set_fapl_stdio\nh5p_set_fapl_windows\nh5p_set_fclose_degree\nh5p_set_file_image\nh5p_set_file_image_callbacks\nh5p_set_file_locking\nh5p_set_file_space\nh5p_set_file_space_page_size\nh5p_set_file_space_strategy\nh5p_set_fill_time\nh5p_set_fill_value\nh5p_set_filter\nh5p_set_filter_callback\nh5p_set_fletcher32\nh5p_set_gc_references\nh5p_set_hyper_vector_size\nh5p_set_istore_k\nh5p_set_layout\nh5p_set_libver_bounds\nh5p_set_link_creation_order\nh5p_set_link_phase_change\nh5p_set_local_heap_size_hint\nh5p_set_mcdt_search_cb\nh5p_set_mdc_config\nh5p_set_mdc_image_config\nh5p_set_mdc_log_options\nh5p_set_meta_block_size\nh5p_set_metadata_read_attempts\nh5p_set_multi_type\nh5p_set_nbit\nh5p_set_nlinks\nh5p_set_obj_track_times\nh5p_set_object_flush_cb\nh5p_set_page_buffer_size\nh5p_set_preserve\nh5p_set_scaleoffset\nh5p_set_shared_mesg_index\nh5p_set_shared_mesg_nindexes\nh5p_set_shared_mesg_phase_change\nh5p_set_shuffle\nh5p_set_sieve_buf_size\nh5p_set_sizes\nh5p_set_small_data_block_size\nh5p_set_sym_k\nh5p_set_szip\nh5p_set_type_conv_cb\nh5p_set_userblock\nh5p_set_virtual\nh5p_set_virtual_prefix\nh5p_set_virtual_printf_gap\nh5p_set_virtual_view\nh5p_set_vlen_mem_manager\nh5p_set_vol\nh5p_unregister","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5p_add_merge_committed_dtype_path\nh5p_all_filters_avail\nh5p_close\nh5p_close_class\nh5p_copy\nh5p_copy_prop\nh5p_create\nh5p_create_class\nh5p_decode\nh5p_encode\nh5p_equal\nh5p_exist\nh5p_fill_value_defined\nh5p_free_merge_committed_dtype_paths\nh5p_get\nh5p_get_alignment\nh5p_get_alloc_time\nh5p_get_append_flush\nh5p_get_attr_creation_order\nh5p_get_attr_phase_change\nh5p_get_btree_ratios\nh5p_get_buffer\nh5p_get_cache\nh5p_get_char_encoding\nh5p_get_chunk\nh5p_get_chunk_cache\nh5p_get_chunk_opts\nh5p_get_class\nh5p_get_class_name\nh5p_get_class_parent\nh5p_get_copy_object\nh5p_get_core_write_tracking\nh5p_get_create_intermediate_group\nh5p_get_data_transform\nh5p_get_driver\nh5p_get_driver_info\nh5p_get_dset_no_attrs_hint\nh5p_get_dxpl_mpio\nh5p_get_edc_check\nh5p_get_efile_prefix\nh5p_get_elink_acc_flags\nh5p_get_elink_cb\nh5p_get_elink_fapl\nh5p_get_elink_file_cache_size\nh5p_get_elink_prefix\nh5p_get_est_link_info\nh5p_get_evict_on_close\nh5p_get_external\nh5p_get_external_count\nh5p_get_family_offset\nh5p_get_fapl_core\nh5p_get_fapl_family\nh5p_get_fapl_hdfs\nh5p_get_fapl_mpio\nh5p_get_fapl_multi\nh5p_get_fapl_ros3\nh5p_get_fapl_splitter\nh5p_get_fclose_degree\nh5p_get_file_image\nh5p_get_file_image_callbacks\nh5p_get_file_locking\nh5p_get_file_space\nh5p_get_file_space_page_size\nh5p_get_file_space_strategy\nh5p_get_fill_time\nh5p_get_fill_value\nh5p_get_filter\nh5p_get_filter_by_id\nh5p_get_gc_references\nh5p_get_hyper_vector_size\nh5p_get_istore_k\nh5p_get_layout\nh5p_get_libver_bounds\nh5p_get_link_creation_order\nh5p_get_link_phase_change\nh5p_get_local_heap_size_hint\nh5p_get_mcdt_search_cb\nh5p_get_mdc_config\nh5p_get_mdc_image_config\nh5p_get_mdc_log_options\nh5p_get_meta_block_size\nh5p_get_metadata_read_attempts\nh5p_get_multi_type\nh5p_get_nfilters\nh5p_get_nlinks\nh5p_get_nprops\nh5p_get_obj_track_times\nh5p_get_object_flush_cb\nh5p_get_page_buffer_size\nh5p_get_preserve\nh5p_get_shared_mesg_index\nh5p_get_shared_mesg_nindexes\nh5p_get_shared_mesg_phase_change\nh5p_get_sieve_buf_size\nh5p_get_size\nh5p_get_sizes\nh5p_get_small_data_block_size\nh5p_get_sym_k\nh5p_get_type_conv_cb\nh5p_get_userblock\nh5p_get_version\nh5p_get_virtual_count\nh5p_get_virtual_dsetname\nh5p_get_virtual_filename\nh5p_get_virtual_prefix\nh5p_get_virtual_printf_gap\nh5p_get_virtual_srcspace\nh5p_get_virtual_view\nh5p_get_virtual_vspace\nh5p_get_vlen_mem_manager\nh5p_get_vol_id\nh5p_get_vol_info\nh5p_insert\nh5p_isa_class\nh5p_iterate\nh5p_modify_filter\nh5p_register\nh5p_remove\nh5p_remove_filter\nh5p_set\nh5p_set_alignment\nh5p_set_alloc_time\nh5p_set_append_flush\nh5p_set_attr_creation_order\nh5p_set_attr_phase_change\nh5p_set_btree_ratios\nh5p_set_buffer\nh5p_set_cache\nh5p_set_char_encoding\nh5p_set_chunk\nh5p_set_chunk_cache\nh5p_set_chunk_opts\nh5p_set_copy_object\nh5p_set_core_write_tracking\nh5p_set_create_intermediate_group\nh5p_set_data_transform\nh5p_set_deflate\nh5p_set_driver\nh5p_set_dset_no_attrs_hint\nh5p_set_dxpl_mpio\nh5p_set_edc_check\nh5p_set_efile_prefix\nh5p_set_elink_acc_flags\nh5p_set_elink_cb\nh5p_set_elink_fapl\nh5p_set_elink_file_cache_size\nh5p_set_elink_prefix\nh5p_set_est_link_info\nh5p_set_evict_on_close\nh5p_set_external\nh5p_set_family_offset\nh5p_set_fapl_core\nh5p_set_fapl_family\nh5p_set_fapl_hdfs\nh5p_set_fapl_log\nh5p_set_fapl_mpio\nh5p_set_fapl_multi\nh5p_set_fapl_ros3\nh5p_set_fapl_sec2\nh5p_set_fapl_split\nh5p_set_fapl_splitter\nh5p_set_fapl_stdio\nh5p_set_fapl_windows\nh5p_set_fclose_degree\nh5p_set_file_image\nh5p_set_file_image_callbacks\nh5p_set_file_locking\nh5p_set_file_space\nh5p_set_file_space_page_size\nh5p_set_file_space_strategy\nh5p_set_fill_time\nh5p_set_fill_value\nh5p_set_filter\nh5p_set_filter_callback\nh5p_set_fletcher32\nh5p_set_gc_references\nh5p_set_hyper_vector_size\nh5p_set_istore_k\nh5p_set_layout\nh5p_set_libver_bounds\nh5p_set_link_creation_order\nh5p_set_link_phase_change\nh5p_set_local_heap_size_hint\nh5p_set_mcdt_search_cb\nh5p_set_mdc_config\nh5p_set_mdc_image_config\nh5p_set_mdc_log_options\nh5p_set_meta_block_size\nh5p_set_metadata_read_attempts\nh5p_set_multi_type\nh5p_set_nbit\nh5p_set_nlinks\nh5p_set_obj_track_times\nh5p_set_object_flush_cb\nh5p_set_page_buffer_size\nh5p_set_preserve\nh5p_set_scaleoffset\nh5p_set_shared_mesg_index\nh5p_set_shared_mesg_nindexes\nh5p_set_shared_mesg_phase_change\nh5p_set_shuffle\nh5p_set_sieve_buf_size\nh5p_set_sizes\nh5p_set_small_data_block_size\nh5p_set_sym_k\nh5p_set_szip\nh5p_set_type_conv_cb\nh5p_set_userblock\nh5p_set_virtual\nh5p_set_virtual_prefix\nh5p_set_virtual_printf_gap\nh5p_set_virtual_view\nh5p_set_vlen_mem_manager\nh5p_set_vol\nh5p_unregister","category":"page"},{"location":"api_bindings/#HDF5.API.h5p_add_merge_committed_dtype_path","page":"Low-level library bindings","title":"HDF5.API.h5p_add_merge_committed_dtype_path","text":"h5p_add_merge_committed_dtype_path(plist_id::hid_t, path::Cstring)\n\nSee libhdf5 documentation for H5Padd_merge_committed_dtype_path.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_all_filters_avail","page":"Low-level library bindings","title":"HDF5.API.h5p_all_filters_avail","text":"h5p_all_filters_avail(plist_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Pall_filters_avail.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_close","page":"Low-level library bindings","title":"HDF5.API.h5p_close","text":"h5p_close(id::hid_t)\n\nSee libhdf5 documentation for H5Pclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_close_class","page":"Low-level library bindings","title":"HDF5.API.h5p_close_class","text":"h5p_close_class(plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pclose_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_copy","page":"Low-level library bindings","title":"HDF5.API.h5p_copy","text":"h5p_copy(plist_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pcopy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_copy_prop","page":"Low-level library bindings","title":"HDF5.API.h5p_copy_prop","text":"h5p_copy_prop(dst_id::hid_t, src_id::hid_t, name::Cstring)\n\nSee libhdf5 documentation for H5Pcopy_prop.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_create","page":"Low-level library bindings","title":"HDF5.API.h5p_create","text":"h5p_create(cls_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pcreate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_create_class","page":"Low-level library bindings","title":"HDF5.API.h5p_create_class","text":"h5p_create_class(parent::hid_t, name::Cstring, create::H5P_cls_create_func_t, create_data::Ptr{Cvoid}, copy::H5P_cls_copy_func_t, copy_data::Ptr{Cvoid}, close::H5P_cls_close_func_t, close_data::Ptr{Cvoid}) -> hid_t\n\nSee libhdf5 documentation for H5Pcreate_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_decode","page":"Low-level library bindings","title":"HDF5.API.h5p_decode","text":"h5p_decode(buf::Ptr{Cvoid}) -> hid_t\n\nSee libhdf5 documentation for H5Pdecode.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_encode","page":"Low-level library bindings","title":"HDF5.API.h5p_encode","text":"h5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pencode1.\n\n\n\n\n\nh5p_encode(plist_id::hid_t, buf::Ptr{Cvoid}, nalloc::Ptr{Csize_t}, fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pencode2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_equal","page":"Low-level library bindings","title":"HDF5.API.h5p_equal","text":"h5p_equal(id1::hid_t, id2::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Pequal.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_exist","page":"Low-level library bindings","title":"HDF5.API.h5p_exist","text":"h5p_exist(plist_id::hid_t, name::Cstring) -> Bool\n\nSee libhdf5 documentation for H5Pexist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_fill_value_defined","page":"Low-level library bindings","title":"HDF5.API.h5p_fill_value_defined","text":"h5p_fill_value_defined(plist::hid_t, status::Ptr{H5D_fill_value_t})\n\nSee libhdf5 documentation for H5Pfill_value_defined.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_free_merge_committed_dtype_paths","page":"Low-level library bindings","title":"HDF5.API.h5p_free_merge_committed_dtype_paths","text":"h5p_free_merge_committed_dtype_paths(plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pfree_merge_committed_dtype_paths.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get","page":"Low-level library bindings","title":"HDF5.API.h5p_get","text":"h5p_get(plist_id::hid_t, name::Cstring, value::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pget.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_alignment","page":"Low-level library bindings","title":"HDF5.API.h5p_get_alignment","text":"h5p_get_alignment(fapl_id::hid_t, threshold::Ref{hsize_t}, alignment::Ref{hsize_t})\n\nSee libhdf5 documentation for H5Pget_alignment.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_alloc_time","page":"Low-level library bindings","title":"HDF5.API.h5p_get_alloc_time","text":"h5p_get_alloc_time(plist_id::hid_t, alloc_time::Ptr{Cint})\n\nSee libhdf5 documentation for H5Pget_alloc_time.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_append_flush","page":"Low-level library bindings","title":"HDF5.API.h5p_get_append_flush","text":"h5p_get_append_flush(dapl_id::hid_t, dims::Cuint, boundary::Ptr{hsize_t}, func::Ptr{H5D_append_cb_t}, udata::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_append_flush.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_attr_creation_order","page":"Low-level library bindings","title":"HDF5.API.h5p_get_attr_creation_order","text":"h5p_get_attr_creation_order(plist_id::hid_t, crt_order_flags::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_attr_creation_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_attr_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_get_attr_phase_change","text":"h5p_get_attr_phase_change(plist_id::hid_t, max_compact::Ptr{Cuint}, min_dense::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_attr_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_btree_ratios","page":"Low-level library bindings","title":"HDF5.API.h5p_get_btree_ratios","text":"h5p_get_btree_ratios(plist_id::hid_t, left::Ptr{Cdouble}, middle::Ptr{Cdouble}, right::Ptr{Cdouble})\n\nSee libhdf5 documentation for H5Pget_btree_ratios.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_buffer","page":"Low-level library bindings","title":"HDF5.API.h5p_get_buffer","text":"h5p_get_buffer(plist_id::hid_t, tconv::Ptr{Ptr{Cvoid}}, bkg::Ptr{Ptr{Cvoid}}) -> Csize_t\n\nSee libhdf5 documentation for H5Pget_buffer.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_cache","page":"Low-level library bindings","title":"HDF5.API.h5p_get_cache","text":"h5p_get_cache(plist_id::hid_t, mdc_nelmts::Ptr{Cint}, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})\n\nSee libhdf5 documentation for H5Pget_cache.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_char_encoding","page":"Low-level library bindings","title":"HDF5.API.h5p_get_char_encoding","text":"h5p_get_char_encoding(plist_id::hid_t, encoding::Ref{Cint})\n\nSee libhdf5 documentation for H5Pget_char_encoding.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_chunk","page":"Low-level library bindings","title":"HDF5.API.h5p_get_chunk","text":"h5p_get_chunk(plist_id::hid_t, n_dims::Cint, dims::Ptr{hsize_t}) -> Int\n\nSee libhdf5 documentation for H5Pget_chunk.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_chunk_cache","page":"Low-level library bindings","title":"HDF5.API.h5p_get_chunk_cache","text":"h5p_get_chunk_cache(dapl_id::hid_t, rdcc_nslots::Ptr{Csize_t}, rdcc_nbytes::Ptr{Csize_t}, rdcc_w0::Ptr{Cdouble})\n\nSee libhdf5 documentation for H5Pget_chunk_cache.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_chunk_opts","page":"Low-level library bindings","title":"HDF5.API.h5p_get_chunk_opts","text":"h5p_get_chunk_opts(plist_id::hid_t, opts::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_chunk_opts.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_class","page":"Low-level library bindings","title":"HDF5.API.h5p_get_class","text":"h5p_get_class(plist_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_class_name","page":"Low-level library bindings","title":"HDF5.API.h5p_get_class_name","text":"h5p_get_class_name(pcid::hid_t) -> String\n\nSee libhdf5 documentation for H5P_GET_CLASS_NAME.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_class_parent","page":"Low-level library bindings","title":"HDF5.API.h5p_get_class_parent","text":"h5p_get_class_parent(pclass_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_class_parent.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_copy_object","page":"Low-level library bindings","title":"HDF5.API.h5p_get_copy_object","text":"h5p_get_copy_object(plist_id::hid_t, copy_options::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_copy_object.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_core_write_tracking","page":"Low-level library bindings","title":"HDF5.API.h5p_get_core_write_tracking","text":"h5p_get_core_write_tracking(fapl_id::hid_t, is_enabled::Ptr{hbool_t}, page_size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_core_write_tracking.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_create_intermediate_group","page":"Low-level library bindings","title":"HDF5.API.h5p_get_create_intermediate_group","text":"h5p_get_create_intermediate_group(lcpl_id::hid_t, crt_intermed_group::Ref{Cuint})\n\nSee libhdf5 documentation for H5Pget_create_intermediate_group.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_data_transform","page":"Low-level library bindings","title":"HDF5.API.h5p_get_data_transform","text":"h5p_get_data_transform(plist_id::hid_t, expression::Ptr{Cchar}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_data_transform.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_driver","page":"Low-level library bindings","title":"HDF5.API.h5p_get_driver","text":"h5p_get_driver(plist_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_driver_info","page":"Low-level library bindings","title":"HDF5.API.h5p_get_driver_info","text":"h5p_get_driver_info(plist_id::hid_t) -> Ptr{Cvoid}\n\nSee libhdf5 documentation for H5Pget_driver_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_dset_no_attrs_hint","page":"Low-level library bindings","title":"HDF5.API.h5p_get_dset_no_attrs_hint","text":"h5p_get_dset_no_attrs_hint(dcpl_id::hid_t, minimize::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_dset_no_attrs_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_dxpl_mpio","page":"Low-level library bindings","title":"HDF5.API.h5p_get_dxpl_mpio","text":"h5p_get_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Ptr{Cint})\n\nSee libhdf5 documentation for H5Pget_dxpl_mpio.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_edc_check","page":"Low-level library bindings","title":"HDF5.API.h5p_get_edc_check","text":"h5p_get_edc_check(plist_id::hid_t) -> H5Z_EDC_t\n\nSee libhdf5 documentation for H5Pget_edc_check.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_efile_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_get_efile_prefix","text":"h5p_get_efile_prefix(dapl_id::hid_t, prefix::Ptr{UInt8}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_efile_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_elink_acc_flags","page":"Low-level library bindings","title":"HDF5.API.h5p_get_elink_acc_flags","text":"h5p_get_elink_acc_flags(lapl_id::hid_t, flags::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_elink_acc_flags.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_elink_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_get_elink_cb","text":"h5p_get_elink_cb(lapl_id::hid_t, func::Ptr{H5L_elink_traverse_t}, op_data::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_elink_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_elink_fapl","page":"Low-level library bindings","title":"HDF5.API.h5p_get_elink_fapl","text":"h5p_get_elink_fapl(lapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_elink_fapl.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_elink_file_cache_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_elink_file_cache_size","text":"h5p_get_elink_file_cache_size(plist_id::hid_t, efc_size::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_elink_file_cache_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_elink_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_get_elink_prefix","text":"h5p_get_elink_prefix(plist_id::hid_t, prefix::Ptr{Cchar}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_elink_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_est_link_info","page":"Low-level library bindings","title":"HDF5.API.h5p_get_est_link_info","text":"h5p_get_est_link_info(plist_id::hid_t, est_num_entries::Ptr{Cuint}, est_name_len::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_est_link_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_evict_on_close","page":"Low-level library bindings","title":"HDF5.API.h5p_get_evict_on_close","text":"h5p_get_evict_on_close(fapl_id::hid_t, evict_on_close::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_evict_on_close.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_external","page":"Low-level library bindings","title":"HDF5.API.h5p_get_external","text":"h5p_get_external(plist::hid_t, idx::Cuint, name_size::Csize_t, name::Ptr{Cuchar}, offset::Ptr{off_t}, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_external.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_external_count","page":"Low-level library bindings","title":"HDF5.API.h5p_get_external_count","text":"h5p_get_external_count(plist::hid_t) -> Int\n\nSee libhdf5 documentation for H5Pget_external_count.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_family_offset","page":"Low-level library bindings","title":"HDF5.API.h5p_get_family_offset","text":"h5p_get_family_offset(fapl_id::hid_t, offset::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_family_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_core","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_core","text":"h5p_get_fapl_core(fapl_id::hid_t, increment::Ptr{Csize_t}, backing_store::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_fapl_core.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_family","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_family","text":"h5p_get_fapl_family(fapl_id::hid_t, memb_size::Ptr{hsize_t}, memb_fapl_id::Ptr{hid_t})\n\nSee libhdf5 documentation for H5Pget_fapl_family.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_hdfs","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_hdfs","text":"h5p_get_fapl_hdfs(fapl_id::hid_t, fa_out::Ptr{H5FD_hdfs_fapl_t})\n\nSee libhdf5 documentation for H5Pget_fapl_hdfs.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_mpio","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_mpio","text":"h5p_get_fapl_mpio(fapl_id::hid_t, comm::Ptr{MPI.MPI_Comm}, info::Ptr{MPI.MPI_Info})\n\nSee libhdf5 documentation for H5Pget_fapl_mpio.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_multi","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_multi","text":"h5p_get_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Ptr{Cchar}}, memb_addr::Ptr{haddr_t}, relax::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_fapl_multi.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_ros3","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_ros3","text":"h5p_get_fapl_ros3(fapl_id::hid_t, fa_out::Ptr{H5FD_ros3_fapl_t})\n\nSee libhdf5 documentation for H5Pget_fapl_ros3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fapl_splitter","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fapl_splitter","text":"h5p_get_fapl_splitter(fapl_id::hid_t, config_ptr::Ptr{H5FD_splitter_vfd_config_t})\n\nSee libhdf5 documentation for H5Pget_fapl_splitter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fclose_degree","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fclose_degree","text":"h5p_get_fclose_degree(fapl_id::hid_t, fc_degree::Ref{Cint})\n\nSee libhdf5 documentation for H5Pget_fclose_degree.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_image","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_image","text":"h5p_get_file_image(fapl_id::hid_t, buf_ptr_ptr::Ptr{Ptr{Cvoid}}, buf_len_ptr::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_file_image.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_image_callbacks","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_image_callbacks","text":"h5p_get_file_image_callbacks(fapl_id::hid_t, callbacks_ptr::Ptr{H5FD_file_image_callbacks_t})\n\nSee libhdf5 documentation for H5Pget_file_image_callbacks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_locking","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_locking","text":"h5p_get_file_locking(fapl_id::hid_t, use_file_locking::Ptr{hbool_t}, ignore_when_disabled::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_file_locking.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_space","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_space","text":"h5p_get_file_space(plist_id::hid_t, strategy::Ptr{H5F_file_space_type_t}, threshold::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_file_space.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_space_page_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_space_page_size","text":"h5p_get_file_space_page_size(plist_id::hid_t, fsp_size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_file_space_page_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_file_space_strategy","page":"Low-level library bindings","title":"HDF5.API.h5p_get_file_space_strategy","text":"h5p_get_file_space_strategy(plist_id::hid_t, strategy::Ptr{H5F_fspace_strategy_t}, persist::Ptr{hbool_t}, threshold::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_file_space_strategy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fill_time","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fill_time","text":"h5p_get_fill_time(plist_id::hid_t, fill_time::Ptr{H5D_fill_time_t})\n\nSee libhdf5 documentation for H5Pget_fill_time.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_fill_value","page":"Low-level library bindings","title":"HDF5.API.h5p_get_fill_value","text":"h5p_get_fill_value(plist_id::hid_t, type_id::hid_t, value::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pget_fill_value.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_filter","page":"Low-level library bindings","title":"HDF5.API.h5p_get_filter","text":"h5p_get_filter(plist_id::hid_t, idx::Cuint, flags::Ptr{Cuint}, cd_nemlts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{Cchar}, filter_config::Ptr{Cuint}) -> H5Z_filter_t\n\nSee libhdf5 documentation for H5Pget_filter2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_filter_by_id","page":"Low-level library bindings","title":"HDF5.API.h5p_get_filter_by_id","text":"h5p_get_filter_by_id(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Ref{Cuint}, cd_nelmts::Ref{Csize_t}, cd_values::Ptr{Cuint}, namelen::Csize_t, name::Ptr{UInt8}, filter_config::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_filter_by_id2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_gc_references","page":"Low-level library bindings","title":"HDF5.API.h5p_get_gc_references","text":"h5p_get_gc_references(fapl_id::hid_t, gc_ref::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_gc_references.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_hyper_vector_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_hyper_vector_size","text":"h5p_get_hyper_vector_size(fapl_id::hid_t, size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_hyper_vector_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_istore_k","page":"Low-level library bindings","title":"HDF5.API.h5p_get_istore_k","text":"h5p_get_istore_k(plist_id::hid_t, ik::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_istore_k.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_layout","page":"Low-level library bindings","title":"HDF5.API.h5p_get_layout","text":"h5p_get_layout(plist_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Pget_layout.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_libver_bounds","page":"Low-level library bindings","title":"HDF5.API.h5p_get_libver_bounds","text":"h5p_get_libver_bounds(fapl_id::hid_t, low::Ref{Cint}, high::Ref{Cint})\n\nSee libhdf5 documentation for H5Pget_libver_bounds.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_link_creation_order","page":"Low-level library bindings","title":"HDF5.API.h5p_get_link_creation_order","text":"h5p_get_link_creation_order(plist_id::hid_t, crt_order_flags::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_link_creation_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_link_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_get_link_phase_change","text":"h5p_get_link_phase_change(plist_id::hid_t, max_compact::Ptr{Cuint}, min_dense::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_link_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_local_heap_size_hint","page":"Low-level library bindings","title":"HDF5.API.h5p_get_local_heap_size_hint","text":"h5p_get_local_heap_size_hint(plist_id::hid_t, size_hint::Ref{Csize_t})\n\nSee libhdf5 documentation for H5Pget_local_heap_size_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_mcdt_search_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_get_mcdt_search_cb","text":"h5p_get_mcdt_search_cb(plist_id::hid_t, func::Ptr{H5O_mcdt_search_cb_t}, op_data::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_mcdt_search_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_mdc_config","page":"Low-level library bindings","title":"HDF5.API.h5p_get_mdc_config","text":"h5p_get_mdc_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})\n\nSee libhdf5 documentation for H5Pget_mdc_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_mdc_image_config","page":"Low-level library bindings","title":"HDF5.API.h5p_get_mdc_image_config","text":"h5p_get_mdc_image_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_image_config_t})\n\nSee libhdf5 documentation for H5Pget_mdc_image_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_mdc_log_options","page":"Low-level library bindings","title":"HDF5.API.h5p_get_mdc_log_options","text":"h5p_get_mdc_log_options(plist_id::hid_t, is_enabled::Ptr{hbool_t}, location::Ptr{Cchar}, location_size::Ptr{Csize_t}, start_on_access::Ptr{hbool_t})\n\nSee libhdf5 documentation for H5Pget_mdc_log_options.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_meta_block_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_meta_block_size","text":"h5p_get_meta_block_size(fapl_id::hid_t, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_meta_block_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_metadata_read_attempts","page":"Low-level library bindings","title":"HDF5.API.h5p_get_metadata_read_attempts","text":"h5p_get_metadata_read_attempts(plist_id::hid_t, attempts::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_metadata_read_attempts.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_multi_type","page":"Low-level library bindings","title":"HDF5.API.h5p_get_multi_type","text":"h5p_get_multi_type(fapl_id::hid_t, type::Ptr{H5FD_mem_t})\n\nSee libhdf5 documentation for H5Pget_multi_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_nfilters","page":"Low-level library bindings","title":"HDF5.API.h5p_get_nfilters","text":"h5p_get_nfilters(plist_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Pget_nfilters.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_nlinks","page":"Low-level library bindings","title":"HDF5.API.h5p_get_nlinks","text":"h5p_get_nlinks(plist_id::hid_t, nlinks::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_nlinks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_nprops","page":"Low-level library bindings","title":"HDF5.API.h5p_get_nprops","text":"h5p_get_nprops(id::hid_t, nprops::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_nprops.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_obj_track_times","page":"Low-level library bindings","title":"HDF5.API.h5p_get_obj_track_times","text":"h5p_get_obj_track_times(plist_id::hid_t, track_times::Ref{UInt8})\n\nSee libhdf5 documentation for H5Pget_obj_track_times.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_object_flush_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_get_object_flush_cb","text":"h5p_get_object_flush_cb(plist_id::hid_t, func::Ptr{H5F_flush_cb_t}, udata::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_object_flush_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_page_buffer_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_page_buffer_size","text":"h5p_get_page_buffer_size(plist_id::hid_t, buf_size::Ptr{Csize_t}, min_meta_perc::Ptr{Cuint}, min_raw_perc::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_page_buffer_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_preserve","page":"Low-level library bindings","title":"HDF5.API.h5p_get_preserve","text":"h5p_get_preserve(plist_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Pget_preserve.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_shared_mesg_index","page":"Low-level library bindings","title":"HDF5.API.h5p_get_shared_mesg_index","text":"h5p_get_shared_mesg_index(plist_id::hid_t, index_num::Cuint, mesg_type_flags::Ptr{Cuint}, min_mesg_size::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_shared_mesg_index.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_shared_mesg_nindexes","page":"Low-level library bindings","title":"HDF5.API.h5p_get_shared_mesg_nindexes","text":"h5p_get_shared_mesg_nindexes(plist_id::hid_t, nindexes::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_shared_mesg_nindexes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_shared_mesg_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_get_shared_mesg_phase_change","text":"h5p_get_shared_mesg_phase_change(plist_id::hid_t, max_list::Ptr{Cuint}, min_btree::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_shared_mesg_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_sieve_buf_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_sieve_buf_size","text":"h5p_get_sieve_buf_size(fapl_id::hid_t, size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_sieve_buf_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_size","text":"h5p_get_size(id::hid_t, name::Ptr{Cchar}, size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_sizes","page":"Low-level library bindings","title":"HDF5.API.h5p_get_sizes","text":"h5p_get_sizes(plist_id::hid_t, sizeof_addr::Ptr{Csize_t}, sizeof_size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_sizes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_small_data_block_size","page":"Low-level library bindings","title":"HDF5.API.h5p_get_small_data_block_size","text":"h5p_get_small_data_block_size(fapl_id::hid_t, size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_small_data_block_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_sym_k","page":"Low-level library bindings","title":"HDF5.API.h5p_get_sym_k","text":"h5p_get_sym_k(plist_id::hid_t, ik::Ptr{Cuint}, lk::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_sym_k.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_type_conv_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_get_type_conv_cb","text":"h5p_get_type_conv_cb(dxpl_id::hid_t, op::Ptr{H5T_conv_except_func_t}, operate_data::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_type_conv_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_userblock","page":"Low-level library bindings","title":"HDF5.API.h5p_get_userblock","text":"h5p_get_userblock(plist_id::hid_t, len::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_userblock.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_version","page":"Low-level library bindings","title":"HDF5.API.h5p_get_version","text":"h5p_get_version(plist_id::hid_t, boot::Ptr{Cuint}, freelist::Ptr{Cuint}, stab::Ptr{Cuint}, shhdr::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pget_version.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_count","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_count","text":"h5p_get_virtual_count(dcpl_id::hid_t, count::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5Pget_virtual_count.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_dsetname","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_dsetname","text":"h5p_get_virtual_dsetname(dcpl_id::hid_t, index::Csize_t, name::Ptr{Cchar}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_virtual_dsetname.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_filename","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_filename","text":"h5p_get_virtual_filename(dcpl_id::hid_t, index::Csize_t, name::Ptr{Cchar}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_virtual_filename.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_prefix","text":"h5p_get_virtual_prefix(dapl_id::hid_t, prefix::Ptr{Cchar}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5Pget_virtual_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_printf_gap","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_printf_gap","text":"h5p_get_virtual_printf_gap(dapl_id::hid_t, gap_size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pget_virtual_printf_gap.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_srcspace","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_srcspace","text":"h5p_get_virtual_srcspace(dcpl_id::hid_t, index::Csize_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_virtual_srcspace.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_view","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_view","text":"h5p_get_virtual_view(dapl_id::hid_t, view::Ptr{H5D_vds_view_t})\n\nSee libhdf5 documentation for H5Pget_virtual_view.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_virtual_vspace","page":"Low-level library bindings","title":"HDF5.API.h5p_get_virtual_vspace","text":"h5p_get_virtual_vspace(dcpl_id::hid_t, index::Csize_t) -> hid_t\n\nSee libhdf5 documentation for H5Pget_virtual_vspace.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_vlen_mem_manager","page":"Low-level library bindings","title":"HDF5.API.h5p_get_vlen_mem_manager","text":"h5p_get_vlen_mem_manager(plist_id::hid_t, alloc_func::Ptr{H5MM_allocate_t}, alloc_info::Ptr{Ptr{Cvoid}}, free_func::Ptr{H5MM_free_t}, free_info::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_vlen_mem_manager.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_vol_id","page":"Low-level library bindings","title":"HDF5.API.h5p_get_vol_id","text":"h5p_get_vol_id(plist_id::hid_t, vol_id::Ptr{hid_t})\n\nSee libhdf5 documentation for H5Pget_vol_id.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_get_vol_info","page":"Low-level library bindings","title":"HDF5.API.h5p_get_vol_info","text":"h5p_get_vol_info(plist_id::hid_t, vol_info::Ptr{Ptr{Cvoid}})\n\nSee libhdf5 documentation for H5Pget_vol_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_insert","page":"Low-level library bindings","title":"HDF5.API.h5p_insert","text":"h5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_delete::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)\n\nSee libhdf5 documentation for H5Pinsert1.\n\n\n\n\n\nh5p_insert(plist_id::hid_t, name::Cstring, size::Csize_t, value::Ptr{Cvoid}, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)\n\nSee libhdf5 documentation for H5Pinsert2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_isa_class","page":"Low-level library bindings","title":"HDF5.API.h5p_isa_class","text":"h5p_isa_class(plist_id::hid_t, pclass_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Pisa_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_iterate","page":"Low-level library bindings","title":"HDF5.API.h5p_iterate","text":"h5p_iterate(id::hid_t, idx::Ptr{Cint}, iter_func::H5P_iterate_t, iter_data::Ptr{Cvoid}) -> Int\n\nSee libhdf5 documentation for H5Piterate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_modify_filter","page":"Low-level library bindings","title":"HDF5.API.h5p_modify_filter","text":"h5p_modify_filter(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Cuint, cd_nelmts::Csize_t, cd_values::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pmodify_filter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_register","page":"Low-level library bindings","title":"HDF5.API.h5p_register","text":"h5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, prp_create::H5P_prp_create_func_t, prp_set::H5P_prp_set_func_t, prp_get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, prp_copy::H5P_prp_copy_func_t, prp_close::H5P_prp_close_func_t)\n\nSee libhdf5 documentation for H5Pregister1.\n\n\n\n\n\nh5p_register(cls_id::hid_t, name::Cstring, size::Csize_t, def_value::Ptr{Cvoid}, create::H5P_prp_create_func_t, set::H5P_prp_set_func_t, get::H5P_prp_get_func_t, prp_del::H5P_prp_delete_func_t, copy::H5P_prp_copy_func_t, compare::H5P_prp_compare_func_t, close::H5P_prp_close_func_t)\n\nSee libhdf5 documentation for H5Pregister2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_remove","page":"Low-level library bindings","title":"HDF5.API.h5p_remove","text":"h5p_remove(plist_id::hid_t, name::Cstring)\n\nSee libhdf5 documentation for H5Premove.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_remove_filter","page":"Low-level library bindings","title":"HDF5.API.h5p_remove_filter","text":"h5p_remove_filter(plist_id::hid_t, filter_id::H5Z_filter_t)\n\nSee libhdf5 documentation for H5Premove_filter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set","page":"Low-level library bindings","title":"HDF5.API.h5p_set","text":"h5p_set(plist_id::hid_t, name::Cstring, value::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_alignment","page":"Low-level library bindings","title":"HDF5.API.h5p_set_alignment","text":"h5p_set_alignment(plist_id::hid_t, threshold::hsize_t, alignment::hsize_t)\n\nSee libhdf5 documentation for H5Pset_alignment.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_alloc_time","page":"Low-level library bindings","title":"HDF5.API.h5p_set_alloc_time","text":"h5p_set_alloc_time(plist_id::hid_t, alloc_time::Cint)\n\nSee libhdf5 documentation for H5Pset_alloc_time.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_append_flush","page":"Low-level library bindings","title":"HDF5.API.h5p_set_append_flush","text":"h5p_set_append_flush(dapl_id::hid_t, ndims::Cuint, boundary::Ptr{hsize_t}, func::H5D_append_cb_t, udata::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_append_flush.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_attr_creation_order","page":"Low-level library bindings","title":"HDF5.API.h5p_set_attr_creation_order","text":"h5p_set_attr_creation_order(plist_id::hid_t, crt_order_flags::Cuint)\n\nSee libhdf5 documentation for H5Pset_attr_creation_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_attr_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_set_attr_phase_change","text":"h5p_set_attr_phase_change(plist_id::hid_t, max_compact::Cuint, min_dense::Cuint)\n\nSee libhdf5 documentation for H5Pset_attr_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_btree_ratios","page":"Low-level library bindings","title":"HDF5.API.h5p_set_btree_ratios","text":"h5p_set_btree_ratios(plist_id::hid_t, left::Cdouble, middle::Cdouble, right::Cdouble)\n\nSee libhdf5 documentation for H5Pset_btree_ratios.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_buffer","page":"Low-level library bindings","title":"HDF5.API.h5p_set_buffer","text":"h5p_set_buffer(plist_id::hid_t, size::Csize_t, tconv::Ptr{Cvoid}, bkg::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_buffer.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_cache","page":"Low-level library bindings","title":"HDF5.API.h5p_set_cache","text":"h5p_set_cache(plist_id::hid_t, mdc_nelmts::Cint, rdcc_nslots::Csize_t, rdcc_nbytes::Csize_t, rdcc_w0::Cdouble)\n\nSee libhdf5 documentation for H5Pset_cache.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_char_encoding","page":"Low-level library bindings","title":"HDF5.API.h5p_set_char_encoding","text":"h5p_set_char_encoding(plist_id::hid_t, encoding::Cint)\n\nSee libhdf5 documentation for H5Pset_char_encoding.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_chunk","page":"Low-level library bindings","title":"HDF5.API.h5p_set_chunk","text":"h5p_set_chunk(plist_id::hid_t, ndims::Cint, dims::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Pset_chunk.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_chunk_cache","page":"Low-level library bindings","title":"HDF5.API.h5p_set_chunk_cache","text":"h5p_set_chunk_cache(dapl_id::hid_t, rdcc_nslots::Csize_t, rdcc_nbytes::Csize_t, rdcc_w0::Cdouble)\n\nSee libhdf5 documentation for H5Pset_chunk_cache.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_chunk_opts","page":"Low-level library bindings","title":"HDF5.API.h5p_set_chunk_opts","text":"h5p_set_chunk_opts(plist_id::hid_t, opts::Cuint)\n\nSee libhdf5 documentation for H5Pset_chunk_opts.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_copy_object","page":"Low-level library bindings","title":"HDF5.API.h5p_set_copy_object","text":"h5p_set_copy_object(plist_id::hid_t, copy_options::Cuint)\n\nSee libhdf5 documentation for H5Pset_copy_object.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_core_write_tracking","page":"Low-level library bindings","title":"HDF5.API.h5p_set_core_write_tracking","text":"h5p_set_core_write_tracking(fapl_id::hid_t, is_enabled::hbool_t, page_size::Csize_t)\n\nSee libhdf5 documentation for H5Pset_core_write_tracking.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_create_intermediate_group","page":"Low-level library bindings","title":"HDF5.API.h5p_set_create_intermediate_group","text":"h5p_set_create_intermediate_group(plist_id::hid_t, setting::Cuint)\n\nSee libhdf5 documentation for H5Pset_create_intermediate_group.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_data_transform","page":"Low-level library bindings","title":"HDF5.API.h5p_set_data_transform","text":"h5p_set_data_transform(plist_id::hid_t, expression::Cstring)\n\nSee libhdf5 documentation for H5Pset_data_transform.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_deflate","page":"Low-level library bindings","title":"HDF5.API.h5p_set_deflate","text":"h5p_set_deflate(plist_id::hid_t, setting::Cuint)\n\nSee libhdf5 documentation for H5Pset_deflate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_driver","page":"Low-level library bindings","title":"HDF5.API.h5p_set_driver","text":"h5p_set_driver(plist_id::hid_t, driver_id::hid_t, driver_info::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_dset_no_attrs_hint","page":"Low-level library bindings","title":"HDF5.API.h5p_set_dset_no_attrs_hint","text":"h5p_set_dset_no_attrs_hint(dcpl_id::hid_t, minimize::hbool_t)\n\nSee libhdf5 documentation for H5Pset_dset_no_attrs_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_dxpl_mpio","page":"Low-level library bindings","title":"HDF5.API.h5p_set_dxpl_mpio","text":"h5p_set_dxpl_mpio(dxpl_id::hid_t, xfer_mode::Cint)\n\nSee libhdf5 documentation for H5Pset_dxpl_mpio.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_edc_check","page":"Low-level library bindings","title":"HDF5.API.h5p_set_edc_check","text":"h5p_set_edc_check(plist_id::hid_t, check::H5Z_EDC_t)\n\nSee libhdf5 documentation for H5Pset_edc_check.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_efile_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_set_efile_prefix","text":"h5p_set_efile_prefix(plist_id::hid_t, prefix::Cstring)\n\nSee libhdf5 documentation for H5Pset_efile_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_elink_acc_flags","page":"Low-level library bindings","title":"HDF5.API.h5p_set_elink_acc_flags","text":"h5p_set_elink_acc_flags(lapl_id::hid_t, flags::Cuint)\n\nSee libhdf5 documentation for H5Pset_elink_acc_flags.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_elink_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_set_elink_cb","text":"h5p_set_elink_cb(lapl_id::hid_t, func::H5L_elink_traverse_t, op_data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_elink_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_elink_fapl","page":"Low-level library bindings","title":"HDF5.API.h5p_set_elink_fapl","text":"h5p_set_elink_fapl(lapl_id::hid_t, fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_elink_fapl.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_elink_file_cache_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_elink_file_cache_size","text":"h5p_set_elink_file_cache_size(plist_id::hid_t, efc_size::Cuint)\n\nSee libhdf5 documentation for H5Pset_elink_file_cache_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_elink_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_set_elink_prefix","text":"h5p_set_elink_prefix(plist_id::hid_t, prefix::Cstring)\n\nSee libhdf5 documentation for H5Pset_elink_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_est_link_info","page":"Low-level library bindings","title":"HDF5.API.h5p_set_est_link_info","text":"h5p_set_est_link_info(plist_id::hid_t, est_num_entries::Cuint, est_name_len::Cuint)\n\nSee libhdf5 documentation for H5Pset_est_link_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_evict_on_close","page":"Low-level library bindings","title":"HDF5.API.h5p_set_evict_on_close","text":"h5p_set_evict_on_close(fapl_id::hid_t, evict_on_close::hbool_t)\n\nSee libhdf5 documentation for H5Pset_evict_on_close.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_external","page":"Low-level library bindings","title":"HDF5.API.h5p_set_external","text":"h5p_set_external(plist_id::hid_t, name::Cstring, offset::off_t, size::hsize_t)\n\nSee libhdf5 documentation for H5Pset_external.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_family_offset","page":"Low-level library bindings","title":"HDF5.API.h5p_set_family_offset","text":"h5p_set_family_offset(fapl_id::hid_t, offset::hsize_t)\n\nSee libhdf5 documentation for H5Pset_family_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_core","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_core","text":"h5p_set_fapl_core(fapl_id::hid_t, increment::Csize_t, backing_store::hbool_t)\n\nSee libhdf5 documentation for H5Pset_fapl_core.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_family","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_family","text":"h5p_set_fapl_family(fapl_id::hid_t, memb_size::hsize_t, memb_fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fapl_family.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_hdfs","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_hdfs","text":"h5p_set_fapl_hdfs(fapl_id::hid_t, fa::Ptr{H5FD_hdfs_fapl_t})\n\nSee libhdf5 documentation for H5Pset_fapl_hdfs.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_log","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_log","text":"h5p_set_fapl_log(fapl_id::hid_t, logfile::Cstring, flags::Culonglong, buf_size::Csize_t)\n\nSee libhdf5 documentation for H5Pset_fapl_log.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_mpio","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_mpio","text":"h5p_set_fapl_mpio(fapl_id::hid_t, comm::MPI.MPI_Comm, info::MPI.MPI_Info)\n\nSee libhdf5 documentation for H5Pset_fapl_mpio.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_multi","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_multi","text":"h5p_set_fapl_multi(fapl_id::hid_t, memb_map::Ptr{H5FD_mem_t}, memb_fapl::Ptr{hid_t}, memb_name::Ptr{Cstring}, memb_addr::Ptr{haddr_t}, relax::hbool_t)\n\nSee libhdf5 documentation for H5Pset_fapl_multi.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_ros3","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_ros3","text":"h5p_set_fapl_ros3(fapl_id::hid_t, fa::Ptr{H5FD_ros3_fapl_t})\n\nSee libhdf5 documentation for H5Pset_fapl_ros3.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_sec2","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_sec2","text":"h5p_set_fapl_sec2(fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fapl_sec2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_split","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_split","text":"h5p_set_fapl_split(fapl::hid_t, meta_ext::Cstring, meta_plist_id::hid_t, raw_ext::Cstring, raw_plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fapl_split.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_splitter","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_splitter","text":"h5p_set_fapl_splitter(fapl_id::hid_t, config_ptr::Ptr{H5FD_splitter_vfd_config_t})\n\nSee libhdf5 documentation for H5Pset_fapl_splitter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_stdio","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_stdio","text":"h5p_set_fapl_stdio(fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fapl_stdio.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fapl_windows","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fapl_windows","text":"h5p_set_fapl_windows(fapl_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fapl_windows.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fclose_degree","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fclose_degree","text":"h5p_set_fclose_degree(plist_id::hid_t, fc_degree::Cint)\n\nSee libhdf5 documentation for H5Pset_fclose_degree.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_image","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_image","text":"h5p_set_file_image(fapl_id::hid_t, buf_ptr::Ptr{Cvoid}, buf_len::Csize_t)\n\nSee libhdf5 documentation for H5Pset_file_image.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_image_callbacks","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_image_callbacks","text":"h5p_set_file_image_callbacks(fapl_id::hid_t, callbacks_ptr::Ptr{H5FD_file_image_callbacks_t})\n\nSee libhdf5 documentation for H5Pset_file_image_callbacks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_locking","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_locking","text":"h5p_set_file_locking(fapl_id::hid_t, use_file_locking::hbool_t, ignore_when_disabled::hbool_t)\n\nSee libhdf5 documentation for H5Pset_file_locking.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_space","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_space","text":"h5p_set_file_space(plist_id::hid_t, strategy::H5F_file_space_type_t, threshold::hsize_t)\n\nSee libhdf5 documentation for H5Pset_file_space.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_space_page_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_space_page_size","text":"h5p_set_file_space_page_size(plist_id::hid_t, fsp_size::hsize_t)\n\nSee libhdf5 documentation for H5Pset_file_space_page_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_file_space_strategy","page":"Low-level library bindings","title":"HDF5.API.h5p_set_file_space_strategy","text":"h5p_set_file_space_strategy(plist_id::hid_t, strategy::H5F_fspace_strategy_t, persist::hbool_t, threshold::hsize_t)\n\nSee libhdf5 documentation for H5Pset_file_space_strategy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fill_time","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fill_time","text":"h5p_set_fill_time(plist_id::hid_t, fill_time::H5D_fill_time_t)\n\nSee libhdf5 documentation for H5Pset_fill_time.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fill_value","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fill_value","text":"h5p_set_fill_value(plist_id::hid_t, type_id::hid_t, value::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_fill_value.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_filter","page":"Low-level library bindings","title":"HDF5.API.h5p_set_filter","text":"h5p_set_filter(plist_id::hid_t, filter_id::H5Z_filter_t, flags::Cuint, cd_nelmts::Csize_t, cd_values::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Pset_filter.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_filter_callback","page":"Low-level library bindings","title":"HDF5.API.h5p_set_filter_callback","text":"h5p_set_filter_callback(plist_id::hid_t, func::H5Z_filter_func_t, op_data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_filter_callback.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_fletcher32","page":"Low-level library bindings","title":"HDF5.API.h5p_set_fletcher32","text":"h5p_set_fletcher32(plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_fletcher32.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_gc_references","page":"Low-level library bindings","title":"HDF5.API.h5p_set_gc_references","text":"h5p_set_gc_references(fapl_id::hid_t, gc_ref::Cuint)\n\nSee libhdf5 documentation for H5Pset_gc_references.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_hyper_vector_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_hyper_vector_size","text":"h5p_set_hyper_vector_size(plist_id::hid_t, size::Csize_t)\n\nSee libhdf5 documentation for H5Pset_hyper_vector_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_istore_k","page":"Low-level library bindings","title":"HDF5.API.h5p_set_istore_k","text":"h5p_set_istore_k(plist_id::hid_t, ik::Cuint)\n\nSee libhdf5 documentation for H5Pset_istore_k.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_layout","page":"Low-level library bindings","title":"HDF5.API.h5p_set_layout","text":"h5p_set_layout(plist_id::hid_t, setting::Cint)\n\nSee libhdf5 documentation for H5Pset_layout.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_libver_bounds","page":"Low-level library bindings","title":"HDF5.API.h5p_set_libver_bounds","text":"h5p_set_libver_bounds(fapl_id::hid_t, low::Cint, high::Cint)\n\nSee libhdf5 documentation for H5Pset_libver_bounds.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_link_creation_order","page":"Low-level library bindings","title":"HDF5.API.h5p_set_link_creation_order","text":"h5p_set_link_creation_order(plist_id::hid_t, crt_order_flags::Cuint)\n\nSee libhdf5 documentation for H5Pset_link_creation_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_link_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_set_link_phase_change","text":"h5p_set_link_phase_change(plist_id::hid_t, max_compact::Cuint, min_dense::Cuint)\n\nSee libhdf5 documentation for H5Pset_link_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_local_heap_size_hint","page":"Low-level library bindings","title":"HDF5.API.h5p_set_local_heap_size_hint","text":"h5p_set_local_heap_size_hint(plist_id::hid_t, size_hint::Csize_t)\n\nSee libhdf5 documentation for H5Pset_local_heap_size_hint.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_mcdt_search_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_set_mcdt_search_cb","text":"h5p_set_mcdt_search_cb(plist_id::hid_t, func::H5O_mcdt_search_cb_t, op_data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_mcdt_search_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_mdc_config","page":"Low-level library bindings","title":"HDF5.API.h5p_set_mdc_config","text":"h5p_set_mdc_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_config_t})\n\nSee libhdf5 documentation for H5Pset_mdc_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_mdc_image_config","page":"Low-level library bindings","title":"HDF5.API.h5p_set_mdc_image_config","text":"h5p_set_mdc_image_config(plist_id::hid_t, config_ptr::Ptr{H5AC_cache_image_config_t})\n\nSee libhdf5 documentation for H5Pset_mdc_image_config.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_mdc_log_options","page":"Low-level library bindings","title":"HDF5.API.h5p_set_mdc_log_options","text":"h5p_set_mdc_log_options(plist_id::hid_t, is_enabled::hbool_t, location::Cstring, start_on_access::hbool_t)\n\nSee libhdf5 documentation for H5Pset_mdc_log_options.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_meta_block_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_meta_block_size","text":"h5p_set_meta_block_size(fapl_id::hid_t, size::hsize_t)\n\nSee libhdf5 documentation for H5Pset_meta_block_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_metadata_read_attempts","page":"Low-level library bindings","title":"HDF5.API.h5p_set_metadata_read_attempts","text":"h5p_set_metadata_read_attempts(plist_id::hid_t, attempts::Cuint)\n\nSee libhdf5 documentation for H5Pset_metadata_read_attempts.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_multi_type","page":"Low-level library bindings","title":"HDF5.API.h5p_set_multi_type","text":"h5p_set_multi_type(fapl_id::hid_t, type::H5FD_mem_t)\n\nSee libhdf5 documentation for H5Pset_multi_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_nbit","page":"Low-level library bindings","title":"HDF5.API.h5p_set_nbit","text":"h5p_set_nbit(plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_nbit.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_nlinks","page":"Low-level library bindings","title":"HDF5.API.h5p_set_nlinks","text":"h5p_set_nlinks(plist_id::hid_t, nlinks::Csize_t)\n\nSee libhdf5 documentation for H5Pset_nlinks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_obj_track_times","page":"Low-level library bindings","title":"HDF5.API.h5p_set_obj_track_times","text":"h5p_set_obj_track_times(plist_id::hid_t, track_times::UInt8)\n\nSee libhdf5 documentation for H5Pset_obj_track_times.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_object_flush_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_set_object_flush_cb","text":"h5p_set_object_flush_cb(plist_id::hid_t, func::H5F_flush_cb_t, udata::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_object_flush_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_page_buffer_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_page_buffer_size","text":"h5p_set_page_buffer_size(plist_id::hid_t, buf_size::Csize_t, min_meta_per::Cuint, min_raw_per::Cuint)\n\nSee libhdf5 documentation for H5Pset_page_buffer_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_preserve","page":"Low-level library bindings","title":"HDF5.API.h5p_set_preserve","text":"h5p_set_preserve(plist_id::hid_t, status::hbool_t)\n\nSee libhdf5 documentation for H5Pset_preserve.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_scaleoffset","page":"Low-level library bindings","title":"HDF5.API.h5p_set_scaleoffset","text":"h5p_set_scaleoffset(plist_id::hid_t, scale_type::Cint, scale_factor::Cint)\n\nSee libhdf5 documentation for H5Pset_scaleoffset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_shared_mesg_index","page":"Low-level library bindings","title":"HDF5.API.h5p_set_shared_mesg_index","text":"h5p_set_shared_mesg_index(plist_id::hid_t, index_num::Cuint, mesg_type_flags::Cuint, min_mesg_size::Cuint)\n\nSee libhdf5 documentation for H5Pset_shared_mesg_index.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_shared_mesg_nindexes","page":"Low-level library bindings","title":"HDF5.API.h5p_set_shared_mesg_nindexes","text":"h5p_set_shared_mesg_nindexes(plist_id::hid_t, nindexes::Cuint)\n\nSee libhdf5 documentation for H5Pset_shared_mesg_nindexes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_shared_mesg_phase_change","page":"Low-level library bindings","title":"HDF5.API.h5p_set_shared_mesg_phase_change","text":"h5p_set_shared_mesg_phase_change(plist_id::hid_t, max_list::Cuint, min_btree::Cuint)\n\nSee libhdf5 documentation for H5Pset_shared_mesg_phase_change.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_shuffle","page":"Low-level library bindings","title":"HDF5.API.h5p_set_shuffle","text":"h5p_set_shuffle(plist_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_shuffle.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_sieve_buf_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_sieve_buf_size","text":"h5p_set_sieve_buf_size(fapl_id::hid_t, size::Csize_t)\n\nSee libhdf5 documentation for H5Pset_sieve_buf_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_sizes","page":"Low-level library bindings","title":"HDF5.API.h5p_set_sizes","text":"h5p_set_sizes(plist_id::hid_t, sizeof_addr::Csize_t, sizeof_size::Csize_t)\n\nSee libhdf5 documentation for H5Pset_sizes.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_small_data_block_size","page":"Low-level library bindings","title":"HDF5.API.h5p_set_small_data_block_size","text":"h5p_set_small_data_block_size(fapl_id::hid_t, size::hsize_t)\n\nSee libhdf5 documentation for H5Pset_small_data_block_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_sym_k","page":"Low-level library bindings","title":"HDF5.API.h5p_set_sym_k","text":"h5p_set_sym_k(plist_id::hid_t, ik::Cuint, lk::Cuint)\n\nSee libhdf5 documentation for H5Pset_sym_k.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_szip","page":"Low-level library bindings","title":"HDF5.API.h5p_set_szip","text":"h5p_set_szip(plist_id::hid_t, options_mask::Cuint, pixels_per_block::Cuint)\n\nSee libhdf5 documentation for H5Pset_szip.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_type_conv_cb","page":"Low-level library bindings","title":"HDF5.API.h5p_set_type_conv_cb","text":"h5p_set_type_conv_cb(dxpl_id::hid_t, op::H5T_conv_except_func_t, operate_data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_type_conv_cb.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_userblock","page":"Low-level library bindings","title":"HDF5.API.h5p_set_userblock","text":"h5p_set_userblock(plist_id::hid_t, len::hsize_t)\n\nSee libhdf5 documentation for H5Pset_userblock.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_virtual","page":"Low-level library bindings","title":"HDF5.API.h5p_set_virtual","text":"h5p_set_virtual(dcpl_id::hid_t, vspace_id::hid_t, src_file_name::Cstring, src_dset_name::Cstring, src_space_id::hid_t)\n\nSee libhdf5 documentation for H5Pset_virtual.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_virtual_prefix","page":"Low-level library bindings","title":"HDF5.API.h5p_set_virtual_prefix","text":"h5p_set_virtual_prefix(dapl_id::hid_t, prefix::Cstring)\n\nSee libhdf5 documentation for H5Pset_virtual_prefix.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_virtual_printf_gap","page":"Low-level library bindings","title":"HDF5.API.h5p_set_virtual_printf_gap","text":"h5p_set_virtual_printf_gap(dapl_id::hid_t, gap_size::hsize_t)\n\nSee libhdf5 documentation for H5Pset_virtual_printf_gap.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_virtual_view","page":"Low-level library bindings","title":"HDF5.API.h5p_set_virtual_view","text":"h5p_set_virtual_view(dapl_id::hid_t, view::H5D_vds_view_t)\n\nSee libhdf5 documentation for H5Pset_virtual_view.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_vlen_mem_manager","page":"Low-level library bindings","title":"HDF5.API.h5p_set_vlen_mem_manager","text":"h5p_set_vlen_mem_manager(plist_id::hid_t, alloc_func::H5MM_allocate_t, alloc_info::Ptr{Cvoid}, free_func::H5MM_free_t, free_info::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_vlen_mem_manager.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_set_vol","page":"Low-level library bindings","title":"HDF5.API.h5p_set_vol","text":"h5p_set_vol(plist_id::hid_t, new_vol_id::hid_t, new_vol_info::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Pset_vol.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5p_unregister","page":"Low-level library bindings","title":"HDF5.API.h5p_unregister","text":"h5p_unregister(pclass_id::hid_t, name::Cstring)\n\nSee libhdf5 documentation for H5Punregister.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5R","page":"Low-level library bindings","title":"H5R — Reference Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5r_create\nh5r_dereference\nh5r_get_obj_type\nh5r_get_region","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5r_create\nh5r_dereference\nh5r_get_obj_type\nh5r_get_region","category":"page"},{"location":"api_bindings/#HDF5.API.h5r_create","page":"Low-level library bindings","title":"HDF5.API.h5r_create","text":"h5r_create(ref::Ptr{Cvoid}, loc_id::hid_t, pathname::Cstring, ref_type::Cint, space_id::hid_t)\n\nSee libhdf5 documentation for H5Rcreate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5r_dereference","page":"Low-level library bindings","title":"HDF5.API.h5r_dereference","text":"h5r_dereference(obj_id::hid_t, oapl_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}) -> hid_t\n\nSee libhdf5 documentation for H5Rdereference2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5r_get_obj_type","page":"Low-level library bindings","title":"HDF5.API.h5r_get_obj_type","text":"h5r_get_obj_type(loc_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}, obj_type::Ptr{Cint})\n\nSee libhdf5 documentation for H5Rget_obj_type2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5r_get_region","page":"Low-level library bindings","title":"HDF5.API.h5r_get_region","text":"h5r_get_region(loc_id::hid_t, ref_type::Cint, ref::Ptr{Cvoid}) -> hid_t\n\nSee libhdf5 documentation for H5Rget_region.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5S","page":"Low-level library bindings","title":"H5S — Dataspace Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5s_close\nh5s_combine_hyperslab\nh5s_combine_select\nh5s_copy\nh5s_create\nh5s_create_simple\nh5s_extent_copy\nh5s_extent_equal\nh5s_get_regular_hyperslab\nh5s_get_select_bounds\nh5s_get_select_elem_npoints\nh5s_get_select_elem_pointlist\nh5s_get_select_hyper_blocklist\nh5s_get_select_hyper_nblocks\nh5s_get_select_npoints\nh5s_get_select_type\nh5s_get_simple_extent_dims\nh5s_get_simple_extent_ndims\nh5s_get_simple_extent_type\nh5s_is_regular_hyperslab\nh5s_is_simple\nh5s_modify_select\nh5s_offset_simple\nh5s_select_all\nh5s_select_copy\nh5s_select_elements\nh5s_select_hyperslab\nh5s_select_intersect_block\nh5s_select_shape_same\nh5s_select_valid\nh5s_set_extent_none\nh5s_set_extent_simple","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5s_close\nh5s_combine_hyperslab\nh5s_combine_select\nh5s_copy\nh5s_create\nh5s_create_simple\nh5s_extent_copy\nh5s_extent_equal\nh5s_get_regular_hyperslab\nh5s_get_select_bounds\nh5s_get_select_elem_npoints\nh5s_get_select_elem_pointlist\nh5s_get_select_hyper_blocklist\nh5s_get_select_hyper_nblocks\nh5s_get_select_npoints\nh5s_get_select_type\nh5s_get_simple_extent_dims\nh5s_get_simple_extent_ndims\nh5s_get_simple_extent_type\nh5s_is_regular_hyperslab\nh5s_is_simple\nh5s_modify_select\nh5s_offset_simple\nh5s_select_all\nh5s_select_copy\nh5s_select_elements\nh5s_select_hyperslab\nh5s_select_intersect_block\nh5s_select_shape_same\nh5s_select_valid\nh5s_set_extent_none\nh5s_set_extent_simple","category":"page"},{"location":"api_bindings/#HDF5.API.h5s_close","page":"Low-level library bindings","title":"HDF5.API.h5s_close","text":"h5s_close(space_id::hid_t)\n\nSee libhdf5 documentation for H5Sclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_combine_hyperslab","page":"Low-level library bindings","title":"HDF5.API.h5s_combine_hyperslab","text":"h5s_combine_hyperslab(dspace_id::hid_t, seloper::H5S_seloper_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Scombine_hyperslab.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_combine_select","page":"Low-level library bindings","title":"HDF5.API.h5s_combine_select","text":"h5s_combine_select(space1_id::hid_t, op::H5S_seloper_t, space2_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Scombine_select.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_copy","page":"Low-level library bindings","title":"HDF5.API.h5s_copy","text":"h5s_copy(space_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Scopy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_create","page":"Low-level library bindings","title":"HDF5.API.h5s_create","text":"h5s_create(class::Cint) -> hid_t\n\nSee libhdf5 documentation for H5Screate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_create_simple","page":"Low-level library bindings","title":"HDF5.API.h5s_create_simple","text":"h5s_create_simple(rank::Cint, current_dims::Ptr{hsize_t}, maximum_dims::Ptr{hsize_t}) -> hid_t\n\nSee libhdf5 documentation for H5Screate_simple.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_extent_copy","page":"Low-level library bindings","title":"HDF5.API.h5s_extent_copy","text":"h5s_extent_copy(dst::hid_t, src::hid_t)\n\nSee libhdf5 documentation for H5Sextent_copy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_extent_equal","page":"Low-level library bindings","title":"HDF5.API.h5s_extent_equal","text":"h5s_extent_equal(space1_id::hid_t, space2_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Sextent_equal.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_regular_hyperslab","page":"Low-level library bindings","title":"HDF5.API.h5s_get_regular_hyperslab","text":"h5s_get_regular_hyperslab(space_id::hid_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sget_regular_hyperslab.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_bounds","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_bounds","text":"h5s_get_select_bounds(space_id::hid_t, starts::Ptr{hsize_t}, ends::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sget_select_bounds.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_elem_npoints","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_elem_npoints","text":"h5s_get_select_elem_npoints(space_id::hid_t) -> hssize_t\n\nSee libhdf5 documentation for H5Sget_select_elem_npoints.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_elem_pointlist","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_elem_pointlist","text":"h5s_get_select_elem_pointlist(space_id::hid_t, startpoint::hsize_t, numpoints::hsize_t, buf::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sget_select_elem_pointlist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_hyper_blocklist","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_hyper_blocklist","text":"h5s_get_select_hyper_blocklist(space_id::hid_t, startblock::hsize_t, numblocks::hsize_t, buf::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sget_select_hyper_blocklist.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_hyper_nblocks","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_hyper_nblocks","text":"h5s_get_select_hyper_nblocks(space_id::hid_t) -> hssize_t\n\nSee libhdf5 documentation for H5Sget_select_hyper_nblocks.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_npoints","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_npoints","text":"h5s_get_select_npoints(space_id::hid_t) -> hsize_t\n\nSee libhdf5 documentation for H5Sget_select_npoints.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_select_type","page":"Low-level library bindings","title":"HDF5.API.h5s_get_select_type","text":"h5s_get_select_type(space_id::hid_t) -> H5S_sel_type\n\nSee libhdf5 documentation for H5Sget_select_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_simple_extent_dims","page":"Low-level library bindings","title":"HDF5.API.h5s_get_simple_extent_dims","text":"h5s_get_simple_extent_dims(space_id::hid_t, dims::Ptr{hsize_t}, maxdims::Ptr{hsize_t}) -> Int\n\nSee libhdf5 documentation for H5Sget_simple_extent_dims.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_simple_extent_ndims","page":"Low-level library bindings","title":"HDF5.API.h5s_get_simple_extent_ndims","text":"h5s_get_simple_extent_ndims(space_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Sget_simple_extent_ndims.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_get_simple_extent_type","page":"Low-level library bindings","title":"HDF5.API.h5s_get_simple_extent_type","text":"h5s_get_simple_extent_type(space_id::hid_t) -> H5S_class_t\n\nSee libhdf5 documentation for H5Sget_simple_extent_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_is_regular_hyperslab","page":"Low-level library bindings","title":"HDF5.API.h5s_is_regular_hyperslab","text":"h5s_is_regular_hyperslab(space_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Sis_regular_hyperslab.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_is_simple","page":"Low-level library bindings","title":"HDF5.API.h5s_is_simple","text":"h5s_is_simple(space_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Sis_simple.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_modify_select","page":"Low-level library bindings","title":"HDF5.API.h5s_modify_select","text":"h5s_modify_select(space_id::hid_t, op::H5S_seloper_t, space2_id::hid_t)\n\nSee libhdf5 documentation for H5Smodify_select.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_offset_simple","page":"Low-level library bindings","title":"HDF5.API.h5s_offset_simple","text":"h5s_offset_simple(space_id::hid_t, offset::Ptr{hssize_t})\n\nSee libhdf5 documentation for H5Soffset_simple.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_all","page":"Low-level library bindings","title":"HDF5.API.h5s_select_all","text":"h5s_select_all(space_id::hid_t)\n\nSee libhdf5 documentation for H5Sselect_all.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_copy","page":"Low-level library bindings","title":"HDF5.API.h5s_select_copy","text":"h5s_select_copy(dst::hid_t, src::hid_t)\n\nSee libhdf5 documentation for H5Sselect_copy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_elements","page":"Low-level library bindings","title":"HDF5.API.h5s_select_elements","text":"h5s_select_elements(space_id::hid_t, op::H5S_seloper_t, num_elem::Csize_t, coord::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sselect_elements.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_hyperslab","page":"Low-level library bindings","title":"HDF5.API.h5s_select_hyperslab","text":"h5s_select_hyperslab(dspace_id::hid_t, seloper::H5S_seloper_t, start::Ptr{hsize_t}, stride::Ptr{hsize_t}, count::Ptr{hsize_t}, block::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sselect_hyperslab.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_intersect_block","page":"Low-level library bindings","title":"HDF5.API.h5s_select_intersect_block","text":"h5s_select_intersect_block(space_id::hid_t, starts::Ptr{hsize_t}, ends::Ptr{hsize_t}) -> Bool\n\nSee libhdf5 documentation for H5Sselect_intersect_block.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_shape_same","page":"Low-level library bindings","title":"HDF5.API.h5s_select_shape_same","text":"h5s_select_shape_same(space1_id::hid_t, space2_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Sselect_shape_same.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_select_valid","page":"Low-level library bindings","title":"HDF5.API.h5s_select_valid","text":"h5s_select_valid(spaceid::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Sselect_valid.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_set_extent_none","page":"Low-level library bindings","title":"HDF5.API.h5s_set_extent_none","text":"h5s_set_extent_none(space_id::hid_t)\n\nSee libhdf5 documentation for H5Sset_extent_none.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5s_set_extent_simple","page":"Low-level library bindings","title":"HDF5.API.h5s_set_extent_simple","text":"h5s_set_extent_simple(dspace_id::hid_t, rank::Cint, current_size::Ptr{hsize_t}, maximum_size::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5Sset_extent_simple.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5T","page":"Low-level library bindings","title":"H5T — Datatype Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5t_array_create\nh5t_close\nh5t_commit\nh5t_committed\nh5t_copy\nh5t_create\nh5t_enum_insert\nh5t_equal\nh5t_get_array_dims\nh5t_get_array_ndims\nh5t_get_class\nh5t_get_cset\nh5t_get_ebias\nh5t_get_fields\nh5t_get_member_class\nh5t_get_member_index\nh5t_get_member_name\nh5t_get_member_offset\nh5t_get_member_type\nh5t_get_native_type\nh5t_get_nmembers\nh5t_get_offset\nh5t_get_order\nh5t_get_precision\nh5t_get_sign\nh5t_get_size\nh5t_get_strpad\nh5t_get_super\nh5t_get_tag\nh5t_insert\nh5t_is_variable_str\nh5t_lock\nh5t_open\nh5t_set_cset\nh5t_set_ebias\nh5t_set_fields\nh5t_set_offset\nh5t_set_order\nh5t_set_precision\nh5t_set_size\nh5t_set_strpad\nh5t_set_tag\nh5t_vlen_create","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5t_array_create\nh5t_close\nh5t_commit\nh5t_committed\nh5t_copy\nh5t_create\nh5t_enum_insert\nh5t_equal\nh5t_get_array_dims\nh5t_get_array_ndims\nh5t_get_class\nh5t_get_cset\nh5t_get_ebias\nh5t_get_fields\nh5t_get_member_class\nh5t_get_member_index\nh5t_get_member_name\nh5t_get_member_offset\nh5t_get_member_type\nh5t_get_native_type\nh5t_get_nmembers\nh5t_get_offset\nh5t_get_order\nh5t_get_precision\nh5t_get_sign\nh5t_get_size\nh5t_get_strpad\nh5t_get_super\nh5t_get_tag\nh5t_insert\nh5t_is_variable_str\nh5t_lock\nh5t_open\nh5t_set_cset\nh5t_set_ebias\nh5t_set_fields\nh5t_set_offset\nh5t_set_order\nh5t_set_precision\nh5t_set_size\nh5t_set_strpad\nh5t_set_tag\nh5t_vlen_create","category":"page"},{"location":"api_bindings/#HDF5.API.h5t_array_create","page":"Low-level library bindings","title":"HDF5.API.h5t_array_create","text":"h5t_array_create(basetype_id::hid_t, ndims::Cuint, sz::Ptr{hsize_t}) -> hid_t\n\nSee libhdf5 documentation for H5Tarray_create2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_close","page":"Low-level library bindings","title":"HDF5.API.h5t_close","text":"h5t_close(dtype_id::hid_t)\n\nSee libhdf5 documentation for H5Tclose.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_commit","page":"Low-level library bindings","title":"HDF5.API.h5t_commit","text":"h5t_commit(loc_id::hid_t, name::Cstring, dtype_id::hid_t, lcpl_id::hid_t, tcpl_id::hid_t, tapl_id::hid_t)\n\nSee libhdf5 documentation for H5Tcommit2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_committed","page":"Low-level library bindings","title":"HDF5.API.h5t_committed","text":"h5t_committed(dtype_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Tcommitted.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_copy","page":"Low-level library bindings","title":"HDF5.API.h5t_copy","text":"h5t_copy(dtype_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Tcopy.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_create","page":"Low-level library bindings","title":"HDF5.API.h5t_create","text":"h5t_create(class_id::Cint, sz::Csize_t) -> hid_t\n\nSee libhdf5 documentation for H5Tcreate.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_enum_insert","page":"Low-level library bindings","title":"HDF5.API.h5t_enum_insert","text":"h5t_enum_insert(dtype_id::hid_t, name::Cstring, value::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5Tenum_insert.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_equal","page":"Low-level library bindings","title":"HDF5.API.h5t_equal","text":"h5t_equal(dtype_id1::hid_t, dtype_id2::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Tequal.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_array_dims","page":"Low-level library bindings","title":"HDF5.API.h5t_get_array_dims","text":"h5t_get_array_dims(dtype_id::hid_t, dims::Ptr{hsize_t}) -> Int\n\nSee libhdf5 documentation for H5Tget_array_dims2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_array_ndims","page":"Low-level library bindings","title":"HDF5.API.h5t_get_array_ndims","text":"h5t_get_array_ndims(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_array_ndims.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_class","page":"Low-level library bindings","title":"HDF5.API.h5t_get_class","text":"h5t_get_class(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_cset","page":"Low-level library bindings","title":"HDF5.API.h5t_get_cset","text":"h5t_get_cset(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_cset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_ebias","page":"Low-level library bindings","title":"HDF5.API.h5t_get_ebias","text":"h5t_get_ebias(dtype_id::hid_t) -> Csize_t\n\nSee libhdf5 documentation for H5Tget_ebias.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_fields","page":"Low-level library bindings","title":"HDF5.API.h5t_get_fields","text":"h5t_get_fields(dtype_id::hid_t, spos::Ref{Csize_t}, epos::Ref{Csize_t}, esize::Ref{Csize_t}, mpos::Ref{Csize_t}, msize::Ref{Csize_t})\n\nSee libhdf5 documentation for H5Tget_fields.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_member_class","page":"Low-level library bindings","title":"HDF5.API.h5t_get_member_class","text":"h5t_get_member_class(dtype_id::hid_t, index::Cuint) -> Int\n\nSee libhdf5 documentation for H5Tget_member_class.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_member_index","page":"Low-level library bindings","title":"HDF5.API.h5t_get_member_index","text":"h5t_get_member_index(dtype_id::hid_t, membername::Cstring) -> Int\n\nSee libhdf5 documentation for H5Tget_member_index.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_member_name","page":"Low-level library bindings","title":"HDF5.API.h5t_get_member_name","text":"h5t_get_member_name(type_id::hid_t, index::Cuint) -> String\n\nSee libhdf5 documentation for H5Oopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_member_offset","page":"Low-level library bindings","title":"HDF5.API.h5t_get_member_offset","text":"h5t_get_member_offset(dtype_id::hid_t, index::Cuint) -> Csize_t\n\nSee libhdf5 documentation for H5Tget_member_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_member_type","page":"Low-level library bindings","title":"HDF5.API.h5t_get_member_type","text":"h5t_get_member_type(dtype_id::hid_t, index::Cuint) -> hid_t\n\nSee libhdf5 documentation for H5Tget_member_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_native_type","page":"Low-level library bindings","title":"HDF5.API.h5t_get_native_type","text":"h5t_get_native_type(dtype_id::hid_t, direction::Cint) -> hid_t\n\nSee libhdf5 documentation for H5Tget_native_type.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_nmembers","page":"Low-level library bindings","title":"HDF5.API.h5t_get_nmembers","text":"h5t_get_nmembers(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_nmembers.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_offset","page":"Low-level library bindings","title":"HDF5.API.h5t_get_offset","text":"h5t_get_offset(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_order","page":"Low-level library bindings","title":"HDF5.API.h5t_get_order","text":"h5t_get_order(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_precision","page":"Low-level library bindings","title":"HDF5.API.h5t_get_precision","text":"h5t_get_precision(dtype_id::hid_t) -> Csize_t\n\nSee libhdf5 documentation for H5Tget_precision.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_sign","page":"Low-level library bindings","title":"HDF5.API.h5t_get_sign","text":"h5t_get_sign(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_sign.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_size","page":"Low-level library bindings","title":"HDF5.API.h5t_get_size","text":"h5t_get_size(dtype_id::hid_t) -> Csize_t\n\nSee libhdf5 documentation for H5Tget_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_strpad","page":"Low-level library bindings","title":"HDF5.API.h5t_get_strpad","text":"h5t_get_strpad(dtype_id::hid_t) -> Int\n\nSee libhdf5 documentation for H5Tget_strpad.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_super","page":"Low-level library bindings","title":"HDF5.API.h5t_get_super","text":"h5t_get_super(dtype_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Tget_super.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_get_tag","page":"Low-level library bindings","title":"HDF5.API.h5t_get_tag","text":"h5t_get_tag(type_id::hid_t) -> String\n\nSee libhdf5 documentation for H5Oopen.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_insert","page":"Low-level library bindings","title":"HDF5.API.h5t_insert","text":"h5t_insert(dtype_id::hid_t, fieldname::Cstring, offset::Csize_t, field_id::hid_t)\n\nSee libhdf5 documentation for H5Tinsert.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_is_variable_str","page":"Low-level library bindings","title":"HDF5.API.h5t_is_variable_str","text":"h5t_is_variable_str(type_id::hid_t) -> Bool\n\nSee libhdf5 documentation for H5Tis_variable_str.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_lock","page":"Low-level library bindings","title":"HDF5.API.h5t_lock","text":"h5t_lock(type_id::hid_t)\n\nSee libhdf5 documentation for H5Tlock.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_open","page":"Low-level library bindings","title":"HDF5.API.h5t_open","text":"h5t_open(loc_id::hid_t, name::Cstring, tapl_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Topen2.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_cset","page":"Low-level library bindings","title":"HDF5.API.h5t_set_cset","text":"h5t_set_cset(dtype_id::hid_t, cset::Cint)\n\nSee libhdf5 documentation for H5Tset_cset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_ebias","page":"Low-level library bindings","title":"HDF5.API.h5t_set_ebias","text":"h5t_set_ebias(dtype_id::hid_t, ebias::Csize_t)\n\nSee libhdf5 documentation for H5Tset_ebias.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_fields","page":"Low-level library bindings","title":"HDF5.API.h5t_set_fields","text":"h5t_set_fields(dtype_id::hid_t, spos::Csize_t, epos::Csize_t, esize::Csize_t, mpos::Csize_t, msize::Csize_t)\n\nSee libhdf5 documentation for H5Tset_fields.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_offset","page":"Low-level library bindings","title":"HDF5.API.h5t_set_offset","text":"h5t_set_offset(dtype_id::hid_t, offset::Csize_t)\n\nSee libhdf5 documentation for H5Tset_offset.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_order","page":"Low-level library bindings","title":"HDF5.API.h5t_set_order","text":"h5t_set_order(dtype_id::hid_t, order::Cint)\n\nSee libhdf5 documentation for H5Tset_order.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_precision","page":"Low-level library bindings","title":"HDF5.API.h5t_set_precision","text":"h5t_set_precision(dtype_id::hid_t, sz::Csize_t)\n\nSee libhdf5 documentation for H5Tset_precision.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_size","page":"Low-level library bindings","title":"HDF5.API.h5t_set_size","text":"h5t_set_size(dtype_id::hid_t, sz::Csize_t)\n\nSee libhdf5 documentation for H5Tset_size.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_strpad","page":"Low-level library bindings","title":"HDF5.API.h5t_set_strpad","text":"h5t_set_strpad(dtype_id::hid_t, sz::Cint)\n\nSee libhdf5 documentation for H5Tset_strpad.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_set_tag","page":"Low-level library bindings","title":"HDF5.API.h5t_set_tag","text":"h5t_set_tag(dtype_id::hid_t, tag::Cstring)\n\nSee libhdf5 documentation for H5Tset_tag.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5t_vlen_create","page":"Low-level library bindings","title":"HDF5.API.h5t_vlen_create","text":"h5t_vlen_create(base_type_id::hid_t) -> hid_t\n\nSee libhdf5 documentation for H5Tvlen_create.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5Z","page":"Low-level library bindings","title":"H5Z — Filter Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5z_filter_avail\nh5z_get_filter_info\nh5z_register\nh5z_unregister","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5z_filter_avail\nh5z_get_filter_info\nh5z_register\nh5z_unregister","category":"page"},{"location":"api_bindings/#HDF5.API.h5z_filter_avail","page":"Low-level library bindings","title":"HDF5.API.h5z_filter_avail","text":"h5z_filter_avail(id::H5Z_filter_t) -> Bool\n\nSee libhdf5 documentation for H5Zfilter_avail.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5z_get_filter_info","page":"Low-level library bindings","title":"HDF5.API.h5z_get_filter_info","text":"h5z_get_filter_info(filter::H5Z_filter_t, filter_config_flags::Ptr{Cuint})\n\nSee libhdf5 documentation for H5Zget_filter_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5z_register","page":"Low-level library bindings","title":"HDF5.API.h5z_register","text":"h5z_register(filter_class::Ref{H5Z_class_t})\n\nSee libhdf5 documentation for H5Zregister.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5z_unregister","page":"Low-level library bindings","title":"HDF5.API.h5z_unregister","text":"h5z_unregister(id::H5Z_filter_t)\n\nSee libhdf5 documentation for H5Zunregister.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5FD","page":"Low-level library bindings","title":"H5FD — File Drivers","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5fd_core_init\nh5fd_family_init\nh5fd_log_init\nh5fd_mpio_init\nh5fd_multi_init\nh5fd_sec2_init\nh5fd_stdio_init","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5fd_core_init\nh5fd_family_init\nh5fd_log_init\nh5fd_mpio_init\nh5fd_multi_init\nh5fd_sec2_init\nh5fd_stdio_init","category":"page"},{"location":"api_bindings/#HDF5.API.h5fd_core_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_core_init","text":"h5fd_core_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_CORE. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_family_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_family_init","text":"h5fd_family_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_FAMILY. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_log_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_log_init","text":"h5fd_log_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_LOG. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_mpio_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_mpio_init","text":"h5fd_mpio_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_MPIO. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_multi_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_multi_init","text":"h5fd_multi_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_MULTI. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_sec2_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_sec2_init","text":"h5fd_sec2_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_SEC2. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5fd_stdio_init","page":"Low-level library bindings","title":"HDF5.API.h5fd_stdio_init","text":"h5fd_stdio_init() -> hid_t\n\nThis function is exposed in libhdf5 as the macro H5FD_STDIO. See libhdf5 documentation for H5Pget_driver.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5DO","page":"Low-level library bindings","title":"H5DO — Optimized Functions Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5do_append\nh5do_write_chunk","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5do_append\nh5do_write_chunk","category":"page"},{"location":"api_bindings/#HDF5.API.h5do_append","page":"Low-level library bindings","title":"HDF5.API.h5do_append","text":"h5do_append(dset_id::hid_t, dxpl_id::hid_t, index::Cuint, num_elem::hsize_t, memtype::hid_t, buffer::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5DOappend.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5do_write_chunk","page":"Low-level library bindings","title":"HDF5.API.h5do_write_chunk","text":"h5do_write_chunk(dset_id::hid_t, dxpl_id::hid_t, filter_mask::UInt32, offset::Ptr{hsize_t}, bufsize::Csize_t, buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5DOwrite_chunk.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5DS","page":"Low-level library bindings","title":"H5DS — Dimension Scale Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5ds_attach_scale\nh5ds_detach_scale\nh5ds_get_label\nh5ds_get_num_scales\nh5ds_get_scale_name\nh5ds_is_attached\nh5ds_is_scale\nh5ds_set_label\nh5ds_set_scale","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5ds_attach_scale\nh5ds_detach_scale\nh5ds_get_label\nh5ds_get_num_scales\nh5ds_get_scale_name\nh5ds_is_attached\nh5ds_is_scale\nh5ds_set_label\nh5ds_set_scale","category":"page"},{"location":"api_bindings/#HDF5.API.h5ds_attach_scale","page":"Low-level library bindings","title":"HDF5.API.h5ds_attach_scale","text":"h5ds_attach_scale(did::hid_t, dsid::hid_t, idx::Cuint)\n\nSee libhdf5 documentation for H5DSattach_scale.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_detach_scale","page":"Low-level library bindings","title":"HDF5.API.h5ds_detach_scale","text":"h5ds_detach_scale(did::hid_t, dsid::hid_t, idx::Cuint)\n\nSee libhdf5 documentation for H5DSdetach_scale.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_get_label","page":"Low-level library bindings","title":"HDF5.API.h5ds_get_label","text":"h5ds_get_label(did::hid_t, idx::Cuint, label::Ptr{UInt8}, size::hsize_t)\n\nSee libhdf5 documentation for H5DSget_label.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_get_num_scales","page":"Low-level library bindings","title":"HDF5.API.h5ds_get_num_scales","text":"h5ds_get_num_scales(did::hid_t, idx::Cuint) -> Int\n\nSee libhdf5 documentation for H5DSget_num_scales.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_get_scale_name","page":"Low-level library bindings","title":"HDF5.API.h5ds_get_scale_name","text":"h5ds_get_scale_name(did::hid_t, name::Ptr{UInt8}, size::Csize_t) -> Cssize_t\n\nSee libhdf5 documentation for H5DSget_scale_name.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_is_attached","page":"Low-level library bindings","title":"HDF5.API.h5ds_is_attached","text":"h5ds_is_attached(did::hid_t, dsid::hid_t, idx::Cuint) -> Bool\n\nSee libhdf5 documentation for H5DSis_attached.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_is_scale","page":"Low-level library bindings","title":"HDF5.API.h5ds_is_scale","text":"h5ds_is_scale(did::hid_t) -> Bool\n\nSee libhdf5 documentation for H5DSis_scale.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_set_label","page":"Low-level library bindings","title":"HDF5.API.h5ds_set_label","text":"h5ds_set_label(did::hid_t, idx::Cuint, label::Ref{UInt8})\n\nSee libhdf5 documentation for H5DSset_label.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5ds_set_scale","page":"Low-level library bindings","title":"HDF5.API.h5ds_set_scale","text":"h5ds_set_scale(dsid::hid_t, dimname::Cstring)\n\nSee libhdf5 documentation for H5DSset_scale.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5LT","page":"Low-level library bindings","title":"H5LT — Lite Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5lt_dtype_to_text","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5lt_dtype_to_text","category":"page"},{"location":"api_bindings/#HDF5.API.h5lt_dtype_to_text","page":"Low-level library bindings","title":"HDF5.API.h5lt_dtype_to_text","text":"h5lt_dtype_to_text(datatype::hid_t, str::Ptr{UInt8}, lang_type::Cint, len::Ref{Csize_t})\n\nSee libhdf5 documentation for H5LTdtype_to_text.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"","category":"page"},{"location":"api_bindings/#H5TB","page":"Low-level library bindings","title":"H5TB — Table Interface","text":"","category":"section"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5tb_append_records\nh5tb_get_field_info\nh5tb_get_table_info\nh5tb_make_table\nh5tb_read_records\nh5tb_read_table\nh5tb_write_records","category":"page"},{"location":"api_bindings/","page":"Low-level library bindings","title":"Low-level library bindings","text":"h5tb_append_records\nh5tb_get_field_info\nh5tb_get_table_info\nh5tb_make_table\nh5tb_read_records\nh5tb_read_table\nh5tb_write_records","category":"page"},{"location":"api_bindings/#HDF5.API.h5tb_append_records","page":"Low-level library bindings","title":"HDF5.API.h5tb_append_records","text":"h5tb_append_records(loc_id::hid_t, dset_name::Cstring, nrecords::hsize_t, type_size::Csize_t, field_offset::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5TBappend_records.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_get_field_info","page":"Low-level library bindings","title":"HDF5.API.h5tb_get_field_info","text":"h5tb_get_field_info(loc_id::hid_t, table_name::Cstring, field_names::Ptr{Ptr{UInt8}}, field_sizes::Ptr{Csize_t}, field_offsets::Ptr{Csize_t}, type_size::Ptr{Csize_t})\n\nSee libhdf5 documentation for H5TBget_field_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_get_table_info","page":"Low-level library bindings","title":"HDF5.API.h5tb_get_table_info","text":"h5tb_get_table_info(loc_id::hid_t, table_name::Cstring, nfields::Ptr{hsize_t}, nrecords::Ptr{hsize_t})\n\nSee libhdf5 documentation for H5TBget_table_info.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_make_table","page":"Low-level library bindings","title":"HDF5.API.h5tb_make_table","text":"h5tb_make_table(table_title::Cstring, loc_id::hid_t, dset_name::Cstring, nfields::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_names::Ptr{Cstring}, field_offset::Ptr{Csize_t}, field_types::Ptr{hid_t}, chunk_size::hsize_t, fill_data::Ptr{Cvoid}, compress::Cint, data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5TBmake_table.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_read_records","page":"Low-level library bindings","title":"HDF5.API.h5tb_read_records","text":"h5tb_read_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5TBread_records.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_read_table","page":"Low-level library bindings","title":"HDF5.API.h5tb_read_table","text":"h5tb_read_table(loc_id::hid_t, table_name::Cstring, dst_size::Csize_t, dst_offset::Ptr{Csize_t}, dst_sizes::Ptr{Csize_t}, dst_buf::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5TBread_table.\n\n\n\n\n\n","category":"function"},{"location":"api_bindings/#HDF5.API.h5tb_write_records","page":"Low-level library bindings","title":"HDF5.API.h5tb_write_records","text":"h5tb_write_records(loc_id::hid_t, table_name::Cstring, start::hsize_t, nrecords::hsize_t, type_size::Csize_t, field_offsets::Ptr{Csize_t}, field_sizes::Ptr{Csize_t}, data::Ptr{Cvoid})\n\nSee libhdf5 documentation for H5TBwrite_records.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#Dataspaces","page":"Dataspaces","title":"Dataspaces","text":"","category":"section"},{"location":"interface/dataspaces/","page":"Dataspaces","title":"Dataspaces","text":"CurrentModule = HDF5","category":"page"},{"location":"interface/dataspaces/","page":"Dataspaces","title":"Dataspaces","text":"Dataspace\ndataspace\nisnull\nget_extent_dims\nset_extent_dims","category":"page"},{"location":"interface/dataspaces/#HDF5.Dataspace","page":"Dataspaces","title":"HDF5.Dataspace","text":"HDF5.Dataspace\n\nA dataspace defines the size and the shape of a dataset or an attribute.\n\nA dataspace is typically constructed by calling dataspace.\n\nThe following functions have methods defined for Dataspace objects\n\n==\nndims\nsize\nlength\nisempty\nisnull\n\n\n\n\n\n","category":"type"},{"location":"interface/dataspaces/#HDF5.dataspace","page":"Dataspaces","title":"HDF5.dataspace","text":"dataspace(obj::Union{Attribute, Dataset, Dataspace})\n\nThe Dataspace of obj.\n\n\n\n\n\ndataspace(data)\n\nThe default Dataspace used for representing a Julia object data:\n\nstrings or numbers: a scalar Dataspace\narrays: a simple Dataspace\nstruct types: a scalar Dataspace\nnothing or an EmptyArray: a null dataspace\n\n\n\n\n\ndataspace(dims::Tuple; max_dims::Tuple=dims)\ndataspace(dims::Tuple, max_dims::Tuple)\n\nConstruct a simple Dataspace for the given dimensions dims. The maximum dimensions maxdims specifies the maximum possible size: -1 can be used to indicate unlimited dimensions.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#HDF5.isnull","page":"Dataspaces","title":"HDF5.isnull","text":"isnull(dspace::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute})\n\nDetermines whether the given object has no size (consistent with the API.H5S_NULL dataspace).\n\nExamples\n\njulia> HDF5.isnull(dataspace(HDF5.EmptyArray{Float64}()))\ntrue\n\njulia> HDF5.isnull(dataspace((0,)))\nfalse\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#HDF5.get_extent_dims","page":"Dataspaces","title":"HDF5.get_extent_dims","text":"HDF5.get_extent_dims(obj::Union{HDF5.Dataspace, HDF5.Dataset, HDF5.Attribute}) -> dims, maxdims\n\nGet the array dimensions from a dataspace, dataset, or attribute and return a tuple of dims and maxdims.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#HDF5.set_extent_dims","page":"Dataspaces","title":"HDF5.set_extent_dims","text":"HDF5.set_extent_dims(dset::HDF5.Dataset, new_dims::Dims)\n\nChange the current dimensions of a dataset to new_dims, limited by max_dims = get_extent_dims(dset)[2]. Reduction is possible and leads to loss of truncated data.\n\n\n\n\n\nHDF5.set_extent_dims(dspace::HDF5.Dataspace, new_dims::Dims, max_dims::Union{Dims,Nothing} = nothing)\n\nChange the dimensions of a dataspace dspace to new_dims, optionally with the maximum possible dimensions max_dims different from the active size new_dims. If not given, max_dims is set equal to new_dims.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#Hyperslab","page":"Dataspaces","title":"Hyperslab","text":"","category":"section"},{"location":"interface/dataspaces/","page":"Dataspaces","title":"Dataspaces","text":"BlockRange\nselect_hyperslab!\nget_regular_hyperslab","category":"page"},{"location":"interface/dataspaces/#HDF5.BlockRange","page":"Dataspaces","title":"HDF5.BlockRange","text":"HDF5.BlockRange(;start::Integer, stride::Integer=1, count::Integer=1, block::Integer=1)\n\nA BlockRange represents a selection along a single dimension of a HDF5 hyperslab. It is similar to a Julia range object, with some extra features for selecting multiple contiguous blocks.\n\nstart: the index of the first element in the first block (1-based).\nstride: the step between the first element of each block (must be >0)\ncount: the number of blocks (can be -1 for an unlimited number of blocks)\nblock: the number of elements in each block.\n\nHDF5.BlockRange(obj::Union{Integer, OrdinalRange})\n\nConvert obj to a BlockRange object.\n\nExternal links\n\nHDF5 User Guide, section 7.4.2.1 \"Selecting Hyperslabs\"\n\n\n\n\n\n","category":"type"},{"location":"interface/dataspaces/#HDF5.select_hyperslab!","page":"Dataspaces","title":"HDF5.select_hyperslab!","text":"HDF5.select_hyperslab!(dspace::Dataspace, [op, ], idxs::Tuple)\n\nSelects a hyperslab region of the dspace. idxs should be a tuple of integers, ranges or BlockRange objects.\n\nop determines how the new selection is to be combined with the already selected dataspace:\n:select (default): replace the existing selection with the new selection.\n:or: adds the new selection to the existing selection. Aliases: |, ∪, union.\n:and: retains only the overlapping portions of the new and existing selection. Aliases: &, ∩, intersect.\n:xor: retains only the elements that are members of the new selection or the existing selection, excluding elements that are members of both selections. Aliases: ⊻, xor\n:notb: retains only elements of the existing selection that are not in the new selection. Alias: setdiff.\n:nota: retains only elements of the new selection that are not in the existing selection.\n\n\n\n\n\n","category":"function"},{"location":"interface/dataspaces/#HDF5.get_regular_hyperslab","page":"Dataspaces","title":"HDF5.get_regular_hyperslab","text":"HDF5.get_regular_hyperslab(dspace)::Tuple\n\nGet the hyperslab selection from dspace. Returns a tuple of BlockRange objects.\n\n\n\n\n\n","category":"function"},{"location":"","page":"Home","title":"Home","text":"CurrentModule = HDF5","category":"page"},{"location":"#HDF5.jl","page":"Home","title":"HDF5.jl","text":"","category":"section"},{"location":"#Overview","page":"Home","title":"Overview","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"HDF5 stands for Hierarchical Data Format v5 and is closely modeled on file systems. In HDF5, a \"group\" is analogous to a directory, a \"dataset\" is like a file. HDF5 also uses \"attributes\" to associate metadata with a particular group or dataset. HDF5 uses ASCII names for these different objects, and objects can be accessed by Unix-like pathnames, e.g., \"/sample1/tempsensor/firsttrial\" for a top-level group \"sample1\", a subgroup \"tempsensor\", and a dataset \"firsttrial\".","category":"page"},{"location":"","page":"Home","title":"Home","text":"For simple types (scalars, strings, and arrays), HDF5 provides sufficient metadata to know how each item is to be interpreted. For example, HDF5 encodes that a given block of bytes is to be interpreted as an array of Int64, and represents them in a way that is compatible across different computing architectures.","category":"page"},{"location":"","page":"Home","title":"Home","text":"However, to preserve Julia objects, one generally needs additional type information to be supplied, which is easy to provide using attributes. This is handled for you automatically in the JLD/JLD2. These specific formats (conventions) provide \"extra\" functionality, but they are still both regular HDF5 files and are therefore compatible with any HDF5 reader or writer.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Language wrappers for HDF5 are often described as either \"low level\" or \"high level.\" This package contains both flavors: at the low level, it directly wraps HDF5's functions, thus copying their API and making them available from within Julia. At the high level, it provides a set of functions built on the low-level wrap which may make the usage of this library more convenient.","category":"page"},{"location":"#Installation","page":"Home","title":"Installation","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"julia>]\npkg> add HDF5","category":"page"},{"location":"","page":"Home","title":"Home","text":"Starting from Julia 1.3, the HDF5 binaries are by default downloaded using the HDF5_jll package.","category":"page"},{"location":"#Using-custom-or-system-provided-HDF5-binaries","page":"Home","title":"Using custom or system provided HDF5 binaries","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"note: Migration from HDF5.jl v0.16 and earlier\nHow to use a system-provided HDF5 library has been changed in HDF5.jl v0.17. Previously, the library path was set by the environment variable JULIA_HDF5_PATH, which required to rebuild HDF5.jl afterwards. The environment variable has been removed and no longer has an effect (for backward compatibility it is still recommended to also set the environment variable). Instead, proceed as described below.","category":"page"},{"location":"","page":"Home","title":"Home","text":"To use system-provided HDF5 binaries instead, set the preferences libhdf5 and libhdf5_hl, see also Preferences.jl. These need to point to the local paths of the libraries libhdf5 and libhdf5_hl.","category":"page"},{"location":"","page":"Home","title":"Home","text":"For example, to use HDF5 (libhdf5-mpich-dev) with MPI using system libraries on Ubuntu 20.04, you would run","category":"page"},{"location":"","page":"Home","title":"Home","text":"$ sudo apt install mpich libhdf5-mpich-dev","category":"page"},{"location":"","page":"Home","title":"Home","text":"If your system HDF5 library is compiled with MPI, you need to tell MPI.jl to use the same locally installed MPI implementation. This can be done in Julia by running:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using MPIPreferences\nMPIPreferences.use_system_binary()","category":"page"},{"location":"","page":"Home","title":"Home","text":"to set the MPI preferences, see the documentation of MPI.jl. You can set the path to the system library using Preferences.jl by:","category":"page"},{"location":"","page":"Home","title":"Home","text":"using Preferences, UUIDs\n\nset_preferences!(\n UUID(\"f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f\"), # UUID of HDF5.jl\n \"libhdf5\" => \"/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5.so\",\n \"libhdf5_hl\" => \"/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so\", force = true)","category":"page"},{"location":"","page":"Home","title":"Home","text":"Also see the file test/configure_packages.jl for an example.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Both, the MPI preferences and the preferences for HDF5.jl write to a file called LocalPreferences.toml in the project directory. After performing the described steps this file could look like the following:","category":"page"},{"location":"","page":"Home","title":"Home","text":"[MPIPreferences]\n_format = \"1.0\"\nabi = \"MPICH\"\nbinary = \"system\"\nlibmpi = \"/software/mpi/lib/libmpi.so\"\nmpiexec = \"/software/mpi/bin/mpiexec\"\n\n[HDF5]\nlibhdf5 = \"/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5.so\"\nlibhdf5_hl = \"/usr/lib/x86_64-linux-gnu/hdf5/mpich/libhdf5_hl.so\"","category":"page"},{"location":"","page":"Home","title":"Home","text":"If you want to switch to another HDF5 library or the library moved, you can call the set_preferences! commands again (or manually edit LocalPreferences.toml) to set the new paths. Using the default implementation provided by HDF5_jll can be done by simply manually deleting the LocalPreferences.toml file.","category":"page"},{"location":"#Opening-and-closing-files","page":"Home","title":"Opening and closing files","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"\"Plain\" (i.e., with no extra formatting conventions) HDF5 files are created and/or opened with the h5open command:","category":"page"},{"location":"","page":"Home","title":"Home","text":"fid = h5open(filename, mode)","category":"page"},{"location":"","page":"Home","title":"Home","text":"The mode can be any one of the following:","category":"page"},{"location":"","page":"Home","title":"Home","text":"mode Meaning\n\"r\" read-only\n\"r+\" read-write, preserving any existing contents\n\"cw\" read-write, create file if not existing, preserve existing contents\n\"w\" read-write, destroying any existing contents (if any)","category":"page"},{"location":"","page":"Home","title":"Home","text":"For example","category":"page"},{"location":"","page":"Home","title":"Home","text":"using HDF5\nfname = tempname(); # temporary file\nfid = h5open(fname, \"w\")","category":"page"},{"location":"","page":"Home","title":"Home","text":"This produces an object of type HDF5File, a subtype of the abstract type DataFile. This file will have no elements (groups, datasets, or attributes) that are not explicitly created by the user.","category":"page"},{"location":"","page":"Home","title":"Home","text":"When you're finished with a file, you should close it:","category":"page"},{"location":"","page":"Home","title":"Home","text":"close(fid)","category":"page"},{"location":"","page":"Home","title":"Home","text":"Closing a file also closes any other open objects (e.g., datasets, groups) in that file. In general, you need to close an HDF5 file to \"release\" it for use by other applications.","category":"page"},{"location":"#Creating-a-group-or-dataset","page":"Home","title":"Creating a group or dataset","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Groups can be created via the function create_group","category":"page"},{"location":"","page":"Home","title":"Home","text":"create_group(fid, \"mygroup\")","category":"page"},{"location":"","page":"Home","title":"Home","text":"We can write the \"mydataset\" by indexing into fid. This also happens to write data to the dataset.","category":"page"},{"location":"","page":"Home","title":"Home","text":"fid[\"mydataset\"] = rand()","category":"page"},{"location":"","page":"Home","title":"Home","text":"Alternatively, we can call create_dataset, which does not write data to the dataset. It merely creates the dataset.","category":"page"},{"location":"","page":"Home","title":"Home","text":"create_dataset(fid, \"myvector\", Int, (10,))","category":"page"},{"location":"","page":"Home","title":"Home","text":"Creating a dataset within a group is as simple as indexing into the group with the name of the dataset or calling create_dataset with the group as the first argument.","category":"page"},{"location":"","page":"Home","title":"Home","text":"g = fid[\"mygroup\"]\ng[\"mydataset\"] = \"Hello World!\"\ncreate_dataset(g, \"myvector\", Int, (10,))","category":"page"},{"location":"","page":"Home","title":"Home","text":"The do syntax is also supported. The file, group, and dataset handles will automatically be closed after the do block terminates.","category":"page"},{"location":"","page":"Home","title":"Home","text":"h5open(\"example2.h5\", \"w\") do fid\n g = create_group(fid, \"mygroup\")\n dset = create_dataset(g, \"myvector\", Float64, (10,))\n write(dset,rand(10))\nend","category":"page"},{"location":"#Opening-and-closing-objects","page":"Home","title":"Opening and closing objects","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"If you have a file object fid, and this has a group or dataset called \"mygroup\" at the top level of a file, you can open it in the following way:","category":"page"},{"location":"","page":"Home","title":"Home","text":"obj = fid[\"mygroup\"]","category":"page"},{"location":"","page":"Home","title":"Home","text":"This does not read any data or attributes associated with the object, it's simply a handle for further manipulations. For example:","category":"page"},{"location":"","page":"Home","title":"Home","text":"g = fid[\"mygroup\"]\ndset = g[\"mydataset\"]","category":"page"},{"location":"","page":"Home","title":"Home","text":"or simply","category":"page"},{"location":"","page":"Home","title":"Home","text":"dset = fid[\"mygroup/mydataset\"]","category":"page"},{"location":"","page":"Home","title":"Home","text":"When you're done with an object, you can close it using close(obj). If you forget to do this, it will be closed for you anyway when the file is closed, or if obj goes out of scope and gets garbage collected.","category":"page"},{"location":"#Reading-and-writing-data","page":"Home","title":"Reading and writing data","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Suppose you have a group g which contains a dataset with path \"mydataset\", and that you've also opened this dataset as dset = g[\"mydataset\"]. You can read information in this dataset in any of the following ways:","category":"page"},{"location":"","page":"Home","title":"Home","text":"A = read(dset)\nA = read(g, \"mydataset\")\nAsub = dset[2:3, 1:3]","category":"page"},{"location":"","page":"Home","title":"Home","text":"The last syntax reads just a subset of the data array (assuming that dset is an array of sufficient size). libhdf5 has internal mechanisms for slicing arrays, and consequently if you need only a small piece of a large array, it can be faster to read just what you need rather than reading the entire array and discarding most of it.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Datasets can be created with either","category":"page"},{"location":"","page":"Home","title":"Home","text":"g[\"mydataset\"] = rand(3,5)\nwrite(g, \"mydataset\", rand(3,5))","category":"page"},{"location":"","page":"Home","title":"Home","text":"One can use the high level interface load and save from FileIO, where an optional OrderedDict can be passed (track_order inferred). Note that using track_order=true or passing an OrderedDict is a promise that the read file has been created with the appropriate ordering flags.","category":"page"},{"location":"","page":"Home","title":"Home","text":"julia> using OrderedCollections, FileIO\njulia> save(\"track_order.h5\", OrderedDict(\"z\"=>1, \"a\"=>2, \"g/f\"=>3, \"g/b\"=>4))\njulia> load(\"track_order.h5\"; dict=OrderedDict())\nOrderedDict{Any, Any} with 4 entries:\n \"z\" => 1\n \"a\" => 2\n \"g/f\" => 3\n \"g/b\" => 4","category":"page"},{"location":"#Passing-parameters","page":"Home","title":"Passing parameters","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"It is often required to pass parameters to specific routines, which are collected in so-called property lists in HDF5. There are different property lists for different tasks, e.g. for the access/creation of files, datasets, groups. In this high level framework multiple parameters can be simply applied by appending them at the end of function calls as keyword arguments.","category":"page"},{"location":"","page":"Home","title":"Home","text":"g[\"A\"] = A # basic\ng[\"A\", chunk=(5,5)] = A # add chunks\n\nB = h5read(fn,\"mygroup/B\", # two parameters\n fapl_mpio=(ccomm,cinfo), # if parameter requires multiple args use tuples\n dxpl_mpio=HDF5.H5FD_MPIO_COLLECTIVE )","category":"page"},{"location":"","page":"Home","title":"Home","text":"This will automatically create the correct property lists, add the properties, and apply the property list while reading/writing the data. The naming of the properties generally follows that of HDF5, i.e. the key fapl_mpio returns the HDF5 functions h5pget/set_fapl_mpio and their corresponding property list type H5P_FILE_ACCESS. The complete list if routines and their interfaces is available at the H5P: Property List Interface documentation. Note that not all properties are available. When searching for a property check whether the corresponding h5pget/set functions are available.","category":"page"},{"location":"#Chunking-and-compression","page":"Home","title":"Chunking and compression","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"You can also optionally \"chunk\" and/or compress your data. For example,","category":"page"},{"location":"","page":"Home","title":"Home","text":"A = rand(100,100)\ng[\"A\", chunk=(5,5)] = A","category":"page"},{"location":"","page":"Home","title":"Home","text":"stores the matrix A in 5-by-5 chunks. Chunking improves efficiency if you write or extract small segments or slices of an array, if these are not stored contiguously.","category":"page"},{"location":"","page":"Home","title":"Home","text":"A = rand(100,100)\ng1[\"A\", chunk=(5,5), compress=3] = A\ng2[\"A\", chunk=(5,5), shuffle=(), deflate=3] = A\nusing H5Zblosc # load in Blosc\ng3[\"A\", chunk=(5,5), blosc=3] = A","category":"page"},{"location":"","page":"Home","title":"Home","text":"Standard compression in HDF5 (\"compress\") corresponds to (\"deflate\") and uses the deflate/zlib algorithm. The deflate algorithm is often more efficient if prefixed by a \"shuffle\" filter. Blosc is generally much faster than deflate – however, reading Blosc-compressed HDF5 files require Blosc to be installed. This is the case for Julia, but often not for vanilla HDF5 distributions that may be used outside Julia. (In this case, the structure of the HDF5 file is still accessible, but compressed datasets cannot be read.) Compression requires chunking, and heuristic chunking is automatically used if you specify compression but don't specify chunking.","category":"page"},{"location":"","page":"Home","title":"Home","text":"It is also possible to write to subsets of an on-disk HDF5 dataset. This is useful to incrementally save to very large datasets you don't want to keep in memory. For example,","category":"page"},{"location":"","page":"Home","title":"Home","text":"dset = create_dataset(g, \"B\", datatype(Float64), dataspace(1000,100,10), chunk=(100,100,1))\ndset[:,1,1] = rand(1000)","category":"page"},{"location":"","page":"Home","title":"Home","text":"creates a Float64 dataset in the file or group g, with dimensions 1000x100x10, and then writes to just the first 1000 element slice. If you know the typical size of subset reasons you'll be reading/writing, it can be beneficial to set the chunk dimensions appropriately.","category":"page"},{"location":"","page":"Home","title":"Home","text":"For fine-grained control of filter and compression pipelines, please use the filters keyword to define a filter pipeline. For example, this can be used to include external filter packages. This enables the use of Blosc, Bzip2, LZ4, ZStandard, or custom filter plugins.","category":"page"},{"location":"#Memory-mapping","page":"Home","title":"Memory mapping","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"If you will frequently be accessing individual elements or small regions of array datasets, it can be substantially more efficient to bypass HDF5 routines and use direct memory mapping. This is possible only under particular conditions: when the dataset is an array of standard \"bits\" types (e.g., Float64 or Int32) and no chunking/compression is being used. You can use the ismmappable function to test whether this is possible; for example,","category":"page"},{"location":"","page":"Home","title":"Home","text":"dset = g[\"x\"]\nif HDF5.ismmappable(dset)\n dset = HDF5.readmmap(dset)\nend\nval = dset[15]","category":"page"},{"location":"","page":"Home","title":"Home","text":"Note that readmmap returns an Array rather than an HDF5 object.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Note: if you use readmmap on a dataset and subsequently close the file, the array data are still available–-and file continues to be in use–-until all of the arrays are garbage-collected. This is in contrast to standard HDF5 datasets, where closing the file prevents further access to any of the datasets, but the file is also detached and can safely be rewritten immediately.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Under the default allocation-time policy, a newly added ismmappable dataset can only be memory mapped after it has been written to. The following fails:","category":"page"},{"location":"","page":"Home","title":"Home","text":"vec_dset = create_dataset(g, \"v\", datatype(Float64), dataspace(10_000,1))\nHDF5.ismmappable(vec_dset) # == true\nvec = HDF5.readmmap(vec_dset) # throws ErrorException(\"Error mmapping array\")","category":"page"},{"location":"","page":"Home","title":"Home","text":"because although the dataset description has been added, the space within the HDF5 file has not yet actually been allocated (so the file region cannot be memory mapped by the OS). The storage can be allocated by making at least one write:","category":"page"},{"location":"","page":"Home","title":"Home","text":"vec_dset[1,1] = 0.0 # force allocation of /g/v within the file\nvec = HDF5.readmmap(vec_dset) # and now the memory mapping can succeed","category":"page"},{"location":"","page":"Home","title":"Home","text":"Alternatively, the policy can be set so that the space is allocated immediately upon creation of the data set with the alloc_time keyword:","category":"page"},{"location":"","page":"Home","title":"Home","text":"mtx_dset = create_dataset(g, \"M\", datatype(Float64), dataspace(100, 1000),\n alloc_time = HDF5.H5D_ALLOC_TIME_EARLY)\nmtx = HDF5.readmmap(mtx_dset) # succeeds immediately","category":"page"},{"location":"#Supported-data-types","page":"Home","title":"Supported data types","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"HDF5.jl knows how to store values of the following types: signed and unsigned integers of 8, 16, 32, and 64 bits, Float32, Float64; Complex versions of these numeric types; Arrays of these numeric types (including complex versions); ASCIIString and UTF8String; and Arrays of these two string types. Arrays of strings are supported using HDF5's variable-length-strings facility. By default Complex numbers are stored as compound types with r and i fields following the h5py convention. When reading data, compound types with matching field names will be loaded as the corresponding Complex Julia type. These field names are configurable with the HDF5.set_complex_field_names(real::AbstractString, imag::AbstractString) function and complex support can be completely enabled/disabled with HDF5.enable/disable_complex_support().","category":"page"},{"location":"","page":"Home","title":"Home","text":"For Arrays, note that the array dimensionality is preserved, including 0-length dimensions:","category":"page"},{"location":"","page":"Home","title":"Home","text":"fid[\"zero_vector\"] = zeros(0)\nfid[\"zero_matrix\"] = zeros(0, 0)\nsize(fid[\"zero_vector\"]) # == (0,)\nsize(fid[\"zero_matrix\"]) # == (0, 0)","category":"page"},{"location":"","page":"Home","title":"Home","text":"An exception to this rule is Julia's 0-dimensional Array, which is stored as an HDF5 scalar because there is a value to be preserved:","category":"page"},{"location":"","page":"Home","title":"Home","text":"fid[\"zero_dim_value\"] = fill(1.0π)\nread(fid[\"zero_dim_value\"]) # == 3.141592653589793, != [3.141592653589793]","category":"page"},{"location":"","page":"Home","title":"Home","text":"HDF5 also has the concept of a null array which contains a type but has neither size nor contents, which is represented by the type HDF5.EmptyArray:","category":"page"},{"location":"","page":"Home","title":"Home","text":"fid[\"empty_array\"] = HDF5.EmptyArray{Float32}()\nHDF5.isnull(fid[\"empty_array\"]) # == true\nsize(fid[\"empty_array\"]) # == ()\neltype(fid[\"empty_array\"]) # == Float32","category":"page"},{"location":"","page":"Home","title":"Home","text":"This module also supports HDF5's VLEN, OPAQUE, and REFERENCE types, which can be used to encode more complex types. In general, you need to specify how you want to combine these more advanced facilities to represent more complex data types. For many of the data types in Julia, the JLD module implements support. You can likewise define your own file format if, for example, you need to interact with some external program that has explicit formatting requirements.","category":"page"},{"location":"#Creating-groups-and-attributes","page":"Home","title":"Creating groups and attributes","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Create a new group in the following way:","category":"page"},{"location":"","page":"Home","title":"Home","text":"g = create_group(parent, name)","category":"page"},{"location":"","page":"Home","title":"Home","text":"The named group will be created as a child of the parent.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Attributes can be created using","category":"page"},{"location":"","page":"Home","title":"Home","text":"attributes(parent)[name] = value","category":"page"},{"location":"","page":"Home","title":"Home","text":"where attributes simply indicates that the object referenced by name (a string) is an attribute, not another group or dataset. (Datasets cannot have child datasets, but groups can have either.) value must be a simple type: BitsKinds, strings, and arrays of either of these. The HDF5 standard recommends against storing large objects as attributes.","category":"page"},{"location":"","page":"Home","title":"Home","text":"The value stored in an attribute can be retrieved like","category":"page"},{"location":"","page":"Home","title":"Home","text":"read_attribute(parent, name)","category":"page"},{"location":"","page":"Home","title":"Home","text":"You can also access the value of an attribute by indexing, like so:","category":"page"},{"location":"","page":"Home","title":"Home","text":"julia> attr = attributes(parent)[name];\njulia> attr[]","category":"page"},{"location":"#Getting-information","page":"Home","title":"Getting information","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"HDF5.name(obj)","category":"page"},{"location":"","page":"Home","title":"Home","text":"will return the full HDF5 pathname of object obj.","category":"page"},{"location":"","page":"Home","title":"Home","text":"keys(g)","category":"page"},{"location":"","page":"Home","title":"Home","text":"returns a string array containing all objects inside group g. These relative pathnames, not absolute pathnames.","category":"page"},{"location":"","page":"Home","title":"Home","text":"You can iterate over the objects in a group, i.e.,","category":"page"},{"location":"","page":"Home","title":"Home","text":"for obj in g\n data = read(obj)\n println(data)\nend","category":"page"},{"location":"","page":"Home","title":"Home","text":"This gives you a straightforward way of recursively exploring an entire HDF5 file.","category":"page"},{"location":"","page":"Home","title":"Home","text":"If you need to know whether group g has a dataset named mydata, you can test that with","category":"page"},{"location":"","page":"Home","title":"Home","text":"if haskey(g, \"mydata\")\n ...\nend\ntf = haskey(g, \"mydata\")","category":"page"},{"location":"","page":"Home","title":"Home","text":"If instead you want to know whether g has an attribute named myattribute, do it this way:","category":"page"},{"location":"","page":"Home","title":"Home","text":"tf = haskey(attributes(g), \"myattribute\")","category":"page"},{"location":"","page":"Home","title":"Home","text":"If you have an HDF5 object, and you want to know where it fits in the hierarchy of the file, the following can be useful:","category":"page"},{"location":"","page":"Home","title":"Home","text":"p = parent(obj) # p is the parent object (usually a group)\nfn = HDF5.filename(obj) # fn is a string\ng = HDF5.root(obj) # g is the group \"/\"","category":"page"},{"location":"","page":"Home","title":"Home","text":"For array objects (datasets and attributes) the following methods work:","category":"page"},{"location":"","page":"Home","title":"Home","text":"dims = size(dset)\nnd = ndims(dset)\nlen = length(dset)","category":"page"},{"location":"","page":"Home","title":"Home","text":"Objects can be created with properties, and you can query those properties in the following way:","category":"page"},{"location":"","page":"Home","title":"Home","text":"p = HDF5.get_create_properties(dset)\nchunksz = HDF5.get_chunk(p)","category":"page"},{"location":"","page":"Home","title":"Home","text":"The simpler syntax chunksz = HDF5.get_chunk(dset) is also available.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Finally, sometimes you need to be able to conveniently test whether a file is an HDF5 file:","category":"page"},{"location":"","page":"Home","title":"Home","text":"tf = HDF5.ishdf5(filename)","category":"page"},{"location":"#Mid-level-routines","page":"Home","title":"Mid-level routines","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Sometimes you might want more fine-grained control, which can be achieved using a different set of routines. For example,","category":"page"},{"location":"","page":"Home","title":"Home","text":"g = open_group(parent, name)\ndset = open_dataset(parent, name[, apl])\nattr = open_attribute(parent, name)\nt = open_datatype(parent, name)","category":"page"},{"location":"","page":"Home","title":"Home","text":"These open the named group, dataset, attribute, and committed datatype, respectively. For datasets, apl stands for \"access parameter list\" and provides opportunities for more sophisticated control (see the HDF5 documentation).","category":"page"},{"location":"","page":"Home","title":"Home","text":"New objects can be created in the following ways:","category":"page"},{"location":"","page":"Home","title":"Home","text":"g = create_group(parent, name[, lcpl, gcpl]; properties...)\ndset = create_dataset(parent, name, data; properties...)\nattr = create_attribute(parent, name, data)","category":"page"},{"location":"","page":"Home","title":"Home","text":"creates groups, datasets, and attributes without writing any data to them. You can then use write(obj, data) to store the data. The optional properties and property lists allow even more fine-grained control. This syntax uses data to infer the object's \"HDF5.datatype\" and \"HDF5.dataspace\"; for the most explicit control, data can be replaced with dtype, dspace, where dtype is an HDF5.Datatype and dspace is an HDF5.Dataspace.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Analogously, to create committed data types, use","category":"page"},{"location":"","page":"Home","title":"Home","text":"t = commit_datatype(parent, name, dtype[, lcpl, tcpl, tapl])","category":"page"},{"location":"","page":"Home","title":"Home","text":"You can create and write data in one step,","category":"page"},{"location":"","page":"Home","title":"Home","text":"write_dataset(parent, name, data; properties...)\nwrite_attribute(parent, name, data)","category":"page"},{"location":"","page":"Home","title":"Home","text":"You can use extendible dimensions,","category":"page"},{"location":"","page":"Home","title":"Home","text":"d = create_dataset(parent, name, dtype, (dims, max_dims), chunk=(chunk_dims))\nHDF5.set_extent_dims(d, new_dims)","category":"page"},{"location":"","page":"Home","title":"Home","text":"where dims is a tuple of integers. For example","category":"page"},{"location":"","page":"Home","title":"Home","text":"b = create_dataset(fid, \"b\", Int, ((1000,),(-1,)), chunk=(100,)) #-1 is equivalent to typemax(hsize_t)\nHDF5.set_extent_dims(b, (10000,))\nb[1:10000] = collect(1:10000)","category":"page"},{"location":"","page":"Home","title":"Home","text":"when dimensions are reduced, the truncated data is lost. A maximum dimension of -1 is often referred to as unlimited dimensions, though it is limited by the maximum size of an unsigned integer.","category":"page"},{"location":"","page":"Home","title":"Home","text":"You can copy data from one file to another:","category":"page"},{"location":"","page":"Home","title":"Home","text":"copy_object(source, data_name, target, name)\ncopy_object(source[data_name], target, name)","category":"page"},{"location":"","page":"Home","title":"Home","text":"Finally, it's possible to delete objects:","category":"page"},{"location":"","page":"Home","title":"Home","text":"delete_object(parent, name) # for groups, datasets, and datatypes\ndelete_attribute(parent, name) # for attributes","category":"page"},{"location":"#Low-level-routines","page":"Home","title":"Low-level routines","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Many of the most commonly-used libhdf5 functions have been wrapped in a submodule API. The library follows a consistent convention: for example, libhdf5's H5Adelete is wrapped with a Julia function called h5a_delete. The arguments are exactly as specified in the HDF5 reference manual. Note that the functions in the API submodule are not exported, so unless you import them specifically, you need to preface them with HDF5.API to use them: for example, HDF5.API.h5a_delete.","category":"page"},{"location":"","page":"Home","title":"Home","text":"HDF5 is a large library, and the low-level wrap is not complete. However, many of the most-commonly used functions are wrapped, and in general wrapping a new function takes only a single line of code. Users who need additional functionality are encouraged to contribute it.","category":"page"},{"location":"","page":"Home","title":"Home","text":"Note that Julia's HDF5 directly uses the \"2\" interfaces, e.g., H5Dcreate2, so you need to have version 1.8 of the HDF5 library or later.","category":"page"},{"location":"#Language-interoperability-with-row-and-column-major-order-arrays","page":"Home","title":"Language interoperability with row- and column-major order arrays","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"There are two main methods for storing multidimensional arrays in linear storage row-major order and column-major order. Julia, like Fortran and MATLAB, stores multidimensional arrays in column-major order, while other languages, including C and Python (NumPy), use row-major order. Therefore when reading an array in Julia from row-major order language the dimensions may be inverted.","category":"page"},{"location":"","page":"Home","title":"Home","text":"To read a multidimensional array into the original shape from an HDF5 file written by Python (numpy and h5py) or C/C++/Objective-C, simply reverse the dimensions. For example, one may add the following line after reading the dataset dset:","category":"page"},{"location":"","page":"Home","title":"Home","text":"dset = permutedims(dset, reverse(1:ndims(dset)))","category":"page"},{"location":"","page":"Home","title":"Home","text":"Note that some languages or libraries use both methods, so please check the datset's description for details. For example, NumPy arrays are row-major by default, but NumPy can use either row-major or column-major ordered arrays.","category":"page"},{"location":"#Credits","page":"Home","title":"Credits","text":"","category":"section"},{"location":"","page":"Home","title":"Home","text":"Konrad Hinsen initiated Julia's support for HDF5\nTim Holy and Simon Kornblith (primary authors)\nTom Short contributed code and ideas to the dictionary-like interface\nBlake Johnson made several improvements, such as support for iterating over attributes\nIsaiah Norton and Elliot Saba improved installation on Windows and OSX\nSteve Johnson contributed the do syntax and Blosc compression\nMike Nolta and Jameson Nash contributed code or suggestions for improving the handling of HDF5's constants\nThanks also to the users who have reported bugs and tested fixes","category":"page"}] +} diff --git a/previews/PR1101/siteinfo.js b/previews/PR1101/siteinfo.js new file mode 100644 index 000000000..c93e70eac --- /dev/null +++ b/previews/PR1101/siteinfo.js @@ -0,0 +1 @@ +var DOCUMENTER_CURRENT_VERSION = "previews/PR1101";