From c5e60920244c4a9aad90c0a3c1d87ecbc7ad6e1a Mon Sep 17 00:00:00 2001 From: LTLA Date: Thu, 23 May 2024 15:38:55 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20tatami-i?= =?UTF-8?q?nc/tatami@5621240adcdf0fa066578ad7998be811e0d175d0=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ConstantMatrix_8hpp.html | 110 ++ docs/ConstantMatrix_8hpp_source.html | 354 +++++ docs/annotated.html | 149 +- docs/classes.html | 2 +- ...classtatami_1_1ConstantMatrix-members.html | 176 +++ docs/classtatami_1_1ConstantMatrix.html | 1287 +++++++++++++++++ ...statami_1_1ConstantMatrix__coll__graph.map | 5 + ...statami_1_1ConstantMatrix__coll__graph.md5 | 1 + ...statami_1_1ConstantMatrix__coll__graph.png | Bin 0 -> 6624 bytes ...tami_1_1ConstantMatrix__inherit__graph.map | 5 + ...tami_1_1ConstantMatrix__inherit__graph.md5 | 1 + ...tami_1_1ConstantMatrix__inherit__graph.png | Bin 0 -> 6624 bytes docs/classtatami_1_1Matrix.html | 38 +- .../dir_02c83f61f3caa4abfef1dc5a04a896f2.html | 3 + docs/files.html | 63 +- docs/functions_c.html | 1 + docs/functions_d.html | 4 +- docs/functions_func_c.html | 1 + docs/functions_func_d.html | 4 +- docs/functions_func_i.html | 4 +- docs/functions_func_n.html | 4 +- docs/functions_func_p.html | 4 +- docs/functions_func_s.html | 6 +- docs/functions_func_u.html | 2 +- docs/functions_i.html | 4 +- docs/functions_n.html | 4 +- docs/functions_p.html | 4 +- docs/functions_s.html | 4 +- docs/functions_u.html | 2 +- docs/hierarchy.html | 61 +- docs/inherit_graph_48.map | 72 +- docs/inherit_graph_48.md5 | 2 +- docs/inherit_graph_48.png | Bin 198673 -> 206962 bytes docs/inherit_graph_49.map | 2 +- docs/inherit_graph_49.md5 | 2 +- docs/inherit_graph_53.map | 6 +- docs/inherit_graph_53.md5 | 2 +- docs/inherit_graph_54.map | 2 +- docs/inherit_graph_54.md5 | 2 +- docs/inherit_graph_55.map | 2 +- docs/inherit_graph_55.md5 | 2 +- docs/inherits.html | 72 +- docs/namespaces.html | 149 +- docs/namespacetatami.html | 3 + docs/search/all_10.js | 2 +- docs/search/all_2.js | 22 +- docs/search/all_3.js | 14 +- docs/search/all_8.js | 4 +- docs/search/all_a.js | 4 +- docs/search/all_c.js | 4 +- docs/search/all_e.js | 10 +- docs/search/classes_2.js | 3 +- docs/search/files_2.js | 9 +- docs/search/functions_2.js | 9 +- docs/search/functions_3.js | 4 +- docs/search/functions_7.js | 4 +- docs/search/functions_9.js | 4 +- docs/search/functions_b.js | 4 +- docs/search/functions_d.js | 4 +- docs/search/functions_f.js | 2 +- docs/tatami.tag | 155 ++ docs/tatami_8hpp_source.html | 30 +- 62 files changed, 2513 insertions(+), 396 deletions(-) create mode 100644 docs/ConstantMatrix_8hpp.html create mode 100644 docs/ConstantMatrix_8hpp_source.html create mode 100644 docs/classtatami_1_1ConstantMatrix-members.html create mode 100644 docs/classtatami_1_1ConstantMatrix.html create mode 100644 docs/classtatami_1_1ConstantMatrix__coll__graph.map create mode 100644 docs/classtatami_1_1ConstantMatrix__coll__graph.md5 create mode 100644 docs/classtatami_1_1ConstantMatrix__coll__graph.png create mode 100644 docs/classtatami_1_1ConstantMatrix__inherit__graph.map create mode 100644 docs/classtatami_1_1ConstantMatrix__inherit__graph.md5 create mode 100644 docs/classtatami_1_1ConstantMatrix__inherit__graph.png diff --git a/docs/ConstantMatrix_8hpp.html b/docs/ConstantMatrix_8hpp.html new file mode 100644 index 00000000..fc9cd314 --- /dev/null +++ b/docs/ConstantMatrix_8hpp.html @@ -0,0 +1,110 @@ + + + + + + + +tatami: tatami/other/ConstantMatrix.hpp File Reference + + + + + + + + + + +
+
+ + + + + + +
+
tatami +
+
C++ API for different matrix representations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ConstantMatrix.hpp File Reference
+
+
+ +

Matrix of constant values. +More...

+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  tatami::ConstantMatrix< Value_, Index_ >
 Matrix containing a constant value. More...
 
+ + + + +

+Namespaces

namespace  tatami
 Flexible representations for matrix data.
 
+

Detailed Description

+

Matrix of constant values.

+
+ + + + diff --git a/docs/ConstantMatrix_8hpp_source.html b/docs/ConstantMatrix_8hpp_source.html new file mode 100644 index 00000000..3a777f73 --- /dev/null +++ b/docs/ConstantMatrix_8hpp_source.html @@ -0,0 +1,354 @@ + + + + + + + +tatami: tatami/other/ConstantMatrix.hpp Source File + + + + + + + + + + +
+
+ + + + + + +
+
tatami +
+
C++ API for different matrix representations
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ConstantMatrix.hpp
+
+
+Go to the documentation of this file.
1#ifndef TATAMI_CONSTANT_MATRIX_HPP
+
2#define TATAMI_CONSTANT_MATRIX_HPP
+
3
+
4#include "../base/Matrix.hpp"
+
5#include "../dense/SparsifiedWrapper.hpp"
+
6#include "../utils/new_extractor.hpp"
+
7
+
8#include <algorithm>
+
9
+
15namespace tatami {
+
16
+ +
21
+
22template<bool oracle_, typename Value_, typename Index_>
+
23class DenseFiller : public DenseExtractor<oracle_, Value_, Index_> {
+
24public:
+
25 DenseFiller(Index_ length, Value_ value) : my_length(length), my_value(value) {}
+
26
+
27 const Value_* fetch(Index_, Value_* buffer) {
+
28 std::fill_n(buffer, my_length, my_value);
+
29 return buffer;
+
30 }
+
31private:
+
32 Index_ my_length;
+
33 Value_ my_value;
+
34};
+
35
+
36template<bool oracle_, typename Value_, typename Index_>
+
37class SparseFiller : public SparseExtractor<oracle_, Value_, Index_> {
+
38public:
+
39 SparseFiller(const Options& opt) : my_needs_value(opt.sparse_extract_value), my_needs_index(opt.sparse_extract_index) {}
+
40
+
41 SparseRange<Value_, Index_> fetch(Index_, Value_* value_buffer, Index_* index_buffer) {
+
42 return SparseRange<Value_, Index_>(0, (my_needs_value ? value_buffer : NULL), (my_needs_index ? index_buffer : NULL));
+
43 }
+
44private:
+
45 bool my_needs_value;
+
46 bool my_needs_index;
+
47};
+
48
+
49}
+
63template<typename Value_, typename Index_>
+
+
64class ConstantMatrix : public Matrix<Value_, Index_> {
+
65public:
+
71 ConstantMatrix(Index_ nrow, Index_ ncol, Value_ value) : my_nrow(nrow), my_ncol(ncol), my_value(value) {}
+
72
+
73private:
+
74 Index_ my_nrow, my_ncol;
+
75 Value_ my_value;
+
76
+
77public:
+
+
78 Index_ nrow() const {
+
79 return my_nrow;
+
80 }
+
+
81
+
+
82 Index_ ncol() const {
+
83 return my_ncol;
+
84 }
+
+
85
+
+
86 bool is_sparse() const {
+
87 return my_value == 0;
+
88 }
+
+
89
+
+
90 double is_sparse_proportion() const {
+
91 return static_cast<double>(my_value == 0);
+
92 }
+
+
93
+
+
94 bool prefer_rows() const {
+
95 return true; // pretty much arbitrary here.
+
96 }
+
+
97
+
+
98 double prefer_rows_proportion() const {
+
99 return 1; // pretty much arbitrary here.
+
100 }
+
+
101
+
+
102 bool uses_oracle(bool) const {
+
103 return false;
+
104 }
+
+
105
+
106 /********************
+
107 *** Myopic dense ***
+
108 ********************/
+
109private:
+
110 template<bool oracle_>
+
111 std::unique_ptr<DenseExtractor<oracle_, Value_, Index_> > dense_internal(bool row, MaybeOracle<oracle_, Index_>, const Options&) const {
+
112 return std::make_unique<ConstantMatrix_internal::DenseFiller<oracle_, Value_, Index_> >(row ? my_ncol : my_nrow, my_value);
+
113 }
+
114
+
115 template<bool oracle_>
+
116 std::unique_ptr<DenseExtractor<oracle_, Value_, Index_> > dense_internal(bool, MaybeOracle<oracle_, Index_>, [[maybe_unused]] Index_ block_start, Index_ block_length, const Options&) const {
+
117 return std::make_unique<ConstantMatrix_internal::DenseFiller<oracle_, Value_, Index_> >(block_length, my_value);
+
118 }
+
119
+
120 template<bool oracle_>
+
121 std::unique_ptr<DenseExtractor<oracle_, Value_, Index_> > dense_internal(bool, MaybeOracle<oracle_, Index_>, VectorPtr<Index_> indices_ptr, const Options&) const {
+
122 return std::make_unique<ConstantMatrix_internal::DenseFiller<oracle_, Value_, Index_> >(indices_ptr->size(), my_value);
+
123 }
+
124
+
125public:
+
+
126 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> > dense(bool row, const Options& opt) const {
+
127 return dense_internal<false>(row, false, opt);
+
128 }
+
+
129
+
+
130 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> > dense(bool row, Index_ block_start, Index_ block_length, const Options& opt) const {
+ +
132 }
+
+
133
+
+
134 std::unique_ptr<MyopicDenseExtractor<Value_, Index_> > dense(bool row, VectorPtr<Index_> indices_ptr, const Options& opt) const {
+
135 return dense_internal<false>(row, false, std::move(indices_ptr), opt);
+
136 }
+
+
137
+
138 /**********************
+
139 *** Oracular dense ***
+
140 **********************/
+
141public:
+
+
142 std::unique_ptr<OracularDenseExtractor<Value_, Index_> > dense(bool row, std::shared_ptr<const Oracle<Index_> > oracle, const Options& opt) const {
+
143 return dense_internal<true>(row, std::move(oracle), opt);
+
144 }
+
+
145
+
+
146 std::unique_ptr<OracularDenseExtractor<Value_, Index_> > dense(bool row, std::shared_ptr<const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length, const Options& opt) const {
+ +
148 }
+
+
149
+
+
150 std::unique_ptr<OracularDenseExtractor<Value_, Index_> > dense(bool row, std::shared_ptr<const Oracle<Index_> > oracle, VectorPtr<Index_> indices_ptr, const Options& opt) const {
+
151 return dense_internal<true>(row, std::move(oracle), std::move(indices_ptr), opt);
+
152 }
+
+
153
+
154 /*********************
+
155 *** Myopic sparse ***
+
156 *********************/
+
157private:
+
158 template<bool oracle_>
+
159 std::unique_ptr<SparseExtractor<oracle_, Value_, Index_> > sparse_internal(bool row, MaybeOracle<oracle_, Index_> oracle, const Options& opt) const {
+
160 if (my_value == 0) {
+
161 return std::make_unique<ConstantMatrix_internal::SparseFiller<oracle_, Value_, Index_> >(opt);
+
162 } else {
+
163 return std::make_unique<FullSparsifiedWrapper<oracle_, Value_, Index_> >(dense_internal<oracle_>(row, std::move(oracle), opt), (row ? my_ncol : my_nrow), opt);
+
164 }
+
165 }
+
166
+
167 template<bool oracle_>
+
168 std::unique_ptr<SparseExtractor<oracle_, Value_, Index_> > sparse_internal(bool row, MaybeOracle<oracle_, Index_> oracle, Index_ block_start, Index_ block_length, const Options& opt) const {
+
169 if (my_value == 0) {
+
170 return std::make_unique<ConstantMatrix_internal::SparseFiller<oracle_, Value_, Index_> >(opt);
+
171 } else {
+
172 return std::make_unique<BlockSparsifiedWrapper<oracle_, Value_, Index_> >(dense_internal<oracle_>(row, std::move(oracle), block_start, block_length, opt), block_start, block_length, opt);
+
173 }
+
174 }
+
175
+
176 template<bool oracle_>
+
177 std::unique_ptr<SparseExtractor<oracle_, Value_, Index_> > sparse_internal(bool, MaybeOracle<oracle_, Index_>, VectorPtr<Index_> indices_ptr, const Options& opt) const {
+
178 if (my_value == 0) {
+
179 return std::make_unique<ConstantMatrix_internal::SparseFiller<oracle_, Value_, Index_> >(opt);
+
180 } else {
+
181 auto host = std::make_unique<ConstantMatrix_internal::DenseFiller<oracle_, Value_, Index_> >(indices_ptr->size(), my_value);
+
182 return std::make_unique<IndexSparsifiedWrapper<oracle_, Value_, Index_> >(std::move(host), std::move(indices_ptr), opt);
+
183 }
+
184 }
+
185
+
186public:
+
+
187 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> > sparse(bool row, const Options& opt) const {
+
188 return sparse_internal<false>(row, false, opt);
+
189 }
+
+
190
+
+
191 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> > sparse(bool row, Index_ block_start, Index_ block_length, const Options& opt) const {
+ +
193 }
+
+
194
+
+
195 std::unique_ptr<MyopicSparseExtractor<Value_, Index_> > sparse(bool row, VectorPtr<Index_> indices_ptr, const Options& opt) const {
+
196 return sparse_internal<false>(row, false, std::move(indices_ptr), opt);
+
197 }
+
+
198
+
199 /**********************
+
200 *** Oracular sparse ***
+
201 **********************/
+
202public:
+
+
203 std::unique_ptr<OracularSparseExtractor<Value_, Index_> > sparse(bool row, std::shared_ptr<const Oracle<Index_> > oracle, const Options& opt) const {
+
204 return sparse_internal<true>(row, std::move(oracle), opt);
+
205 }
+
+
206
+
+
207 std::unique_ptr<OracularSparseExtractor<Value_, Index_> > sparse(bool row, std::shared_ptr<const Oracle<Index_> > oracle, Index_ block_start, Index_ block_length, const Options& opt) const {
+ +
209 }
+
+
210
+
+
211 std::unique_ptr<OracularSparseExtractor<Value_, Index_> > sparse(bool row, std::shared_ptr<const Oracle<Index_> > oracle, VectorPtr<Index_> indices_ptr, const Options& opt) const {
+
212 return sparse_internal<true>(row, std::move(oracle), std::move(indices_ptr), opt);
+
213 }
+
+
214};
+
+
215
+
216}
+
217
+
218#endif
+
Matrix containing a constant value.
Definition ConstantMatrix.hpp:64
+
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition ConstantMatrix.hpp:207
+
bool is_sparse() const
Definition ConstantMatrix.hpp:86
+
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const
Definition ConstantMatrix.hpp:130
+
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, const Options &opt) const
Definition ConstantMatrix.hpp:187
+
double is_sparse_proportion() const
Definition ConstantMatrix.hpp:90
+
Index_ nrow() const
Definition ConstantMatrix.hpp:78
+
double prefer_rows_proportion() const
Definition ConstantMatrix.hpp:98
+
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition ConstantMatrix.hpp:195
+
bool uses_oracle(bool) const
Definition ConstantMatrix.hpp:102
+
Index_ ncol() const
Definition ConstantMatrix.hpp:82
+
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition ConstantMatrix.hpp:150
+
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition ConstantMatrix.hpp:203
+
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition ConstantMatrix.hpp:134
+
ConstantMatrix(Index_ nrow, Index_ ncol, Value_ value)
Definition ConstantMatrix.hpp:71
+
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense(bool row, const Options &opt) const
Definition ConstantMatrix.hpp:126
+
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const
Definition ConstantMatrix.hpp:191
+
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
Definition ConstantMatrix.hpp:146
+
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
Definition ConstantMatrix.hpp:211
+
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
Definition ConstantMatrix.hpp:142
+
bool prefer_rows() const
Definition ConstantMatrix.hpp:94
+
Virtual class for a matrix.
Definition Matrix.hpp:59
+
Predict future access requests on the target dimension.
Definition Oracle.hpp:21
+
Flexible representations for matrix data.
Definition Extractor.hpp:15
+
typename std::conditional< oracle_, OracularDenseExtractor< Value_, Index_ >, MyopicDenseExtractor< Value_, Index_ > >::type DenseExtractor
Definition Extractor.hpp:273
+
typename std::conditional< oracle_, OracularSparseExtractor< Value_, Index_ >, MyopicSparseExtractor< Value_, Index_ > >::type SparseExtractor
Definition Extractor.hpp:284
+
typename std::conditional< oracle_, std::shared_ptr< const Oracle< Index_ > >, bool >::type MaybeOracle
Definition new_extractor.hpp:20
+
std::shared_ptr< const std::vector< Index_ > > VectorPtr
Definition Matrix.hpp:26
+
auto consecutive_extractor(const Matrix< Value_, Index_ > *mat, bool row, Index_ iter_start, Index_ iter_length, Args_ &&... args)
Definition consecutive_extractor.hpp:35
+
Options for accessing data from a Matrix instance.
Definition Options.hpp:30
+
+ + + + diff --git a/docs/annotated.html b/docs/annotated.html index 00b7dcb7..d47ce101 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -84,80 +84,81 @@  CCompressedSparseMatrixCompressed sparse matrix representation  CCompressedSparseRowMatrixCompressed sparse row matrix  CConsecutiveOraclePredict future accesses along a consecutive sequence - CDelayedBinaryIsometricArithmeticDelayed binary isometric arithmetic - CDelayedBinaryIsometricBooleanDelayed binary isometric boolean operations - CDelayedBinaryIsometricCompareDelayed binary isometric comparison - CDelayedBinaryIsometricMockAdvancedAdvanced mock operation for DelayedBinaryIsometricOperation - CDelayedBinaryIsometricMockBasicBasic mock operation for DelayedBinaryIsometricOperation - CDelayedBinaryIsometricOperationDelayed isometric operations on two matrices - CDelayedBindDelayed combining of a matrix - CDelayedCastRecast a Matrix to a different interface type - CDelayedSubsetDelayed subsetting of a matrix with general indices - CDelayedSubsetBlockDelayed subsetting to a contiguous block - CDelayedSubsetSortedDelayed subsetting of a matrix with sorted indices - CDelayedSubsetSortedUniqueDelayed subsetting of a matrix with sorted, unique indices - CDelayedSubsetUniqueDelayed subsetting of a matrix with unique indices - CDelayedTransposeDelayed transposition of a matrix - CDelayedUnaryIsometricAbsTake the absolute value of a matrix entry - CDelayedUnaryIsometricAcosTake the arc cosine of a matrix entry - CDelayedUnaryIsometricAcoshTake the inverse hyperbolic cosine of a matrix entry - CDelayedUnaryIsometricArithmeticScalarDelayed unary isometric scalar arithmetic - CDelayedUnaryIsometricArithmeticVectorDelayed unary isometric vector arithmetic - CDelayedUnaryIsometricAsinTake the arc sine of a matrix entry - CDelayedUnaryIsometricAsinhTake the inverse hyperbolic sine of a matrix entry - CDelayedUnaryIsometricAtanTake the arc tangent of a matrix entry - CDelayedUnaryIsometricAtanhTake the inverse hyperbolic tangent of a matrix entry - CDelayedUnaryIsometricBooleanNotDelayed unary isometric boolean NOT operation - CDelayedUnaryIsometricBooleanScalarDelayed unary isometric scalar boolean operation - CDelayedUnaryIsometricBooleanVectorDelayed unary isometric vector boolean operations - CDelayedUnaryIsometricCeilingTake the ceiling of a matrix entry - CDelayedUnaryIsometricCompareScalarDelayed scalar comparison - CDelayedUnaryIsometricCompareVectorDelayed vector comparisons - CDelayedUnaryIsometricCosTake the cosine of a matrix entry - CDelayedUnaryIsometricCoshTake the hyperbolic cosine of a matrix entry - CDelayedUnaryIsometricExpUse a matrix entry as an exponent - CDelayedUnaryIsometricExpm1Use a matrix entry as an exponent minus 1 - CDelayedUnaryIsometricFloorTake the floor of a matrix entry - CDelayedUnaryIsometricGammaTake the gamma of a matrix entry - CDelayedUnaryIsometricLgammaTake the logarithm of the gamma of a matrix entry - CDelayedUnaryIsometricLogTake the logarithm of a matrix entry - CDelayedUnaryIsometricLog1pTake the logarithm of a matrix entry plus 1 - CDelayedUnaryIsometricMockAdvancedAdvanced mock operation for DelayedUnaryIsometricOperation - CDelayedUnaryIsometricMockBasicBasic mock operation for a DelayedUnaryIsometricOperation - CDelayedUnaryIsometricOperationDelayed isometric operation on a single matrix - CDelayedUnaryIsometricRoundRound a matrix entry to the nearest integer - CDelayedUnaryIsometricSignTake the sign of a matrix entry - CDelayedUnaryIsometricSinTake the sine of a matrix entry - CDelayedUnaryIsometricSinhTake the hyperbolic sine of a matrix entry - CDelayedUnaryIsometricSqrtTake the square root of a matrix entry - CDelayedUnaryIsometricTanTake the tangent of a matrix entry - CDelayedUnaryIsometricTanhTake the hyperbolic tangent of a matrix entry - CDelayedUnaryIsometricTruncTake the trunc of a matrix entry - CDenseColumnMatrixDense column-major matrix - CDenseMatrixDense matrix representation - CDenseRowMatrixDense row-major matrix - CFixedVectorOraclePredict future accesses from a vector containing a fixed sequence - CFixedViewOraclePredict future accesses from a view on a fixed sequence - CFragmentedSparseColumnMatrixFragmented sparse column matrix - CFragmentedSparseContentsFragmented sparse contents - CFragmentedSparseMatrixFragmented sparse matrix representation - CFragmentedSparseRowMatrixFragmented sparse row matrix - CFullSparsifiedWrapperWrap a full dense extractor in the sparse interface - Chas_dataCompile time check for the data() method - Chas_data< T, V, decltype((void) std::declval< V >().data(), 0)>Compile time check for the data() method - CIndexSparsifiedWrapperWrap an indexed dense extractor in the sparse interface - CMatrixVirtual class for a matrix - CMyopicDenseExtractorExtract an element of the target dimension in dense form without an oracle - CMyopicSparseExtractorExtract an element of the target dimension in sparse form without an oracle - COptionsOptions for accessing data from a Matrix instance - COraclePredict future access requests on the target dimension - COracularDenseExtractorExtract an element of the target dimension in dense form with an oracle - COracularSparseExtractorExtract an element of the target dimension in sparse form with an oracle - CPseudoOracularDenseExtractorMimic the OracularDenseExtractor interface - CPseudoOracularSparseExtractorMimic the OracularSparseExtractor interface - CSomeNumericArrayArray of some numeric type, determined at runtime - CIteratorRandom-access iterator class - CSparseRangeA range of a sparse vector + CConstantMatrixMatrix containing a constant value + CDelayedBinaryIsometricArithmeticDelayed binary isometric arithmetic + CDelayedBinaryIsometricBooleanDelayed binary isometric boolean operations + CDelayedBinaryIsometricCompareDelayed binary isometric comparison + CDelayedBinaryIsometricMockAdvancedAdvanced mock operation for DelayedBinaryIsometricOperation + CDelayedBinaryIsometricMockBasicBasic mock operation for DelayedBinaryIsometricOperation + CDelayedBinaryIsometricOperationDelayed isometric operations on two matrices + CDelayedBindDelayed combining of a matrix + CDelayedCastRecast a Matrix to a different interface type + CDelayedSubsetDelayed subsetting of a matrix with general indices + CDelayedSubsetBlockDelayed subsetting to a contiguous block + CDelayedSubsetSortedDelayed subsetting of a matrix with sorted indices + CDelayedSubsetSortedUniqueDelayed subsetting of a matrix with sorted, unique indices + CDelayedSubsetUniqueDelayed subsetting of a matrix with unique indices + CDelayedTransposeDelayed transposition of a matrix + CDelayedUnaryIsometricAbsTake the absolute value of a matrix entry + CDelayedUnaryIsometricAcosTake the arc cosine of a matrix entry + CDelayedUnaryIsometricAcoshTake the inverse hyperbolic cosine of a matrix entry + CDelayedUnaryIsometricArithmeticScalarDelayed unary isometric scalar arithmetic + CDelayedUnaryIsometricArithmeticVectorDelayed unary isometric vector arithmetic + CDelayedUnaryIsometricAsinTake the arc sine of a matrix entry + CDelayedUnaryIsometricAsinhTake the inverse hyperbolic sine of a matrix entry + CDelayedUnaryIsometricAtanTake the arc tangent of a matrix entry + CDelayedUnaryIsometricAtanhTake the inverse hyperbolic tangent of a matrix entry + CDelayedUnaryIsometricBooleanNotDelayed unary isometric boolean NOT operation + CDelayedUnaryIsometricBooleanScalarDelayed unary isometric scalar boolean operation + CDelayedUnaryIsometricBooleanVectorDelayed unary isometric vector boolean operations + CDelayedUnaryIsometricCeilingTake the ceiling of a matrix entry + CDelayedUnaryIsometricCompareScalarDelayed scalar comparison + CDelayedUnaryIsometricCompareVectorDelayed vector comparisons + CDelayedUnaryIsometricCosTake the cosine of a matrix entry + CDelayedUnaryIsometricCoshTake the hyperbolic cosine of a matrix entry + CDelayedUnaryIsometricExpUse a matrix entry as an exponent + CDelayedUnaryIsometricExpm1Use a matrix entry as an exponent minus 1 + CDelayedUnaryIsometricFloorTake the floor of a matrix entry + CDelayedUnaryIsometricGammaTake the gamma of a matrix entry + CDelayedUnaryIsometricLgammaTake the logarithm of the gamma of a matrix entry + CDelayedUnaryIsometricLogTake the logarithm of a matrix entry + CDelayedUnaryIsometricLog1pTake the logarithm of a matrix entry plus 1 + CDelayedUnaryIsometricMockAdvancedAdvanced mock operation for DelayedUnaryIsometricOperation + CDelayedUnaryIsometricMockBasicBasic mock operation for a DelayedUnaryIsometricOperation + CDelayedUnaryIsometricOperationDelayed isometric operation on a single matrix + CDelayedUnaryIsometricRoundRound a matrix entry to the nearest integer + CDelayedUnaryIsometricSignTake the sign of a matrix entry + CDelayedUnaryIsometricSinTake the sine of a matrix entry + CDelayedUnaryIsometricSinhTake the hyperbolic sine of a matrix entry + CDelayedUnaryIsometricSqrtTake the square root of a matrix entry + CDelayedUnaryIsometricTanTake the tangent of a matrix entry + CDelayedUnaryIsometricTanhTake the hyperbolic tangent of a matrix entry + CDelayedUnaryIsometricTruncTake the trunc of a matrix entry + CDenseColumnMatrixDense column-major matrix + CDenseMatrixDense matrix representation + CDenseRowMatrixDense row-major matrix + CFixedVectorOraclePredict future accesses from a vector containing a fixed sequence + CFixedViewOraclePredict future accesses from a view on a fixed sequence + CFragmentedSparseColumnMatrixFragmented sparse column matrix + CFragmentedSparseContentsFragmented sparse contents + CFragmentedSparseMatrixFragmented sparse matrix representation + CFragmentedSparseRowMatrixFragmented sparse row matrix + CFullSparsifiedWrapperWrap a full dense extractor in the sparse interface + Chas_dataCompile time check for the data() method + Chas_data< T, V, decltype((void) std::declval< V >().data(), 0)>Compile time check for the data() method + CIndexSparsifiedWrapperWrap an indexed dense extractor in the sparse interface + CMatrixVirtual class for a matrix + CMyopicDenseExtractorExtract an element of the target dimension in dense form without an oracle + CMyopicSparseExtractorExtract an element of the target dimension in sparse form without an oracle + COptionsOptions for accessing data from a Matrix instance + COraclePredict future access requests on the target dimension + COracularDenseExtractorExtract an element of the target dimension in dense form with an oracle + COracularSparseExtractorExtract an element of the target dimension in sparse form with an oracle + CPseudoOracularDenseExtractorMimic the OracularDenseExtractor interface + CPseudoOracularSparseExtractorMimic the OracularSparseExtractor interface + CSomeNumericArrayArray of some numeric type, determined at runtime + CIteratorRandom-access iterator class + CSparseRangeA range of a sparse vector diff --git a/docs/classes.html b/docs/classes.html index 7db59397..f3aca148 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -84,7 +84,7 @@
BlockSparsifiedWrapper (tatami)
C
-
CompressedSparseColumnMatrix (tatami)
CompressedSparseContents (tatami)
CompressedSparseMatrix (tatami)
CompressedSparseRowMatrix (tatami)
ConsecutiveOracle (tatami)
+
CompressedSparseColumnMatrix (tatami)
CompressedSparseContents (tatami)
CompressedSparseMatrix (tatami)
CompressedSparseRowMatrix (tatami)
ConsecutiveOracle (tatami)
ConstantMatrix (tatami)
D
DelayedBinaryIsometricArithmetic (tatami)
DelayedBinaryIsometricBoolean (tatami)
DelayedBinaryIsometricCompare (tatami)
DelayedBinaryIsometricMockAdvanced (tatami)
DelayedBinaryIsometricMockBasic (tatami)
DelayedBinaryIsometricOperation (tatami)
DelayedBind (tatami)
DelayedCast (tatami)
DelayedSubset (tatami)
DelayedSubsetBlock (tatami)
DelayedSubsetSorted (tatami)
DelayedSubsetSortedUnique (tatami)
DelayedSubsetUnique (tatami)
DelayedTranspose (tatami)
DelayedUnaryIsometricAbs (tatami)
DelayedUnaryIsometricAcos (tatami)
DelayedUnaryIsometricAcosh (tatami)
DelayedUnaryIsometricArithmeticScalar (tatami)
DelayedUnaryIsometricArithmeticVector (tatami)
DelayedUnaryIsometricAsin (tatami)
DelayedUnaryIsometricAsinh (tatami)
DelayedUnaryIsometricAtan (tatami)
DelayedUnaryIsometricAtanh (tatami)
DelayedUnaryIsometricBooleanNot (tatami)
DelayedUnaryIsometricBooleanScalar (tatami)
DelayedUnaryIsometricBooleanVector (tatami)
DelayedUnaryIsometricCeiling (tatami)
DelayedUnaryIsometricCompareScalar (tatami)
DelayedUnaryIsometricCompareVector (tatami)
DelayedUnaryIsometricCos (tatami)
DelayedUnaryIsometricCosh (tatami)
DelayedUnaryIsometricExp (tatami)
DelayedUnaryIsometricExpm1 (tatami)
DelayedUnaryIsometricFloor (tatami)
DelayedUnaryIsometricGamma (tatami)
DelayedUnaryIsometricLgamma (tatami)
DelayedUnaryIsometricLog (tatami)
DelayedUnaryIsometricLog1p (tatami)
DelayedUnaryIsometricMockAdvanced (tatami)
DelayedUnaryIsometricMockBasic (tatami)
DelayedUnaryIsometricOperation (tatami)
DelayedUnaryIsometricRound (tatami)
DelayedUnaryIsometricSign (tatami)
DelayedUnaryIsometricSin (tatami)
DelayedUnaryIsometricSinh (tatami)
DelayedUnaryIsometricSqrt (tatami)
DelayedUnaryIsometricTan (tatami)
DelayedUnaryIsometricTanh (tatami)
DelayedUnaryIsometricTrunc (tatami)
DenseColumnMatrix (tatami)
DenseMatrix (tatami)
DenseRowMatrix (tatami)
diff --git a/docs/classtatami_1_1ConstantMatrix-members.html b/docs/classtatami_1_1ConstantMatrix-members.html new file mode 100644 index 00000000..5900caf5 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix-members.html @@ -0,0 +1,176 @@ + + + + + + + +tatami: Member List + + + + + + + + + + +
+
+ + + + + + +
+
tatami +
+
C++ API for different matrix representations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
tatami::ConstantMatrix< Value_, Index_ > Member List
+
+
+ +

This is the complete list of members for tatami::ConstantMatrix< Value_, Index_ >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstantMatrix(Index_ nrow, Index_ ncol, Value_ value)tatami::ConstantMatrix< Value_, Index_ >inline
dense(bool row, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
dense_column(const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column() consttatami::Matrix< Value_, Index_ >inline
dense_column(Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
dense_column(VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
dense_row(const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row() consttatami::Matrix< Value_, Index_ >inline
dense_row(Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
dense_row(VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
index_type typedeftatami::Matrix< Value_, Index_ >
is_sparse() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
is_sparse_proportion() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
ncol() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
nrow() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
prefer_rows() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
prefer_rows_proportion() consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
sparse_column(const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column() consttatami::Matrix< Value_, Index_ >inline
sparse_column(Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
sparse_column(VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
sparse_row(const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row() consttatami::Matrix< Value_, Index_ >inline
sparse_row(Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
sparse_row(VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) consttatami::Matrix< Value_, Index_ >inline
sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) consttatami::Matrix< Value_, Index_ >inline
uses_oracle(bool) consttatami::ConstantMatrix< Value_, Index_ >inlinevirtual
value_type typedeftatami::Matrix< Value_, Index_ >
+ + + + diff --git a/docs/classtatami_1_1ConstantMatrix.html b/docs/classtatami_1_1ConstantMatrix.html new file mode 100644 index 00000000..bb5a9841 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix.html @@ -0,0 +1,1287 @@ + + + + + + + +tatami: tatami::ConstantMatrix< Value_, Index_ > Class Template Reference + + + + + + + + + + +
+
+ + + + + + +
+
tatami +
+
C++ API for different matrix representations
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
tatami::ConstantMatrix< Value_, Index_ > Class Template Reference
+
+
+ +

Matrix containing a constant value. + More...

+ +

#include <ConstantMatrix.hpp>

+
+Inheritance diagram for tatami::ConstantMatrix< Value_, Index_ >:
+
+
Inheritance graph
+ + + + + +
[legend]
+
+Collaboration diagram for tatami::ConstantMatrix< Value_, Index_ >:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ConstantMatrix (Index_ nrow, Index_ ncol, Value_ value)
 
Index_ nrow () const
 
Index_ ncol () const
 
bool is_sparse () const
 
double is_sparse_proportion () const
 
bool prefer_rows () const
 
double prefer_rows_proportion () const
 
bool uses_oracle (bool) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense (bool row, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense (bool row, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
- Public Member Functions inherited from tatami::Matrix< Value_, Index_ >
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row () const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_row (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column () const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > dense_column (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > dense_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row () const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_row (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_row (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column () const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (Index_ block_start, Index_ block_length) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > sparse_column (std::vector< Index_ > indices) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const
 
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > sparse_column (std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from tatami::Matrix< Value_, Index_ >
typedef Value_ value_type
 
typedef Index_ index_type
 
+

Detailed Description

+
template<typename Value_, typename Index_>
+class tatami::ConstantMatrix< Value_, Index_ >

Matrix containing a constant value.

+

This is based on the ConstantArray class from the DelayedArray Bioconductor package. It is occasionally useful as a placeholder, e.g., to populate a matrix with missing values when no data is available.

+
Template Parameters
+ + + +
Value_Type of the data.
Index_Type of the row/column indices.
+
+
+

Constructor & Destructor Documentation

+ +

◆ ConstantMatrix()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
tatami::ConstantMatrix< Value_, Index_ >::ConstantMatrix (Index_ nrow,
Index_ ncol,
Value_ value 
)
+
+inline
+
+
Parameters
+ + + + +
nrowNumber of rows.
ncolNumber of columns.
valueThe constant value for every data element of this matrix.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ nrow()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
Index_ tatami::ConstantMatrix< Value_, Index_ >::nrow () const
+
+inlinevirtual
+
+
Returns
Number of rows.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ ncol()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
Index_ tatami::ConstantMatrix< Value_, Index_ >::ncol () const
+
+inlinevirtual
+
+
Returns
Number of columns.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ is_sparse()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
bool tatami::ConstantMatrix< Value_, Index_ >::is_sparse () const
+
+inlinevirtual
+
+
Returns
Boolean indicating whether this matrix is sparse.
+

This can be used to choose between dense and sparse outputs.

+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ is_sparse_proportion()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
double tatami::ConstantMatrix< Value_, Index_ >::is_sparse_proportion () const
+
+inlinevirtual
+
+
Returns
Approximate proportion of the matrix that is sparse.
+

This is defined as the proportion of matrix elements that lie within sparse submatrices. It is intended for use in Matrix representations that consist of combinations of multiple submatrices (e.g., DelayedBind), allowing them to derive a suitable value for is_sparse() based on whether most of its submatrices are sparse. (A more granular approach would be to report the density of structural non-zero elements, but this may not be known by all representations at construction time.)

+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ prefer_rows()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
bool tatami::ConstantMatrix< Value_, Index_ >::prefer_rows () const
+
+inlinevirtual
+
+
Returns
The preferred dimension for extracting values. If true, row-wise extraction is preferred; if false, column-wise extraction is preferred.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ prefer_rows_proportion()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + +
double tatami::ConstantMatrix< Value_, Index_ >::prefer_rows_proportion () const
+
+inlinevirtual
+
+
Returns
Approximate proportion of the matrix that prefers row-level access.
+

This is defined as the proportion of matrix elements that lie within submatrices that prefer row-level access. It is useful for determining the return value of prefer_rows() in combined matrices consisting of both row- and column-preferred submatrices. In such cases, the net preference can be determined based on the combined size of the submatrices for each preference. (A more granular approach would be to report the iteration cost on each dimension, but this is difficult to estimate.)

+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ uses_oracle()

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + +
bool tatami::ConstantMatrix< Value_, Index_ >::uses_oracle (bool row) const
+
+inlinevirtual
+
+
Parameters
+ + +
rowRow access if true, column access otherwise.
+
+
+
Returns
Whether this matrix's tatami::Extractor classes make use of oracle predictions for row (if row = true) or column access (otherwise).
+

The output of this method indicates whether callers should construct an oracle for use in ExtractorBase::set_oracle(). If false, callers should not bother to pass an oracle as it will be ignored.

+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [1/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves the full extent of the non-target dimension in dense form.

Parameters
+ + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
optOptions for extraction.
+
+
+
Returns
Object for extracting each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [2/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
Index_ block_start,
Index_ block_length,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves a contiguous block of the non-target dimension in dense form.

Parameters
+ + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
block_startIndex of the column (if row = true) or row (otherwise) at the start of the block.
block_lengthNumber of columns (if row = true) or rows (otherwise) in the block.
optOptions for extraction.
+
+
+
Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [3/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
VectorPtr< Index_indices_ptr,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves an indexed subset of the non-target dimension in dense form.

Parameters
+ + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
indices_ptrPointer to a vector of sorted and unique column indices (if row = true) or row indices (otherwise). This should be non-NULL.
optOptions for extraction.
+
+
+
Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [4/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves the full extent of the non-target dimension in dense form.

Parameters
+ + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
optOptions for extraction.
+
+
+
Returns
Object for extracting each row (if row = true) or columns (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [5/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
Index_ block_start,
Index_ block_length,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves a contiguous block of the non-target dimension in dense form.

Parameters
+ + + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
block_startIndex of the column (if row = true) or row (otherwise) at the start of the block.
block_lengthNumber of columns (if row = true) or rows (otherwise) in the block.
optOptions for extraction.
+
+
+
Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ dense() [6/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::dense (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
VectorPtr< Index_indices_ptr,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves an indexed subset of the non-target dimension in dense form.

Parameters
+ + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
indices_ptrPointer to a vector of sorted and unique column indices (if row = true) or row indices (otherwise). This should not be NULL.
optOptions for extraction.
+
+
+
Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [1/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves the full extent of the non-target dimension in sparse form.

Parameters
+ + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
optOptions for extraction.
+
+
+
Returns
Object for extracting each row (if row = true) or columns (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [2/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
Index_ block_start,
Index_ block_length,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves a contiguous block of the non-target dimension in sparse form.

Parameters
+ + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
block_startIndex of the column (if row = true) or row (otherwise) at the start of the block.
block_lengthNumber of columns (if row = true) or rows (otherwise) in the block.
optOptions for extraction.
+
+
+
Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [3/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
VectorPtr< Index_indices_ptr,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an extractor that retrieves an indexed subset of the non-target dimension in sparse form.

Parameters
+ + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
indices_ptrPointer to a vector of sorted and unique column indices (if row = true) or row indices (otherwise). This should be non-NULL.
optOptions for extraction.
+
+
+
Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [4/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves the full extent of the non-target dimension in sparse form.

Parameters
+ + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
optOptions for extraction.
+
+
+
Returns
Object for extracting each row (if row = true) or columns (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [5/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
Index_ block_start,
Index_ block_length,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves a contiguous block of the non-target dimension in sparse form.

Parameters
+ + + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
block_startIndex of the column (if row = true) or row (otherwise) at the start of the block.
block_lengthNumber of columns (if row = true) or rows (otherwise) in the block.
optOptions for extraction.
+
+
+
Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+ +

◆ sparse() [6/6]

+ +
+
+
+template<typename Value_ , typename Index_ >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > tatami::ConstantMatrix< Value_, Index_ >::sparse (bool row,
std::shared_ptr< const Oracle< Index_ > > oracle,
VectorPtr< Index_indices_ptr,
const Optionsopt 
) const
+
+inlinevirtual
+
+

Create an oracle-aware extractor that retrieves an indexed subset of the non-target dimension in sparse form.

Parameters
+ + + + + +
rowWhether to create a row-wise extractor, i.e., the rows are the target dimension.
oracleAn oracle supplying predictions of the next requested row (if row = true) or column (otherwise).
indices_ptrPointer to a vector of sorted and unique column indices (if row = true) or row indices (otherwise). This should not be NULL.
optOptions for extraction.
+
+
+
Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
+ +

Implements tatami::Matrix< Value_, Index_ >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/docs/classtatami_1_1ConstantMatrix__coll__graph.map b/docs/classtatami_1_1ConstantMatrix__coll__graph.map new file mode 100644 index 00000000..78c0f958 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classtatami_1_1ConstantMatrix__coll__graph.md5 b/docs/classtatami_1_1ConstantMatrix__coll__graph.md5 new file mode 100644 index 00000000..2336c092 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix__coll__graph.md5 @@ -0,0 +1 @@ +65c177f6a7c639e995b26056f740fe20 \ No newline at end of file diff --git a/docs/classtatami_1_1ConstantMatrix__coll__graph.png b/docs/classtatami_1_1ConstantMatrix__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6634fc64c2a9f76aa0cec84b2b00bed0992fb467 GIT binary patch literal 6624 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 c#7ras=6vwXuHt=11fTn*#H0l literal 0 HcmV?d00001 diff --git a/docs/classtatami_1_1ConstantMatrix__inherit__graph.map b/docs/classtatami_1_1ConstantMatrix__inherit__graph.map new file mode 100644 index 00000000..78c0f958 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/classtatami_1_1ConstantMatrix__inherit__graph.md5 b/docs/classtatami_1_1ConstantMatrix__inherit__graph.md5 new file mode 100644 index 00000000..2336c092 --- /dev/null +++ b/docs/classtatami_1_1ConstantMatrix__inherit__graph.md5 @@ -0,0 +1 @@ +65c177f6a7c639e995b26056f740fe20 \ No newline at end of file diff --git a/docs/classtatami_1_1ConstantMatrix__inherit__graph.png b/docs/classtatami_1_1ConstantMatrix__inherit__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..6634fc64c2a9f76aa0cec84b2b00bed0992fb467 GIT binary patch literal 6624 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 c#7ras=6vwXuHt=11fTn*#H0l literal 0 HcmV?d00001 diff --git a/docs/classtatami_1_1Matrix.html b/docs/classtatami_1_1Matrix.html index d7c0639e..6bd0fe97 100644 --- a/docs/classtatami_1_1Matrix.html +++ b/docs/classtatami_1_1Matrix.html @@ -345,7 +345,7 @@

Returns
Number of rows.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -375,7 +375,7 @@

Returns
Number of columns.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -406,7 +406,7 @@

Returns
Boolean indicating whether this matrix is sparse.

This can be used to choose between dense and sparse outputs.

-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -437,7 +437,7 @@

Returns
Approximate proportion of the matrix that is sparse.

This is defined as the proportion of matrix elements that lie within sparse submatrices. It is intended for use in Matrix representations that consist of combinations of multiple submatrices (e.g., DelayedBind), allowing them to derive a suitable value for is_sparse() based on whether most of its submatrices are sparse. (A more granular approach would be to report the density of structural non-zero elements, but this may not be known by all representations at construction time.)

-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -467,7 +467,7 @@

Returns
The preferred dimension for extracting values. If true, row-wise extraction is preferred; if false, column-wise extraction is preferred.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -498,7 +498,7 @@

Returns
Approximate proportion of the matrix that prefers row-level access.

This is defined as the proportion of matrix elements that lie within submatrices that prefer row-level access. It is useful for determining the return value of prefer_rows() in combined matrices consisting of both row- and column-preferred submatrices. In such cases, the net preference can be determined based on the combined size of the submatrices for each preference. (A more granular approach would be to report the iteration cost on each dimension, but this is difficult to estimate.)

-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -536,7 +536,7 @@

Returns
Whether this matrix's tatami::Extractor classes make use of oracle predictions for row (if row = true) or column access (otherwise).

The output of this method indicates whether callers should construct an oracle for use in ExtractorBase::set_oracle(). If false, callers should not bother to pass an oracle as it will be ignored.

-

Implemented in tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, and tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >.

+

Implemented in tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::ConstantMatrix< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, and tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >.

@@ -584,7 +584,7 @@

Returns
Object for extracting each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -646,7 +646,7 @@

Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -701,7 +701,7 @@

Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -1397,7 +1397,7 @@

Returns
Object for extracting each row (if row = true) or columns (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >.

@@ -1459,7 +1459,7 @@

Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -1514,7 +1514,7 @@

Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -2217,7 +2217,7 @@

Returns
Object for extracting each row (if row = true) or columns (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -2286,7 +2286,7 @@

Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -2348,7 +2348,7 @@

Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -3187,7 +3187,7 @@

Returns
Object for extracting each row (if row = true) or columns (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -3256,7 +3256,7 @@

Returns
Object for extracting a contiguous block from each row (if row = true) or column (otherwise) in dense form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

@@ -3318,7 +3318,7 @@

Returns
Object for extracting an indexed subset from each row (if row = true) or column (otherwise) in sparse form. This should not outlive the parent Matrix from which it was created.
-

Implemented in tatami::DelayedTranspose< Value_, Index_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

+

Implemented in tatami::DelayedTranspose< Value_, Index_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::DenseMatrix< Value_, Index_, std::vector< Value_ > >, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, std::vector< std::vector< Value_ > >, std::vector< std::vector< Index_ > > >, and tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >.

diff --git a/docs/dir_02c83f61f3caa4abfef1dc5a04a896f2.html b/docs/dir_02c83f61f3caa4abfef1dc5a04a896f2.html index cb46cf90..61bc39a8 100644 --- a/docs/dir_02c83f61f3caa4abfef1dc5a04a896f2.html +++ b/docs/dir_02c83f61f3caa4abfef1dc5a04a896f2.html @@ -90,6 +90,9 @@ + + + diff --git a/docs/files.html b/docs/files.html index f7747896..93c78a1f 100644 --- a/docs/files.html +++ b/docs/files.html @@ -106,37 +106,38 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Files

 ConstantMatrix.hpp
 Matrix of constant values.
 
 DelayedBind.hpp
 Delayed combining of multiple tatami::Matrix objects.
 
 boolean_utils.hppUtilities for delayed boolean operations
 compare_utils.hppUtilities for delayed comparison operations
  other
 DelayedBind.hppDelayed combining of multiple tatami::Matrix objects
 DelayedCast.hppDelayed cast to another interface type
 DelayedTranspose.hppDelayed transposition
  sparse
 compress_sparse_triplets.hppConvert sparse data in triplet format to a compressed sparse row/column format
 CompressedSparseMatrix.hppCompressed sparse matrix representation
 convert_to_compressed_sparse.hppConvert a matrix into a compressed sparse format
 convert_to_fragmented_sparse.hppConvert a matrix into a fragmented sparse format
 FragmentedSparseMatrix.hppFragmented sparse matrix representation
  subset
 DelayedSubset.hppDelayed subsetting by rows or columns
 DelayedSubsetBlock.hppDelayed subsetting to a single contiguous block
 DelayedSubsetSorted.hppDelayed subsetting with sorted row/column indices
 DelayedSubsetSortedUnique.hppDelayed subsetting with sorted and unique row/column indices
 DelayedSubsetUnique.hppDelayed subsetting by unique row/column indices
 make_DelayedSubset.hppMake a delayed subset wrapper based on row/column indices
  utils
 ArrayView.hppDefines a tatami-compatible array view
 consecutive_extractor.hppTemplated construction of a new consecutive extractor
 ConsecutiveOracle.hppIterate across consecutive elements of the target dimension
 copy.hppCopy data from one buffer to another
 ElementType.hppGet type of elements in an array
 FixedOracle.hppIterate across a fixed sequence of elements on the target dimension
 has_data.hppCompile-time checks for the data() method
 new_extractor.hppTemplated construction of a new extractor
 parallelize.hppParallelized iteration over a tatami::Matrix
 process_consecutive_indices.hppUtility to process consecutive indices
 PseudoOracularExtractor.hppMimic the oracle-aware extractor interface
 SomeNumericArray.hppDefines an array class with run-time numeric type
 wrap_shared_ptr.hppWrap a raw tatami::Matrix pointer inside a mock shared pointer
 tatami.hppFlexible representations of matrix data
 ConstantMatrix.hppMatrix of constant values
 DelayedBind.hppDelayed combining of multiple tatami::Matrix objects
 DelayedCast.hppDelayed cast to another interface type
 DelayedTranspose.hppDelayed transposition
  sparse
 compress_sparse_triplets.hppConvert sparse data in triplet format to a compressed sparse row/column format
 CompressedSparseMatrix.hppCompressed sparse matrix representation
 convert_to_compressed_sparse.hppConvert a matrix into a compressed sparse format
 convert_to_fragmented_sparse.hppConvert a matrix into a fragmented sparse format
 FragmentedSparseMatrix.hppFragmented sparse matrix representation
  subset
 DelayedSubset.hppDelayed subsetting by rows or columns
 DelayedSubsetBlock.hppDelayed subsetting to a single contiguous block
 DelayedSubsetSorted.hppDelayed subsetting with sorted row/column indices
 DelayedSubsetSortedUnique.hppDelayed subsetting with sorted and unique row/column indices
 DelayedSubsetUnique.hppDelayed subsetting by unique row/column indices
 make_DelayedSubset.hppMake a delayed subset wrapper based on row/column indices
  utils
 ArrayView.hppDefines a tatami-compatible array view
 consecutive_extractor.hppTemplated construction of a new consecutive extractor
 ConsecutiveOracle.hppIterate across consecutive elements of the target dimension
 copy.hppCopy data from one buffer to another
 ElementType.hppGet type of elements in an array
 FixedOracle.hppIterate across a fixed sequence of elements on the target dimension
 has_data.hppCompile-time checks for the data() method
 new_extractor.hppTemplated construction of a new extractor
 parallelize.hppParallelized iteration over a tatami::Matrix
 process_consecutive_indices.hppUtility to process consecutive indices
 PseudoOracularExtractor.hppMimic the oracle-aware extractor interface
 SomeNumericArray.hppDefines an array class with run-time numeric type
 wrap_shared_ptr.hppWrap a raw tatami::Matrix pointer inside a mock shared pointer
 tatami.hppFlexible representations of matrix data
diff --git a/docs/functions_c.html b/docs/functions_c.html index a08861f4..a49506b9 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -78,6 +78,7 @@

- c -

diff --git a/docs/functions_d.html b/docs/functions_d.html index 86192dac..083c8622 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -90,10 +90,10 @@

- d -

  • DelayedUnaryIsometricBooleanVector() : tatami::DelayedUnaryIsometricBooleanVector< op_, Value_, Vector_ >
  • DelayedUnaryIsometricCompareScalar() : tatami::DelayedUnaryIsometricCompareScalar< op_, Value_, Scalar_ >
  • DelayedUnaryIsometricCompareVector() : tatami::DelayedUnaryIsometricCompareVector< op_, Value_, Vector_ >
  • -
  • DelayedUnaryIsometricLog() : tatami::DelayedUnaryIsometricLog< Value_, Base_ >
  • +
  • DelayedUnaryIsometricLog() : tatami::DelayedUnaryIsometricLog< Value_, Base_ >
  • DelayedUnaryIsometricLog1p() : tatami::DelayedUnaryIsometricLog1p< Value_, Base_ >
  • DelayedUnaryIsometricOperation() : tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >
  • -
  • dense() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricMockBasic, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricMockBasic, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
  • +
  • dense() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricMockBasic, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricMockBasic, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
  • dense_column() : tatami::Matrix< Value_, Index_ >
  • dense_row() : tatami::Matrix< Value_, Index_ >
  • DenseColumnMatrix() : tatami::DenseColumnMatrix< Value_, Index_, Storage_ >
  • diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index e558fd9a..90c1fa26 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -78,6 +78,7 @@

    - c -

    diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index ada7d82d..636017b3 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -90,10 +90,10 @@

    - d -

    • DelayedUnaryIsometricBooleanVector() : tatami::DelayedUnaryIsometricBooleanVector< op_, Value_, Vector_ >
    • DelayedUnaryIsometricCompareScalar() : tatami::DelayedUnaryIsometricCompareScalar< op_, Value_, Scalar_ >
    • DelayedUnaryIsometricCompareVector() : tatami::DelayedUnaryIsometricCompareVector< op_, Value_, Vector_ >
    • -
    • DelayedUnaryIsometricLog() : tatami::DelayedUnaryIsometricLog< Value_, Base_ >
    • +
    • DelayedUnaryIsometricLog() : tatami::DelayedUnaryIsometricLog< Value_, Base_ >
    • DelayedUnaryIsometricLog1p() : tatami::DelayedUnaryIsometricLog1p< Value_, Base_ >
    • DelayedUnaryIsometricOperation() : tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >
    • -
    • dense() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricMockBasic, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricMockBasic, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
    • +
    • dense() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricMockBasic, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedBind< Value_, Index_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricMockBasic, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
    • dense_column() : tatami::Matrix< Value_, Index_ >
    • dense_row() : tatami::Matrix< Value_, Index_ >
    • DenseColumnMatrix() : tatami::DenseColumnMatrix< Value_, Index_, Storage_ >
    • diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index 4da17533..c271857b 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -75,8 +75,8 @@

      - i -

      diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html index 6e3f7cc0..44f029b7 100644 --- a/docs/functions_func_n.html +++ b/docs/functions_func_n.html @@ -74,10 +74,10 @@
      Here is a list of all documented functions with links to the class documentation for each member:

      - n -

      diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index 9d161a60..7c92aafb 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -74,8 +74,8 @@
      Here is a list of all documented functions with links to the class documentation for each member:

      - p -

      diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index f7f6bad2..f491c8d9 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -75,9 +75,9 @@

      - s -

      diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html index c515da0e..8aba47cb 100644 --- a/docs/functions_func_u.html +++ b/docs/functions_func_u.html @@ -74,7 +74,7 @@
      Here is a list of all documented functions with links to the class documentation for each member:

      - u -

      diff --git a/docs/functions_i.html b/docs/functions_i.html index 82e34e62..a9ce5b6a 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -78,8 +78,8 @@

      - i -

      diff --git a/docs/functions_n.html b/docs/functions_n.html index f4223e60..9f4aa8f6 100644 --- a/docs/functions_n.html +++ b/docs/functions_n.html @@ -74,10 +74,10 @@
      Here is a list of all documented class members with links to the class documentation for each member:

      - n -

      diff --git a/docs/functions_p.html b/docs/functions_p.html index 58ca014c..9890fc70 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -76,8 +76,8 @@

      - p -

      diff --git a/docs/functions_s.html b/docs/functions_s.html index 5e138211..856ac99f 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -75,8 +75,8 @@

      - s -

      • size() : tatami::ArrayView< T >, tatami::SomeNumericArray< Value_ >
      • -
      • SomeNumericArray() : tatami::SomeNumericArray< Value_ >
      • -
      • sparse() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
      • +
      • SomeNumericArray() : tatami::SomeNumericArray< Value_ >
      • +
      • sparse() : tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >, tatami::ConstantMatrix< Value_, Index_ >, tatami::DelayedBinaryIsometricMockAdvanced, tatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >, tatami::DelayedSubset< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetBlock< Value_, Index_ >, tatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >, tatami::DelayedTranspose< Value_, Index_ >, tatami::DelayedUnaryIsometricMockAdvanced, tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >, tatami::DenseMatrix< Value_, Index_, Storage_ >, tatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >, tatami::Matrix< Value_, Index_ >
      • sparse_column() : tatami::Matrix< Value_, Index_ >
      • sparse_extract_index : tatami::Options
      • sparse_extract_value : tatami::Options
      • diff --git a/docs/functions_u.html b/docs/functions_u.html index 00fb9b27..f62a3434 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -74,7 +74,7 @@
        Here is a list of all documented class members with links to the class documentation for each member:

        - u -

        diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 63611792..d283ca93 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -134,36 +134,37 @@  Ctatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >Compressed sparse matrix representation  Ctatami::CompressedSparseColumnMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >Compressed sparse column matrix  Ctatami::CompressedSparseRowMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >Compressed sparse row matrix - Ctatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >Delayed isometric operations on two matrices - Ctatami::DelayedBind< Value_, Index_ >Delayed combining of a matrix - Ctatami::DelayedSubset< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with general indices - Ctatami::DelayedSubsetBlock< Value_, Index_ >Delayed subsetting to a contiguous block - Ctatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with sorted indices - Ctatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with sorted, unique indices - Ctatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with unique indices - Ctatami::DelayedTranspose< Value_, Index_ >Delayed transposition of a matrix - Ctatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >Delayed isometric operation on a single matrix - Ctatami::DenseMatrix< Value_, Index_, Storage_ >Dense matrix representation - Ctatami::DenseColumnMatrix< Value_, Index_, Storage_ >Dense column-major matrix - Ctatami::DenseRowMatrix< Value_, Index_, Storage_ >Dense row-major matrix - Ctatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse matrix representation - Ctatami::FragmentedSparseColumnMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse column matrix - Ctatami::FragmentedSparseRowMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse row matrix - Ctatami::Matrix< ValueOut_, IndexOut_ > - Ctatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >Recast a Matrix to a different interface type - Ctatami::MyopicDenseExtractor< Value_, Index_ >Extract an element of the target dimension in dense form without an oracle - Ctatami::MyopicSparseExtractor< Value_, Index_ >Extract an element of the target dimension in sparse form without an oracle - Ctatami::OptionsOptions for accessing data from a Matrix instance - Ctatami::Oracle< Index_ >Predict future access requests on the target dimension - Ctatami::ConsecutiveOracle< Index_ >Predict future accesses along a consecutive sequence - Ctatami::FixedVectorOracle< Index_ >Predict future accesses from a vector containing a fixed sequence - Ctatami::FixedViewOracle< Index_ >Predict future accesses from a view on a fixed sequence - Ctatami::OracularDenseExtractor< Value_, Index_ >Extract an element of the target dimension in dense form with an oracle - Ctatami::PseudoOracularDenseExtractor< Value_, Index_ >Mimic the OracularDenseExtractor interface - Ctatami::OracularSparseExtractor< Value_, Index_ >Extract an element of the target dimension in sparse form with an oracle - Ctatami::PseudoOracularSparseExtractor< Value_, Index_ >Mimic the OracularSparseExtractor interface - Ctatami::SomeNumericArray< Value_ >Array of some numeric type, determined at runtime - Ctatami::SparseRange< Value_, Index_ >A range of a sparse vector + Ctatami::ConstantMatrix< Value_, Index_ >Matrix containing a constant value + Ctatami::DelayedBinaryIsometricOperation< Value_, Index_, Operation_ >Delayed isometric operations on two matrices + Ctatami::DelayedBind< Value_, Index_ >Delayed combining of a matrix + Ctatami::DelayedSubset< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with general indices + Ctatami::DelayedSubsetBlock< Value_, Index_ >Delayed subsetting to a contiguous block + Ctatami::DelayedSubsetSorted< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with sorted indices + Ctatami::DelayedSubsetSortedUnique< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with sorted, unique indices + Ctatami::DelayedSubsetUnique< Value_, Index_, SubsetStorage_ >Delayed subsetting of a matrix with unique indices + Ctatami::DelayedTranspose< Value_, Index_ >Delayed transposition of a matrix + Ctatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >Delayed isometric operation on a single matrix + Ctatami::DenseMatrix< Value_, Index_, Storage_ >Dense matrix representation + Ctatami::DenseColumnMatrix< Value_, Index_, Storage_ >Dense column-major matrix + Ctatami::DenseRowMatrix< Value_, Index_, Storage_ >Dense row-major matrix + Ctatami::FragmentedSparseMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse matrix representation + Ctatami::FragmentedSparseColumnMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse column matrix + Ctatami::FragmentedSparseRowMatrix< Value_, Index_, ValueVectorStorage_, IndexVectorStorage_ >Fragmented sparse row matrix + Ctatami::Matrix< ValueOut_, IndexOut_ > + Ctatami::DelayedCast< ValueOut_, IndexOut_, ValueIn_, IndexIn_ >Recast a Matrix to a different interface type + Ctatami::MyopicDenseExtractor< Value_, Index_ >Extract an element of the target dimension in dense form without an oracle + Ctatami::MyopicSparseExtractor< Value_, Index_ >Extract an element of the target dimension in sparse form without an oracle + Ctatami::OptionsOptions for accessing data from a Matrix instance + Ctatami::Oracle< Index_ >Predict future access requests on the target dimension + Ctatami::ConsecutiveOracle< Index_ >Predict future accesses along a consecutive sequence + Ctatami::FixedVectorOracle< Index_ >Predict future accesses from a vector containing a fixed sequence + Ctatami::FixedViewOracle< Index_ >Predict future accesses from a view on a fixed sequence + Ctatami::OracularDenseExtractor< Value_, Index_ >Extract an element of the target dimension in dense form with an oracle + Ctatami::PseudoOracularDenseExtractor< Value_, Index_ >Mimic the OracularDenseExtractor interface + Ctatami::OracularSparseExtractor< Value_, Index_ >Extract an element of the target dimension in sparse form with an oracle + Ctatami::PseudoOracularSparseExtractor< Value_, Index_ >Mimic the OracularSparseExtractor interface + Ctatami::SomeNumericArray< Value_ >Array of some numeric type, determined at runtime + Ctatami::SparseRange< Value_, Index_ >A range of a sparse vector diff --git a/docs/inherit_graph_48.map b/docs/inherit_graph_48.map index 03cac67b..a70cd08b 100644 --- a/docs/inherit_graph_48.map +++ b/docs/inherit_graph_48.map @@ -1,45 +1,47 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/docs/inherit_graph_48.md5 b/docs/inherit_graph_48.md5 index 7b9df6f2..215c1e7b 100644 --- a/docs/inherit_graph_48.md5 +++ b/docs/inherit_graph_48.md5 @@ -1 +1 @@ -4135706d7a3b3b4d41673df5336c25a3 \ No newline at end of file +7571fd73f0703a6045d6029a9a428521 \ No newline at end of file diff --git a/docs/inherit_graph_48.png b/docs/inherit_graph_48.png index d4efa6fe5b6e8814506130eb615bf7a185855d15..af8e237e0b9c46f1376c04c5708acee0f4cef466 100644 GIT binary patch literal 206962 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

        l7|J0C>3Uw z&!nk*DGtyUyJf)}aGBDQp;w<=;=QZnSH7R3E4UgkLCKo-+l;8(#^6WTu*o>RyytT4 z%b&mY;!pA$O%&rPuh39vwI#jx5iirN)S@nZ>3YRQ^PitNBtOp}W!9$@u8lT$p z<3(vk+ns_ifZZ6|YtGPwml51437T&IDP-*~2K)BPl^BR21 zwp~?RL4EA>J#-h?b=spzh*@Jw!&Q`h|Ipyn;+7gZf1a#A;gGlkj4y_7Fz1j*$Vrd%p>qD|wIZFV0Sh90;NOL|>F+7sMp_ z#owvs2H$nS;D>vdYKBMAzSVVfu9dVRF{OC^a$RE5?e&?geV5I6m0w)!O>nlL2mnchzXIA)ZZ4iG&dfIzhLSlE?Kcw-TaPHkM0%{Er_v@ZvHPVU@OKuy^5ZCV!O0 zX10!VDPm^|k5>GBh4dI@ZQ};M%c+jFBF$2F?v9=0IN|jX263? zYx6S|2&jD_P@L}N<>}j191?wvI3-?Lg%|MP4Km<80SH3m zEG{MUHNmh1k`~;y?Xk{{f*+6zu+{71Vy?#B&9$Ow> zS;XsK!XF05-JJE*ICAvh^bY`+Q%6dEtkV#Z{E)JBM@HplVbgM--I6CuZia?(GOPh3 z|A0UoE&~AajHRV2fG5+r#f(Z3;RPsG2Uw{m$H&1UAX~2_lbNK9N$2>8!V( zKi}Qy+;ixEXaC8Ut#J<`fhH8ZUzH*FN{`ns$;p|Sob5LXs>LxC3?~Gm1|0vq-6w=a zKx%yv-eHk}S^roV&j&WK^WYr_zLW2^AaO73SB^)2#@QLW*IHfuuge-pX;^a z8NaSO^7Yy6A-ylus+HIpGRUQx6}eC#;tV~F0#+bz`z6?Wf1@22f3|4&d?|1^4ol`6 ze1T*AJiNTGySj?r?;Q7FK6m6uObaA--#6bNPQp}rB)==+5REXq>rcdvF}{53LY7|7 z_Jp;tY@rFO!!yN9fdyXf1^@E;c?2m5RaQYd${wGo2K(ClLIupX1gQ(ZLbQN|fU{H$ z*Q0t4xlRkbi0AFww<>T2A&Xsw)I+{T1-$$8OYBLt6DN3yJn#t2TnO&oUEJ6-_Ra&p zRr%%(H3B8CaouD{7&1F}-n~=b0LP@+(O({#Y3(gN9FP{$ytF2_NyA>GshWqbtGLym zsQvSD0S%Ts9-|j$wr>EDlkph0fC{~%#0kO1YA03JN2NvuTU-qs>LjJ5S)gDZ@k+UT zSv7E~@!h-2pk|o5yVc`hWhHWsmxss5v-g?(b-clWjDy^t+ZSen!sEX(l>&xIg=21E zZM_E5Qsm15P~*=StlX@l}7Z1 zleiwktL_WGV5DJ~H993ldc9wSiBTPfb5V)0Cr(prPE+8Njd#;A6M1-3!u`>ZtZln6c&@N#kJY=F z&1AZPoQaB0Ox&3ji2%WCOsSJ^GedBglr<2p5hf?}=l1Qzam~j&q~M&&ph)6*Y$P2h zC>7*O3yFD9U2?7f#y|ODCi2ZY;H3dzk$7LB?#LJ^0bqCo<#8NhKGHE%R5WX|<^~@; zcyJX*og6yHwW?xl7S*R2H5LbKm)A!0QqMQ8E(to43Wt-3CEc@^f70{(FeWOq(kWNZ z{Vs27z+5%T6mGc^tpf8J%3tADVSrLbNlA&7jqNgqBvIStvqs-Wi+sravbw$muSqOw zIlc_frvE4fynXWRK!nR!&))MUj~=|h08QlaQ=a#0raVe2N-iLV4ZEKTuMud@)aAv? z(~e5;@W#wx=z@GxD27Odg@h=`M~H8I9AO2a8!d3F)v4omk;u1%azgrWN4HkPU?a_3 z!UL6X99s^Je53NxI2GQ|K~8|9;HZ{vWhBT{#^J-7>gv?wyI9~2?HroI+nMB`)?lPK z9OVfOm<7%Le^K@(&{(hg`|v|V8Vs2mNE8~#R4SBE$UKEYWR46Ch)~EZnJF`wWu_EK zrV<&Fp%O*d4U(yp_qyBr{Ql?n{?A$KefL^>t#kI?@jTz}eSe1Qb6wX*bno6`aqmCv zR)da;cx|Tcgn+=cd&Ya;3<-A4-qfx%;FpQhV72)u%pj74yx3J>SSGl4uffp#=lfr} zKrzZ`DoBg~z2J4NyUuIdo*)D0fMi6_Fz5(TIZ?JaUeEYy;5wI)Rc}t;>9F;YtKo3z z09Xpc09OD5`hk!`Jb>`r_w%rk%8?3e(cCu+W68s{y_ucZ^Gb;@l zEWjP|c2dEEfxE!ScVCWnoB*Q}Y|KE!>m- zd3v(9#Nw#u!n^B}>KTeKSk-wgguAiYzj#e%ETf?gwv8 zOddS9zYNht$K0s$-9*{7R=!s?RQRT0fFb3$fZwu&0Z(Cnw2+R|$IdON`+|QaADo`V zkki1*Ur!B^ zS8<(vk%)x;2&oL@sF8;-yn$648|FPD58)Y_3I-5KQaEj*Hl4hz?CkQ}qP9SHO`J}^ z$fBZPIu8NuRg@OQ5LViCY#0C{;Uu6gYZPMsN7%F)6i8urAy$TsG9IiDtmuWegCha+ zVr}6c7*S__XDv$n<`oO_1Ib0xvp@*H&h|xo5kCmZ0|@!6&=3&P0b*LNl#}K7OVDkpM3NnQ-Z4A zj8=1Ap_?Nti<7D*S8r2)eBOP_}boXgD3o%j8HA)s#30wJuwDzyyhifT+I#xg|x z3w)JAK_%;l>JXWuFX5aQAb)ydEP&MI1WE<0!PC8 zqi84N@STRGG{CP{eyu(>`|Vo;N`rs!>#cCCLzpgPIl>od26uxI34e?wFtt4F`Tm>* z-tX~kN6g6$M{*u43$E`j2Wq- z+@z*gg1pYefWAkTYWlhLC+Kg;@i$5x_0$kr%j&b|yBl|-Y9V@Al!^_gMYcq>!WF4N zLIz~lHQ=OOJHCx1pOuW8*Q{P0Vq}pRAK&A47R=FC74~r_++IKQ+CaSDpi{pQ9j#kj z-2HlJh*XnM7!pDert)^$4>d52r%*85BSxFU!)95d$b7TG-ArhAMk;yfDL&vSgL4&F zoZ@JZGL*c@0)a&h_s?F8MKr+2Z&{r+IBDxcN&&T#<((B*&W0~^Y{2Q>2m=~avM}w< z?JB`R7=aHNOC19psiBNUWlqJ*d_rqg59-rbOqc6%*a&qA#( z(C$LzphP0x*HCKW^nlW7cmAPca-5N$amnt{g*TPF{C4v zlw`w^W%D*90&hxBg7F25A+W94Ta&;?KSR<|!--V);EqMDGgM~W^veOfy55(6sW#zc zVWvfhB1qF2=MmmGA@m?#w6Gu}28>`I^Mmn&av4+g22?4|zkbXb{lw>3fE8LeI3%Zg z^Yn;;EZ7<}hl!~J_};;oxp9HWO_Y4ZNdh*)7PWY}7I67+I)7eQczCjH-WHAC3Fx6n z43e~e$qPm^r4xcC;;jt&B{7P99lJy`0H}2qj#{FAXv_r zKy2xQ&()V;tY(2ETrdGdMQ!B5)n`;EB>I+&`4*^KM7t07(wdp_p+CNkz(X0X=rehY z!9J-5ad1{rh#diDH>XiQA;*5zQiMAk0uGgt!DPUeGUa^$1&u z_}CC?IvxiV<>AlI2N3Ehc`G3{f-?wR*$L!1FG-)nB61qAyC-TgqQY|P^FEXp`iXx)eogw3V|KY=F40CqHvmyJ(*5ei(8e8j%0rurv6REd$C#JU1^&IC`%T9 z`ICW)gs`aG&(&!jj^r$ zqtMOyJBnZ4c>MIB6s8~thpFQv+b}t!h;rKme0ap_#(3zoal_%5W-C6(K|C?ZLR}X8 z@`izZOWOWINx~_2z%dLSSw6m=iH%7l>jyUF)4~xu zvN%PAHfdiNdYLW2FodwqLgR~JbztB}$iTlhZ8%31i_FZsOdsBg-F-?$K>;IY{7Qay zGh$?fI2WRL5`;fgWI_&c(b1X!yp^{_F*9qSo3ypJ*D*2K3^73@!U*`z34wuV)mpGn zfauJL$rQe7H%OF$fdIQw;6g5sB1P{TXcK9mgm>fbpuik3;gljas{tNS_+A~D1flzf zu`%J>m+_;)+f4>#x#i89WXGZEM-~~>C~ljQIS|1mU*P}(B3IV@v}BBF7i0ag!^25W zb>TZe2cg1=D#uOhcw~vS=`A_$%_s)-225(*m_Zjn9V$y9^)s+Gwg_~40BcUz8pH4d zyxCWE%gzth!xtMGQh>#zRNTIu4le*5IB7)@MVyxwoLkO_fmZSC_D?t3eTahizp&lO zQ!zpM!>@uZFoja?Fvt#Zt*@>y+u#DE+7P`^oZ!Rb=I(y_>+mBKW{=@O0vf(QGSSXh=(QAsaG27zv{?pvPjJ9f#9iRpx`Ix_Ni6nMvz%&W2?JuvD z<)Ed-j5eB=emTk6+{WgFH4i{Jb7m0BWZgVGsQ)d~)6mfH!hQsrc39l3MMsn0C?zRb zSjn^l#S&`S=s8GZ;d5u|=|E84YG~$(T|CYWdIMsaP+a?sA!02i3x2rJYqv$3N%$0O zTJLv8@5wF9f)2-TrT8+@XzLBd8KO3Wp%}4JJ(i_SY=mJ5fcji-0EvJD384D&d{Olm zfFu{@VCWi%N|V%uVC;i`wSoc{b@?<+Uie-if}>%64D?|SSUu>e>F|e9+cAxTRK|IJa)UzuNVapC&K3fP>ukb2JbTLUb9S8^HyaV9y;PU5eM zveb9vh4z=oWHYB43pIP|am`y2GeiKc@1ithF^K^LRWw0W1UAX<+cjX9f&cs%O&JN~cuMBr z)Y7k6qX6mCyWwF9PT@|Ya(W_%Kre;_oo+Yda{hcHD939dl^}T)%#@?Bev5HN;fZbn zu2!Thu5^4IOf)aRZc@DF65QU1jJ`sP{4}6=xOC-o$Tl@9&fUykLxe|#DU6inOKL2o zC(whCVm`1>e-(Kl0Weae`5A1KQF^MmahqU^3UaH53qEq z?rz?!_rx=jlwD|BbT4rud}DHbPRwFf$~3r-!pXp(drCDo^5b;7<@Eh+tLk!v$DX45 zSPLAuVD1&PInDqa_FJF;CRJ&k`llLVj(}V6rz$9*BEMCMT8Tgi=Ll-zONyL-(}NMYOvcHVhl_iBffvs%K8Od3hWs_(9RRZ z>>q&TJPn#l-hnV-BYTs7N{L>c(=@5~X3wqq%0$n6|1UpzJdpkhJPZ7?BBlR@Klrs-(0M#b%7-7;^Vx z;Ne;)a+Z$H5I*abU-!D^fRZ|mHm%LNh(1H*r`?7-u-YMFHRR$8V|peg;ZP&!8usl) z2y>~~2&mSxmpJL?i*y_-ox926u5`0dc*H%0cZZ0OP%WQrf$)gTxx{)b}#v_Kt#!(=*;zJ0{8pff#7$~(|4a3m7YYy#n1_uC^206*J#Yp_5eS>A98N=kITPi`@mUKQ_%gn4{pjg zVCW2(1r<3vIM6pw?k<)R$<t2`K%tI?iI8keQZt7=byAJLAXj1+r%8 zf#$)i_n!o^=(-;(tFlekW|qHERjK>A_(FAYm%PR5A*f|ZMFpDo4RlPetDQ4cHq@L{ zM-#xY+9=_;5Yg=A!P*x%scOZO^&%CUbG zV`T?8SH2kep%%RkN-gYaxxpib4~0@p<$sz{jgrkDQd0T@FR`ZvK+N11@00Uru8Eij zutP<76p)RRyPHuEP*HH2ZnT~O)TCQ6S_oHUMn*>GgRwgesdIIOE2n2?{Ual_ZjU}k z#k2yf1FtYXw)VRAyHDsTRxG^7*``g-qx5NlzFG_Pa||j0VU5NZnB>mNpf1{nEf-Lx z5)hOi#|Lru0=UGj%!rNNx^*yyYG_C|snOLvc!m8ake>323i1?ud?=`$h7lpjmZh(Y zD3i<~FC_&M{uv#xHT-LdnosL-RH3YE#Atz;iOB~|>SHo*Zm0&xjc>(7b2zu-9{8<6 zw4YJ-Aw#Z8opUBHpJlM8r+k2~A~p4p?eFhVwJ;uh(uYF!!dNT5=ISe*EApd`vL^VN z?PhwO$CrF4UadaHVZGl}Uf_Is+24f@W~`xCe*Jg^Yd^p!9}!`~zHse7kNCTjY_tM) z0sJqh`FXNT2r!ye@JWMMjEVvi@?OrV34vy!%R;f<@IO;6qQ3EI-n$=0>w6cLKsNUS zW;TM+<5570SFc_LBJ%Qmr3S(p*-Svd3%ED=!b6pqS)tZLX`^E|2p2>Ugh$W{m_Kp@ zO?-a`S=Ip95fs5p}xGCEf#YMMeU)LGTZu(Yp%%L_jdP*S6JD0C&T+d>B81%_5aCuu_y^05M zSqa~naaMM#-sxFRK0sq6qCimap3 zn|pizQUnx08fXgAP{?!wCOu|g5O-zy*CjqaBghxRc;u2%4Dbv%LmAX-DYLP%2~|Jam5vbz<_82mr_^KYhu4cpTTcpd zfVlr!a`b@N->lKlV__A`fnKF_Kz zDfx2g7=u9S_`0K~{e)dEoBSJ{_Oq@DCnmnbH+_D)x&<@5@*N z1)HDx`0@BBL@)n)uBZP}oJE=o!<}jeiYh$26GXrYmxyg%2jzJvYP%i1!nF?6_*Bsj zuVBk;G6J9CPr+)U0Nkl|aV)95Yo2(1qHeVcYCmC73mWmwOK-glj9%kPd}(=yzxK}tY5}fO)M_T8bK4C zTY5(w*BeZ;hR*4LTl$T`_a`C@G!~qj!EU6@Ez!>b6(3@>G(vIPGk0?o#Mx5;>ow>1 zD_?NJ$EU2P@$Gv^*rsqu!Ov+CNtB?fT_@q?akXh{H8tpkwfmx}db#1U@?x;X0A9nz(<7!9 zQW&zG0P(Rm!2s$J5@4bJ%_6JR{-$O*e$#sk^nnE7 z7k4#xNA%!9y<9>mFUeQWPW^llQ_JkeT-ITR;lo+$)bj)@;*xW-D7a;BznLG%N+Ro$6`oAYlyrQC-p=A&%A#5qx9>B&Q^^ZRo@s{7Y4i!!a`8DVP|Cj@6q^tuP;a~#mhL0#zArlM7P#lX_OhQM| z;X^M2PC@XesRL3S=wbbUkYgFryU9rgl*0fvUP?OXJ|=$r>wSYEoPYrU$X9-Qzr>@GNOBBc_zJ%#yAFg@bj! zXGNypW@6MmBDcKANVZxaa1(RJLrO{kiQ=9$AcEL!8&(rclwH;*%(5FAz5GPRjP!PPs+k*$E6j`8#9}ndi;hzv!IkI;G z{{cZ?@RQ_$#*vSJn#-Vd3iJ%JND_S&+CT^32k_O~hzfkY>j6l9u-GXknOnc_RZr&s zHG%8dFI92-4mx>&G+1|f4U<_yAtJFnJY4;O3qWWngxZRDv^Yra<-Mlb^o`5 zH@`>yzv6x7|KIRFZ#fDtB>zx*h)PKK{g?3`s!?26@~A0f{f$_{anGK=y1{#bco`fQ zs^Mwxd;c5k%Qz%x~ghx`?|$T4+JmV0PQ5J%ojdM*oPS;%i1(`(uLvWDW~&oySIlPy>=l zB_wKec$a%f3I=U~ke|%VcyHcJl*stx&l}ZB*rX_LNYx4t@W&`LM1iMeox6$vob>EO zMR~dCRr(ksqnw|Y-xvuBzvH7sY*uE<${R|y4pF~3w}R>l>$2B_x2`y6WQ>i*@CeAF zg{GIF=_2EFG<<+1>ucR-M6q=WBu+@PzI`bJwje4h>chMAWfhu(fD2=z7^7h@^bU(> z8c_mcMsB*|AB6JM2dx@RB0;77ryO2Do1$05hhkf}-9mED9;(i}CAqEL?lN2<15MeL zGoI#uPd*K<1rJ)g67DB)LIzaP01^lB`20N`;az^h_+@GG@m~pes8}ruHqH+6>F_ik zqhcb^AYm?{Jy~nF0d7W^XJh!m2#*7K6b$4VlhusSm!Y8EK^$&?JB;G;ld)2@^Hw|q zQuPos14`p348PJ)@Wo5JW^4Z@x-@*l)ZE4Df@<&?;Bb8d7azlbP4Is|f}Fo0TEoq4 zAFinu2pFI!p8xV@6EP*QFMbe!nuL_SU@s6mabkyoO4dTRg-x^>36U3VP+mH*u2~f;NY}Dk9Q6a1`BsnDvBVH!$+hb$s%n*_Zz}_`7~a z_s>|D?583d)&PtG<6|f5hoKll>(;mrP+5UCKeZ30D1?uf^s~-71Y)W*5G_Zhw)0A9VLfRYH0 ziwT&NUjAmeAQ?;z42n)teO*Y~g&xGFJ3FlFBJwXZRr;T#$xdk0Q$!U88=p!U?;d~sYKiNzt-E5E|6*i$uF#&b+gpx^2gb`{(+ zuB%>3SH=Ww`Pxq1cqY@NITnGTf^$(Y9;TwRM7_@Rz&tGQ?Fr4qiZYYCs zQlz=m+#)00UCvv1Y@-tQ^xvu|0dzu(eAI+SOIz3AB^ zF_cbk_TEl}*b3yaNMJN(G;E!- zpFl*h#W=bg|4a-+lL)L!xB(y9S49N{p~S=$;7uk_vd9My9=y`u7WD$ZKQPcvM&B4Q z&$^3f4J{DUdqBV&c<6P%T0~YhS-;ps4RM=4@|X=~?jv>X6}SKA(3rAf*$FW~v-{%s z9-$?8;$06r^~&@hMmL+S&4ZNpmfyb>B@a8_{9zgW?jS{u!ZRQExaHJb!|kS~GH5(- zVSow*ql?iul+OnU0Glo)pax{X0oV|@cf-)oM#}%t5e_D^Jorzu|36E6*T=o{@PHCR zMrIG%>#U^OKW!+@BeO|23A-oBI!AiFh|!8_eT+uRKAOML7iA zZyFU_NO4LSSO|poxxYC(d*8-& zwh*GVZ$J&T;q}}^t{8kwIQKcF?z2=jHLW}Bj`JY2Yi7P2M`aidH&#b9KnMKf7Zmw0 zSM}K^SG8r4*vSqIEdOk>2Vy!>>Ica+bHu3!9&CXAE?&GyDiOa`>%XGPS-ZefxWEFIiF;7!vXr z?jIPt$7EmZIq!JED_JAulEsYmUs)1zH{X1_$+8Ifk6O?uo8oo|7Zvo}Wi)_Yi^&Ch z)@FXMS5LE>HX}-!JSr^w1O&+z z1*J;LI~Zm?>BF5^d++LHv=Cjry;&e-XZ->hfOzvEZ zj18O(Ppdqxjthykx~-67IlZ1fg^gphotMtH&(cE~R70f9o`spI;<~&8iZ6rFB~rV2 z&N{&DVx&C;xPC$Dh~kj}DP6FrNtz=bD-IDna+~pnee?747j`M*-vDH$q96!9!Ar)P zXu;=lau+69i4PGBg{AgI;7SF}GYvhs%z@m@QP=LCh%%knML|7<%tl=3akmM38#E)D zbLY+x6bG$h1BRB3HBA+p@^_8lM}xq%Tykmbv|h|0&+=a@1Ou;*1Ttu^+b0k#Xz)~s zu6`Ar!V?M0uG)mL8%A%gyzCvUP|dd5s~{k$CeOTU{YLGLMeEh2w<%@sGtTu{(IP!H zPggQSzj5VZ*12(a&*yJ`ZkoIFz<6EArQ-Qht9zdm1C`cYKZ@x#%cf26EAh6>#*XJL zFt+rDX@@S;&K=a+9{XKURL9JMxz%I$*SCB!qF>pZRO@Ai zR2NG!C2ga3dOUa|cw}%idWV7fYOc>?lH5!fBAi!LNme1f-KN zxW1<#D30APDlBwJ`wpASMAV;oK^mpur%s*(W8id8juyy~I)z4(1m;6>Coaj)pNE6N zOX_jp;1?!)wg?FYp~1AX0Edv=KC?c&DgnNm=XzA_{!<+Mr3` z!es(oZ4>}0CddROI_LmE^yI@7JUx4xXc>iQpA$7)cMacMx#>u~_v!xS6G83wttQMg zGvjHS+Wzu6@q(_gO?Y{&x!6-5_Vm>0gX#W)?^CV@2nGhCWNATn`T+|8;x(iV^Z}uo22f>nsPmqi|hydI?{&2pX#npc*lk1DIEv{j_+Bpb|d zL3AJQEhRjIjnXa(;Nx1A-`!CxrsEYHNXYdlsfBx~_ib!hzgW4iAdPdww|)n#SPU z^?lU0eO{=_#0Ur!f}S(Fn1NnP>8DU%j@C79NxPhJ7Mr#0`WZ_2Qb=-8at6-98(T}I`i{Tl43g`PWSSIhe|)YwVtS>0?SLvzvJLvZi6f}b1L-!=TP#glg9p6lvq$+TtjWQq7TOK$Ebk3rp2HM*+A z#mCE=nkm4#;s5+B)*-finy=o>Tc5Z@eVz%un<9g`kq}a+hjKDKA|P- zO{~Y?nj62NvBqC*5{cLH)4tttolHk;tcfrg-;%Ssc303(PAiBqI~_Z{QJu? z8o&&#Z~o2h1EU36ZslH1lDgXMHmjmLM0YH$+0EePlc9Q9h$Hy;D{=X+m$V->1+4X{ zqhGOlYRJyU#^!w^@|OFD7z5ITLHdHlb}MUt%?*<1;$EqyqM|MCDYF*+O;AXP1$N3# zUa2*N4eL$RpJ@3$AN+|KuLZPE=vGCVUC`C$>E>$lC$cG~sl*5?8DFq0vFjCn2C2>d zs;}Rh4Ku#lh*xt9?|*l$p6BVk8P~J}%pO!vLyq_0v+0-gPW97EP~G#pY#Y*w=N=r6 zzH<)*T_9qVWx0NWVHZ%II|xDoIid$JW`!f#U5n;*gmh^VfyH?!#TQjpB}GP}CZ$0F zmX5_5^+>z~_5>@e%|uQ07|?x>jHRL+; z1su?M0+yT4f3Y@Y+{ne%O5nfQAu~~I`Qd;tMG0zh>CQ(#$bR&2uol~>mvIV2;ANlLAXSq6e+&)$Gk&O|A81$1o zVGLbhlgRnNBm$1lS_3EWd>}@8F*QrUUN{1ZZ^-)a8sG*X%I4RvZv*aQMy|t}Dhg^1 zJvqP-h|+w>)mT{tu_K{T_x6;b%r!@410a}%ho=J&b{jr(SwAe^Rsmp+vamBlK|&_x zp`p6Pibs!j!z);lwITY=Qn)L+CX8})3yos%%g7FN=q(Zo8N)`7tk&wJm^Dh}s;m^@ zjNb0#KGy~C^IPih<`!|6E27eLZ04~gniSqzv!cnuk zLIzPW1Ue`<@1@uUVTHcs{%+9b&(1=`VCfx*Aeotx8!`O-<-q z$o7rMYq!>e_*1icE)i`RJh=pbmfCSP8kl-LK?iCJ)EQgaPbcrWkI^KNTocb!ct&BL z$uZz{s|)vT$DVt2AVuI^XcfP%^Tyh%=Qis;>&Ux0N%}lnFs5aB{6nygE&GA`$FPPK zr}iHRHX7`8(DH{oKSqXv0jhuEGX{z(P*ZW6az0|Lla zShhnlftfQgHh2A0Ofq{cUKbhD&wY8@fxBVz>h2a0k_Z}!LP1zBFIwb2*qADaGAKe( z`{u2F&XBja${FipAl+&H$jHKL%x#WSAM&V|l6>&@OWyCyr&Ukze5eUeXZ)=$eB#XK zShHVWx19R(@SdWmsaEvCeR`0}Pe-6PV2!eEC98NOa&8yE0+U?wq1m+GV zks%gp0T4ZdikNfF%HKGKt{^lSRXMif``dzOfWng>6v@7aAThl{^nmD&4MCRniaE z*D?Qj)iu5+$Im?y_FHMiV6x+fV4Uio7}>uCreatW3aWOlLGfn2Jl)gi55ao0u(obS zN8|R+p96T|);Iy(9ovayhe z2#v~8m@7hOy9WIv5$gb4`lnmqA=vZAjVQh8Am5O5kHDWu0+QE_nF(MwC7fC?!d9fB za3oa#$@YNE)}zINr2VG7DXw@kq6up2v&uZjC%jm7Mh}8KlxI*Jj^BfSdk2L9LI2Sh z^ks$-XI|JN;8Z0Q+(}D|WL&anl;+jv=hYuz&-OAaaHDGszVd!vJ3psFMv~O}i(fTDvx;fov}Rr}_>tDelm}0v5A078;;uGY zxuY?=SGKdu!$98v#D%in`z{}XZ|!rImq7t_58642W?4lAgnfP)nNv6$mbeU)voK9p z+qIqom%lspVJzn%Qs^Y(%P`D)?l_B3!m=~Wh?^nBBg82iINc=UA_G; zHlAF|G~_GeZ|jk^$>F?wVd$ENyUg`8{I!xYg&JJU46CnyGgO{>K?-@n2L!%==YMp0 zsF-hMOF`(2^@#@6bXLb@W5tiOC*3xSd(wJu?>*1(mP&5h_8Fyr{v7@!w**~PXq26j zYU-`S@61jQ?6?|7-SOJ~*YFYZ(}K-LtgP33eeFGCzTbQadS6snX9j5lh`}+q zoNOiOL(I&$9Il?T4`E`5($LZ6>29BvmSZGd%9g}}EhCOm3AAg+5vdbkR);XAF;v_% zbA4<$*7+ID-r?t^pO;Q{R%S>kUtm4C_S=$l^^dm;#q>pj-+z_f(f%qSNlxaI7Lvu} zEjzD1^Ez2<;^ooG@psXSLFGQKc}V}JydraCX2(4Lau4n(_XcNfT9Td_70uqtt=27U9N zDp^A@N~twXy4rH%?W;+wvW@jRelqXgsHnWrOIf?LH-w|1&PO>!COS-@@Ffrb zvF*uWCZ(f^GD5w_8)Cq^v91j#3KZ` z%C)yZ%hP5HgJt~im&~j5YBcM{PYuQ=h%0XIRC^&K_imN1aaIst0sD!P9-Rc!E)QH$ ziEkKGvH-Cn`|077n9(;i4b3MK2i_5iBn6}~l-^@y9kPTXgfut>vM6v7E~&GeP+}8X zWeO>YQ48OUk3R+~3gH2O!nLzp>Hn@t(S=bHt2|EZ&_huQ^feUI8I*0V`C%d2vdQMrvTSP+QMh@i6AyzGMvsafTC3I#iTJxBz-C_C{eq~!s!<`|Z31CI=2 zE{LqtCg~X&tx>F^kdN;nH8R9Cgzkx4Oa=hZK%?cc)Gk9Wu!pJKZ~&2h;an8Q>VbnkY0=^zum zshxfqdSV7%v@THyq)%bnnO1qkEY!+=|~lDY7 zV2ettPMOj)37wo&dlgT69UdfU?fY;xJrBqAqVzL8+a~-Pu2btYTozp3(e@B!*s|m4 z)6-I^td@1$+*!=m9^FXmo4Op}?=KKr9^2)IRRcH{ji~dGK2X0YslywuWbEC$N2tr( zrV6V_07U|8?(U9495p|E`VnCH=jnpi4oER~%qENmaPYD2?m5~nLqyn>*R~k*;J<~k!9tX?bK*P%KgV{7TSnm{p*vzm zKYa(#C5^e;4oRw;e9S?9=Q`PaJK_}Bn(?XR>}9;-bl>Eh$p&2Q+Rp>d2#y!oiF ze*WEN*5>rmNtn;86DN7YJ>Lt{wCs+lsR``fy^gtLr|qt+u>TA&|5vCQnTHTy!4;l{ z&lJ!Utk(iwMr8D1*e?dz^l?=-Ur;4&{q&=(cW&8OyZLpEsQ*nc+FTz zS+$u>v^&8yhpAnL&41bdg289jilTILAmx#dRECoixQaOp1pO;2E+~QLj4u1gV;Ugs zTXyd*%CtOa08z9r?i3aAP|DDo2RMK@kCispp>x8u7)Ep;<2RJ`91l!1vQ%QgMdZT+ zMAPK7_{|dVvR`50u9eq(!HNt6g^ViU9V01(f%%K&wqoFbdHT3?5+~M8L%xlKCw31m zUB#mxJ`gKBTl6q&JMUSQ41df}1VXilNZ2P8jVYgmv91;uWbkbpU47gyhn?3XOvxIcjtDE^ejZO{(Q*YQ{ zwYv7I@7(F+j-staqyk-!ylD{Onm93qP4X{lV7!4SCq1V}nlvuu+v;(JUND`){6Ab- zjjsVpDPRYMtsaKq?&`=?j|Jy?9zEL9On9w8y_96m^%dRLS{#*) z1W8BVCgCs;4fldCHBC=tiwOkC$!T-G5S<0G+`hqeOwuLrhrq}m%a@KhE7P<+pAodf zCo2scUU_o$m$Z{Y$HY&$o6tU+^{C{CxZ5yVr|2QruuqHges$bU%|9PZWv{q(@NQmx zZknbRpZXJvN9(PE)&$0M&!5laUbC@x@6_87*Qcv$|KmxNj6W z03aN4Gz`18kVYPcVo~w&HU7@fS%NHr5!d+T&0Fk$-UG%e2JRbB!(5{ZVU%J8##OsJ z<`CSs&6l)~C^zNrl!-`Ja&>yj8!T@>Z05Ux;gqk1>6~X}sV_-itSg=>1TxHP>VJ5h zeujw|G|!~brZEleDqezoLqIWZ_yxC-(C<)pl5pqGz-H5xxoUcv)+Fvk9#(XiV~I2c zWm_yLHE@?wMP?$I3w5PLTYaY1em9E@-RX!(18Q^2TJO-E41tj{%HCVK_HAd-qCOXB zM(eqQDOIp~;-XjW9j%mCjsM~TWM1G1K)!NC2FIZB39|IpnHh`zQcGCR>#0@W_`9QF zNBJADRsaa- zj?pwsb<&U|fj>VN^s+R34=kTpFCo~BVx=?2Xc+WCK$j3_;t>Sj|CsVd?Z>IdgbZ2( zuDnZDIph4+{?)dU60wZ5!!`l(_P0BAhqKP-ELz`dFlM;LzAvkun|YnFk;`9or=okB ze}aP6#Sv44#um&QUz1{Mz(%@xxY3g2W9f(ikC{>Jy>ZML;8Wgn)e6GczU=Xz}hC8@rv zbit(#b0o{q$OD;TU(?m!9XmV_wxB*K*!e2;Zee^T8^iL6Rq~vIqUO1Gz8!tDOC=ob za88P$&_*hF5VhmSGC9PX0>%lC z%tU`!&Y+#Oyuba-!?pwN-}uSmMj08Ix0cyIXuy^k!JtP;yv#6H6OCSAjr-Wa!!UG7 z*kiF03bNX=I6$G!rU07Z{DcFUE!)mqWeif(ERa|o7QC5Mei!ej2C^2}e@Ku@+(rt>LZ91hRe z^V?ABuEr^_02#3Q{(W)$K3M2a&(G5hg91xj&cKTJXVM0202>jXX6{mK1@ssc9SE*9dopH9H2Iu ze>nX0(zj>FU(=qu`GczD=3hKpd16|AUAt!ekZhafPr=t>;Kh{m1{Tf(0|`Lm8(3Ia z2$|HOwm1ZPO&$tF*pw^v$$j}uzhtm zEgIqj;!O&HD3r#0=*UK}+8o1*n~{-Qh$SSPE!7ewA`$%Ba7Gms-eXSEm3nvu#x}8- zwd>#?ZU@b?qwJY(3d}a*Al(ZBLyvqT03BI)Yo%a^0}^G2aWVRcDCC-;M`kTjO4(4(#*w?WH2TO8lbw->FLYfQKlbzM}rC>ewfr z_O9)``q?WR+k$;gNV78SV5Bxzq&63j;ni2CJsaCn&zZo*wDsCm^Q``73Evu{n#;SA31H`oT` zTY`GXq^NZU=h=Ngo3r%ce4>OcAI@qVIUL~QOPqUi5{j6_I}Q<7QW8CsKv5Ag-po_H zQ)P4pQ~5Nw_^JS(Cb#F?#GRBj^zq+bn<((h%9`MryM7O^VDc{w=u}~K^m7-cHS$gU z_)&P}@A-ni)J0vd$8XOnQSo(c6Um_<%LC5!t?pr<@9h zatz{SqkC`P1y z_d6q&H$y7qn!1}Q?;+k5v^3|bNDvd;FSto1z@~`>4`(?e?eMK+%EBq#vCz6ZUg1-$>vpYYcZZU81=wS zz~B?vRf776@UoOvPav7LBC+(k0==8nb2q6xxQa}^yWb7;_rJ(gUO(F&Dl`a@e%O!J zPh2wLLdNxOwJI|+K&`EzLSDly5r|nknJ;(aKgP&ALC*Wi!ylsk%j@S;r%$GRwDD)% zd60_Pzx}+P+r>&cRTYbE!+Z=5FBgRS-}cMW!O0Kx^D!`6aB|MRz9-qIch|l569OK$ zIMnzR6iMrJ(KP)O8_8Y;3z%WV$=u`@^gd_M3 zY#ehdtCeP@h<0y?`83mk z_^`K*FXp`V?|qBturcLbS<9&#{5dijZ_DhWEkHI#m87MRE~f_ZOV-ODN1j@*EZ3|^9{8zps%P8vS2W;dLo`-4!4HHUIN#^e@4QfwQJ0hlfd zD37;W+Pj>Gc?*OXrZ@_a6t|2Oj5SvR+sv4%k;!P@W2p+%`-NLf%(xb^3!cbzyotKy z-C$G!qy2$(YhUq+tmvkBV=|d`>si?&aTWN(W4GOC z``)*RPRZ=MT;A#l7T-gsuN}dr*m}`~$;4wqVBMxR_mKCnU7Eq}PA3cw&Wf|*P3hIe zGo;_K>&;UdN7rNU(_P}+PmnUCVV8|Yd$JBip}B)YJC1`PWXg3*-&SK-kby=3xD##t znS@+f`1nMr8NXaa-5nIza-7Bnx^3WBWQGguPf47yra!iC#CMh(%R~=JvnpY-rue`lEb3G$r_C;gAciF!=6e*q-hGCQmP;&*0y~FP z`)6toRAsk#T#K9)C#-f!rJ?^a8YbkPe-OI(ea?J@L~SMty}dHj!$2hrzCd>-5Ah9@ z9-{Xy#a(HcW!4b`9U0G^ z@PSbHY=FYT3a6z2oDEPXPzN@F!WV>u$gThNrSZ8v5FSvXP$Hl0$_(1Sb#20Bt7J04 zg&y-_CD$!*IW|cD{k89Uv+F^7gBb+r*?j$jJD)xa^#CEVP4z*v zL9B5B7sBiR?_8-WiO{ zbTAZobLFSQKky-$9U`7X?iula*sKuMzJsr1COY4PV1vGng%{bsIJ_805sXiy_A50i zwA$}os;DPR&rfJ)$n}(R?seQKZuKk`T@_jMX>b1&r4D)CTu{-VvmzWB^!$i`j)Z;- zg{p0c5R@T7pzjV=aX9{*yZS121M1wvXN4R(Mzyd_v;pni^!M-YfnQodf}xmLE5BMx z@Q7}C7VXs7pJBk zZJk#LiRnMWF1urj5}XA1trM*<1vBKc7vg!Nes2-keX&M86K$7h{VGhEZR!_#pqlE%MAzX_Bu5)&fSAkuQun zZ>u+BdLj+FJdi~=lCiL{Jwdt$8E8M~ar&m$Hgu!quw_ZM3j{K_G~3*jDiV zKVY49__6uB+=1&hlZuve@ThHPDizpw(y^AO+bVI^^QWI@C%+gSwQP%R{`vP|(nujx zv=r(JA$kDK0h)gLhg{-0>fTqWece*hxvWITn$4b3?#axwBf0(bQCW|J&`J;rA?WTMs04Dgvlsx+6Y41i6vGn0p=c6_p*Jyyi`u3puf>Xc@~x0g zY~B&`s_p0#VPaYWRSt0K=)x4FlTxpr7x9Nkj4U*&02gp004;DGSKwWuBt3Meo0PfY zV8Z{2L+4#x$+l~+*)Py)p{yvWs=9-DGX?_J(6u7ssbPBx^j#=+*!J$N0*k%n&p~3I z5POh9e~!9B^ANKFYgg+UwU*VVl-v{LA8Cim6_=lTYa;X9R)44cVQY50VYpt6y)wWt z4zv1le*dY;IdJpSa78BFfe43QapbuJUe2Wbr=cG$YL~;fB}2_6%d9@h{$8*^O;C@E zwFdB}oK5aB8Mm5tY&UjEqT00!0Rvx} zp?7y3>&|@|qcu%(O6)=mVR0V9i$8-_QcI~G^}B7glG|@qmnB3eMJT|5WrOOb?M!pK zXSD-jqr(Y&kc_lEYm4_RY}#d%Y(Shc;7HwwIzrV*B~mBRVTT}Q4eyBXT_I7#q;{bv z&_TObUZbqw^*UDnxW;-_?*QRLW9t~W=qGo7rM^1M^Eqqh4z3*xN}8ITi9nQohHn0K zd_2WH8{?lW%wukWKaFyMXwCu3M729#js}!{=JMc-AgK&6-d7S&=3dO$m)s1jVFGb0 z()J*Hyl_jl!Hp(KF28*^b_=VMUaHx|R`Ko`6G7#1_Ij1(jlK-*`)Tgj0o0DO0-b8UyPjn2kP98)zfGgGb-~|5);nz#cTG3;@kNzUb%=wdJ~Gmw zXnucr=?+kdi+mEjwsmEMIS@2wsim|qyIJkov%3->XX>ss+*LErIApAN`tX~Ikn4nl zVA5=E)~zifke+$ohLuq*kyTi_*Y&V%_^p&RihqNr9Qqc7NFg%)|k7!m*FS5!-h$G2&9g%sjvsN2}&BnFrB!mSeS z07niTIkaH&e18V zNSo!-A9yUYP|7dCN@w_!&E($sR-5~=$gx@vJr~agt#BDZrXc`}+Jl9C=r+fD4MH3n z20>0H?4JIOLm+*i_gQ^QNbN|*&Qw8_Ge$-OxxgG^%URcki3Nc&M619mHF{P4;hoN_ zRl$WO8mfv52F@x^*KRQW?faFQ-A(S?s!hk!x+gw@zK(%ZD9>_V02BTP2JLZZ|G0YP z;44FrQa~=R#hu`1F=-9|7h>uJ0dwuwhSg-Kg`kB}c^5(&RyFg8JY3)diJC?%>HwkW z;&O}|&w#<;4)rf~Oxzv#j4)}97zM7!c8v!SE+ESRbqy0swiJkJX&e0wI1*eo1(auM zj`b#-uuxaP96{2qhp@iE+|Ny#uqOY3ii%43o^om19l?8E3VNYoDWrNCUA}H@SZQ!< zUey|=y9qyh3I!KU&0-@DZ$EVBspy-gaa$(Nt-Jmo%HBJi>%Q+Fw`Yo?p{yc1A(aRj z#YcotAxgHWXpk*ZB)cM8R%Rj%yRtWtktC}jQjw6~<8_|b{k^~U@3?<|{LbUPj{CT- zI{AFw@7H)fAM44U5nS_g#+gzPWuPbpAgd6rv|md=UID&!R{Hq->IVXXQc?&Fzb(eA zbmyPEk4u8*b1GQp$?)~9s`#|P3-M(39Xbh2 zo7nyO@_XS#!kL5Vo7v`zC?77IKTql@_s?F@2uM1pBg>lH`{fhHRuF&|`Xyu?eC{o1 zLj(e$$`PgeB7X+HrPEMJfQ`G3KPFWv{>-;|q8%R^)$RAWx!RVN(A>T~NBdc1YKanz z`v_$5lB`xXJG)FDxNfb~xfuI_x$Yl%Z&Kmc=6KP49gmnkB!5&Y@-R)Of+m4jgpk5Q zQw7B_!Zhho-8m$XoFiPx5K~m6cSC56K$6#;XD8g_-s?*7*wxz8bADcrg(Z~7l`5-)F)W( z-|=2i!32hdh3O|CcL+2Ul$C;5b$G?x>F2!SQA-1LPMCTg8@mZ|$q8hpr9hXwWq+Lf zO&^>sXkZ%9>SUul#~E-M9fZTZs*hM=Gvr6}@g2eQ=mW|GphTj0D4t~Sf`J`D->71< z_Yg3|K1^UoFq5R7MaCq?AGO@K9cOie1BQy&O#d%DfRKi9m}Ma4Bp><+sS(%zRmoAO zq;K8Qbnch$@kg}gG=B?ztB+lM??cU6vpf9s!iED>C(R)OzglqYy_rS$ z05NIf(-Hgv5}9Fa*k^OLVjJ9Wab`gvkL{O?y+^Xpkn4}sL^>>S_s=Ep#-hIj(*q(H z@~_oUrU&-ifBiDZM{*|wko#cxm1S`vQ7Ax#+~n)M{iokxy@BSB+V4wGI0AQE z&)n#vAY#zGiY0{eZN)3Kg>n0LrGi-JQCGLHv#UU!*-b|W+6vSQwJ#1_0?3e$h}+>N z9A2Ob!P^q7ALs*7sv=a1%##k~q9@WnM8ZK@gk$R1qDa$ro?c`i>9&p`tl6 zDyjcFEY@H9UQpz;VU3W^`SUZ)SS3f`GB93<>@nzB=&k(w8j*3}On2Cea?6ukEz&Qj zKUe_zeI$nHaYH-9)~D(obhcrcT z$7n6k1&v@;T_u5B%RmX{9US~`&2|Yj8|OMtO^KhC9qOEaqoxn4ZlJFaKX^h6a_?<5 zdYokhd{heca8UFieKPrvkR&ZnV8kcS zZJvIG7qWw94YxRurHAiXpXalv;eW4>x$BAQ@rRRq&|8RZ-5gvq8 z&nyWi=isDAy%gvW#a$QsUs`}K5DkGtVD*|V+SN)f;n#uqI5q+6t3Jt9P_BAE6mO^A zYdpBvUhzo(p-9cj&7J3N2Dw!1oi^gGrxecY1^Eo{CGPO7o*_|F5XBO%-C4v+Mumr0 z;UgS>Y!muisOMkuUm7-m*ZG;nsiDxaUO(88EdMlp6a5Ck6$OzSs*LoPCroUM2LM z5%=!h0LN^iVngw{bD84<*5_w0*DfU^~b|dCi)y7SF@p1lpw3dC3yR)-zOAGm- zbmZFb@Nn!j9E`N?ETDV2tc1*N6+AxuE%hZ5m8Q7x{AhU?~y8+w;;b>2jd2qB`n;b7a2f5p<#Q5A-MLDF6Yg%Cs)V6pp&0QPyTyhC6HZ2|0+4gdx-!F1;Ti3>D06#6 z$fBQD%dZaM(&A{SytasEsR?laF_3^l27m#&BnF)n0B;C?UNtpoqqTk2+Nz5@9ezN* zhKm#(9WE6oWf(v0J5mGty-|PwN0)@#JO&KrBMd$O${vChlHp1;2H$1<; z-au0im}Iuw>^Se0^Gz}0!os@o>>Lq13YVGqF`_9VOzDp%_a0{nToU-7aVt_=Axmd_ ziM5rLCMX%g1j=~*xd_ZH`Ra7%-d19xPWfKkp~^`S-N$M|b$oJfMA9FIN&fS@yVaiQ zo5j(bc_2HSw{9r0PoqI3e=+(X>RA$61u+GDK6gop7$^*8iG1UjQm#o!FbkJhd!FeY?5T(|KBV5`QMdy% znKm}0fOG@j-o@$@Qvyk_)zCluc?A}OjquCi(wtfOn&4s9I=@(#G`*OS8r~Q$WSAeM8gl z`SLtEKkbN^bywo`_*$Wy^u^W7e0o0N`L{2w1xm#UBU)&RIky#cvo7!pH!5PdSG{`p~rUfg6>65c5Xm^U82JQgSAcbvYLW1&l=d)+c_@6c+WI7J#w8Q)NaCO4|MY?a= z1=`mmKL_5v9cArV!Qfe_RkXX8b|D+9!-hf)NVN{w|E1135ME^IVZ<_Wieu)kS|?)g z3MVh0&^1#Hj&}1J-h{J!?Oa@cMrYI$_f%{W3&mgbAAZ3`tI^?+uT%#CwG1YBk_=%4 zy|9)L6%`qZ+14gyafsd*mMucLVyP3kJB~g@9i$^e7(msJEkOAjHcpdn@U&8EHgTxVx-XXRCx2snjuE~~|gi_KmcrzT0{152p zIxvM7uMgj|8tok(1YC>9#FhcfcKyN0Vuh1x*(;5R+d~rw@4$V3@xgLgLnMGw~n-+C;4;wd8$mP zqOKw17_`bbz5`y#2!>mLq+Nlv4HPlV5~2a8uxIgH^}$s^n;8-m#EA7k1erz-iCipo zNHt71$s0;D$d0b8W?>Q9_PD6%Z(CE7qmKQKtFt^KT#5UR&Nr^+X3I1>^`g~0UaDb8 zPV*aAdw;Gv6u3dAE@lk5o@-abJ*?7@|FP_2^{xkOB9DdWSE%IxD zG|!$tW=$q{5o;ShITb;EK&}51`V*layDau2AxT)S&Anp1q)9+@=jC_LFA4qCefSxd zUr8SOh#4g6ydKV6oDcWG^3X=6l&qDKk_ziI%k=cf^|#wq#$?6xII?u|7gNj|XPcSe zfceCL_1Poa_^b7bK5P9hkRXK}pt|+$6`+hTvPiVrSb#K_5Yj|MMX3QKCi3ZXW#11z z^7E5?1B-u*X?;n_}*us_R6WRKiru!j8@92@|ugoJwmcPq*I-Pg}=?Od+C?Gd|~$8gq_F4T}eK>Zp&?M>d~R#VZf zD%N^ZA9YSSkq@8MX0mVPw|HHg=u zh-NiiV#5l{SXB<|7TKH&YTFigjtig4;9SM&U%T{p@`OKy;y|@vva5cuT==4gOnP$i z%wQVbQ=?nWpUar|cSXNF*W)DBLu1bFUpU)6{QTG)6@xYx-<>Nq$5Tf3;$OCsU4h9qM(QOBS0N)Hv}r|g>Zqy7GwKeJ&TX{ z>TlcSV29&dPpq+PFNq4H6O?D@8?&I`Bk9SJH+?<4jOjt{mEnTOvybI|vimbS$m-tB zVPZ?7s&rq&?$Pw7phi{=-+v>t|vo4yAPvOGRr^+mxalX4OyCa)BIug)=WYI@)r1L&k#s ziaP=Pa9ZIKOrRn5R5iH$4JZgw$tXXkf5y%H#QP(I{lokjEOJkhCDR*4=eANa@eXc~ zxWF74Wj0@bTXw$Q#l9``KVR)(kmPye%;xOmpy(}K=>z`xPZ_j4k_#v^2izA7-FCyQ z^#BByiZiC9 zkB{FnI5=nrKpCHV0@BMi zuV1sx)f`au5qNq_U9F?C#Ko6Rz|F{agP88SV;9=wG!w6|MGlzJj`?R-&&u^$JXq-3 zT-_yv--<7J_l1)^xZ`19_EH_rP+RXh`<5N!=TRXA;JAl}yyx!=PhKcQH=-D$cPSl3 z^|x0nh6OOqVI3VfN+gAkB<7xqF=7>}%CppL2$?kSVP%?J9lbO_nZM6^iX-yf7lz=M zW8=p@#Gb-CB|{`8ChEY+?*$)*2gY~`xF~_VFnJps3#)U z*z`s=UOa$_R)E&b-N(4l9Msomnefb)O}(zzezi=*u$d~-uV#JvIFn!RRgaGBY^8%m z+>#u(*dzHkve*x|YyJ(2Q$BfZ^kgr;d#9YH^98oZ$7cRkm0F7rJ{{#Xe)bp%p-PK~ zGh0NptxdVTmwz1tJeF?hL_E}B0f@d12$s<9-FHxC5L|QWa#x!IC<^EuiByfy@}OX8N6n z0u@uDdOyGFa1q)40Vw!;yW=cTiO+HdjRJyIXz*h!_Y`HFb^FQH z_l1!~%8NFRxgk?!yT4D8gx1gY(aU->lj23?i#HuNGX%f;!V^$;-OutTgGa~ilWHdg zCM8@qpr+U0}Xr@q(^F>*zJB0e$ZxgRgR1kUc@f-8XMG z9Fu`@s~P4bjAlsPy;Ceya`etuM2-_gg`8_sTbls};yBT;vB~J!EiE09n>!db2Gw(a zXL67Qc;|aSL1cjmPZ_roUVzNg5ENAZB96Td$^fr1>RfJm2d3{GM94Wg|FNj)TgOI6 zk(F1_VuQ6uGDD^|vI-Vvff9?Ls&~Gcb-$d?GU5QRI)ULLq z9_V3X=NS8N^g|yCZoSP<_f!5~9Td24qhU8*_iFpoP{48C#&-i#a{zw>P6&jU7Lx8r1AFgopZ~4JyTCsmR)I&|W1Mbauf2!Dt!7Ws zIUy8=U~2@%y1RFK*SW7c8R0o_Y>-xQaISt@&Y#O*_y#|tUQYLGp9?Fe!!_w^Ru;}_ z4_&xhUc|xO&txZ_5*7ZFD#KBw;IdPZ*|pIzpM3eSVO8DT!n@hl)AQ{&?lx;lTl z6(|URM@1L|Kni7m%8;f&B7^l^ZP3S!*lTPDIOItL0ahWY$;)ON#fjXMherqU17bEn z=q$m}aaw_eSu?ev4kfdL#W}#vSjt2JcWM=kw%rxbD%sQoFp~sBT-sPZ`t=|pxvhW6o{fsT(A&m{wQsmkBs-vCiO z|9r}{vYqgG?nGMM8*hw$y!?wD(2O2O2Qlu%2n+#Nd*WmCwG1z)e3pORebSurKsx$5 z4jgG9Oepi!VAB5m>sW%x$zzl5SX+#rHUy=XV0`4N>dblPr(SWE5C9v>=~ zo&t+7jF7`2CjMq)@Cbe*l2h)HkPT=}0sfm>%SZ@48ZuuR{~%xy{E0F>dshB;TTTBD z=wqyF+lrj8$30PP*HYb_k`l#vn8P18Xw($9NLu=^KV|KX4`r0|r{AgUP@KAaLzU@2 z`Ub$4!%##37IAE{p*Skw7NCNO)*Ts3#naf)Vb7kqrwFNomJ^xT*Jg_Vp(j?tYea=0 zWr6Z>ZHYX{RO#)mojXNl2XR;j{{-1(ftwsNZgx|F zZD@u86OE4DG62t{g&z~^u!ON09eZ+txro2FEUu}=F!GqS%57yAY;A1rXsrOQVf7q} z;Q*=>!~Ql^dwELh1ka>kqi9vAH@$FjD9fFgAmzZ!BN!}(Tn|ybHH@clhGA6{|GF61 zfuWnkI|x+$Et)VG=d4hXG6`f^R95V^!~7>vV51%8!U4&UV46z8P& zfs;W7H_-&ZCa`?OTa6sCFq6C;!l5!NnidkGS9_Z$1Y$;9)mu@2;?yRS1_(?79i!i)M;9KQX^#QtuoKG)O_$sJ zyDLfehj&AYoN{8Cf3;$$N1m6CpohYZLL4}b=NP4(u3ek#Gfdjoui-RP&aN2lug~60715hswNgSJc_O9uP~9V`N^8Q9LxeNWxX+IA1rZ5 z+VzG3r_qPI5llpgB%4@XVvu&?&!0cDU{LUrNyEEODJW>eCIN;-Fd%$^b_5pTZxGW9 zKzN`y1Qmga>-NDk(K*x+c-$d3Z)z#!x$i?s0UO};-KLJ#)3rDl+aNVW35zm`*ENz0oU#&48 zwiuN|)ibcT$R#jI4MVZ?2ste@b&%U1f}Vg1k=hq4T*YFzdtY{#P&C|0@TFBDJK_$-?UzV z;bcRTxv1f)m9ui*Q%NhACwTZO5B21y)EaEF4@r&^yYl733X7lUpJ8snk9f~}r9Sv` z*Bmvtxpbjeq++6AHCUhd0~p;IE2{_lC&tD!@c2Hx zeY6d=!8Wv4I7X?@<2}mUmE}SH?m(Y_j7%hWkyF;z^h=vpnVOiScG$tP+{w@cIWjsP zQV0_T3~Y;TAi0Rv5cfG|b%bMuZ*b4wn*<_&AWP75I2F48KJTnVCRl>{hk&v;ZR|7K&z3De+=AQ@bmND8qMP%Qo%%MU}>3I4;|X!!vVy55Zjip+}QIZo^9dp zQ)P-)(jiDT;8Ok`6`rG~%lSM@hw@=oeErs-%UesWKZa;tXT6t6eQBzH@CsY>hFzPk z6y(spmwK~|Wk|*c0SnFqM22t=C~tHC+A=dS4TBOvLADc81%tjjF=e~mQ5`qW_d|&S zwJU;th`O9a)&Uoh1%L_rD<{TSL!h=1iABhN6xg>f4*md6W#vklPbA6$H`u*<_hta6 z6Ehd9R9SdiZBGwDtz<4v>XB$AT)4-}+@#6O6ioCamK|sZNn9my9Yb6T(F|!|G!kX^ z?2+os1o8BLwr~yYEtkR*G^(GL z+}H1UGD5CVs?y-|AE}MSxc)r<`sQyN&EuD2`g^tu@v*#pHgsU=`_l@}#4V^m7fcxT z2P5|d(6&c#@Wa(;y1ouRTZc*t+lQo@!y`v|)H^xrj*d@Ao$1r^xhM0PWiQi~tU^s{ zi@72%)0jsa9M@~~&IDgi#u1?jpXoTn_XxlS8rhvPGBt?Bf~Tht0!e^76zc&{ z0azs(XHeM;A~C%6Q^(5T1A%pbh}uei!1%nP_k3KWayH@_$~U1p;J=4IW|3V znyVSS?}$BjTf^S=ZoS0+jWRdhNnv3L@0|+&FD<}pSiqVc`a073%>c^c`?MAe(jzSsRQ&RREcWk0`O`=B{`tp^g)k`mIs5XA zk~6N_V7qzN`42s?l90=HdJE>9k`RT`(-gxNlscZkq#w)n^aIUPf zI8{zmM6qe(#*Jp#c5E?R@Dlo^Bk!E^jv2sQH=Mp>#CeCshXsFSrk&LgY*1+%= z7Y-oR1`7T$7rwy8z)p=67JeZoU+tBzPmc(f6=GHYIBk5Jb(Y1qnR+;tlF|Syy@=ByT`)+!V;qcmlx4_0t?ex{0sFX zN&8y-iz9mBkIWim)1i-xOjw>yiY`ki#@QTsL=9j8-V34b>V2**9t1{*bR!(F#ojM# zYA}Lc00uo^kH`?w1kQmIj`%Q>+JHlPn$F)*2c>ht#YL>}#4A+qpFnk1R6Gm({w=Z?Ra8t*sJhoEUq6}hwa;|oRG*=56sLq#n9f!)jK4A%Hk(!nvJTkHdZzb+r(*$bhamUFOu)Pzk ztC1IL2hI}&TsJQ(6VoX&A?}UC)FX(e+o3@u@;Vd>pO8rng%5z?bsQYkM1l*%j0&m3 zRbVyocM5@l0v2vV)zi`2OBzs|r8I@sP3utxf~r65_sC%vHvvGuf28l-U5Q!n9OE9x! z3ewib-$pHw!vd}HaY^S&J4<~N*j zCDXJtG#lkz9?X^hul+eY5WP)6IzVSwBIvx|(R*QR1FkAeM=P4Uhk?$d1i+b3(woro zAl4QwwO`M6%%}jy+J$mrfp_#!yL?5@3^6@)m5L{Hz_wg_st2AD&H59Tl70C_bEezF@u;cO~Ni3g>xQ{^2wno zqUeJXst}kqh7%za%<(wHuK52iVHraa)$JgM`jv`QCb(ZYI62h;Ux7;}60RkzU!<|D zg8+n}&k*}%Nu-%zcpm1Aan7U|WJBS=)fPqtad8Dc& ze#_N!+!7<=CQ&#Me>5P$Z&p%f5lT9^n-DV1C@cHevm}FxpxyhLP`VOd*Uw+Sh;jhK zxzJ|1OtkVqx)nf)QGRcI=FBxf6cBxoy!Q_;gC@j}V6K)eS|MzC+4I9H#3cwb_M<-` z19vd0;~UiQTAST4VTwR7gtCBs*@_mz3V2Ug`kpWV%<<&GwD#-VPvo{qt)EFhih2KL0bR5D!V(Z_{Yt;S5O533&W| z4X4lDIbPX$&E>_&Qo7uCI}bmI@zi)zC8T+qGjdvpF6Z&a$`8_e>d192as&b!@bGDSs2<<7a>j<3XUU z8B@4|K_lqU3%od2508x*+Zh0J9Vc5G!){u1%p5V!;FX$KAallDPN_N=of+WGdNf49tZiM;lb6a#Q@V}cZoyH!m_3;<61_H%a(jEJ#_^jxoJb3QeyGVMjL~6;>abzq zbBW$#2hC{4woof?UC95We^BXL>p60nAE5!egz^VcX?#*YpidvBr`t$iJ52KrTP)`$ zJFXF#u-P+Jto;(!E^owe(o9v&l5-Y`i@4$c$#qibMeP9}J;GSG^YiWA#fg{`lOpbb= zF&R(@iGjlXNSYl8%YUN>JdfNdJYR4MYd37DLobN~T7aLQ$`^H*{$m@RDKB(46u>?N zGey7K?Y!kXas}7{@*8$nvN@17hf$k&(jPHb_ejNhyD%B=B{%f@uknF?@JMM*zx)IB z;z6<{VLg2cqXY=cm#||~`S|#ldrZlZZ-q<_yg6%}!9w2NxZ5;#*g1mjui&0MG|^a7 zqw28&cw8ETJph<9v#?mA{{xemcl@8r;la!VJxdG&*hKn<47SylTGG3vXzLz4C@H=6 z)G+$wX;R(^FtytizT2xg*_oX(yEXkho29(Jd{r@^Z!ZmP$UL&H{zvaJ2nNgS?8%3! zZw{n&41fM?l6=rO#R`@WS#$$R^O!Fv(sGHy<}766lC_Kf+PKgqJ@&|B5BSsjq<3tv zJvLdgbHm$ZMY__X{tLz|8C2``yba0YlGH+c&VdhoVEsv=GM9S=49|$Rn{8E?R@5+J zL1S`LU%85b>vQBjk@`V;n>xy3);sHhueYxAap<+dP{~K zkytF8oMMc?u@^4;dvNaGUrr;mj^zk1xaU_)2TYk`@yV#3KNM6-pDXylGdx&(VC2-z z+L(>Kr<7=In5uvOqWs%Z>9N4#*9!l=5t<&}1Gs3V4Kz0Et1e3t@L2l0)lYJf@*ak>30f)Kd9NT_#By?(9o5RyK{5l9KfH4n6Kfj`N4K4bw>7eX`6ZL>#8#+W9gM%qDCpDUqX{m zS$)9MwBssyk%@HJqje1p%)n_p>!9k@0;T`MX$p#p|In2zAbsrps$EF=ggGDM zx(tT^hEx^{@x$CdV%NPZBuy8p!I33NM1+@Yh)>?{#=8F)zPPq z`j6eNJNo!uV-paR@-3&2wwgmvIJ?FLK>uA=`8WT!4r z)Ai5ekh=2+iDr$Bl%9u1+D{N%B{Ui(1+ZYGmbbopcM{QZCn=(1STQ6hHXY+K zccFO$JpASl?0hMnU>QcSKCJL!sY5{(hQqBze&i0*Cx_2b|rhhT-Q?spf_j3*ZYN|v@ z;>n2ry6CfbV zUubSEb~|)y0ueib_lHW!3MafZcxdfzGh-Ik^TLPk@yl_CcH8YL0_WiZQV}ytjpDGN zK|N}Trk7orPW(Dl{sKWIS~vS~%?Y)%v{)M&Mk9=>LJ`GMOyWcl!&Ayl)v?#yPYui% z=|dl|hDV9s6lu($5*wm!^;k1nbw=Ft`aN!u7n;?V1-}1yGVwCFCyk&^yY#XR$)tPJ z3=;W@YFra{A{D#pd02YU{ItNTLdK(D!46gyEY60YuRvKIh=L7G?hFX{=1+IG-c`>uRz z#z8p=o4ib0U~(~Y&I2YpNr57|`?{*u(?DUA0u z=&W>1|MB^7NLSLmd&jH7z{%WY*PG~ay#5jKUo{Ul%%bSDsl*YMf_($GgNoOL1}xv~X-)^Ker?A8o+))h(T zzjs@6>C$)k#v>2u57U-iYWc17<<|Rcj<#C)o(SW$)-6JOud4~p^ z{9O{sTDkIfGb%&yiq#Mx`VLN=ZG(IO@BYsWpgW+& zBRdAX68I^ErA4hJTKBsF|6Qm5H$8EkFqZwhxY?jOX26rQ2Kqr*7VI?e;TB`#3m3>G zu6glDT*z668Q@N_8tMV`KY}pl=@i6{j2lrX1;k!0`rQ>Egu%^u~)!@pL z9=lyVM4RE=bxcoW4RD&9p`nr0iN+2wpdgR8d_z3aC8JGwl{0I3P zfPqFZ5}Zc60X0*{zr+JG86ZK38#1+=FizkRP&(2Kqpt$V1-nTKkOY!;f}t5y#OVoT zSRXiJY^F@ODUf6$gPa#^Kx#7F7?-&a3V!@dI8EvRT|zONf};v2=Y42TXh*vYBfY^W z80Q|ZCYTIJ4@@!Hjn62q?|Ne51@1uNhQfZ!qe32h|Jl#@QAD=?{nxKCe66!XWwEH$ zxpJKTRZxZ#+2{;fhMi!XK@C3~R1{YXTIym`(On%=tI_wAuIW22sx#xf*##j-P!TBK zRatOc$j&{ULD$fde_-}ocX^SThNI{j2unwC%u-6?jvYu5#N6gFbQnIllS$JPp|jso z!*RDke`&U(;^A7{n?yAp107xe8PpDh@AZ_ZZ1kL%&}wnzwVp~%w!)@~8~iiyR>w=D zy0v{JIr8G2^K(Q#F6eV~u73MkhHS&bA{OafFQZQ__(k73#(ceCGylbD{uFW@+)C-N zBV+o46)iB&6-5?_d`L`v*oga`8Z~JxhO5HqMg$Ll_OPTqB6>xBoV?m7({_Xw6?*(} z?Gv7i^vnqy@e-}u*MxE(6VS?zczI-OTfxYA=IGl7v)SQg5dJGJC<&6Y=?IXdc+VHQ z`-2k`&HajK1ARy?BZ=<9i-9Z)LtKMnVvHi@8a?lZcDDZLQXz+eYCHFVh!vVc3tDpR z91Y`ohcpbHrUAM+vksE_N&7C>17g7X$xEl;bnNI>> zj>&1ytQS!}p_Vr;JX~SE`=!qoNtu7pCx3q$EM!XuhhUtOpneh4;R|6dLfo>ueqkN% zd*iZQQ1JZX<-WMF|E*zg@OY+_?-LkI4$Dnq2ONDJQYWd7(I)tI5ih}oij1!jI`t>b zj4vLWw&fAkNa#OHBjIYe>cnE4X1<*kc?B#hpaW}wK#^-3o2Cp|v`8Y<&h-6`nsp4+ zyjX`bQkFasp<>-Rfw3`YPtZ*h@Dy87*76k--eI_b(v$!C7~FPjgXexKNNe;lO>VVn zU~S&zV3y({wZoO!#*glhz@}&RzE90Mt|oF(qMY0eVwq3MO1XRSgxgr1a zOPN{HBGI?dp6wRwq1n1$F(9L`%URg^QgT8@z-kuUXF_5NBQm`z3w+ce>8HM3WxSA_ z`b$wedi%i41DSQtt<3*F<-o>yS6#l)H90m1F8o6vRSq-w5w7XuZ5DrC>xgNU#LF==pYs!%A-8=5gD!4*y@D!@b}0)>dM(4V=wy5ftV z%)yjLf8slXG>7W^Xgvq!+T2D691*j=IcD+Z&&B`2TR@dSd`~Fs!N4g{fv_STG1SB? zzbxX%4=op&BwRvV7IwssaM+T`!FcBzap_?(zY+hcY8zUwtIOzDpT z2b5GBJaZCc}RA`=(JuL;~n7=sxBrh#a!;4y{% zi^LWL{-Hocjhl3_3yScfYpEd{L8uq7G!!>bb&yd@-|3%fvPRMoyPAniY z_vyt?Ywt=~5Fr88zR(mwqU3<^6?*%TgeyZG-jCeO!523ka#Zi2&Npd~9gJJp>h!mo ze(&*38}90?j$x4RqhmT?c1Oit^EXqV_2%G4{^;8EF0v#GgM4{h%*5PB8U}DtlLMtv zM1i$`KTmy<`-Ll4;E~(^{tGHGRW&sP6ngqelgN`KpH`-AmgXy0B!4Y&UJ0vNqC)N60Sz2vW?B2!L%NC3tl|Tn_R3L*WL4c=a|#M@rldU) zv_w6DxD7TnwU?XA&TeDI{G>om%(5@fr3$nN$SF1(?i#CCwj;k?^MQMAW0OBjLrc z9$`+{W4#q2`_>;)0mBF(`1$SKedss|9|!;%Ml~fIP@1B#yX@Ce5y=(eg!YA{2$I4Q zP%!3;(x6osE9o^qQ{_tyyhr?z<+(WTMq@W12CzQXD(0Hm#3A)H-5QK#GCSz|Br(kd2OxM%y<(w+iL0#r#IFqE{FPeSN7whh%$M#I*^A1maj?$v-$8B~Z4PA@XO z$AAKK*mp3~EbI^N!4CIT&vAb@66q@#O|TZ2`l3IvV|~mf>$D(BKmj3Qvdxx?9g7SM27&G-BBW8ch8xT>%G^ z$^9~)w*T2dPUQR}WsBH7ERi>^xPpgk32d-`EiIK)!Cty>W-{N>5S_ z9%KNrMN&BNls=4&y+$WRnaV6mLDkFgd2s#dIENFQ{gS5uVN;#e{+i71rsn^?)a!M* zF#nI6AGS!mU^y;I9|GvwLd@idb;{FKswd9=@a|LnCiVT$`!5t!)VNs3U)}Uyj37H7 zAD@V3EXj#;8&)ZVJpTOrh7}oG_>O$$0+`klAY-gRjm3O2`ENNJ^kd`{C;E7ayXiv#ajIWZ;s|K5a)jt7DfcA*efJ|k8lLgF6I))#m$Gva7 zfs$tHu4mNW*a`$v+jku)VZ2E7@aSR2!0ZD>c>#AHWQ;m_CJB+#M64l<$=m62K+Q2e z5l)IZ!w1-7JVA$niIB4>G%_Cerxu67?y=i<%c+mmia;MG!8pP^-EBjeZ5Mh$RFV~o z-xP3grk2YYS8zP6d`EZA<@Tp0t}e_e8v%N zDjWEg1ouQIGPZBt8ge(327;I1)8mz=Tsz_Lt;58Bj&w2_lFx=Jo;J$<58B zB0VK|RmkY5NJr{eP<|bPqPj3XTfkbFl=x6jnOJSHVj*B4ff1M@<%e1oBJg&blTfY3 z!~Il>1goimm85cou(0p_e0%@ON2$MBU;NOHDW?BQT&H(t#MQL~jmqsh?({h6 zmzUo8^5jlWWI)oGaaSruOH<0kA#*M`U1+YI|4u-&r;krSgmsa0Z0w|arMXwEVw>!Q zXHr!Axz_jzj|v-f(4K&x5a#TQXF-Zy?Abbyl!5r>Xcf_X2Lh#NGIJ6t^{5X+(PogU z&P-;I;O}Ta;yJrKbjZ&eWuoO=(sxo&-arWtJfQyU z)mr8(1>K)b+3InZEpS+1>LD47+q~Tb#@c`1Uj``(#>2+mhZg>vkiDpJG zaXbSIg15^bEdJ3HReGqlU*oXG)#sQI8wqgR^>eo<5p}_+kBQNS*#@Ls01!szzM;g% zJ59lYq~}e-NOY8$G6`RB;o?A06V<>8B9kCqKQHL`VpHtl?Sz9PnVGO*HbK18i2Zu= zhDhXV{o<{dH+UKwylv!J{6hh&QS?6u0Dg)8L`@B%uxKujRcdDbv{`eI3=e~~U#3JJ zZ4Q1|L|#ko6ctv`@W+o)XKvl;ZxbEQokH=|)aTtW^{>tc-mD~So%?(>JiF||7p6U( z=fn8`eSAdway5BgiRGfdX#i9A!TM*;;A;0paoQbE%=ZkMh`g&84OgCv}PC!l&{ijldu4js&$4C z%h1r!xDfp&TXPv_lko4CVr8s}TpFTTT+ELlq9kJ(fliX3+i<0$vwgNnk8nlfkRjL! zfuv5kAIwC&4v9>H%}5roKhfEd&=ar>7@TS1S0|jQRP^L1 z_=n$XcOB4p#hj?5X)U~|qSxoooyB}~%u0w{@bLvkmkHnulIZ)kPj*e6zIS-L_h0#m z1$IyefEQkYp?2E%CN0J7`v_XC2xQ5i7Hk>ob{Tjjr2Iatvj4D??rh~L-N!H5H$L;9 zF}L!KOL)0JD^d~m^XRncKECzh2|6|Ny4%af=^k#eb?0fQI&Qzc#>Vfv{@>3@bGPfv z0b&WE?E`}}pujoBL9!`u@co*CRrJTov&^}6s0lucrmyz=*>UJue%@s|kXO>moYq=c z?o6y*Z@BrovB1d~9W49@02fG|hUnl4w`Gg(i_%c6bc32YGJ$gM3IBAL>{AW(dXwy1 z%=7VLA^`=_YY%2gs@_gIv{9$bX6MXNeJy9kg1ZLU*-IPVMtX+coV$IfYu8i(@RmTd zxLrf16^lUBEeu~uO zDSu0JV`<>#>`MW!H1DaLyH?|KJ89qDd4*j%UHHGwPjsa>*lA0m&+naJwYy!U=)ro* zzn4=YG|yI7_(hln%352!A`cP0qD{_`oVU>In#_yjU#`>D4AYVrtviX}7QE zNP3?F@01d*8p<7s1_BwLKVP`;8;k!bKy>)=QhCz4ic{0DK{C+V4>R0G5Dodljm@Cr?>>@d50H%AUDrCX+55LLmri z=v5#wt6ZMjjCms|cqYb`N$3H-54yHp0HI7$!O>pHy!rW`#IE(F?IoN806$0u0S=1T zKS({$&B*hXb3#X)U3I{tF2z1frrhWp$FM{8duu5Q)GFda7~6zI??s)bx-mqYgrSZO2U;}1iPNyI`AesDR@G@ty3aXO?t7mz959$RX+l zgwT*g6Hqg-@a%&J2}p|W6Gt`%S`vc}a$e=n*F0pXEu_e%bHePEf~`kd1ppM`2!z8` z^Mi+s<#~#x6ch{zW&{h5_52d=FW2?uCSoxWN!O!vkmMFv22ig^Z(Oy63?as3xQGc} zyAYg*-%o_NII794E(EznP9Fzqes9k?UflUO$VqR4A$U!AMqv$xR+oEv@M4*+vN>}k zC-0Uw)O-3usaKoX<8h+GuPsy2das!)b}WhT9sW&mAI!QZxl>9^#p}$p+g}HKGJC8z z;xfaK(AM6%PY`n8wkKZ(?AfOMSBn?SAj3wJM?C5n=Rii?gg73TeC8^=JYR|$i@;e( zK9EUhd-~*!iA;WId8zJiz$h4{rPTHOgGcX}@Do&{GCqHoXoN~noVf~s9hn<+;77=0 z2P$o<( zX!iD@qALfY>VvOj*~iUIc4>2N z8GL8WU|z+cJ;BDnP20QGb79-Z?};4-tK66wy`M^44E<>seD`(Lmk`=FavpUbvuZ3K zn4d1miIA zZ4R9^a>QMc#vB?Emm)oT+V0kpjX!O4uHK{<6u=22vJ=lD(dVx_#3BhFOT7O4Ou;>X z-pP935cKG9(K(`qu7mBa4zL>`-_X!ZpyDBU)N6$(RE01%VYqt@hF|{1M~;R1uubvD zDk`K$NVK%vqDrql@9mWXih;zD)7mLt4X9{ zc}MHylhM~&CAU^2nD178^!@kd);Up}+}j3xB_sZdbsbttaU2!rG}^jsWO|?8l!~^u zeye`*p63Q_onFga<&P+h?=EMoY2Przu;a#vqu<#?FQrGC)Emkrd+}v?a zp}97FI8l+_+)HHjEsLd$q=Hc|sJ?XGGI@QCySCP;HoFTnpF?J>Yd>D$g9K|PzlBE9 zw|(O$!S+K3<|{p2#8Vk^Q}U{B`jrOq`s!C32zg!}(t59D*lF8t6uwN}c)6*5Z8>kBOj<`hGWT2* zEuh~#tG)fJBz^_mv94V$e=hoenGA>%xqV{arFrVd0}!fd;Lyz9Rth!{txJ~VxS|QE0LY3rW(UpzH<2p^v|EDVD)YQLq0)?u6@;bA+ z2_gU2nKsd>kC=igKBYUqSLl&78Kk4(DzkmT{zF*spgFsMy6DvwRzp;`bvEjTb`su9 z=RzWGS4r#N+8(%||1Nsyt`Vs;a}NtYU7fpfRa95(i0Fr`^dDPyZEsp_^DUj3T|_|F z(>99#N49P8Q_aTM|s zS#DyR-P0C3a=$9vrct0e@Ss=|1AD65rnj79Ij#MI^`2rMTNjzQVs4(EyPaMb$|HWA z?wq-<-Yp}&0lJ)ofCH|y-M546=g}L*@BgCr-Z<}uwwBhTD@?dq16A>9n;*=mvZu-R ziG5pRCV7Ne@wCjlq-vfb6SH%wwn9rUpG1uB_{!*BD_BNbwt*wdWk>%1!`OF+bKSmS z8MzRv2fsCw5$w*d7Lm{(h$;>F@J@035L zFZALZ7tNQZ+&z+yO{DIaDxjDimham8Y#`~ve%Ic6O2N&pzQW#lH45?{ z*MxJ}xGQvphi$GH=vl_($@%Px-nUrd2fLH8#_8ASQsx(}l=gpLnU0>!9CmrEyFQv; zIc^KfO?iuhPGxo15+V=Zs~suLpG=;vetkCFMTFBiPAB~~MMX>hk$*KxK8M4(e9nWn z+gTFaJ8hzA=AX!kb+PH$y1U%DSl@PeFIQ@OaeV1Xq4!6t6m~j_F7a23$_cgJI4dDG zcj;fD^5B^Iv*TvlbDK<}TT_%zeJ!_ZrP!wX>(yX?QC5j)S)#gEn`$6Cx3sLuPKlj2 zcDrlzN0xTU>`1+rtyMpEG=1vfr6L5Le6@|4gX*`hirt}?h&szx?MKT;FX1sZyQa$H zfhy&JNJ(YpH#u3ahd0$98*F|-QPJ2xrCBI^ujzM6B#Rz0du7*b^XOzLQBP8L9SWrl zUYl(@>Ql!kcc3PvRyS30*>JfnQ2nkYMV`@Xz95H2dF7K5mT8ex>&%&|PRg)I`xGfX z@p8IXXJ40EP}#X-a~1iV(GRms#Zgyh85jzl;)uC#FDU!zbja)&$AYYs&W2L=_!JTo zKJ5=-GLDEpwt0=xl2Q&5-D7#(E6ZcQg!C~*u;n1{8$XGtJ0%I@{e zYZ9swY>$($I>0Z=bq>%3Q{tB1IOuK`;y)u)Ud`VoL>(`6mnG$F;|oR?r_E-R9Ix~i z@7b!?ydyg%NAK03`j)MUB_cnby^(yYXWr*&?3m*e?N`?%ZT<1k3|+b0vtv#ZmiCL< z!Oa%rjovZlU7>%R>*RdbWpd~0PmLG=BCAU$}Q_?vf#i6%W=H za5${Bau{-FPfE=5J#C^yHTTM^_!m=rV(eA@z{CrCeFVRR4oT-l%ZE0XEzT?@ee$@< zn6qj(WwdRoc89rL^i#b*_s0MCY3Fjg2i1iVwBO8QHg#y-|pl2Y^oGy4u>oqKY3Y_7g^M?B!@>1?BpV^+G9 z7pwn9T-Q-yd;juVj$e;flHo>)4> zUrVK)rP0@2bNki!24pMvnD=>Dn_G2^O-~A&Gnth1uOunW#nEfiGzA>0*zU51?s9UE zzOWT1^|)GGhGXddJ-n_W1KFPR$1coT%l~&paLpn4OKdXPm~`QJU1?L~cfL+TC+|ka z?`Osv_IN~xQ?K1#S<-n>{~l8t)1@)puf{YX?Ce@z~Mqim-UHJ7aKw9x!U zISzA%C8pM}@+yR^jlyP5w{ox1FvcaE*8dFN)3jF$I%; zT<@&1MafAW8Iy=smj`>#Xq+hIu{v#Avd?^_wU|p_TEVH}f#Ngq!OJdQ4`P4bGVRe2 z{})^suHnqYC)P8{9jtjK$a{Gp^J9^C$ty!Pij2!l)%IK3pRL%?``oCS&XLMdcR~I^NjMuu``ugnR=QnFsYpWl z;Nzfn6rlG%YA~C;Sy9J1a?%}gXD!oSlXsg%Kxa}fvQ+hl&xYPlJ&$seTu$p|tNZ>~ znGxNzKgQtnw6ULLt-SZ|k2QGhq{(~R%IG!UbMYVPChfg!tI%DxU zeojiNr|tgti$ADWzO{;>Zt~ZVfBimmY_~ytymdW~*kdlX?EH^q6L3(zWr~3X?@~e! zr{!uu8G<~&{3K6W{xZ$CZPm=1LNcqVxr}KU#p6k7tn3W@G|95)kNMsTDwk;t1 z#v6xEEkS*5*_8Ea*|L*SMQu@%9IiB5Qk3MIQI!%!XV=<#UE*&F@p-XUEMEu%tIt5Pe#A$K>#Al~ZkX?5H@Y`EQ4+abt(F zKilK}@$*ewcsFn7a^^*5CaiqlYk!vGPm~q)pIA9(pWx&}_rd}>_(Y%OEU?I_w>oa! z6J!RB6g*lLy1fZ`0*%>@)x|%56kzHTw!AG|1AczH$+$y%(Y}yVu)sja{di?H_^AI3 z0lJH~Ii}zETa{0SA_DCDSorju^N-TkN+!}wxYb$x3$Grnb2U;;nF{*W^_KIQ$@L(8 zCtqg&tpcVYbepVXUy7v9rAKwzd}G#?Tu|zARCANKj8Sb z-)X4(%27%Ff&Xjvjwmvuh43DLKDhzPIW-5+x$fq!%HEDsXjcPY-(ugF?J6noKP~`3 z00RDj6U)xe&-i&_rN|3ZXHXb>3ZM3U{;lZ#-^czVthhG8F1{d{-Z*xI_cDK%pqyfC zPAp~bIA&zcaqCr!w)e*rCycSBWT$cr6=;>5)MOEb&y?7n6gltx{T!V%HI+ipCGP7~-ZG2AEq_>{^6$j1EUjh$)s&r(UJ@ z?Rb3igqBl^c!|9CVoCi~=ear8;8*=Ig$Z^>rR)o@8iU>`zv!2#rumds;?3Vb~US}j?p zze|Foq)_`3(+T*|l^6q!2MaqgKHlMadAmNmmp)Yb@`JwV8iJpo$G(gOY9n{c}dyY#1>$WFf3sP&(fhXHvZJ!swsmaBAf&qiaqg9Zj zK*}ZBLXgIqJ(bv5StDB9S_2>F=H#TRAD4og%8MzjvNUiu;CGsX)*l?P6=A{3z14Je z`%&<33Fv^?2JD=iji88OT&DEoyh>GR+aJZ`DJ_5|NnSqWOQYX<2Xjd9%Eq3qE^mde za@&;0F4VH-U&R=hcSiGxWRwIvrrdeTe#_o~q>sIn_wvqI6tb%x+0EuQ;nr)Hb!wD% z<^~9k#Ce>JV&%jY!{>aGr+``H3H0x^psX8~ex zH-LpTmD^8EyMcvQ2XKYrYgZm4UTnu(GGH9fwzi9-Cw%#bJad!${=lES9lJn z2ydI+q=IAOsY~zJ<^g9Ezq0y@U0?-N^`gIXNf{5-IjBJ)$ zugb_qBNB}lt7Lia!ILgv)kEq>Xy2YnO0t`w&0bw-)~4`;`xY>nS10!32Dqe;q%$|B zwQQvlrMB=}Glr-gA4e(6SG*fJ==9kRy^2-{$xD*sv!TE368q9T?0ZbDi=+>kVg$}P zc1R#-Ne+Vgtv`C;aFFVFP1ZgIeOqTao_0t3HYl}VfcqH-ZxkIfz;68^zW_{uDz7?l z1d%!utwa)iv9`nm2$;+vY<;!LP|OeO4_^(PnF7KH7mq08&_fPU!LQI`lNGP#ZI&FN z-hb-iN$@y`Wc0UI86Pa{@7K=pp+!I-B{UBdur3tLf?Dm6k$OI<1jr04l}^p9#pRVz z(3#N>sX?5AykhhLwujURbE2}5NTda!((EV@%`<6_Wg3=|zq4!dJ zJc6g9b$grdbKY#6ScE~UM9IHW*D_MvK5y$6GfI+s`tqAr**Me603`l}4EsFzU8das`n?^$2tR5co0s?wyMO{qnEI3&SAdm#QkVtoa z_Nf`O)6dgKXf>0BXV__?F3?68MsKS;@9LCcWfi+(GzC`vSG70p^pTKt@|VNRUvj;mpK|;t`lt) z|3ZKCT!IJ*42zXtUtR6oroi{LAlf=7x*Y)n zest#x5M4oJmF#WUcdF?VdQXIEht^1Yd3;U9c6<=pK^O3&pl69mNSwz(bpJkcun!cn zY|Op`Ed;xwo$8{=j^^I3P`BSOS0i4pchgPDv{1$5Xq0HVJN;B&HzEVVI{NX+Z%MTG{a* z`)f|kqtDI#(dtP!=arJ%@S69a=QaKya+7mD)2p94<^mVTp;Mr>dI zH8;4}5|H(^;lBBd$iwY8@Yf$n8wO-?#m!?4ct3(Eoj+qc(lWkLPZyL*VIbK1p7cB! z!%i*3ygmGqYTT@CXr7ie)gpOBo2&}XLeiFS_tf^z5E0>5_PGLH{CdyFfsZZ&WZvWA zlC$^&>ckgFX}^HHk(`wDQ=8b;uuue+GgCMA#U0EUq~Nr&b}PFFUy%(^6lkCy%p ztiGIbF31@)uVEqZUt}>pPWQI3n{Bv#{1_`M$32Ee;p;h~%&XM~@|_qti?VT%@D6E2 z@{3!a-Y!+)SFr@=$wQId&((AAP$+0O(jY&jb5gwu>;6^d56*M}*JQmdJQ>q&$jh8 z+~E4kBEgFOkK8NXKyfwyq1*HouPAFbK<0?9bw)gS2~5%pOBEzglj2J@pg{8 zc+vf{L9eEVgb2|$fe%i|InbVDMyEoX}sm zv-+{je>b6ulPN*C_{j89Y>t1n+Bj`Kz5Bnm6?go%cdX*yzou(Xs(W9{JvqrdOg_$N zDzgNm9kk?+!@ul!#W0jh%IlCf;{VIzV>Nw*&4`@bR!sy;weHv%?~}zRZ&NzS^*iQt zhSw&EEmM{|GL%o0R2-xF&JeOcb=i#zHQugLT_N?Zz01uhp&DmCe|Gz?a|D^Gh%C$% zH2~4ej$mAsu&Qb*Hhu4=6bx)6gRJ^LkX|sEgQEP6UkEV=;$U>_4r_^v5Q-Y{R922d z5@!ybk6#Uwtc&n3yeeEQ&+EE{eX%AGX#lc2t+j$5h!4A z`RYTwLg>+8vES6az>Z>+SX7}Sg^4*_q+1AAKonj9ARwZLO6GN)LMxFBb)`V6EDjYO zI^YJj!c{wCP!eYjzDmWy!+6TEd>jTvCyeNWAb=)o8e>WH9E(Sj5eJO`>vnmAGBtC;OPxyjYFVl zk7uByAmc>Am4uVI91{3SpN~6HQb_DCTP#m)1>8tT!BaYAb%n-baP(um-y+zkjx zUdgX4{ekCRpuqjULz#?H1@iFFQUL8x?p6FrxV_`mjY?M{S7u{puO|l1$i&M#90=h2 z@!Oj2m%2fA?m=~=mDlE*#p%4;`S-{0i$M&JZ$*bmh@E}6S09)y-9i<+)+IVK`O2?v z%-_NNl~j5`D>!<@tCvCv*1K<__7g!Vz5~n{j^J#iG@Gr~Z~B}jy;pzVek z(lpef_OkoQU3lFzVB9#byY9fr3GV_cJIYr2O3wW^Ok=Ae6!&tCrPqHK&0YDCS7_vX zz3#nt%ZK~pQU=A5rW>{B`QNEsmT z1S`!O-!kvi^GA)u*!Ac)f1NSe>Mk>@wZQ=dc7n$s6Y5Y(d<0%93}K%UKnC$EV)k?i z@}@O|h;&df1I{`J9y2c3=V1KctYCt8bXAp#il3X~`^RwTBEx18h9YOzR+befo9t;@ z$tBcn{B+HUaXtz>ub7rr|FB(8Jn;Z0rmqOz2uk_b^`K8lbf;B9_U{Asn`#XxwO!FKL=8v;=c)8A6^u2kfLpQid?!H{lE2(3$ zq7lUmr#q&sAAZHy&#_kp5Tal@WEzgK88~!QFusEr3@=&HaUR|*3b5%QgSf6;TaQPA zR5Tj5kQs>8q;!IY9h`bM>?-c=IcA95p_l0d!5@DHKd3Q6%f|#QRGy&iM8ZNH46c^h zCq%~%VhpC58KQ6{EDls#R)B?G{gnpim`KalG7AhQ?$vTesKB$SH~&CRy%*vzKnd9( zYb{>VCO8qME#kq z@-9_9sQ(1FU{;0;L{l?Eq zExLM^N$Va-F*m!YV&SJsF<_aSmGu3PDhHz~Bc$K|6cf`FU}}EGFULslt>TH2Z)#8< zzd&6mg|d|RFB;)~s+_+8BTU@2D8#{G-1DE(!u{bdgl`g>as6_$B_JVafu>SV7tVjS z@OG9$a+U-p*b4~#6l>=Jq!ABKn5^g*hr+dW2PTwdj?^B+^-y*53Zlmgkk@3h+9X#B zj}VJe^6M})I+1wxgJE^eSl*WJejkPq+2axu2j?@lX$EOs3RaP=Wgrz+coxcjeG(w@ zT*EaC(;SCOrMwsQKbAO0p%{G^(g7~IJ214x*iUT4*Aq(s-g9AA?P}KHw7Kq_?!g|* z(-%sl3A7(!Pn$*Kz*K+d?8^JCH;=cbzhpS9D$TI{*?-uwapr|_v+fqo^VU|dXEKLm z(&0Xa73aeZjr-L;?2z90yLq-Po3nyM-ki3CN&3tWi#((2+AAjm1KTRMRABlz2>oKO zv|zSy?MEn~#C6ZiOR3vj#cj>C^ z?u07lCTv|}l-5O8u`e%Xw+VpFJ2s^`wGBbHWNk_!klv35JpllVAY*pdN|Ikc4~5ot z8FE_bwwcX$4@h}lymFW6y<<2(x9D%<&VHdaHjl;&cfL0W&#pSNWk%!9%-K%^xl&3> zZ~KKcr%_mX^zR@wN$@d}+}@)-DJ>DdL7KL1H>VgI^VrlAD#d5^b+4s*e_h)o%`|lH zi&x%)z|a8Rz`6RLd;YcdI@po5Ilf~HTdVq8U>#=?P00zGv*3ZHDs=5Oju+6_&t-S< zX6cV6HR0qYhD!%bMx*M#@0LDI>KU*PKY+UloflF6Vz9Y!y6^`(A0HWP0>z0fq!G1U z9W;W>*|@~!h_a(6*DKQavieaCyVTwFcFUY#6{+{_9+oLN^vE{T)Lp=AFYmWyG$|j+ z{q2gq1hBypDm3gk1IQ=IG*9iNNooKIWFVGuoG2)7*!D!!D6|}@9xVQW+zmso6{}AS zUw!_DLUrIkl=K63y)$Rn!F{;5|A&F@9h>^dMaKu$-9_*HxT#%k-Kos(*5}>hx8jBRm z0-GI4nI2?;SS(jKjo?scBFiVuu&j`2LxeXb9VnGCqwF(b!ZkLgUX#F8a}G)^QpVUl z@O%dKDuyJHf)hEPixMA_fm|Ta@jUWp0F-?R7C=HEaqw|#X!N>ASw}vygX`el5w}30(3C3tG~xVFByBm6h6Q4x zrAEy}L^XKXA>ERMfZKt@3Pe&7z*g>Xn}>dA;Bj&Z&gr28*uggnOzO=k#56a@2GLX$ z*;1>>UQ|gM&Y2kr@h?(VWN?%ei;rE@F^+zkX3Z1osb`Nw8JN_`OJkS8ItR#2rvrcs zaQL zPWtu6J78QWq@bE&uW$z4faI1|9m{C9!H`=||GeP~t-h9j?aZ`S)rAuMVB53B$@`5K z9!achWV>y;USH7ewUfeiRj{Jb6>2?EjFlxSTmq}7wR|E&PhesT=b-{DHU*SpTY=8A zMG&hsHnvD4xM5*oa6;w7^@+Ws2T1^6b65h1+J_U7GZ~eE(a{m4QnQy%ho9ScD9J)G z#s%+}vIKLU2#ftqeh2j>qZ8VgosLhFwGivxlPkx~pMYc1MgZ*a^5TIE)VloZL8I}ZQxJICHA;Nc= z;_(d#rzlKsLK=%d8~pX_CA9I2Fl0D_0dWlt)YuVFQC$5N>R z!#=P~$J5*KM^kt|xR!iRPA|Lg^@|^8U*o$XJ;@?IucM=frXE9`Lqr&m@QEP)L8Er~ zy?nyViT`l{3NKhly*Z8~miQFlD3~Kv52X45**a=*H85B_USC=V?>w~A7 z9Ly;PQ6q@LvIzMjalAruq=yAU`iWub0q6mc-Y0N$Nq~DbOtzTfMD8K-ImkXSB&GN9 ztgyEr?j_`uk%%B;!SRIB4xD->v=-lZE&wp!TBt+}8+?uhQDIhaYPV<-OFy%rS#)!`EKzslV|GBPrVGN`y4V%;}5{c&SJ z`!js?-*w6SLYL|p{&8MWA2Id<=HK479z70)18YeY4G#HL4?%>YHZ3(Hyj>HK zAS#FNq{=a~!Kh*TXo{wWt>!$SCvsTO@2}7BKP@@ZPEY7kRK2N6|A4irIYO|$>)c@*Bv!N(artZST6s4z zumZ%7m*ZYg%E>Kj-Qs;Y2eG0CF+-!xylI(B0(AhKFI^^Bp*e{IihhwdK8Qhx*0{CN z)ij`;?sEFuhK@nz_?wv$hZ)+-EpAirIMZJ7Jod%$z0W*bpq!YP`$yQ^yT>P&$L+|P znpb+~Y27wC6Rv#pce{y3bAi_hF%j$W4N>`C;j*~Vl&R#gouq3Tm8M5a}HVAoHs>6wm+?X=yH*#!R1yKegFPg=L8n{@+FB!_UnVL z>IBmq$@#kB%YEh#8e9H#Hn0m>vT{D$$$pR+xj~#`gmq&OeO=wQF0<@AbPa{GPMTJ<7MaFkKYm^ei&g{0o%kfqwesGlbS06Uk;2B&aG~-)2sE zxaL1!P)U~D?wz%K)kag*bq8Igwozmlv!o2pIc{y*C$*!l;Qfb)n*jgzNUd7PiHeww zpZYMjkqfb?-Xt|YJB?kufNRY1z`mX2H41=O>HETg+In)$3HrDD10I#}Zx*~=Yo$)< z-dHE%-8hz1e@=plO3*&HHm7)%Z|ayuJB7NijQN@S#qrtXBwQk2?$~|WEwK-&*l2Hy z1snrCZBA&Mmot?0z5U3JlF4_|56tClB>OK-T83-+1nb#C&>?joMwmgIB0SZ2$@gG( zkLUlW(SlL6)C+qI??(nROSqf;brt^+cbBz;=XnqAOI`_GdNgM!6hUubeO~FCyUrDHsmx6g7VLMU zuS7@Ku=2X`v}sSPN=bc>V4$KmFy9etv`1$Ltv;*drLH{dgpG#{UOu_8K2lV8yPBcI z{Mf_MG|Tq~|5okI>9_S5uSj}W`<2dbqk^Gm^%xC1J7dW^w!Q192iyv_79D8oJJ*t~bVn?&8Iv%RavMrDthIFR{o?skK;j4sWYde3lsg<<^Z}lMfd3^>S?K z<*J^%@A|9V6Pd`veBygh*CE>7T}QL&;6g?AO~H?;S*%YS4#y_`sqA1>YvCx>y{kH8 zOWjaVwXNW2SNFJxTOMbigELi37S)Xm?N{gTpH6LC%-lm(_*Wi{-^Q9sT0g3i@cj`N zz)|Mosr0CUyC3Cl=|Yd=rqimjiot{S%*YFEWg+IUG=r$*hpBDOG4r1F-0!b$1_ zdcybVxa1sY!)oV@j+Z?=bLKqTS6`-b5z&j8pCoR|cQFL92Tl2c; zUBmnF!w<{9VWY^KnXfs=6UJyO*>t`j-t9>2&JRb^sFROAsEIl+U;3C)=Hj%X{KsEo z%B+7b2BlLOQ=N{TG<6Wz8vd?9b>_c|dJXTVkz0y?mvgl2#%p(kxd&ei(-oUIIt4$t zvFLarFnVk5IUVY@9On~%t2Z#&h*ZQkS?fraPR9B9r+hgn{_h>H%gniA&BQ|WeCV^v z5wi{FwZqe>uW#2pnioWOYo+{>pl0K5e4}OP6?xBNYgu!Fgz)ncX=%r6f;F)>A}yW|xBVQIuuGC-yKA$v z;OE>CX?*d6mx9D8p7Hc+p1fp`c{Q87hAY-6>H|g@I@P3^J08Gd{3XT{OTGl zSg>$C^kWNanZ@HxS=MXBO&H{Y%ic5>$pqa@3T#vqye%GM`g()$CFN(;nE;S9ft#u^ z$t`B;eLC&aYkEvQlM)_P4@XvNtc~tG@Qh4fTYNv#doY|r#7c#GMlm>~Q$W%!TQSD` zXQ@G)&8y47A#v_-$L@eMVa;uEwsM`@m|9s0w*ecOxA+_m`D4LTk|_PI&S4W5IZeW&sdjV;(41{KaW zj%qmV>r=Da`_pNq{lDK~n^$Cd+n**QFD7p8r#s*42e81D)2z$cqqgqi`D8vF!NFw2 zj(fJ-S5kys>aQ8yqH{d&e04(objZ5~hnEvJ|5*s~A&=R;n4IW;WF6cz&nICb&e-Su zhC|uI!o)3%PB@*pHJgy;HO`@(dcWt^zw!$ z*?OgOkpZK~+V@m-kPqfXCFn)tZ3ShoR(nn+9!*d}v z)+pf-gy%f2o|xN?5`|LXD%>yr}C}2Co0&By(p#R|59dU*ua((pGe; zJnoL8#3T)VaGYFFf-Zrvgqc>IMW>E7{O$vwHHNkxX-r?%`a}1k=Qk|9Th(O)0v)&4 zspZ{KGwqs-#ATiwc9204v3FMrCRJ-3$jvFwjC`}pma z-m&0vnWu`M4B?P9@@JKQ_s%Nc-sb>$$vE!Ho{jML1#4{*O_(hN|o{oly2EwUX;x-@uLM}|9~14z+;cVuo#hZ175XvOO0B>dHt>s>GASzmae=1U7%+pIy!YK(L4J6SGKu*iXf-nBzfBDg>_W)w5 znrRB#z1!f7f%TmSU^8UVz13FD>&x8iEcgb|;Eh=Kf@*^qJ}HRHj)1<{L53vm77T5~-Yf6pc7i^DOm6@n%_bnw4j4BT zRA?YjgptyomOR~!A>?VqF9HV)yCMrUe0lh482r!Mu|ZUWCWQd0kASjCP?QXK72E!u zJ-QaSq<_DoVx$)4*P*#~=h)vBpd`dKmo(*wNd#Ov$%KHGmxMt`3sa^N=LR0_FamYv zIXydb=in<~d1S5(daG{e;1MDMkTBza=hf(8qV1Mg2g!}+hNqqfEdPCZS45`eYjtFs z=b`uuXMhDy8ae4Z#zCT`eUWw@7b-t>=^7XutbG5rT8q6DBR zdH;EP?rcrZFvpkaJ-WI)Pd$m}#jf56D1k`_cO#i|Z82+`twRaaVEA;{$jAdknMhb1 zDWI9PF?{KW_0tr0b2wG4%-mRYQ$GnuFkobWq6irfsL)Oz=%$17%(>mXi{O)5Ovq)1^QP`0|vBd^GS%Y8@cn6hz3L|1vkpLJHSt z;OimXyHwmUMdx{3?zqT=z51$Z|CM)rh^S!d44=Ea%z7l%HFuyKoq>ZTr!zF%m; zl-l)T)8~`4P##Z+W3lnWC`#SJc8$hDL zalKgn%e7O1t=~@}lM#DOrLta3+@jf;!Z~okqV<9vn<(%4Y8~r@!cRinY@+jO&J^{G zRc{_vIm=JWO!~`*e13Gvx$4JVma1}~tuv&f3}z_>>^4K?RJxT5ox z43LGDmzRFiCnYq1R1bF-XZk!)&FzD*07BqvFh7Tkf%%Hx05L}aQIt#=GvG5{8LygM z#eDl&2^dt^>>u@raUavf^@XcpAG3q^;L5KDw+~ZjcHM~Le`58W-bx{c##Zf`Y>Ceuet4651Ts2TuLsW1yW8X}<`x3#Q)N``7qwY%6Tf_!n_bC))ZcyrpE_%WM~Ow{B6=w_|FSxpZCTnw8lD z%^1cl?pB)ABqG40s8!cECUdNx?qb4gNPuT7mny0|_F(;pJu~t9B10{VVU0$*NpK)1 zas?LcB^_YzINE+GJs2n=o-TMA2hI{h6}o5sLzt)T9(lSv?yu9O;6iRmwE0^$4g|j1 z{=nzsRdgrFL`~vU3s%J{f+kj#@rsf=F}8u!X8jY1}U3s`?~)UV+a93y|2n z$L1&QkZc*ngC2L^b{K%k*bJm-3ec;~T-Yj&=T?qaZ>R*r zyILJyESz6rE8U^Vv3F7}hNARqq5Z^N`<4!sTO?gx{>FLML1gD~9Rs(qp+i;_kK;2> zMDha&pcrT6cApctBppqq=L>f&%_G0)(nM)8Hm7I#BUPmA_3cW23?GqrK#S-@?Mk<;0@zSGd4^-~heY&-51d zLlp`p`{;)}GNr1XAFXI!>MmY?tPpCVgL<5>DQKGcdRpD(z~ zQXZ+yqrUrZdIf&*mv}T(un)+TVUxK(xM@`Z#uK(tfg2)_)lp;s+`CLDScbB7_8Ejn zt<4s73p;%#a=l)vc2R9h`%BMLQl6Jou^`M3%6--KkISvLOc+azfxkiz6&y@jTMjxR zo*-u)=?|VbUV8$ehZyUiOML14t)2n=M)2xle=Ne9Y;k!W?O(Jo!9QSxY22}y) z;BgQU8p$WawHDvbLoQST9@I-TbcR2?EklHhC-S5wH8{^;AS+%-o(ZzM0N+14ry|+{ z=n}&s`MIT!M;M(DzqXd~V#0nMjy*g-QtJFTm39kg^|v>6ex%DhW>-JnT_>4Vb@Ay7keK?ZX_ytGH! z9%Bu^A%km65i?N)i&ULlmIetT*INUB^{Js}lgN3t5~F(x-{2+#C6E4@C6kB8F}d|@ zck>>dIb-4xsV!ajWvqSH-zi$YFpb^meU0n`{xuzJ=c-r~9L5WX(KRQyIoNRhHWTIq)F_y?@EP1F8MKGr zsG*tm&#X)Tq6@6K1hhhU(9E))`eBMP#~JA?u{$CmmC(RI*Lri`QJb`3z!*dZm+jpj zaQb8H`mHZ9(!)qscg<61%!m>OS4(4Co3y1Z1E)kC*ud>kELty+Zr{iqzl>PoS3u*p zMQ&$>_iDHhAQ1|#O_?Se8#`O-a$Xp?dc2*lczsZtt^c^=a7G+bHNDV) zSUkHkzxI*FWJKU*0~)Lt2Hz zkp~P;%mJ2sa|&1d3-Frm*i}d&jdB4&l_WIC%C<*sev=jU$17f*$2I74!fqm(h3cWM zOePC#KZ;mR$zeMqnOq+fmiZtS5G%8ryUsnV6n`0y)}K5k79kak0pAR!bUD~E#2fa* ziI~;HW=4|7sSm7GS$|&dc(ioglVy6VqY(wA7Fz?>0tcW?J3o2w&>!V`y2uSre%O3} z->JsREBXFrP)?+2rAggeip;>^M;|J@*MskQi%i*sYSGfMfHaMeXcH*~nS}^8nZv{Z zjCDbeo3L0=L3(y(Q-aaaYLx;_BLzguS>K;C;s~_VC%c=14&re6qP$L*RU{IIM_B_O zwkUoi1W_o3%B=eOGrTbLm(ctOLjgTr()W*H;=Nk5l7#noi^lKQZDt3qh8^cJmD0Rz zf0`EEES+4-UekJ#_c-4Z-B!j~ZebC{+}cw+8wFy&h-Me?Jp7u`+q(z#A4aTvL9RhE zNiwe)oB|8*JC!bzbBD(zM(kt*9{bhz@ppgt%8Vc`=Al2|H#&ju=QVeHSFvXr?31@_Y_mBp-AH>~_$UI

        +H9!#dI&11JUvFraRlHlM(9ARPhi?fW)*x;MB4;M# zaL`eeF8_c-9`fHU2tX|i)n)E&7`bH&Q`qY;eM3i^d~?z}#}o=RTS1hA9+g%MIPzIC{62!(*3C{A1d9)?KR-;WPWf z#>~|$K^W=}oj-ta7kj{rRfSV?nlHNkZ6xPJ?vhx05N@lOeMKlEiy&~55*+jnS70C* zupN&aD+xC(^&}~&z{kUtv>g`aWd7wH$XqFiEF1mY_6)T|6!k>6&B4i;G_)-Pdfg8G z9(=E6l^P*=HzB0Qa>^puEn>C;f_dXn<;0&T@O>(#t@V zIJjBM?7RC`yB{-B&n#w&J^ff|f^jjiYGo(yK}AWp?V=*bQA$7F_H;%f&+6c7wQ9dn z30K!$LddK{BO-;h+K&TGcm~Z5GNa2S8aKxG$+|_>Krc$n<$DZ%`9~XdC2Y+|`*s!$t zZUnv@$j2|X40#mM_``suaqoUxU2S|`p*of)=?!VXV58qKZ?h&Y-i9C1?moWpU zfxNrOQ+M%l?rMyS3$q)1n11uBeB*_HscH9(B{Bm0rMw4Y!bJN)N7<|J-6DD{VjBS1 zn7;EFwl~{u)qXJEy>Rlujh2s@nys<~5)}VsW0tANKcit(JOj-wNC+(xJhn$Q4(&I( zqY;VcKeS7XaSO$60q%V?oBCZ|b&SWa_hl8RoD4m^d{#DvLB}I9>4EWXowM4s4p$ zxZ}hAEuQuBu`YpXnG!0xne(AF`NuCemn^-!{eOP}n-qTl#kt6}!oSyT)b;dda=g`T z-MCZor&2USeCAtJ<2(D9XtpLDWlsN6_vBtomg2Nz^Cxiyi^7Hu&j=Hb-p)6hET~l@ zg=rg7>rGQGq9b(WLF~?)?%GjA#KjD|Plut6UY+nj0&VFP`NLG?xt%^uWSfXUY4&z; zcO+e+EL6$szTFQ`|7utgDMG_!c~mw~{mj!u_N)ssqF$|fI)_DHw}ze>J>Srro`^pveW|ebxc)Mar5Q<;>5c)|9bQn$4yqVx-$(_EH354 zqbF$9=`yN}%C^+5$TYCB9Wo&haz&@t*Y(nRnjE%FoTdiZO|vgYj~(=={%;y|*|xJG z#!ttKQJFrTYv_k(c)4P(7Mb!oH#ymPQQ0aDfP%%cIEhwP_>~EfM%^3LWf}xcC%F=* zX%*Sjoffoez1DW8(B6wPS#@B{h`3jQ&*-3{U@CP%m~zs14U_8Ue6{Kwfww4P zQmD4(bziG$=&_@p zIqOqerRk!4gwZW5?D#P=-~}vwdt}%-+0*2yy2FBnmt@Qxk@yR9DuQ3$otogpT3xxUlG(`Wg-99y?q#(DYNQ+tJ8Ov?AJ^ixl zxKSYJ+E9cn*X@0rVLev+sb=)uPHoq(>o_Z&^42+Tq;KzN(>BASO8#Dth27*56{Nn` z;w8@(!!9~Me)&!I55KkU+qi9T=)t0JQCOoKoy~QCjB9bYXkFHXN&38TJSo{`^Fray zcVQ;YO|#nqv}2Cz^SF!21zUIoDm;GN zMwL>KO@{jX$bGiH^It69e!E3EdE#*M?qbf%4c7GQ(_uMqG{)W%wAwXxTH^ zjiuMg^mx%JG}g|epCv%?7TK~PVQ~Y94)iZlD&ZL?kbhtGa6Z>%~fW~=rBLk z6hNcul`W#;`&zoQ=gOZyRnHjn1UmZ_W?MTVoa6GSl;hUyZ^|4KtT|O||LIEd(O2(+ z{_K%?Mfr{?#Gh$zl6@QdhN6E20e?iCy{BANV*@_$+@*jqKfzjr64Wav4&@xlXUUVM*UB#&CB_>3ZS!kMjF08J-?_rG$g8#0m_BE|)K53@Y ziepDdG^@%wdA!_tvp9z62PGz%<y-3g7PnR(+ zd4(=~Ev@M~xjV&!0R{AFqGw~d#Xet=6S#SmZf3(|pIi7$V3^0h9rf!CRrk7hvyId` zUee$4?j2c=CNuyos>899T^-H8#OIUB*iS}ZHedyRE52`R_MGmAf6ybEm~AS897rl$X3pzG z*f*T#;b^mpyz1hqlp9s^_5F%JrE{sp+VpGkv#cN7nW#62EjaiKkR{~wjQqh(8{#`u zCZC~VX3peDp(~SAZ+iQ3$66J^5oeAwLtkqG!;7x{V0M;YqHah`>GX@eq4xRZlNtL3 zi~qycn?Q5Dyl&K_2=475J$q*%qGL?u-Nhn3;GS5?kGKUIf z3MCcg-KXFEziYi~y?5Q#>aJV9pYQpc^PK0|&wlpK5x88%_r0dzltuL~IlG~J$KT|d z+U8wrA;$&LgP!}$A zaeR&MV$yJJ!eMHzYa4l(f9i675B6^NTIwcA?_u8`*>SB;^3gW=y}L?9Fw5m2>W#Q? zo&=9Zx5G?lu321bFsI<$E>jTbaOD$U&YGl!Qp(fXx5plFu(XX)X2*)Lyogwk5>mhB zszII5{BeEcahiVKJQ?L|p}%&Tdr}rwp*OP;E~gLpYPH4+LALG!9@W04sQQ?eZ6bTA zytLnztc}%cFWm~(rl4J0u%mjTDZP-dnA99=f&0_czR4&i9^r7%K#h4TdZ_L$QBX1qYE7{2W6^{07tY2U9gk6w_PmU+|Fb<8LAQVR`&gu9qfD!ln1rx z+rFHutBRGBOBAksy5`-y`jO=}ZE^<;)Yx-|FkfU#(=OVvRziJYf6_l%LLhd;4VG4m zaP9NTTMnD@GWn^7F2%~QpSL_LIMUD~FMp<9>3-3qyO4M>sHSQu>IUm zdtTMo;syJ^@980cMp!dPYeWY>(_Vem(16h=hMJ*I8*8Fvi`i68Tbs;j3VZShOcd#f zv)8F`+|hNk?HvD1wNQ=luXjPAOK#LQ)U$D}z06bf3*EYZVQ-!B#WkfvSM}d1@w%~B z%k@R-8gcW?iX=TMi8SFo#w5*m#c}wuSbTQ^ifyR ztO)OkaxmI=Thnx~TmuFJ5J~uR`Vw?t;sKMC{q3pnbyfWP(;CjDQr=MzuUWsXHA#1# z%_g_N2#KqQvv2)*%D~_3pDLzP?5j8C@L#@4^%WJIyi0S6FfU&NquK65itn8^k5W?` z-KEXhICiFS@Mq%SEI}491UU45uP~U)VcFSd%AGNnTYF$>unxV*Eg0tnrDqIh96gPZ*zpD1rN8B4 z@45`IL;ZpGCkykL&;QIOSiaQ!9Mod#KPCJ#wg3HkJAHUq;vJr%)JU_)X#VOGr zQ(ZJu)+$?P&hYqcez2x}V`QLeiLCD@@qSEPC|gdk4-BWe)@iR=Vf}$^uv8~y%i4=vdIJ1Kq*zvPj ze5LZtPfkWqg(3fB3Mp7B<2Ph};2N5Ga>go)PQNLnukXMuwl0Bc>LY0r#}DW<*14Q> zQp%HNh`bq3m%u6a#mn$uYZuLMPQwhqO5)-RTw^SCRp+<=NA%t?8AS!xj`L9A0-*bJ zkUi#wDMq0A0boLw;0Dwk3eaZ9lhqS!2tVPJb1J4(dsxHBHo`BNhL7E>!p7G?HSe*{ z3@5EDz}*b%*4aWaAZPn6<5`STWXZve?GIEVj+F=(FL9diQ|Kt+{x6p*WWM$$AXnhmCr*(C=CE9$-uh?r{s4FL{Y`Z4akDS)QK7zPk^b>9Rgchjx~TZmO@W1;DRWt` z2b98tDc`Jg{7n|{O$E1ug}+OQ;?jXb zLGc+jWta!z#|-^{qZOoAkX3x+``h2(5D?Rj4GMDz3;Ppnt^1-Hf1MdBg8EwV-3R?1+e#r^=|AoG;uOIpVS<0MdJz zF-ySf#L4=~_Va>6FZ>rL8;G1AMrbhHCO0}7I3rDjjNUyurTxs|t>0+aW)o16Fwjm6 zDgY~&Dduu!^AMdAba%>9mf(nnnSobjo@a=4H1ytim4RZ*1^kxAW+swZ2M-?XkvKc1 zJ2L@DVe(z35vzw1qFa!XrgdpZL07T8!$^0L&tPe;$&KK?z7w5}BUU+foQi53`x}NY zd~EzFzp+xk^_<__9V2>LAD-{m7OMRBo-H+3f@zo`rax3e0cDc$6rlg>tHDPhUV@mH zbWiA~BJv9NKxG1Sn}`M~GYiWhEXkL5`J7N7A)Qvl3I4Y4wQI#Pf6Iwt{D(|rK!T8X zgF_}Q2Z$8K`YUxZdQ0WsJ&52VxL0M2H2|lQ$rc2>nce3Lu@I9Ydln$PS(wbB0M7<+ z7*jQweS;7YIW=S!3=T+`8YWg*<`?GGu1Rb${|LU$sRnycb8^f|_7HUg#2b*V{*7aM zPu8RJ>9+4K8XI6)D%mw$>suo%I0ZxW=`9}zyKuZab$UQXTKz9w zcl|Eu+&|>r-k&00{iF0-<@D@I9}BWPGg^+Q25sKtZvLtmu*cq4%3}z~62p?Dy$$uI zg9FZ-()JWY<_cXr_XDzx`bG8zB{qs4pXk|yjX&YkVLIp%{JAUM@5j4^@JhSkEVdcw zR1>@1nyz!+av3Iu;aJg@hz5=A=R(mIu^!k9o3?u(8$p;KKAptT80L@M;H>}xeS;Pk z)8i*-k34F^Z|_6n6ZmL^ES!dc?~~>h#xf6KRA>DazBj31s1?nUaD`hMHF6wT8%HDJ zUeMJmEyEn}{HnxvRXOQ~)yG0>6UV|QtYgN96yt`!x$vP)`Hi)Ux02T)a;}Sa@218z zw|}m*d*>3C6s~|VI4=y=%(Y2kFAl1*Z#s?&|kXGx*lp?zm(-|@#xF6CKjXKfazP_e(* zRk1EIzOysd>5$)>>U!b5$AIZxF&+F+e)cQ^0A$|C`vCEv4{a%oxgYVlbkw-tt_j~5 z2DGXXO|pf~Nkn-OKEVk$`80^M420}z!B{270-cUAVBh1oOm%!ts+T26pH;@Z)Hz&0 z#9?sz_U&JO3}KMTX~2gq7J6|$`HTi2en4Hd4O#&5=N2-B>p;FDPONC@Qs2XR=b4ps zdUqftKAiCD`OyYs?7aT^@IjT1_Hr70TXU? zYDyb7R2e!^LeS=c9>a(0vhPRG@oY03m@a=Y*n`d=2ry9H*^O)>oSqn$fe}V}p&&G@ z4T2ZSON4W+TYEa-A@sof`S}Qgb_fsMPpZJCKxcOWJj;qGr~%pE2_Uo)LPSAoa|M6e z1O2t0%Hu(#M}X$1VX@N*Vp4=LTNV~F%c-*A0L@NOUv}ukAWP_l@F567+6ljYU+6=} z0!+p(Je)naPmti~&OIKzX2*paXdr?puo-QfFc40b3QOlF{5~$&Vp&~8w+v^c1!d0I zJ#O?=fBH=$*do$0(bgpBlI#5P8qG$pd{#1c2^o$l(cWFtkO-MSP>E(LIGHY zTfstTL@Sq&Iq^AK#X^nbk3vZlM2k4#<9ptmb6t^tIQR`cdWhULmO(;ied|{dt(<{q z_Rx<;qmEW#{a3d@y=yN(N@pGMko1Rp5VoEWhSw*A@3Zr>!+M%`&RIHBT$J?{jeMd)wtiRj}@_lJf2uE_HEs1*7gO z&selGwS2yjk|rpSiX%<;v!S~v*H$22^w;A9BV&h|wXV+D7o~p5`;V3GYdT_g$VNCe z+%jxuM@EN&3f#-I)<}&$zU8;EMk-%L)s0@^Q<2GQG2;junJHKr?s>OvYCgnyxf6t7{^H)bjd)d#_cF#ehhCA|3bjCLn+HXdm+wO=?JV+FT7u;fg5V0o$m~nhxH!5BuHiMmJDj>Q(M};4?nBcq=*Or&-A1-MJ9Gq1)h;P z{aN@R6eL2P^lh6UWg#_uII1V2H%Y#spuxjXwpDDZ!5IzZ``o7~Hr$v0Q#0blnDG=3Q3;qP(=Q*b za}+cJeU9Y5`my*2hn~pKp@~jr^g-gz>R;_Rok}Fw5!om-2j0Q9_9pTrm}{OW^T^u2 zN2uXfAo2vzku;Q)C=i4$JNiCGfw_Rd_w7@xo+NtGU?Pp}+mr7EGBXbbn2~mn`dJH9 z3JF;8Lgk!;5$IjpZ3PS+J?mEE+H&&tX)+Z;|M z`EriADwaLbeaYn>KBBkq$}?MY^6T?bPwB+LSJSOW@>F#FHq2crn)pGLLboqWEIw#D zStV;0&3BRz-#bJNj>K4_H))ZhlE)x6We`eHVxEoa^NRxxoi7A|w7{q$Qmf#oL$p>= z?X+xQzzgVA`OIkjjwj_m)Itbt3Pa%KzF#{*v-DwHmE2z1|33r!JzDfQAYIosXcQAeOPE{m8N?;!K zL;;ko04UhM&b;bKef_(lMi6LTMDm*mErl{{f;WVUs{PxCY>+42g*p(v^N`)TH7fJ_ z|5GYT#!Ec2CR}Q~GsxMcYSv!Ho7q+d#7{%4X5`r z-f)Yo8}Y2uW~gS6_#QQB@i%rzCrv_<+0x|x!X=BJKY<}wUkJL|H7kG2&_Eg_6`Xc8 z1hJpkvv83-5#d9;F_EU>d|Uxh^$EPEp)pU$G&iIj-a+C7!Ch_sgJy11092QV%NY>K zGrQZcNyDR}>>!@=NYr)P`ZYT){^W7)FLHmwCa?u}0j_)Mm>1`VA-P7Z$zhPTPWkNm z|KkFnnCm%~yzgJ_m26pzyVU@Q3HU*^BzNU{-kAs1T`~mkq+mY_{>~v3svwzE{^)lk z;&&Xe^FE>=82hp%;K{SF5eWSRlqr^N+jLPSed*5GgsQgoikmEU*SPToF@rUx565axw|_pT#^qtQm|MtdC9Uf$aYnD zZ*!chDmFXude&Ba;;Fa|na*-aA)S^`hAq?Dx0GIoKd)1wx*U6)OPa=OkIUX<#eh4| zNh2cz(5HfHY&4TlQYF2u4Ap=T7A0O4n!X#Ea$CnU^j za0X+?Ap2Y)Jdl+SNxVl*NQK2f=d%HahA2<Uim$Kn>QPkR za?&2kd+MBo9j^}&Y&->ocLktogHK~dNrJ>0v_;3ue^3n7E|y{iVcMAtGR^#WlIv^u z0zi$K3=%-;re@U5=F7LPBaJfyB}OnxJnp{sW#u_fsIh-NfALRr?)QtSL_!lk@l=DT z5WB?H?V(K~e=bNIl zMnriX&i14_J3Fwq;RV+o***N;zrUZQKrN&S^%UZU__R1->~G@X9JYH%{Rx?{#k}IL zf>a+S1EN6r!-X!tI|T471h{ysU=Oi+=4)r2b!GpWsK72AcE|Aa1QYZ0;)empRc~r4 zztUpO+W9X1;#-Gj<*J+W-x+%G+!fGBj()o z>6_thialfJ1->OuC@g)`dGx}!b8vzSoA^v*&+u?6s+0CdOgx1XevZ>OOqb6?_nEA^ z@Z(CdDIos5|DV$#%4v*X=ye?wlejMo8Ym_$3;e&LPC>HV`NI=x7eUj3sl;;O!jUhF zU9^Apf0~}wL4p1N;`#^!%|(i*V6-OwdF$ZHM&6)|vl#_vSQsE}cZ;V}ghw5=+58?3E1*2F<6Q>>(oJ2g zD}N=U4DDAx$Kx&e5uXb4fc812r^^Aj*4XR{6H!!9=CsUUuE}Fje(W8ntaZpE>=E0E zBs0iq zPW(yU{2)|lOs)B3lu!V~%)%`NQLr_~j~_=R9SsPK1VYrr#g2%=U6QcE1%51D&=X}jeWC{J~1i#-p8pbqGrE|07#7n8+a z{0u=cLX2xcd)G$x4|09G+p7E@MNv>Xf$n|l-2W9OyrDp@AW~VDKb+=;nMb0aM4SRp z;ezmdW6Bdk^Nd=TA9mn!{VkN0uvtyKA*zP*P+DG@*+vbfs4^F`lUJLApaoTsZ1z3? z>&p*(GZXjPuh}}QCvLwMY_Za*U*<6x$GmBiwVC|LJI|%*J{4%ELkDL)b{e);EXf{F zwVM_@oi(Ezfl@D_UgEAKqCdc*td<|{mzPgO>SKgO*?#_W+R27(n>ROsF>3VVpMQ`+$QW~|7NHOy>^r_fKhiz>|n^0xTVEdXiH!lNMJNkdbUC*o8EjVEsW(u#_K zw@Kst<6g*j$%HF;TPW}Cem*>qJ5dTYDnS6@ukjP3nrFKo+&p!n5$Mce9i2=(HpY2} z9(7HptRks#b9007z=0l#_veqCUxlRzV2!qSv+uh2bBD75!iVGh8^D{1q>DI6I|9D5 z;1(@(-hDF_tB)tf=`p}Prf}Cc7lcpfVMe(^l`p_Gmk;V$+9!6Ef&o4)zZTWRrK`t-HfI;Ik$*zt8euZ&ZD;5{9}=d zy1^}7MyCGof$CF-4uqb6deO@AbopT-@&>e-)tlp-AwJ>=P$Du(xE(r!vioY@ zMzlAtd);njTYhX#nTM|T^o>8!;moqR!RP7X?=(l~Z+PHKHAp#8^gDSimAl}2;WgPI zm6iXLX4F&#O8d7>>=0U9H&_0)RVk|=bA~=UNI|b;JLjH9LQ&l;!rrXX?9|tpCn+{C z#OV$M@okX{u@X}*HLN!a^WzHN5OA$ZUyA~7H-4E%^q*eLtSO#o_V(y2LzNSLr-W8$ z^MWXU4V$*7|1EKE>~J|^WzbEzHMTs(?K$U2Ou3$93vcp9%hZss@w|eCJB^7LOOb!- z5w~Z`vI@$(w=h)(i8JtVb7&6Pc0?($tsZ7jGSJRS*i@SFz?Zr;i~oscwPjZLrqMOQ zVRSsRmlI3H&gUA@vP_{$>TrCQ_k>mTG-B>Bs`rJe(}nlXE*-c#;t;lrTWh!AsJwv= z9T%m>(=8guLa5lex%7njex9niMdk0#{deIYm)U4GqZDHQ3)`IgXVvtCo|QbXekq;r zxBCW-FBtL!m&T2=*?wS9Yk2QBa)TFp!UhLKeR3qX%1p~TI%4l)GPXeULF(PFbe0H&aAg)VDH+vw9K>~MU>=$ltQmB#bsmT;|WutWWX15oUdn} zBV~7=|Dcwf>>(SeSmEESEmAg*IcXNap16Qrmi{6``GT38;udFvf_IZ9M)KdJ#B~py zrJ!+qbi{bDKzT@+N$=l_S*~^#C`Fv-M{0^|4^s5h)mU0G42hqlNNxZu{5hAT+qavM zu%N}gfy^-y?MVzhpfv=>cRjj9wYaj^R-=SFsd0Oa)E!Xd+pM(0emEIeAL%&6X%<`R!JQq9UE8 z5p#m#C${`Ftzj`JrlOU)(WfGQqdfH1zvE*1V#p_CYH~8-(j{sdalfP?Sp$y-)5S z3@zLEt%GMOKn zuakH!j^^b4&t>*LTQa%%kcVn55W6D+{j#t?FfmC`J$7E+Emr82#{=|lzP3dw6IrI!GgId#xIgR$wvTy$=);%= zx5bXc6UFe%Vk4R%Xp>&vCYGC+-%vv(Zo5C_jc1-=R)nartgLLsi~Zh{J8}KRLggPF z(`&^1MO77_jzv-PysTaPrTjW?ZM5Pcu_RfXaMb>*Ff_qi1;F&k(AgJXahDnJhS7- zYQK&-KB>UJ7l<@0dWBzl9;XgHa4?^xG%R^CjdslaCR9kB_&?|1azPHCme9aq2UPX% z-@m_rJi2(fT?gZ|U!ZwzX=zE4Zu})FSQA}nN=ihH54FKYOmW!wceS)!h4uk<#+|8) z3zJ40ylH!5e*B98(lfAIP^-c_*Sd2Z6 z4<*tVxCHG4^_r&+P(aggd)CqWO(N`TF*MHylP3fR3Nmj?2+UGzX$ln zKLJdIB25gV^79v({0niYsoZAzWp*3q9mWij(<=Uo7ScP>o<6-Z=REW;a&s zHA>0WGILzMyv4Sk+HF`$Vly!4`JO0nUPStCIuzHH4Lwa(jKCe z_=a_;`H&z>L2s7~gcIMsStAlhrDt3WxEW^gkxD@4&52mq<2BZqXSKFQlSEE zX!9Icaey-#v^zTIe%ld53mXSrFM+zl?&h;R`w8p=0{{^yKjNcE!4I|wB`M8_HwZQ) zfyR(bzkGO182Ze&&z>eq3_xnpSzLec;Id@TpkfmeE_x*T=q3`M9`q>{=BlYFum;5X zkEDZesriDTJ@TZ`wjA&$mfO<06$3Uuw^!ijU5__>fymV9EdbC#0O=>@!at0T9s+-& z)Nh`b^duq0OTHwLennSV;TcAwMc^(*p(Lb+6w2@WD-Gv^`=Rp)EMs5_;t3Qvxx1n6 zzLlK69xWlv{;PshKq}m*s3_t>fmhk^?hID>Ebih*U(-;^ZTX-RJ%%iA9G#^5fSU!g z2-=JLm*_GVXZF8(brbcEq|dYo5_To@qTGCZI={>J0KUX|lRyBiknzV8rsht3{`|Qa zfQ|$QlZgnsI+W=#Z?BHt92w`_g3)XIWnOvtEqZ!-xLZ^Zkv;$T1E^U)M|3zI`R*VB zeA4;NHiBH+3^-TimdKC{z2-*tTIH;6TV)H(VGPhO@`urEzXNwgU@{QLFJfI!V3Z z?ahyU3APv&ngDd9p#v%g)J?hABf|ivJ#p%jBmoGJ5y4f_Qw>In$=3i;-==<&N;laCiZvt5@ z^gNIWw2=8g_+9GnuDk4h!UKsWq*e&sU>ArZ$R{L0Q25VQL>o89+8>mx>1SlM5;J$+ z5mM8>mlaZM{NT*tp+jAHGz}dCYHQhpsnysX|Jzl2(KIjpLXJ%fx6$Rr_}6( zqj%mGX14FN5k4&~-NzWIBUtk|R4sJ^(_>n`rcgz)MGcPL_?N&|Gz~5>xES{rovlN2 zo&*ellgMp25u&1SU|*MeJ3?FmW8O`#Ua?@$VoK8K>NJAjxsl*CkU!c>{Ghnh zNJx;a1rY%c%Xg`10A#|6u@=AIvm8V@sv8>TO=J$-@8&8jfYw7xI zh)m>@x%g4l;@;EuH#r3@5EnlN$^P%*;aRwW+MoRXO_A4_80A*kQi z*+PNC+=#(Sd*4A^QW$~d$YRC3EwMEua#HP5UBqn`eYJ=h3vT#MfsKfKO#=lol8zlX zoM>~0KYsC>5%HM`CIlY5FP)LsV?A6CLtt_@-1H|^*t9w7AtU7IPLV_JqRDp3L;6~0cnp^XAd(o|0?hF zrruoEdHVTQr4{eB?x)Y?YWvRlNR5q*aN~v&{`bhzGcWX~Hx8m_iN5!gNVF_kvVgC# z);;?-A6@UU=^IR-W-V0J__{M+Xk?zKraMn5rTU6OQ&^XxIrHz2Li5Sf78?Br_t)*! zVz?CM(5h@5s!rw2l%wh9%lb@JJV88@zlvG!{D<7|62^Hs<{kZ~8a6LD6Gx;wK39O^ zlmID$#QVXvk0cF1h3G4uo;ya{lb< zyWtD%vO3AF#?|WzMZe@zcT<*AUuTW0PYzfx^OVwvbR7B@Nrt*2PKBU3a$>8j%gJs_ zB=FbD3i9WS*e$+1n0ean5p{;pR^8gCuCvl5|y`p}m49PcX1 zn;yFld^r~3$GTkK{Qi!5)SB~xo`)J>dx@K|M#zWZk&i2bLzZEX+6&7CwL}jEzwAex z{YLy042jz+%4RpKZOhfyIAmSDA+1ufjzLNYKd*MrFWuZ_-OJS42j0Hj?=41_;(i}2 zJA95G=5#+`(Cx1D!@DZuopuAOz~t7@a>2pia>4C%zwi0!(-sThqa~>~D ziL>!C4&RcO(B327#wWCVFC)%P=Hc2V*9UQqYKmK0?WIlI?L5cVG7qm&T+}}vbn5J? z6Al6!tmI}q2cr9&h!qdcz{gKEz43Gu-%&n1Ok`5$9_^N2xeSI*nN%Wr3C?{P(!nz{8a9{?7aFrob+qf-l%mnsV zl={x}H-Iy>R;1YMV3S$u45$#Ks{yc(#7EG2S)0EJU-O5bdIhJ=VYf?{E@cFNsA^N< z*}@_!`sB6#mhci~Gh17(P9~FX-5L7u7#7~-4U2}k;MORI%AJ;(%Q(bQ(X2i5V#q|@ zd9%ipJTJ}mO%0m1W3mR*N>AP#>SePryjtSFZl+WF$Pt*PN+>LL8_Dm=Co2HaE+n*L z4`;v<7CKcfedEppu&0;;0|U{@U=&FS@fxY7L^4;0Y{6;jNK%L0KCjQ!2-z-V?ZvX{Py4%`+#BgfAfIy_gA1^`Dg|nnpkw&>NhBJz?CDJ%S1B3WH5f;Q@G)Y&N0#|Q252I5> zgy%qb*@6cfSO&l^iv$4${6NDWkOBvW9y2@#sKu9Z~%rt(XseH0bIs6}&*h~A?m zJy<+AjNJ=m$6BYoZ@~5k>EC9*K(3$bAFe_}^hX~af1L8=3H&rb*X%?upO^rEh5B?G zQ9nd4mM~_ayY&*7uFf*?R)m$I820apMrbt~bJ>*GKJAP6Y8|Kf40| zlD%5$HcEx2$0)$RU3>OKpF$+`gR+}|KkD(;9cU(U(cT*<4)j6KAqVQ zgbKLIH;`lsJtvOn?AioMCe1x4Jt7Mw+;wb*1~dX#Sjs^bfwq@Z7s{k##g3-=#waqK z8RpQ=Bl0vT&;Jn+O1QqSWC{Rb>02On+ljxF#D*pL zGs~cY-233!RxN(RO)bUrU;N#InIAH>Z>~uX-POa?PP1#U{|aB|uzvW)ILUMUH-uMevo3-w`a50VmB7-P& z68w_Mt!Ot_T!A#V)^Dl|G^A5k>Wh1g8h&fEa9gPD(bF`DXpxtF6Jd%xkF<*L56MkI z)e>RXe$jv4&#%`(!4Ys848xpcQjlqNJ{_*y2O%zCl>DfjK!_E0?w1~Tg5MON)H~TU zGd0ylq~m~WhhM**1*cYp-=8yd?(UOmdtq&Dy#;cXbSjg#j-qp&fiqR?1J3IQFrokb zLSTk=Q!*iG13|;7^Q^2QVvv~Cp+KLRXr>GYt{wn=L;+V4DCggLt)pKd$ib+Nsu~6A z(`!8g1N+}h4Vqp8?s(K3gg7RKS%4cD*cCI$Q|PQ^LY zK%wO3;gJsKGx_%wNSfU5X|sBq?LIGL`)pxn4nM_-1F}ZH*HW@H@U9-tNll9{*s8`D zwDG8E`ifjZ(?KnT1y1V+n)yd-h0~jJ8sCY`U9|JA?H@XWi;>7MViaWkjvYHt(9~Th zk=c5^@9#-w?4UYq4K?(SK}^|-2$6yKR2)dyd#6r09C2TrIJi1W6i~6)kE{OPL5RwT zYb|!YR1;+AbK0giW(fOsKudyKriF=~o}33FEZzJ)<&k;E#o_h%W3jQDP?dbbU$z3H z3}N&Yh}q+vch}ySI&+hhWLSvxdB)3XMyfmCEXyQyWM*dC{7iOzk&1Pg2O?yM-herL zmQOYzYWT>$VQ|@#c=z)a-o*;-cv~rf*Xj*yg8Xv38ytqkh0b~M35Qyr7G66Np8hms z#|qz0dn{jks+@|B16{2$YvP6mA=R2N)`n{<-yaXj^X3F*ufRtMy=@_K6o?|yk45i` z1MIsZ8)^aV>Hs;$$ksZ9LUmORpg&-p-FF>+0i?tT+_#Ev9uWiRSfiMVz>b`U-zl}t zfG@~nCdE#PGiC7mCefK~Wavomz#=QCm?Kb$Es7WZG=3tpDJdR0nQ%&RYB^sH)OO%4(+;$8u_5o`zkok* zRv3Ii)@B65ce9v5G&XRM)e(bns_GlX`o71%!H`;5!HyVI#7m!cYAdvBA6Hm|54 z<>oV^$5x*$T(sZeE&uqBV^|wtXPm;he#gh8$R@-lQaj_DwxTR8FwG~jtKc`n3OZ@3 z_}4Q`(xFc&nCmd24lk3T^e{S_@PsB#)~-&xB)otlrLV(Q#pd zmvg!ehMD4OMW}cyO{Ee}1PAZd()dfD2QPhJCFd0cQPWZ$ERi%qEZIXv=MzeLC}4m zn$_Yx@crs(J;h%;DS&^CfD{8|G3FpbY5+PW1^DHp*rsBO8Y;7Pg7G58z>KLkp*^Jg zsxxY>3D8l%{!2ziLY|T zctQRz>=T8e=mUcM@;?z@^qji0$^wh{2eHB z7+$^pQ=7@nGQer9u~E>UD);(gb$mJLRHbZS6tC5i6D8PK7}zLS^!@gYnkdqd=S7B1 z@@O*7OmsF>tW(<~p!%{XG>9 zp;fT{6`~c5YKy7``!5|gH69a9Nx7FE1{S7f zcu@E1^=F#nZ;C47AJuf+wdDO3XuR9|@0ClpPuw*(^Z&v-oN>5wyohyV$EA_Gsh`-n z>ovAfR~p==Rjt{K4_Y?@cw(42_Kuab;f~(RR%L;iE8+@Trk^HE?--jX{`qc%)>;F= zJ1-AX(2qqNaq|>+y3|d5N6331V<<|?pl7nZi9&d#+uMTAMskZz0i$ZRoc_UHZMES} zHALT}jdVh#HWE@}?>-(n&^^x_yOpuXh*5*uX+wBIf#pp@SZwE>rOm=O(t!=$2F0KE z9;l$!d=tTNcVxWU!j?WKBd0{S`cNLzQglojh1QeVgk5$txq_YiW?NR&eB&2=49*oa zYv)s$iq0Ek7dmXRG8|CWc_Z-U0oOKFchYR}Z~< zGH$&4%I)sLNF9ew)mD1mRB{v+VQRO;UU^-;^;^^8Ms+OZ&4uY1^Zf@yOmpJYQg%1D z=mc1>h<{X-^rzx&C=vYdYIZ#~aUCqaR(`ryEIkJ21>F~qXVfM*#PXn6S%%%t#|f=3 z&NVS_XlyjhXmno9RwBI~6|az_b-DVS4UAbP*9+8wPh=%9H+T4lG5pwn=-S?i(K6;6q$H9+XFS@E0T@WO5AjaIEJ4vNIDTJ#gc504KwKU@HDsSCm1?PH2M6vTFQc2jJ0{);GQg-o3~7lSqtkj(@}1x8!ZUT6yf@jf3#)( z!px(cyeObXW@dEp_Q*T{?%MX3j{u)YJNI`R-!A~Z6=ztytxPqPaPnAKYS6?3Dv^$i za|I%QWl>|K+y!OS0^<$@O+o4;g-{Nz@}H2hzNFhayHFCfqaG$a4osbYC2bxAcvW?E zLc=6A<96^TxvV|i+(rP-Oyrlm=S6P-x5ZPqS)6Pl1Hb6Tk-i(@Sz^6E0C=Ol*o6yz zi5g+;W)R!*wvHo0YTm5#G38Sx-;y-UsHx+Ru?}-9#HUV)E*P5y_b|WbWZ{n<_p9Bu zk>f!gkGVtG6W(?4Rw0Jp_imNXyTvYS4lV>}Z0kX^AAv8u^~%qAvPp=XCE#hB^PTXt z#B>HV5}voD){xtGe~)x}9Iv2YI1xNVa=(DhUxq@|%EqeY49cnNd!T&G>&98#yU_j`;?B1<=otg<98YuWr{6M@D!$;N< zTd$LbFEP@*af8|HTs^pqkVCYg9D0IU^3NgEl9{aRE*D*Dg;*X&eh5EgKSCDHWO9>setJT2&%^qb zYX>0}H6lDLE-~)cxsAQs?9^I`oGmdrq9ZCJZ#~AsadBPU#H;%FW#BEO^XwQ&$V3kE zee!K2a;ZXG%1#<5@y#^RLQ9lByAio4PHcw{8EeDWA+1rI#Rm{<#UE%Z+L7_fUYjc4 zSQux5<{oe!z3GnNApp{RthY*sEipyrBQcJ}hxc!7t$-8I#x3%0E)x2%F zx4Y5(-FPV=B+@XQRk%QsyDGLpaVqPt3_W#RdPd}0BiD)Tj7FrOsL!7;z5jMA{YU%1Y4YSpD~&f=VqSu z_@T@D?bl92Y>Y61^Pr+3PRuynPMc<*M$P~@XX4y@jf|ILH+_SLtrQpudGD^}QrnFK zmLbDfXHw3QNkcbKQwZ+>BW^BJ7jaF@YMf6jP%vC^joA`JpUrx7GoOYywc9nbU3VzM z!&a><7Mj-;ZMZzxRa&N5aO=0TYFs6^c-KMGi)$B;-u(4Ex)yupF7JbOL)8bw8dJSX0|xiErP&ku^|&V7AX!@N4cOs^faxN~VE{ z*#Y9<3BayeLgoRB#|C1|fDg!^1;KUTd>jEfk&pv5psq$n{{?e*=omfGEp6?Pv_u_n zhMa`$NDHo?`qj|!M9HBx0FfmPhpyN-@}$Avjcw6t5E7!`e+%*)@PPe)2M2@hI)5)#_1l} zbtu$6%TKyKQ?k32PPHYq`aW}PdH%Lms`Q;SpVt(%%&=FgIoJEX*3Z*X`5et_9C}wSZo7i^hp+Pg|6cQB!%AIre>4K~E#o`xzNAD!;0<8*h z<;=NC;8uik10-r{y?Xrf!FnQDJX}L;N@q9VI^AD!j5V1}z=%df{UIl-Mod`=zX?s7lX{@XZCgswhR~^)>4<#x(hz#4JZVRZ|4_oc@J0bnm^UaQiR2#C2;P zQ{H@9V_{)hkllLx%VnQH@vYbY*JGr+6nuHzx1v<7v^L##+*qbHKwh?At$moc%2{*j zWo#97y5?T`w`y`BwbXK>1Fw!nH0hhLt#B~&bG}yh`$v9whJVIvb0W(l??%`+!7 z#ZDoh4XOGW3GKZeo{*X!@g?oR+so-uVpU)|PTqKt@bLbSFvbB4yLm8kVylHaGOILr z#D0}sBmZTwsbQ~#>99?@7rf8)|Nfwc}+c|&+5reHg7JxVFIn0pU_k{ zsQoJ%wfn)gUN&tdX@PoWXN%1_46_p@J_c{Dem%0&v;RZ2l7;D^&|`xFcWwE*wVmnq zE^BBS(TWMud%KTbXL+>{oU|z|czf%~Zi(@of`Xqnjl}*VVqouXE~k@y%(OE&AjB~! zL+Pp|i^78uT>2V^^0ai_qz-GhzA&zpN__Wa+z1>BHC8e939J~3kb}xP4i8>w1+ZLX z9*y19Qjd0=D)7D&-ShvbIzCI}vSHZSCd%+gUZ$qukb#+@z@0Kar%m=T#};gZ^hXW~ z47_>9{SiU)TfCLT++z6GPqU`1MHDpWa`~`hiVPJpxfySdeyF|4@=DUSS6%4ze?Qvz zJGRVm%S{SoWIU!rK>)Gbs%WSJ5>t9XR`-Q4l zjV2ikYnFw~uDTR78~u6KoY@!=yiaRBi{9v3OEL!wzbDm;cvB=Uq@R6OO@m}X%_iwL zj6K{8w>-#as;7KwB$CV`=h%_1LrKANlvOWk-R7Qj=q+S8+%&@ZlUN2H zSH9(^9X`wxCqxnImwUIGg5@&aTYYV5;}8zq2^EF6znNnlgkP$#9%p_>r&>60P)j|^ zR4glEpZdRNXN0lqx5KP06j{Q30;O7VyY&6TQp?vT8%CVBvJloE2)uN(tz3mY!(PVY zlCGf7zs;zNCK`U zY7pf3!@JaKM2z;?n-`1+nM!ZDeL7y9C*sxquu5&$MY{E7`AoujxACK?X%A`5#|Oqq zi{?!Y=Chy68RFR`Gw6^-H%B?gs{TPkwZ*sm0#ZNh@&ky_x!-Ae+}i9mBy>M>(@--~ z3ze(>11_#wjf=!fp|-zq8?#KP6b|qxyNLP=ieHXU(3tG6WZ~nj&o6l7DQh;J|93s| zz*~C^)~KDP2=%6XHN63uph|j{7t56gWY?Hdk}aPVJ+f~oW@PJ5Z_$&5`bpg^gXbxX z8|*IG#EwwOx)jg|2EJ8F4T+XJrY{^HV>8Aua+)dcd1`DK+r`$6A9CJ_N#<=R(zbcQErG zT-InCvEf%SWnVWXR~o+SW;t2dt0#%U4UuXI*4eX;qq`$Fd5akDrBwIa z+ZIMC$V2~G5r~s;UN4XLB^s6#iVH`IChpc&8oNKOHoAN2Q_lPRC-LP}2lSH-YOSm# zv;Xkfj)osTm-&D+`;n3RlF;8OpHJ7LY{%#CPPO>@7UL%2#e|;^-c+;LcAQV&Qr(~( zO5L5bG?+aA=uFn1@_SK6+{fbi^vLX!tq#Z?aZ8mzD|^H=@U zXnDC@R{4)x67jFB)=pi2ShnpgH(YFPqRi_0B{%SaANcA*H|9`u9lw3MlkIa&G z+UU5g%b6Os($#g^5W6>ovpe<@)tT$^BAe;B3n)HIPn(@JtiE~10TIAOCvCIE5fOdhf5aJSh%(;kWLbv=(-uIuM+pCDCOydJTcFXR(~@F=J_bn+?1tk11bPeJOg` zS}Ep`pP+N$8d=;RR}IrgjvxK8se?lKz%NQU8*#~UX63G<`mWwbxaQ~vV`5Ll8VQBj zb?uet$h^Gu`q51swD-8{HRU*&MJ*{`z4q_+aTl31A?d)(#e16uSIVxXPv^VR(d`zV zyQOp>H@+^&LrCKk1*@5=pLCO^W=@OSjgYjzj{J2pjN10TY>!zLl?FU)8Q#WbF9$r#u$kj z-A&n{=Z`=3xLuT0OOaQ=@IcOideL)o@Rg3Bg>;;SMNL?8p<0T=8s*alKk1xC^7o&c z@i(}k$$uFU9x?cgw4rv5*F8Sty=zoG2M?N#|JKkFcs_cW>;*QFKY@9_JmuSHj>~1T zZWt;*Y9cD&Lvbr_Z0N5?w{(RXVyx79>ifk7+$->@?l_+PU)MTs^hea`b}?Q zhS;_2Bdi#d^|E@s(zi8HrGLr@TKC#OpyJ>8U;e(DINoL3lBr6mw8c=?|M2pw;-e<_ zu1IF|Iz5Z2kU5ioflhicI_?K8i<^1q`G=30-|N?Mtseg3oBcTOvDv3ApZ|xkKMlun zZQsXnLsV!`h>}F+p^zjh$vh=w2$`pnu?!)UBqXztq70Rp3Lz4iDaw$!3?)-UQt7v! zt>^Q7^MCW-wzbx?t!L?W-Pd(q=Xo6au@Be19(Nzte4JKS!!5`EW~)&0iDxHv_U?Ro zMv&#=oqx~YdaPoBImUTfPp&g8o8gdOf=~6tq z)3_B*^Y7;Tvhe2*BinihiJ0|i{oT?&ZLvPH3yF5Nht2NxPn=oZu>THQ>RqaRbxr(1 z{_h7ga*s}YjlXb5WZiW;+Q&N%oqBocw_#%V=KD-3cFWn4V^JeY+r_O_qTkvJm+W|% zeracS|A*G>(=$uiAD@qOZXLB&@wR#UB>9+!$I>QnFm|0Bl*R_JSQ_gYVEm4!y1YP& zfn{R|rAhey=!%RQsvPI>qV3eX{tgE7R?kFlydShzQS6*{PQ{UCvz?y$UdF9cwL-iS zr)c6gM8rizt)BgKv(1IuNSI{^7?9hL-;X$}PzLk0PyCB6O9#Js;#Pv8EgS$&mQ=Xg zCwZLfpvkl9pfgsaG*{xRO1AuYoatt54Q0lBJYDjTaYpw*)82Yx*8@@sSp{j;l3rrn zZV{U{%yG?S79Ul(5xeD+2iqN=jeEo9j(-;Pwp3D%^LpjpFNaxq7Ml36oyR+8yfCmE z#+Zow%M;_+yH~$b@R-OyJhPmv7I55Bpj5BtUgwss`)V)VGMHbYj}xi65VWl(UX|Hy ztfc-si=fOj*Wo|~;hgQP+>1@z1oFpUxfcSzuB+qWcT3zi+8)Q0XC^3|FXT#h_sPY# z{_2CRwx`^L-sHb4+qu80L``b@7p@w%2bQNkpK$ZUeJ2NsrqB&hmz^i&1G5>}DZc7h zG^&kQ`E@pIuWoe<9)HGuRzFgW^2OTVgo$yAPMODHN}n0{8%OFV^i@U-3jS*!niBB= zoGcv_C0z7cyBX)!-`cv3=GRC*l_&1OL#8UL^vc|N3D#w*If=ycCYCwj8k@BF>aJ;3 z`^7N`&+ZaB)hzL!c;>VPzDr1jQ0eP}F+I_#^YnWt^7xAE?F0Qxbcd%Tu*fsE^1%@+cNV>@b|ubT7q$&yyW|IJ~{V=s+-Z9Ml` z_ccf3N_t-{_AR`oytSCbca5dt8i&p@RbA&*f2MoU#tFF(<({5cpAumEn&C3*b9uq| z|NE?LToT1qt__^^I?HNwZ>RNWUDhaCot#=*p<(Myvt24`Thma)%uMaUz_iH1KU4YSy}Lu ztU$y#a1(mV*T9qRB+ahO7CvE9-#*0AeOCteLM8 zUp=jAaY^|i!$^V7v-U?RL&jtGZ&NWmH*%Uw8q0si%0$U^LH2IloihuyhJ%St>Btcd z!8EJ-%lYZTON(bY{Jy{4(swN=DDw7g6`*YxW_|>2d>`{>;`s6<@s16eV9c8%@7!qt zLySPLz-O``01Sz3=XLJ(ztz@es9&{}T;WYzq4~aX=29lzVL=tSxpIGM6osle#(fT%1~)nR#!|&gbC@E7>=x1~xy}%Wn&xb1CD#tP7}%xZVOKgNdHA-yZI3W_tOGT!jfqV8JmKM%)7NJq4p|U_{fsDvUc}AaUHalA6MPKze)s&?P)1hz{_+js zF>1WUAp-i(ncly)j=#)XY>nle$6LJTw&mD>?`*xwt{9`D8vRDoC3cxw;d{4R+~#e| z%g(vv$etHhj~CGAO_*@A&0u6<;l)&Lt1$?EDsTmYpcmZE=wqdL||H*Q3Mk*Naov36j<6lm=pOz;>Pqrk#ZgSFruAOk=!4L<*X(V!%z zim8h~A?&b*;ZN5OuyB|mgpGxuD+KyG5G-Kdj2Th}U^E1M3&9FN9OssNM4|r-xmOQm@r)+rkD?J}- zQp`I{lNZu}yF^BDTwIoghTz~RgSa8e#g&+t2xALBEG(AS7a`Qs2Sm0)Wvl}OC_G!nj9A!1pHfi3 z(&xh?iw1FKOMBhZp$8&tdrhD3fqgVI);wI^*Z#(wI3fV`R)OtQe_1g$6(-iI{Sz}D zsq`>MQ2P|I?C!=^7S427F|DXzQ$r)oQS*ByCDAo46c;&qL_;ZjHXbSuTiJR0>fB1} zft}_`sizeNFVMsY#5+hCzbHzNwS;_=43x-l2P`mmn6Uu0`l#IpKPCz?nZw29v=grm zjAK+!oY=c>hB%kwZ{1@*NYcvh#4Glj3UBUSiapt%47nMdi*d*gQ#Q%L>bZ39LM6vVs} ztjK21t3$})#`H^gpNB(R3c!z)nFs;7Cb=Z-WkEU$GulTQ!;w@+88`A@YhR?f$8Q-R z=acWToq213QoZp)`0>W(H!T#4+;6B^T`JzE=#JW2Tfc$hJej)UHQLMwV#}U4Un;9Nf&333A~kK7se#DWP2IMW#oE>DsJP zZP&MMX(+!^t`^i(^)&Nc!$D>ifF36G^@3xj7Dfe2_Eei|8S-klF%CU<7?nGKJK$W1W1#IU(w z^9ri7v;gzEOa2m`4CvxbdHuLtqHiFv#vlQ>{{8bKCO%$&v}e=d@5HTP9Iss$moqj? zxxu)%VA0+6oma(2SRD?An+*2gR|5mjCpq8&{p83h=GG6vQD6Lt6#=`u^%QvL(lawZ zPEIyq7Rm|>G3*$;xFT#B#J%<3O@eVFG4sXv&CA=HlE|VteCLjx`*nZyrH)DbN3vp) zGU-jOuQ#FSSGSKzO)bd|{L@QCOMe6v+9hYpzC!&wFXcHsm`W*F>VDB$xIZ-FxW|~< zCG&lE)0=R)ryo7`x|y1q!e7n|hwboPpPAi~l5sc(X7GBkh?+EjnAr>O0VsK&W#>M4 z@q1pKf+)ae#j3#Ff3nxB)n0?#co?jad4m}qf`JoXIhjAgckk=%}5`=hzkIs+x zPiWy7(ehOO{j*eqzfD&@@SOG@icNYAV_e=et}nbxM@E|N5Azi`bBK=S9t)c*ra4nm zGJ8{;TRT^KPI%w2p?c<^QztXLT0+XpWuT(PR?kaf%0clgv~Jvj=U$5!Px`{=&8UZ- zWKV;OriClYsmB`Cd?7#w&FGWWULvmUzi2Qh&ko{Pq0<(ZY23pdB($B(F#l&7hL{9# zZ~>pSoiK&ckw{mEd>1yr`M?H4HcWZxtCOT;|MR7tJt#28>&LH!*0#P?)jTm z@vGGgjkOYwv!7d^2##d+RuYI$wHNO+>%B;`tR!Biwk_yqb;Wb$_3NFp+?r%`Euas! zhOIKJTkcmp=r1DYBt~{&74nZ9o?#!|j{4CM8S}l_6~$;tzn10ZJsdFSIrH+=-Kn)j z{FXd46k#+H!b z!pwLacSU6OAU3-XJGHizZrq~Y=^2(6P$-uK$Y3@>; z*2~wLau-T(u<3eY+>H3;dU&L;9dt4GR{qzXnhwX;cvp)!mh169i`%?u|AFm2n^-%A z-VCqsDqUlHxZ}ARN0C(R??FNOgLCZ}G#UaM?7b4T5ZjTc2sr<+ zdW+wZoew$gR|2O)xPqkId1#G844$H_;8{V&kG8M6z5N!(&3*5NT3c_Tij$VqRZ|PS zXoIu+%#bqHU@>WpE*2-0vKtuSX8Pkwb=wA22t4za_3mPYaG4$}ud z|LCfSdoeMu(CHGrAgq4O21L2Jufj7RDkC;PpFDrT*~4MW*5?sFJ3YaH9ByZ?%Ok>G$D>Qnu#7@Xg} zz7?8m^k1n-3rWIY+}zw=d~)h32<-1S0c*pia?-ee_RC~^or8k|Dap{~Zu`YXPzago zH_SS3ty$Jfs&_|!NNOqSVB&tuTdX0LXk%(|o_3Z0$L$tNF>DaZ64#P!(i?>nuGgxG zDA)6E`eT*xxKUV)x7cJmJNN2X9JjEr2E-S<5lyYFaj;)K2G=p2;Yw_8Cq{)PTb3kIyHkZ^>>f~y~vpP!GS zUJWhm{LW5B((z%3H@;_(t*?p0R}hS>NVsXJp?b1GXU4^a{fZl>Wh6?j8|CHYIM`H> zc&Y37482(+PEaARthl)5vF9{`XCwUO%a@IIxTQIOHq?>)G6wnMwPyk|vikT1|Nl2* zey;(e-N3bi2G{_rUdJXw!(GL_!guf9B_Rl|o}LLfLC1gH)JPOp#6%eOe%U=kooGet zUcEYwW1<%SgW^vZ0wR$mi5@{o$x|>45XOT$@Iyf3|Fv&_et>K`9bqHhtQcb?f8Ji| zrFFcSM&W!?qcDxs)4$mR@ox+hN9^ww*y!-o3TJ8B{(SRRtVuoJ`{P;h=8}J{T>1%b zYnLb0Sm`+knK*{3m_&U?qpD%Ck4a7z0u%8W%M-7*HEtirNj5B1zdUKic_}PRIq6CU2M(p+_9u^>_I? z(tqS}>eY63>hfyc;pZZybNqqxA5?G!YAw$$e9=J;d^}uSnjs1kfjh47sqydMFQ8nx zf@i4AKzo(++r;g<85F>Izle`?{qPCEH8C+pfyki_n|~n`HZW1b`w|+`fTckk1W|eE zezaqkJR6HJ@cz8;?j_Rxp^Q}3(~AuW0UcG5l&fwA$=N#Wt)$-v_Q&wUge#2B3Z z$cKlA&0a#9CggO1sx~38Z@^r9Qa1baLSVMTX@}1ObQv*MhEG`vS!|oz zSH?~`!@4jfQe-OrrwI4Inha(5w-|i|ZVMrL4g(&4&>#^;ApO5Qe(&5AQnf5l1{ZZ}Hvr zx`HJn2E$@e>|FQ)j%~#RN4|GN6Z^U$vZ_Ej&4k?vL|FaOyOy_;21ZRFR)@%!hzS|? ze9%O^#^MYp9>OmG{>CK&#wcOzyYqHJz-SId0NhJ+^nMa+R;c~jAh;#0O}I~i(7zTe zC}gxdb+V#>f97N(i-G~ayOr3FlJk?8bin^%ZgJ5DbsXzWrSkTwN;c1_p1`;E)~IbM z^zuv+(MMSvNX|X46wVrmK(4~7ED%pQx!?go5rCTcbb_b*Yv+eh8xoUDtXtBw6I)z# z__bh(VZ9x=^#CKO?a!-4HYn1?nhb9jo?2rP+axo@EKYatdbWunmDk{@lmih;O$YWV z4sW^|)ve~_7jsh0miD1kfd6h^rY+pNINfxe_$ncxAxaI{<>E_@!g2Lu;M<6EHry zoOAjq@qZ~m>wMR5$>^&Oj)w1$!l0)SKi4I!5QNvHFP29}W=8;q2ZYoN!Kk8w!WtM! z0EkS$NpNWOSlIB$h=pH{-k`w+c+i3Fo7j z>!MtnI?O$FRs@VBYC~vm&{9Kt z8G&ji((}{XN4kn_p{|d~!HSja{;_ubxwNOCEeC8V{)1hFc}8jSuXY_U`0IL-9L+xQ`zKTHc{_+Qp1i%xkt6hm`j^-O*Ju`a87(ccEKw$?ACGpo?`$MATtZ z-6hUuB#;mA+5)r7kAC+}_)4f23t>c0e&~McOe*{ikK78))?_DCGz zh+#N3Yunn8XsK}_(FJ(E)B_gsT6}K+w_@A*(Z&m(-vmN7Y8;kxzwOg0WKfNuhZ@e# zfAJB&&H}J0S|l9_S#5*-+OnFOQ1k zS3o{Sw#pYj$9Ew7pb18apW(N2w@^Rv|hE8qul~D`-BAhV)-LIj5I)>}PvvB@JqwqJy z1577*i`k_T$8vRSejV%Au$A6%HvVs{?VaS80rzTOS;t@GExxnqW?WX&6!ZvL3v1nq;JY(n_WwUkDl<1_Va=oB)vCKpF z;|41A7wR+udo~v{+@#Z9abn(q;c{30-b-pFfZzZ#5KFAez(=8;LbfkX!6EVnDE*ta zY`M~CO>kzij8LzYH5_^7yK6-aykM!V=y0{@w7-=x>-_2CjMF!HbttaKM>dARHSPWu z6aOlC>eM$?FX?_$Fs#2Bw<7WTJ)`ogF@5X%Vlf7SrSrUVMGrppGrVBXNeubE>E@V} zd8mN?On&(d*O3vmd>OqfXaam?EKJ+qzkgaCdt=@Mmla1`9MBk$WkZyRCMI_-UQ)7f z{CR{_Rv%gw@P?%_32LqQnl^mHjVNk5u85}}qY6&V|3+qoWn;>$32d;2 z#}b@#{fGKP6P$x3{tIZ6mNcz!S>Zw{FT}CX6oF) zVwN71Cj(6~G33J>q}F1#z?2EN1j|p^HD6?!d1}pLp*mHjI#KVj$);P0iPjU(JJ^;V z@0Yf_V43E?W6V(FBd6`~`gx+lMIFB2yhslN2H!_a^teS2XKV+BTPynCz0(8pV5H@C zQl>N~_ovJceTv`&gp0bU&&Kli4UHt}Llr#r6=wn;4XT}ykbO{aPB_fQ7y^-JNqxo$QKf&sd;mC=tHF2x()(l~ud zq3X-zr!WkfroDD+UFm3Uy0&#-a?C582T_ltMVG0=)OY9!ybdX7eG;7~VWH|!U*6lY zPWvm~F8Z**GM1k0Te$Zs(>%5}{-vy>^x@Rz|IDM@JERih22~5b@k&&u_6W;^6A=7y zVr13(qGyVZtZ`Gg+~7?keilw&Rt~M&FZc?t=}U38&8GPY-evC_O=W6l%T^7VY}wB z3#EUmE{(;n>Rn?|^KBVqX?(buM&GZa!=gp`wB}V^rn`~zj`h`wH2$1*W?;8dEKnx2 zXxtSr?T~$&@{W?xR-jI%a$MEMF5J5q6~s{idJ(2OlG}UHI2O#erIQal-P=j--x?FG zr>`>?&%SyUr}**!PpM9e?Iwd(2JMN!_v`%Bc6=8!p#BtC{@B3oN%89nqtPS8aKhUWgL}aD&-3O`fTc+n0zpm_6T+Wt|pw=s>=Hy{`ZfX8&IIiQ#|9zq?@VyA@z~|2nL^x&X z1pZMg#f+IlG(g99@0?zPT47nFsH$G-X@=kFO!xXO#q>{e3Cgv$F(*+>h_D<;Zkbm? z=O{dDLar_|ZgA(Rcd^Wj(TWex+m&dtY%c84A096)VlNGP^J+CnQKI@>^-x5~M`^nV zAEA(qddi(0UUVZnhlk#0FX%R$=t%wFMd=^HMNwVlGGcpZbz)aWPkL&wh%OVSbF!KF zqoRX$o!7IusP(8q6V<*27I%H9jKddp1D9%3!5cLJS-p)u8inGM9s}$CbNyQL?+ezx zp!(6iVV7X)T;bE(IyFD|KQM$xU5W@24&_Ps#--QV@^J&Xs6@7O4>no*jlXw{417v- z#KHRa{~qL0CrzFNe{`YMM$zA8BUe9)%U^rY`>rJ8*2}O{)!q;8mvD=Pi3_P@gv^Q7 z@Y`)`FNyvlqPNsSA$cq)Q!R?_x1)Ho|7@*LAGuQ=Lin()>-JDfP74Ipyo#%%=-a$6 z^!&mi`Q2XxtO)|;k zt~>CMD;tewh>Wrrx@pU@Y$V|3SoxNLqV9)W@taeYo&Bc9n$BrO8$wS~Rj$pAXYnL8l!hcbr~Wuf||^p(7iUkVv!4zo+O>M=s6~1ep5;3rZ67$>>te7Y^n8aJJ3W z`R!DA&@+ijF1_k>L_vr7u)AN(sk@l!`Nmdl=cPR@&>*(%==CI<$yDZ#rv`ifd!g=# zx}=!vbJ_(mOqr;r$%`g$u9lN9{uOjxh`z>`=lfHsED^Vx6;!fb!dDHNEq@!I(&KyT zmwEJ7+P?J{Bv}u#ZWpq86|WjM-}dj@p1zC+N}I7}d0*P}f^sl5GUY+K`K7z-PKe~NRcXK`yy++~GKERu%pGg6D`sZ7kyyA6L zl!Hqi#Q|)b25%elUa>9HmI@81Z1cJ05N34jtjOGkn%c-+wYkC(uH_;4-Z&K6x2LWT zy}It`ZOh*Cp;2d^zxiilx8p?njtg4?hhkIQ9Vl%*xLz`;KRf2ta`*Ddly~c6jP#9y z{Hf@t4(Ev!nR?~QZ&YoH^9*3LaSiWNwGL3DxRk7~BEdA9dV9xGW6d{luem_-Fr==$ zG(UI*K31AzDdb%1(`Old^DrIIevZ`yX;tF)-+gFwj^_3%WK1FWCd`ktK-J1^dOFEP__g)PVd z$42(g%2Q58>=VyoJ+7c_>_mFXyw-gO8z(6IKnQqHVFfBW<)w{zoxh`+oCE4O-xZhS zuPdZ`_cmVE;zSired;=stAT+_9G$jmHzWYjO+2TAlxgc5hNh>_Wj9d71$?Zk_NNuzTKD` z&KsuU-)$toalzV1AkaQ&qRCAv>tq9F}BAW(Ftu4g(KA33;_B!wP0-ic&E`8y-a^(u^K^IPdqKXQR+l3%#-pbc> z+4NI~^@Yr@?S!O}OCC-7Je`S&@Y1aP_+yo2_elSP;+s5eDb5949c8{}b2hl@H1|G5 zCS7?0m6W0*gDD>o31)-zbS>v|n_z^8YzJ+}WF%cfeft__%_KkE3u^9V3|k#wS8QZt z#KU1ljPuIe>Wreo;^O09XKH%yIG5OJi*R6dCnr&Opt8fiWQ;`WLh)GWkb^!t=I-5@ zcfO$WWwaW0EH9NV5k|$pS+X3IPF$vTD|k~q_=0hDGW-htI!W5R)WU(a25M_;*MHx| z$`>~^>wN6%!$Q3}fJO+zgVT7_5YS{nYQ$uELCI9%(-$rHnY9q0fB{ zU0$Ms{0N5SRH0nJh$DZ>9=XPfBkrU$tz&Sp~u8FEBbUc6;++}E&oNF z0WgOCpNY|$VfYFVtuP>Qf=Gh1VDD+%@T>EZi3$7v7>)$LA(C{&4H6gIId~r#_7RW% zE&)1BmF&Q>qT$$D9^2*h^qB7XEp<0}fq63i zwEGMT zYAPooCcxpT1?ZERxv%nnOHyfDX`83^OX`RVOcr}1AcMWndlva4Yq9%` z4@ntt2Pm?Yon2#gu##jDz^RPnVItO)n}YB=0kly8*A2XWT{*B`@f*~@fO9A+=4$AH zt`Rdc2*!aIt_3YY^i9^o{!K@J?=!pnGvi{@ao~yol}9n(#I1$34k1}#@EHM`L|U5v zfTuJ>&%lO*kXsCF!w$YA=@}Vsi)_>d4e}fh8+2O((J4`lgT8R~Ktj=wX zOsY>ZmuAS}D{}|T%;c7$wx}0rw%)zg@kcdmRq6Xg>rMm-PcDmf3|g~@`s$1_6hw6;!vnxBx6Ks-daxH@1n-iyBrrQx1u^X}nEnlom|M}-@LBD}B!l^&b~ z$dWVb2P;U`hB~WIqbabL&{&bQ|WzQ2ye=}SYPT9XcSHE|ol`@!!)5c8s-_ya*v90?8TkM)3pyU4X2mhEy`sws06Ef@i zcg$ZcRlImAVd~50$0`kN#vAw*$24_aKC{>cstgZI=r`;bqJ6Yq`E@~k4#m?>CZVkg z%l5-+Mr;GBJNds_4bBjMR!r82nFgD*+aAOg+{dPq;ba^SKC2eI%LzFVLtGF8M}3CO z8;){6PVWb?_ah<{h>7r%C;Q3Ni43aQe}MsK0v6cNSA%;KqodmSXAWORST7d)8add6 zAbZjRljxtByBj3c-BOPFzj*VF(^+&1wE1tynFF>?wr-5y76AWtAWZ`i9F7ZR1(L*5 z3v<}k?!AP=eN+edu8z4QK!&;$LZUa0f>gtrcH4Ytd1yp#Iz>8#vUWu4E1CkmJ=?Y8 zHhlNIz~GZ%I%+x`@K#Me3E>%!W(m~H*XjE3##+YM&U$4Wq2ShZ)FqQDD2}rTG4|H zR1l*tJv0h^F|fMPa+bXx9Ii)3#hDfG;Bf=1%%LkM5s}x%@b4y*`Z$hgULh{x z)`zFR<>=9)gd+fonL1cDA-^TpmZbM{ae-L8Sq?b;+0Gsz{hUa`D#!6iC<7>~tx}XP z;WYwT+Fx`h02Q$_J`Fdm%#q0+uCDJ_OmDsx^KY?OTCiXb9YMYzYF(BlGk#U2k6a6pE zxbgm8`SzFSd&*lATio7R$4jwK$?&`rHrBL_ij3=Me9LgvKutHssFq2{!}*W#cHUwJ ziA0{hCpsMEQT3HzZ$3U{_{)jFXO{_Ag}M*HbsIrzF3Fz8HNg;8 zsLKlU$CHphSo^)OX=XVW_yqqf^ZIr_WOP7*dDkwp&!7JOnf34b%frj7h8rE&PDlwD z(~w}^F`qvlWO@9^$_s;Lpw%ku-{_yvSKz7<1489-Y@D&Pf3SiYz;qnLd46sD$ffTO zG1AiqU04VjsYpyXjNS2qH^7cX6b8icIXO90fA9zQKo8+D_TN2w{|zTm((K~bs;@P# z_qLV^0n?MzEKmGgKG+Os>nNo%u&0+xOB*Dco2h20_-HKeQ@wkrGukt67jYya!a|DC zCe&vA8wUGB5^^bfA2m-4;_yUxv zhBIR+idggQFGc7>uO2Mzy-Kr0C0SQPOGC-y!7my-$MeQYJLjE9>%pa+dN;&&Y&Bn# zIaKiJY)Kq$(a9{Woj48KP_H!0kinxz7%)?|&Ggq@3aT%j+C#y*ft~iZT5;f&mtkdU zuBVN>8sCbsi&cglI#>8+)4BtRiuo-0y{*_CFr~#Q{P6Vqkw>3V;eObuwyo4gj_n}D zyN$-Y*Ydk{!?T41Lawn7t7&cAxwG}#MAysC*pJsb`U}QG&~N9i+eLkE)9Kxth8nE? zgIMhVKC%^z7VXm3Vcey>B2;%qtYe*F76Vh|>a7iKA_^37LN)FgZ1s%D@!^>Zds%%Y z;bZ!Tn@3i2ZAn$z#ZR-0L}4;lJiq+`Mr$B$$;c!Pz%NGO7RR-{d$zE!DCz0x-LP6i zL*oknH#_BGI2fs8-*$cIY-!1b&Bnux#K^RA02-ubKI=-+@N9HGmHQ9Pmd(G{STY_8 zuD|hWha2H4QVreMH>Kp9Ayav+>42dZ%Unx~_3N9mOS$|I>)?c8_WFaTMf!;*k36Q^gYq`i*O?=jOVxVlm)XK=sU#z8=6-aHo(w$^cwOGW?Nv!h5@UKa z;|kT`<1OOpwHr@A!lBM+W;Qe*aSR<6aSF$fy7|WnzBx%rBH1ii*5vu6$l>|%sm5B- zh{{uGcSfoUy41>j0R;Np;9K=+#^5+x_UpHHJ=CYK$RA#KW9V>(gUyK#nPS8V40b2? zP^%NB^H--+@b;~^7%H!&wUNB45Z&0qQWW8)jVoCT_$f>tEOtsDTnBl;3=Msc4{&i^ zfe;E6xjbwnZzPI~i_=wfl{gPk(aeye0>)wgKYfqksGW!H86RfPw&J3qWekML#20a* zqZo5`T~@Tg>(7TKYxXr}VV8Pp8ce>#6+Pa~UKgg5*^q1xJ1O^j*L9$}_g3;HEamjZ0m zRMMCn5?eK_4w!y!q8Xe8F&Ro9qOPMbsql&doqrB(=;^-ipWj|ZcpWVRs~l)UpF6WQ zp<5F9E|GA+*@4Nk?br7&ugJuAuu=vRhM?fpr!FcddvTZ{>T4~!LRxbS(|_ZcK%;X= zs}+fC9$9W)PFec0jM1@{hA1BHK#TXGQwm_(da-6UrdzB*hLoKce_DC0y_h#Tcul>$ zp=k2Gw56-X8kbjDbObF1aj=TLCvmK%dt_u@14vT;XZDgXMB$OZc?x1D3c1BXr9XVP zNlGB-lR1jISQ{8w*G2pSQozW}tSB#k<>KS3Z|z6X=8?Q1xihX1oaqriJ`$-4CsTWn zLjns4RiFGHV5fn@OhbZ=!F9^;UZ@CL=8}hTA-N~`?i9Xg;BfBD`@<~#K+0O<`9ta! z6S4vVH&BkbFV9(g^=@lzqz4GqLevCh=Vo8>U-xWpJHFMJ&M^V;o%lL2~y@cOMp; ztNN7dy_VJgfkeM3Ns09{fekYk29`rtg2m4&KAP`OjoR@p zA^*edUc&wjCsxi0dwYJA>V+(silp>{#lJ5Yve-)ahrX}LU;=JvQ4_SDFjYaL#ldv8 zxxPdoznIyh?SI8Q-Qji~n{4781$%TXWh-m~Qgy9?c=1c<@kOKVH0@!Nco{9F`ErJ8 z+lax*Cnd*|D(Si7?P`)9>Y(AM(8!TbswYhs|K zE-NcTZ!tVM846MlggV0CBrYOphyVoWZY>WaBMktM1NfsI$dMsFs&Hpi#jn7w^7$9% zbn92gYboxYoe$tM^^8 z+L;XV#^0sT{~s5Cli#sCc5=%JaGEJK6ulnFc4uJDUVKtRnNhMwm?wYR#p^)QEZ^Q& zbnGd3x$*(k9H5{~pd=nQ-=h!)y(hQs)TK*@%zVFHTl|A+rWhg?3KZLf#zz5m9VfV6 zSluIEzp8_+$139?jDfr~)MiBU0VN8Gj9L=JhuTs_O-)c-8Kfszw0(qRWgMJ_2PoCM ze&Ez~ad+q5zdsgjG|31A;CHP~$7MW}+gsfYxdEUd8(Efrgjq0qSY7n2EH=QmnT~{Y zgjSCz%|PP~MBeC*XxLd#Yo*fn7sahP_{27*u9|~Uu=`;Xb!h=pX>)Xql~%+4^)9VV z)rF^~QffcH)HcteVc8TOvwbXa%$5-x8uZEQ7#PyAn}EJ~9oHd-urBOQ=G}&5wvI@P z3grCkUx7h@tmx!f7zBK6DR7XRiBo^bGafDSK~vp1L5H&BJBV_xsqaOQo1brSc6c8%{5+(%7Kz2bd@;|NE!Z@cvD ztZx?VGJV?}I)c!9xcyo5pW^s~oKs?6xB5NnC>|O;IA=3we*k$wGMYM?u19c_2aqxW zK+*N-d7O-BnMeW@7S9$`EQEj8+L3Q|v@74tYI}VQ$WST zgM4m&c(`L!qy_RepgzjqoNXClV4VmWKB1?8?SMZ;asAav$7kqqiRm4XgR;rT*<=BL zAeXmxO|y8hj+($J!2{(L&c)4AJPv(6&-Ds>d5#{?oLL)E*!-HcykacFCkL{ znJ)O-pkIS+n1B+q>GKM{C1$h{K(~ZtAv7kh%L*@x>+2oal@A`wq zfa|Z8xMBT=da$(X%w)vm94r_3R6m9!n_?7=V2VZNPIFUdYE47J! z=TYK`V>3)~OOJiL`NBpgHgP+S{pD4A&f9$#%X0MS<*m6{tr2GNV%_0@3H6lbxm}F3 zv(0HzbE*!%gdPR)yPKOQ{eI8oyK{R@a&_^GCY^u%B~EXal}k8g>3xTQH+6SU`^qMXJ8QCmy*hlXtlHN>8jT6+Pt|My314ceaTMG8y739s;Y!$ ze@=YKt+1OOs;YY9olg!W=p6E9!!EUtv`7*=zpua0hp;5(qDkBq?mdxG_xDQX!xlAx zjMY>cC!?YQ#xxJrgyk(3xpg%+DK@S(GZbdnF_*DF@m;T@h-OZ$N^z%cf{`U_@Fseb zfLN8{{&>MZVj5wZF}XLQ#;MK5%VKG0Y0qfiHhm10fQkAgQw=chNxU$Ha-4!h@^!cCv?DkmzwXmNk^93Asdl-s^LADEz?7PC?sTRHD-(~=Xb z!yI?ST0i*6l+$IZjrS_)zly!OCHJ5{L1k_>Suy=ajMHF4{1zL1YL8(X=kErmZ=9^K z4EjQA`=yBv_aatsgNRG>;L6a%+e zRmU~4=v@lJ!5g%0_xVS?`+hOK`90|NBufyhh@P63fjEiNbft=@f!*ALT7->H*ir;_(n`Rxorl50Y9D%2j3LtvCF# ze)-p!ME;Kpk3N3YNZ3(6poJCVdXSxDy!AuGMJg&gR8~$;|Kg4uyf_(aAmNAW@P)pd z!$!91rjFX9<}j90o0fIw0^>ti+js1ESui;NYv=H$=ZV~0zCv1;E(zVMtEmd~aWo5+ z>go}BS{pIW`R1)$Or&<^uS){O&8>trDbX(b3hYXv>1RbGAznmcRD0*3YYkr_p_U@v zMwzYM`9ZAC-?%x(~hH~e`xzAASc*V{zKr0-@={%|)zCSGRLQq1* z+j~-b6cf*D9rvX6oNctYlfPi1g{cra62HKKS{yNTD2i^qzhwL9<3iSMwD1c{eg3jP zyx_q}gpZeiApZR`^f&6>y-n3HCGcMPl0_cCt;0)(fvxNcLEw-7L({izeTANbf+*rJ zF|mRenb^WQ*;E)NS5(NZ&i-A!1?O^X&BntP+Yq;4el-puSPic?rnc?0P9Iq3rl{y!9s+yYs(RP z-r%P$wxLvVXE@vggmTLIKV^ilj$8~96*E&y{&-7tmq3)Qbnx1nFIlV-=yZL}CJB== z9_l_XuY>66h%v3Tot-=0DcuZkRJbQj9PcS}C-$ALet(gyOb|gp`E3ZC3TU-Gt^khp zFq}>^{Qs_kD2Xz6?Ce5G)t{T_oRPbH8DQH>!kITP^HaQVVLu?UQ7oTva3?*5KGl67 zQM)+r--4M5e*n_oU~X_Bg+TlJUTcFAj~_mQqv-@B-DP9(#w426sL+yz0(KevP#KK} zuI1pw(Hc`L^o%}>Zrx-N;dU~d!n+VRBooIS8=61 z;nKwS64?WqTPhPaTTT_#VBe|RW%R=F(Y#c$>77Ckw$ERM?+Sj=vV9Ssk|KigITrd@ zHLy{6_V3q&+op)?p%e&p*x7}l&U4>+6bBxttp#5}%zj;V1|3TZtCcm1P^tzj2mr4b zP0oW*s($(M3v|rtIr`b8S$sc(6TxG;XAx7vW?+too4lNo0T!#8ny%%-GE&!Md%N#SKHli3-- z2vNS8?z$PnC8dDVF1ny#cRdFgY%nAZOOL$9T~dE|_9+X>0w?tn959%YYu zt~Q_4d6F0~vLSH&v;ALYzRD(uXLUAWB#u6p7Xl7sp3j4J{0%2B@vlWn%UAuQ6EiSm zQKUcn?%_+!4~ZKtSh?F^oGd})83v{onQ^q>%m#W`53CW19&o?70z-0GtbdLJi`|J} zizXM}pUS&8;99?vX2luAY>L;cGo_z464PNoyJgeQ`g#y<_Akf|KaGm4{{75Uo9o>> z$4>%Ttc4ttELZeh3_B0S8atJdI3=HVw{+A@XP#7xtbJV&k1rm{WOG?E_})RgB>5K> zEZXOO2vjVY8|v5{*=lGr%UA-h8l$SB|2>7`$^8f#@LjEZNUtP2h1#V+%-7FPp zX=yZV8#tlKsD9w?qHJ!?i9tgu1SfcLV;~Z`e;J#jTLz7j^ggXFD$RQ)oPj(Jduwh@ zuryRTzb_xOOiL&cw+uJj@Rw?4=WSl*bHzSZ=`VFSw%s1v-x8r3w^S#kbC(XHM$}HS zf4+AjYN=sy0qT)r%qvmqthpmFj-rB=IH;f(6L`~Z>|8l^$#4>wEeSnE6aH~_wjJ*a zxpXqshI)ypg8}aa-?_t%pfC;WjwCP**zhnWR<4WQOUEQVCGPeSRnO?y7|F+_w0l-Z#^C98LgsQk_B@^kFIb{Pm6!BO=wwI@qKTbP|0)p za?ZoT4(ms)qCDl(dapm~-|!DN9q*fRd-qJv>D$G-AN5{Km%=O{9=%NA>0BUgyabI# z+1P|_X!Owdy}!S+40H9#T1`j0;D$TEbo=TKcx}K!B?^^$lVrCEH)`{(S)Bstl;SX! zCYxJ2W?G~aZ)|Vh#ux=vyb87(;!mvu;X6bM#7+l;IZSAX7sEWJyk#lhejmW#JQ63E zDnM28>pBXplwo5YBDBz3Rt%qu1iS=_C>r>Hg2iGH5(zLLv5>)9ZbbjNn}`>IA2wX< zHsyoke<^(HS$sCm9K7&360essQ8MD)6n?w7z>{({JNB_k#cB3OVPVERs}aZV?7Jc& z_Ce#@6F^j~xx7DR;EH|3vXJSwO*_tA z;#@$6!T7qU2(CaMA9?q#7JzXguL06dxKLrU8G3Gl56k-Q9bUOol~> zD6op^b683>K&GJk8k`QFD3R{-CmksLFRS-2pwl~D;xv7lr)I>3L<^zAap*4vbCceFUZ()7Q%gf82H8=@jVqkc9cp}b@ zsp+r6IH;R$w2CG^)AKIgbKXifBd%4{QavVqVzKO%ZNkYxRj)QLhxv;dk4vjwoRkjx zsUh#^VPsp}eD}6uM^Cpmoi5w#@Z*}Xu`%Swg!m#W00K||ORCr=tYOK0L`z@n^G=ft zJ;nRw3UONl-@n$rZ$eZOuW(OI(XjrM5z(u1@s*(!UF3#@?wdUbWL&KXSR&IA5D0hsKNLKXyIH_|x zVkD8Zyg!!R=JK5WyHWcXj&li$R1d0sge1Lm<@wx&ozgCN99-_Ou)q!T` z{3dG8+Dx@=`9G$4)~B?HWyiHuQ<~#*ySH^Kp%(wIQf_qEz13yqWiF3{bDLwY&nNGr zOjfr8W7bwwCdpfFD`vPIc1`NiiEY_Zzm_tCw8n39N2-_~Jv}OjKTn53yHz=ATq;n+ zQlMAXgt3dNd!r%O`!*kk?ZL0b=p9T~Vz-6=yuYqhUY_4~iv`U-fg1J=4SaM5?HSBA znQ*rHrKpnYc!9mVIV$jd>>T)Ia}N}&_a^KJoNZf`73;9>nJRjJ(2K%wEaM@?9_8fL zXZux)Se5Ep6TYk;XjOGyn$_HOK|&cdZ$uaSkrKmYC-bBWsyFr@85;Tyg%KC`t8>|< z0;enxi`v=E7^~ByNZ&tyVf9yVXEvoxCg z%Ah7d^Zf1cvQW*Ka>eB)x{F)yw@{ww>zkU-4P3l&a=ei0Po|oX*l*67osDl_fAxP^ z+cRcHd$(ob)5<29q*sG8Lw%P{Bm}$>O1$!h`qfp{DBHYz337WL|NhM0?-skO`m7u~ z&z(%pxd&TCduF7>KKx$i$RG2bDIituHAUIwpA37$Rx8gd?Q%c#i`9=NlZ$kZ;@)N` z0R>KpIRqL<@G9PZP%Wz45yuqtl-8-DCv?5iZOZQgVa%HbZ|&m?I7xdqr$Od=$~mQ7 zpHw1hgZF6#Jra8~pYy+~@U;&#Ue(vF+1UzJ3f1mHvyQpn-Rw0NhLeWPKO~3`DH@#< zqwKMo_kJq8vUlri6`d#EEM8r#gW;+%o`8Y^2f+5amgv8VQUFFpG@a*6b249@F!dy`rXZpjz1c zvg6}gGe;XbauuhvP7kjHbk?|0mn5V=EHX6OFw9UocT6Hc_LVSa_lWX6o!7$eWpWfLT`FgrCL};Xdqm!TM~tARdXInMM{bQHbFy>YtmPMkvt65xTc#VW z`@Q}+^YyEeVvjmr{qJMk@G;flN5=ODOUkdO@8{Cjp?Fww=i2MJ7@C#%gXue>?}zWa zeQx*BE9YKl8Z+HcpYTpzNf;Y(Lv&XLh}q z{-_`{26oG~%G+OGIeK&5I(`KQf1{x>qkl^{gtb)B{Q3Z!!=Cyq22FZfibt3$7!=SX<~d8xE`@vAFP7u>=_mg2rqAn+@+;g94dnA$$1yQ zk~zVv=^L|Vg`4|^)?R_e3{AT=g|`!e4ipsCQ-3zQDX5}RB2D*0scKhH^nAmW+?j~& z_WKNNf9~!*&0Fy-Tcjs?Aj#_A61;=Uis=3@zG;C*H^63nE#35eL37T@&T|aE1jjb8 z<2hH-9cFM1D|qK)DXZtHcEMsM;$Gv0q^EnGZb;J%<}k9 zAIG^+=ED1(24Tus6uVlg*YK|&_Q$ccQDfh9Q@=W2X>Og6)^X!T4qFk2Ew9gs!dGH2I9|`X=`dl=|tvl@8Q z4M=2(;S7@fET6Eg&z|Y%{xuz&En*MKDV-sqO#y3b_%EFc6?Yp?%GOeH@K*(zb4g1b z4LKK4#j7P6UKL^GmM9Uxy|J|EZcWcSZ+R}YVF%4!M-x5z>*lCZ+1W~V$381QRaV#D z`JdJC&3@*^)SKzp&BY?l@4gjjrdmb3RC>H@)n{UMWnG=Kp?OB9je4X5|_J-Qs=n2OhBl!fDD{_~b57o}p3hx!Tj+G4zc0!eAJ5Q7|DJFnYblGLg!fvHic3{> z#v1#cybj&*{us6f^)8;}JR{D1OJ586D`>|zoulH(s;ET;mHBZ%oxXd0)d=5?(ieO; zvgvFEtW>48()asc+`Zw2{EqAlQU!<{3Xxcr{oE8eus5F^SE8n8d-W)4!#7e7>f21% z7~a02A+WMhRN2|OsE19lZaOZzKdSc4g`!rvRo2%R3=^ITHy1?XgKmF5P?b;}3zqEi z`>XlWJAq2`GsU@m$R_w-yXVR+$#89o!c(meg;z# z4(a_xzeeDcHjH68AgrOb!7#cLq<@CqK=-H+ieK>Ry!Q6|X)nOHVvNvuKtE}V1Z|x3 zdGoa_5VtIUpT>cPyZW;7oPvE>0rh*SuLj5agjFd7{c_Cv?rsh_z30~5iaW1Ft25%7 z`7$c%=Cd#wej3~cufO_Q-XN89Um44*;oOQgCh(umr#4$qKn?+z%ffV0f(MSpS6G6! zhC-BJazuO$%bse})x|TU*>~j4?)Zl9a?ias;I)-$VTIg#wf-u_RT>_7d!a+SCi62W zG>}Gy_UZcXZtxiqwK&3XP29+4-Fc0&un84lzvn#}u8-Bd&q43<*JtwCvj>{Mea9cp??xLg{C$tgIpu6AgQZP=OL^I%pC`;Ungr z^yOib$F#I|D=DSo%@u(q2U61Hm5FX!Iw#x*y4l260hcUnSlpQB;x@lX0`kC~eJ8BC zbSzV{C(OrN>#SlcaGt;Yy6;+LRHD86U4Qx?qFQycfjv?OEOau1#A;v0!KTOn%;8cC zs1b-Y!a7FASlq$wn{PqS;TIP_iPkCx6&*p<%&!`@{pYa$Kcm=@Z!gN9Ui_qn8aETS zMLLGWFcQ3UHS{J1Q2X=n0Ap-dzjEdI&70^!>!J)3>JRz z@zEJAM5R5X5rU2|l_w(9sq>R)?v=ri)YvCg-ctu<@p%;5D!-Ex684a$13DpUu=6~R zw@Ca}nV5)m4QV-G?en3*QaS8Kw{ausQZ5LTnGNrnEA zBj5=03kVz|mq1BLNzlhLTsH<@bhrtRzwiN!nSnM7jk6-01X@ckS=h9s`J*Lgj92aQ zYA?tq1=ypy@QusBBO>N`?MvDp%UI_)&*%}BHM$b-r{`9;M(IRHetVUtd_+H_Pwc1q zoBJYB$*i9#uExlBn*`XJTSu-FE;;Mb-Inw%e7j{9y@q7q@ijV`>0**mM=|S>5LPg& zicAtzK0-_x;`Z9Ig1R_}wl5jZ3VV|)uHyy(BY(h1#0=|{talJfKIa?beHeCNH-c(k zxw8$e_bU8xdewd-$MmHl+8;bJGO=j4NdlP0gMWj6C2AO$LTLH--)0JgJUMfp2CEH^h3ZYe78kQ{uPX6Fd8z5*zPQ#Gfct_t zw#!zdr`dr<4!YP|Fy%`dY>H&L8u(Z>5(xxAS(tKjVJp@A9-ExgMSge-=hMxC8J10j zOHZxG`ZP!1?Ay6brg&T-mTg7I$e-skM2VeNE3#vsy5ahuiGC zA_XGG4}3ilHYCY=79Obs*@Vjvb}0zO{fjFPALWyAjGzt}w@krY;648M;MvMv`c4g- zYJNE4Y?t>4$D$-c6XMfA#&6@^YfGX9%dq-a9d=FYO)#e4nrjjDR z^!s{Pe2sF55jlv7hd&5-h45}!oS$mOQpZ-cM$D@*+2V)(Ez>3^tJBXhZjQ`;1F7f) z7J(Y~590@yIA*#u_R@9rh zBE*N;=IXZdv5K1deft}Qs?-OPUl{^u9fkx04*`8a=XW9{Ee}4_tbXlnD&Xe!mG`v{ zDeLueBomg=QXE9qMNLZ!?uJh99C}kCuK*ngwgPFZG309&8%@d3}ckc899UoTRu*-rV z;s$`XHo%^QGG*1AGV$B%QcP-U4~<22yyw%E6`Ixe?hY}xjbDS^O8@N+cDJ!>w@dS< zHbByDvMp34_b$ymljz=1F?d{R%_EwXAIB4~@7vXE6?=)zB-l{k{${y&3r@?qfLq#D zJ|V_|9Ot|nV`to)t!FJgt)~Ow2Ni>^c==TYhVbz4lcN^z)ZE?o!KT>^OHJCQl{&la zI5=OA!Zo$Dh#UQHfy;3I^Tewo+n@BtA;b}ZBMo zE6=iNQ}5ZlUQBl%1eyUfRSIY(@#4YGf7{sj0}G#XhoKH3PX3wlUG;j^PJz8@g>Ve6 zXe2DqZY%vA(INwBVbI(HMn1S4L}>)4j~_q_(jf)eDqM5gh-|+tusVi~w+CQo%HZ*G zfQhaXU!oC3W`HryLR%(@k(KQpKm^Tk&JeR$V$}rb=mYxX1dIWnj^e_Xr-DR?^eTWR zWVVk(fVgw>gGKMjnPN?6!|s(~B?) zE%~3+;C*cQ@Zke!c@c2#hhfYDu0tUuy9>90RXRyERR@dJsVgs@{O7>`IB*1cQtica zOq*N>qMy!YB=0w%p_aXRX%#&S0-aMu`lq8{{1jRIjhU^=f;LS5dQN3y-z_{EVu(xZ zxDapRU~CHL^!#LZ83wM01NJCDbVeJz_d~%BIalIOnSTjDS{Risv%|~3?hnsAo?KjP z5PD4Ai=_3E{UN8xb^rtfrVQC}AO_E;;Nqt}1e&f~92II`{)oW}t$BtrSsL-xpwh?5 zx$VK$rga(+6qTt0q7d}y;s6vumj^^1PLb)BP$o@7Ze&){MHoU8Uy}a}D}nEV(>e~x zniTA&^zx04<5<*3<}$W%2KbE{Bq<(ac_jqDL(iN~UcNip3r7>l=gM4$W{9#4a4@m4 zj}bOFgsledx*`U4@+c@IKY8-Rd^W{v2PHv=z-_t!$)$UFGLXjroQPz|FLBPk!r1gO z3n_>5fc!iMAt?fkm%z2)IaL8xF}4quYriKcM9SiT_o7{P?(74{6Bj%RI>w!a_nr7I zzrztNqc>JtRqY-we`+iKCXMp?%Xq|=$X%AnDrD~=(qR5Uc@&CQ1 z?M?O_lif!X7(=*e7WmxLrDrW!2P$!}0WC0{{%q*@q0-08w65&D5r}IQ7;;@1mX4$b zT|}1f)%dmVb5G|jcSgE{;MmpLw)P_hib+RmJ&rybt*$GES1Art?~~op`1|SGGnLwa z=0R?F4V>P4$3TP*G*f`22FBRXWgS7)MHzZW`X$?Ix$L$goAr9<_R?FzL6<%f;zNr3s)<;_?9J9B#Ff*Sr+n`Hs zsk%C1vayygAq9+iFabM#q<+h*FI<7pBALAfYgq(6QlJ3SyQ;E}E(loNmHzFP5-~kLKZGr54TCwFtBS}_0NwsL+s4|Id-MqkPN44k z7q~H4Koj!mv8Df1GkWdw1nYvkI?_LnKN>4+5cT{Y)r(2*-2Yc1iCyq2uv@!vI|gG1 z9MH{1wu%F1vvnhE%dqD1cf3ORMWBD^Py3PN=1T-$;p%Ig!wJAABU4h<3|6~-f%y&F zzdhfZF5zS(euBu;3y`XoNSfqsNb00rAgM4gADY?|T3U5|PSc=HmrpLT&Uwm}TV6s4 z0BeR%N~-9s%Sn{K6<~2RTeO`o-feHLlNtM7G>nwF3-{@F%v&ZJZ;Z`ibPP@uJ8dx$ zajxiHAfFFb}LQsFeT@|Sf zSTd#8uU{u}JEOX_YuA!#07j;cu+IMEfI}Zn2WCu6WCnO9A`7X-AWMsZ?v9zQh_5zm zhY&)ns}C1QBP3Om#v1@ZdMCWgV!?jDdGpxCiw{r1vX#v9Aoj1&6FvWYNkq5{e2Ret z+x)vw>M=1PpcVq?B<8rMzc&IwCsQHb!ie?<2nSmgvL4J!?BB0XU|Uj+;n-Ej3$Xn8 zy#{m@E-o<;M*bCvbadgk#pjCx|&p59ZJ+eQy})X1bv1+ zSl7S#Elw^my+@}(_6=T^_d#Z=gBArTHvxXDfu50x*Qb(lt(*v0aV$n6^C;;u3dsj- ztP?AcXdKuv9`O|on$j*SvjpiUoho)V-#@Hp7z#B61Uepfie0Z&u|lLtv>kxg?tLdJ zfB*P9eIaBsYbm091WH;$D9(Vsw-CuPeHhqjI$$H6IhY7_6v{s5U&Go=OyK2g=HwJ5 zluGb92L}lm=sflS&vz3zBt`P#5SN7D4<@kn^>^Xu`=?H6rSGR~@|ZczB&q~q&1~Hy z&1|q>eedF+*DEY4BJQX&kbMAqM}Ou=*n!D#Jk_m<_Bfmf`VVf@-ADP))$~wOK5T^S z;NPW!`va}*TMX^lv${N_G=P(prs@6zDj7^pLH?@pqmh=C82>_fE>ZgyXDUcS$eE*& zBdI}OS};VM1O7KB2z97BAs?aYK5_)yXF){pSox*#qWnhe+-T&tJW5)G6pOR30iN*~ z9s&wP^frgmgJ1A@Oj>%J?9<8-1x`e90 z356=8`p3?m<#?Z9TRlYEi0p%TQWA602{u2ES8ve$61Yn@>D zS27ECe^T?nl(HIW>T7gmh*c|jhnF=Mwu5HJR?8M5(G5l^D!2$B`R5Asp(AJug4+x=7Ga+wy_SOF0tH5A`Q^ukKFE$6pGE%! zrI`>2AcM;SpS1$CDdOUftz8JoD41Gx@Wf}Al9YUMHV?_wCO;VPO+##JQPO2xN8SN! zmmj@t)8rM`HH}mAI7SH+d|vuD=4Ar)+Ro z`U5sfuF{k6SoAx6^tijUP*uY!`{4`61n$H< zpYloS>aqts3achcynLs^u#ulv?i*~};{XyFKEaVc)vVBzYh#*0vZiM5CS)XmFXO6wXOD-fBRH)$kI|%Z{pw>O(^*SnQZMHu4XWUv=HI3H#uLd z^4EJHR#MGAYqpZVoIlg~r$WUi1)3w*gGyvXM8y(2G-SI_*$~mN>v+dqlBMA)?<{Gn z1~#mdH4}lVhR0+&<)q8UtgjRX50_X1T_@ws~-0y~S6n8n@i~Ye=O2?ygTU zyIwO?uq5v3+HyZs)g|ghCPEtA28igFnBwBSut{Io1bW)(bbD|=h{G_M-9e@zU`6G( z6W%tfm`US*nkrN~xw+F@Dw~X*$8j_f($)Vi^r*PGt+TXn49?<^iv8{Swe|lf>TY}n z!Ibf&T`?>yq|j3#%syCAkWuvM>HJ;Q5qU?OMd#6Xbt=D+{SJ$Dutr=Rmbb0Nkj zx)2J|-9a3LT-FR)7}yUa;R^01C!fG>22s>e{>rLCy@wvyRhgIwU=3&R_X8{0a?@b@cQWkf@Q*Hzvy5k@@Cv4Lc15w$b16c3NyISm{p*Gb`PzG{`)bkaCHjvGy0N2!5#T~Sv)8G$&&juKZFVG!-#RBJ zTbo+V5a|OF-WRVk{rstut|-(_EBR5-+m>mtqcU9F)QWf(qwL=We{?b-rp)Y5mWu)y za>Sz+VG4Qb|Er=@#$ilcwJB1sE()Td+m9p89Dd_us17m+3ah51ipel5?I{afW1Ng5=UDq=Ym~&K?5_Zi7P9w56!+oD$?uWM5Sbq7&kGCZ zcFgU@&*|;I`sy`rw1kU_)96P*PwY^BA)$A3MKAwO zIFgYzTv^Y<^Y5iWQjmPjaNSMrPjvSQVG;b1Gv4$RdS^8RxunMF$=(#+F&$b(u%^2rR%pNiOd`pXnO zrJs)K^H0ag1a9q1t$pG?HPOBH)PnIiwImiGoNSgCU*thmK&9zXS5j=f2?mMG4i~oC3 zLqFN$+O>I~n9bWVBI!)eraK&pDsxiOW~}M3eCVIZA>3aZ?7DSc7}(;G1=?edo8J2H z8_aQwifUq3&ymD^nUz2DqV{Bh?iPOct^}O6Z%t}ZKvdFm`oY?uQ%u*JX|9xdmHKi% zqF_2~>&P(mbXsetx1%Aa@NYA&W5Lp6A(8o*N#Jt)=#kZ*S-@6}vz}Jv@g-GT(>mN# zkK7il#GyEB6-LojW3cF1O7XAs->vMuyg4Ua*Kl)roMmkby+>6{?O0_K^bKl)JrBZf z1V3-NwIw4cFk;|(O4T-py>dl;*V?c4IJnIOzpl=Dk?lzrH=cL(g`h;MaL5UkL^j2c z6OsK;%k-o?Rl4#^0JyW*BM&t}nSmd}r>LCk^K*{- z=_OqkwJLuv%Ej|$K1DPYKcVUM$k9B4_RE51{9j$-Gs z*cv3Ear4BM+XpT?t7KSup4U|?Q#}&K;!B>^F|Ic`M?nADlb(K_TRxWAei!rQW$-KZ z%f#M4IvmMnZ{;NvByysb_lUK1TgJU_H3~wtqSqKS!~=ajBp#p^b{Q` z&h+`Y%swe9!eAjMGTanzgM(M2ZsfYZfNCdot zu3hMLP~T|!#(NicWm5)ODN{J8W)kSTw{eNpm>gz`*>*Uw^z`?siA`vP2?jDLH?x&9 zd#RT393L^Sln5-Bc*+<4`1_!`h^aM!S=o) zs9Z4A^9;FhPC2ndtn6`at$j%bPy zrZta3`hFKSND^j}B1_-i%X*g|T+rcpZ&IHr^5p3CUmd4L#>O;o(NTNY@sgyJ6lpF_ z9xz_MxZYfUSJc-XMifEf)oi0dfs#*!>jZ@e?REpz$SrOI23UuV_^C16}5a!xXrd>*ct@8fUeB$O>hOGY~ zuALfyFv`;UTms!Zi;T$5_68llWxqlL(eYf1I`$3Q_i26;cz3DcEU1ZG!)Cp-K}wH+ zBq#re;MkymJ?-2iHS6>^*PTE4w%p|FutD)BufGeIBVvKhqgyM^;IaR+Xifg~$-De2 z@hqNKpVmJ4%vKqCBHH8Y9}RN#3y69@$V2hZ)Rf5*WIGq%7BwMngov1N@i?6`;CuW#owR zC!xbPMMw8PinLUI=5twR@bXUG=W!dVmT12XzdUvk+^7NWg2>JbIVy${AqPDaq_0~N zpxx&`%qIRyuVrkg;1Y2E2#^cz^e@Te%6%W5Sr5d+o;I7c1x{XDW@RmNu`VYHu8F?N^;8)tYDM7(GO3*0&?uX&h)3i#bfx zZ%QYMy4%4n9VCRowY0Qy4YFA}4)2MgFnPW9qXU8P`*ZZEA2@9y-z_4ZI=@>=mX2d>ZU zD{p*8=co~~PpDaG1$~NXTZmUzN*?UV{m^R9`;xDDt&2xmBCc_m?c~QxJl!};|4In|GWTYoQHtxrTqElvDG&x1a*$SqW(yT&~r=3G+l`F4h`?qu_ zsax9{UFKI!{PjbiZAa->Hg}G=V=d8@VPs1gJL3&W`|t%`B`mz#FNRGM+*4Zq%LR!1 zghsMpkInk&r7Y%ZCx&Kbm)JiMkjLur9Zh&CxBdF1(VLI^|D8VDv6>J5@zkJwm@H}J zTJ{8xDdXEs4KJ%`js^2jF6dp)Sm1Z=R5Y4f+UQCyd`6OdfRN}YZ`Uv@o}gUda3mHry}T34|?4VRar9>ZE1D}WHc*6Vc!DtOMg$)2g+^r)9LJ*Qw&t*gEMrNTbFMF5N4nv)Z@_p`Tx4AtUKY*j2 zz)OQFzIn9>K!tNX@~elxM7vBGO-IAHEZi>$ScvFxQh$?Ob$jVud3oU)(-$iG1|{x~ zjOHJ|ZGV0?Sz}VcSPp50Ytc1xZ^&NvZ{G+Af9jKkf;R9d%xbtTZw0h|S;^}%r|Ijt z)l18JZ~3g-ToBE3;gCSigI3l8m3zPS)iU26I_8`2+G?cNDKoHO9x!CmkqjN|u$%#u#OS-rS@k zW40mKB>j4rvOonAIW_YisTi~Mxct`&&q!3dKcS45uxezZAfAapxiFde&6_vWezCAd zz4b$zSw)*ORqonS(xMwo^xLMTTG^tzyqitFobD}U>pfZ|tUK}4HF;XmOgD3VBtvw+ z0g)R5FgrPJdD|R-ss7ostolt24Z-LtNrCbJCp8z~wfjA1_@KWR`>j!vjsY;>?vU9y zZAI2r^K)p!jb(qzHE63^$D*PgRjsq3dno?Nq3f*osWL4mi~i6bo_qZ_)iUghgxNzn zUE?)BP9L`N{E`Qv7fLZ=nn`{K1sM#CnjOYuW*GOl@aGRpnech{b+9^0hZuFgtSshD zHjlJrqXQrftkMcq=VBp%_ms-p)zCe?BHkPQZVs3Y91LGdkVL4#?7>JB;2|L#dxHTV z8O6R6ng?j)V&@2CgT$orNwnZeM~HOR@GQ$P*OmL?YU&k?A`*t<1eqL0^LYea1Jb+* z3k!oI-r*jVeoU2uYb~d$s;c5b?;5a`ibS?@ayFrzfD2@V2a0NT8>Q3gicjV0iWfQv zL605@;YBVE%otjq8#}AbJm8tmQQBOPI#9x%Ie zA$NPJ=FCg?zf>+xPHFJ#z*L@im}yao!yN(*`QV}=seSwQF|bQs$J1cVAFyTNgBKDZo7pg@Gp? z7yi#b3ktMcw!ixkU5*->%;CVJqA)i%pN4ZN98%w1{t7N$AJAs=Ya8Gvj_T=Hg zrgRWuBnrtTrN_`{0W+Batla_@7l>{2M*n$yD%vUQMEz%S)YFW(IQdw(Qe;|96UwNA zL%!@P4t)DNO}ne6n*XFj8Fl@cz@{0#GE5-)6W=PNVK^;JVa-QIh5Wm5Z;|3^t0`4 zB`|8kh>mbH7;eKC16y%;2$q3b-#mwQ_@uljDP)Qb?qA8-VB5BB6zI08V4~vO)ZPiKtV*(vl_e)7VL`oq^~xV!vo|1;{Liz2_V)xJ2mGzJ+W}N+PZW$R@FOuO&e1Ut{feu*GJ9hfAP?5)v9ZXW0Wm z_g`E5LneiT*AsZ-hDvc|6=<8*ebqPqfn_(Jc5pj%z!NkC0=wJ+g zc{XMdD{>sr(W}p&V-RC>UtDp63_roX@~-x86J44CPB>PR9w++I-ywH(gArQoS$9_fbVPi$xc7{)O`}@P=caHxPJssc6>3%iqnC(*2qd`0-9a=Z4U-S zGl;Q8c|*AUMJ_JSy#IY$Jx*d28)7cD>?+Bp<57;eXoc~qcp9kjC(2K?L76MpJr;T;~(ys((JKjzA68(Dz0Xh(&o6zL2V zJbT8EiKtNS3X6yk(XVcn#<`W{ajmC90+-QdClijq17srXuuQe+hRa{EP>*J}jcoI} zJoU};Re_Ct)K7Xgnt(TDEfZxS$upvL2YyM@<^P}!Rz+%HDF@$_4SpIk=cr+ zhvgX!{qAwt`QBV^TU(L_?@X|`HYtN&Y52fxX=zCvtl3P^8O+fo$I=wj;p)!4vgcy* z6%P-B1sy@-u6(Le2+mWi*jIS20T97U8*&+0TU!&ZEEMb~8{fYt4hE?p+l-pq+lvei z4z@nCJ#!qC38&;gpH$C1P%I6;C(xi<&wsMEjJhG2vG~}twb_h}5y7JV5rdm|9%hIZ zkr6#u*u;NQG-O=_M_`jqMDUj?7ADw4#Q>(fee)Oy!(dFFga;nCT(Tx+W%5Z%>P&un zVVF^fLk;x6dp)&a4T~UzwZ7~rvc3a~*qCWg>7~O*Bpv;NgM%C9=79a>tcn3Eg;SpM zxH^z=h=P^PEi8&o_=;;CTq=bY9y0ke>t8r9-38AWb^_tB9Bja!^JxFe4z9v&!5L_r zybH@SO)yOP;TpU+54-LdS;;aSp@ubvm0Exq6f7( zO4Zy69E)*qY;s2nJQo_L+LZS?v8Z@{mM__`mj6Ji;ujG!5phv@fnraG(R)zz1jt<^e#Mg2w@6Pr7!qJP> z5PVNQ`P7$E%@(YdIH259pUUshUNYH_t~W{oRrwDgF8|SzSvu7=J2g*YpIJV z+s|It4b?5fW^t$f7!E$*A9ZD*S$s}gzc#RG_FiE@0r0L3;~=DV{X%xxKQR&d?3tVY z819LepFcB$XK)N>2Vh|N)AD#*+rxZeRj#UT(+p2m6d z4$?vz6W@=X$XL?qeCOCyucd-v`+xw`(qu|WYdXG$+GVm!G% zdN&jeSnOM8P4)!etB50S^l3%8`}PH6>6Pfc6V|FCl>29&Du|9Be7UhzvbB|s_SD`z zb-_Vgm$T$6fsP|@y%rj}0s8p{317_YOH%NPL2#pV>aX2E*sDlq=PcojRt1O>sex@Ja7a6(b^XJdRbrNoX_x0!Z3JWtJToDux zn>QX$0s{gm|9Lvjyc2^5Czr0Su930v+`ED3Jdmp5;^QT3TKOn2z49fYcLxyc_3`vl=P~uE(iu0<~BC#{0a&rkospM z?W%cN7mw87Epl;6LPY>z%DZbyArIgo#%zSgTJ83P`Su6XHYVU)_19Ey&oiQ&8IlESjc%eqnxnW!)c+>+7Dn^z7D} z(;a*<{_G{w3cvU#kz?N^TvMzKVB3#{^yKU)I{SLeAf&f*x@|u$BAVDJZBljg9_)9bnNd&5Hmp_JLl-wj9Ht=&o)3B z{gAMTpe$+}+DCsJ|>m~FL zP<;sV2@5e{==qT&t8%a!_xnE*wY=QB+CNu0oAW3yUc9IVntZX1!4!R@J+f~E3r0uB zDb>oK`S?vFbO2u3#LgaX>w5ub3cuqh!z6uf6#JMTy*Z=G z>q0_0dO3wpGb9fgoOf_&!bwT$EXX|WVKgimeu5%FJ{GAMc~b=Y2LG!C?0~-&pxI-B zLI{dS5Gi)Ts0UJ{w6+oF+-y`Upw|5*-4nUurJ3v4cHgmN=r-Qu|ELAQEbEyV7rlt zoKW=~#i$Oz=-#uRYcD z)~x1Z&b_c9)sN5JY=QF=FC6SW1jvoV-p@0J3tnKT{NB5}uqz{iz}SP6m6i4Bg%4E7 zMaRbpUlOd^pPdb08pNQUB%(G8d;1e`kfnH_ler#{Z1ty4(TIo^c%%rlAWWb2Uy`tF zV8*DJzjS-2@1P7RfJTe(y)mJk{03+hXsixgUEU8va*UH8dOYmC>v+6~;{qSuQEwgv zPeB%~4sx`;di4qk#99lB{(!CIq-GxA;ysjsQlZ;RxVbowK`f!>h+0caxd`i&5e9-_!Jw zo~SCd#P1@Ty?qc_*wx~8%`)10s~s9>b^U&%p0>=-vBSS6ut|@3Kx#p}hEAQAw>Ye0 z&qU1p$B%6@sl3?AFcM15d-S8(+zPRD=#^AkvyPyF+zyw$7y4QGCRFHDhJWRTG8eaK zm#_UrImy1Q$kOiSDM{B|q|ne#k^fY6nqvA=OEnFTYc;jS!WQw%^!MV^U09+oGm0E< zbD|jirfxCuag+8L!GG(8<~~PhaLV0UyR;sk9XVBQJ383q+U_rOnjEm?`*mp8W8Ylo zs8u?iyg)<0SC;5OA%2Y`F6+LFbF5W)5F9?*pQccB`9wMOak1;69Lq~XoL}YxnGdVhklZc*2lBs@8EZR!Ktt($>a z$6wJa`BY3i>oE>EA3@hsPTim~#rZ`nuqo=c4N@ywROtjnjO;SiPA`g|2;*un2Wu8WZ4o6)*n;mU6=BgcJlGHrwsi| z3^bY?V;zH|Vs0CfkN@XO@%Yp>rWAkiInjS$!|26BLpizw@k*NVUN(a4mIZ6`Z!;Y@ zY8QPruqlH)L$!L3!EK^y^#ZB>j2y@BX-~Lr%iWNiy1d`*3M zkULfA_{QbD81O=74Y!65~QIG3{bnJIZ zj*|KBGtiWBr5Nb!-7Jvpcev_6EysI>iDztwt@j9`X(zWS&1O4O`b%t?`j&Wdb1H)J zZnS3vb9eB>QA)5^pE?{Qc>J5f(--XQuA5&`b?p7Oc>c2m*K6%{imqNf+~&b+Tqjet zvwf$H{jf5>ji=VcO^K&0rRQ=jN^JdH|GQ(?tK!EG2_||Hovw)@Z-$F&o<(><4X65j30;?~${AjCVH9DYV-9uPZH!Izp4goRLlwr2 z49V*Mwvg`w+I*c0iat*bt2jf3snXbg%C_{{?U~xPuQQUY{GqRhm)O#`Rd35|lO5g6 z_u{{w(`fcxJ)WswM*H^E2ey%~haWNaZsxnqv=}3Dd*F`y7yH9QUag89JfB+C3T}Qh zR0vt4xL3tBFf2nri-pN%a$vyiV~Z?ug@Ow4*qCVZh)%|NCEnuWkpo|!_0ySBT+`K! zr_$Kx^nABN{eiQR;*IvzQ3kuBg-$?~^<*(ohq)IWE#lE17?v*3K(F@KBA5A=wwt@P z(SW;Px{y;h>eU|{JKH`iG}%8Ao*m7pVVAqleW7H_RLowP<|ogdo%YoYrb4Oos)Y$x z;ZI)cU5_sp=V?}$)4e`FeLk?D-FEX6`)o3I(Z9EN&ku|Hj`FpgX}6aY1viL)(o|oo zNPFeZ`ps*v1?v9WfHzPhs@=8WF!XPjf83&I`vtk`#uFC2)!n&)kN>^cU~clT&tp$y z`)xT|+o2?FdyjU5WWGexrm}y_TpPWEXw|JZTl!zETeV%ddPm&tjb4srn$f>-RMC5C z%^6R=qZ|j7h31uW{`R`|FEvuq2pomSrH6UUD2#1IRBKE#3bZv~(VGDQh$ z%}P6@#gGP2ASDVyf`ZmX%89&gkXU@}`*`84AR8AvR{3L8^h3{@kxQL%QWXbn|#f~X0}4;K^{v-0xt8dQ2iQUSk(vnY!8 z@bHicH_GIq$Hux!9EUoBfbAII9(Rw7jC>y)+=YMsNnrkik&Mm)dct^|o^GOg0OB#$ zu3%BiFakn!K#8moe0f{JP@e;#RP^k9u&!^7Ub*-7uV0Y}zyIRrn?N?Bj;pA@^XI)ME8p6u%(_dstcw!5AMhh+ckZ)ck_lLmB6xXs@u88~iH?H9kQ?w|?RIjM{uv;%r+#3}O8aAi#}(px zyxadm3~)0#IvV(k%8?_G5C|yW-BxPZ5OtTgz@q8qf4KmvVbCJMWst%dS3osZh9957 z(zvCW{Z8s7xfonXCPYJv&UivwG5ivuq`kH=L^u(VlqAf+#ji7Q!n-$YZ2N^!K^_Wb$l@$u{jE>8-(P69h@ z#n?nlDvXgnX@GYkewqCDhHn`X}FIWTaM@L?8Y52-ESpS z&xD$Exjix8?e=Y#%+Wilp2AcI6Ka=`xQ>23tbWB~r5VsP%UdtDpOH(71#?e7O>W~E zY7-R~4@Z$rDC)${05*XQP_1(1*y&xPR&IN`ed_jM1VU^dRA>QcwMIrnkcQ;ktSNZt zdoY4ZiqS=`6lGS9vO@@o_Ocintu)lEcu0flYa` z1^ZhQC7MqzdKOYIml?NVJOGAkzG`k}>e2 zOP)W9xfs&Vk?@TBUhKAM$42@1Y?B2bbm{Y@nm(T~^UjB;p#}7ao zOouh`)=_u1%Tg(03jw&5hE%3vw&}p4{W7ExaQ3jUH=aH{8!)4|Y{6Z!%!t~I9f9w& zjN;3cMcYdJA@edbGx>4CSfSObJh+7sv-BDfVlmb6yuWABk2BU~^<%1cqN7;=GQF;^ zU-#Dgd^cd-V;3$wSjjEYDU@>`j~im#q~d7;$D7?R_#Dhn;{+}c_Ec5pWD)SHAI}Oe z@~8Kh`}o~x&3RT1Q{=I=tDzph4}m98`}XZkKR*hHWQpwu^d@NtBAEM0rh1_NgL)DG zZCZ;Z*C$A`7tooFSM-rnE^enFHqOWc$mt1(jTN{c;V)mF%+g>dLrri~nq|%d7vQN1 z)Orx@5<;fIQZaQ95)vXx48)le_>Chi>1&iL$5JqU7LY~Nn>W`X!s{CusmGh36u>+u zBBpS1cOQi5$al=P=tD>%Q>QR)Nw_Y)rr><keLD;FPL?A{YR zqjB=iI$h30CTgm%KMJ$O71JA>G_T*#676hzgir~tM-V2wI1Mzg5MOmzppX_a0?#1q z$j>8It%&3|CHunQAWnZ#7wy1pc}?` zR^(aa27zPiA|k-kSPXus^yf`hzCr0jh(HjV17J)-yWG`~jKSdx3d*B1ndkWL*OB z9Ek3`z`kpr^a-KXp#;-p1#e-6if?Q0tTQw;1PVuVWZ2=Bpzwg~!MD1`5PdVjbk6F> z^82>>7QDLoHz9DM`S;nB?1b)sj2D`8TQ*p8c}=|3lC(Guj4Ab^gTqQE-fshk+`FPt z9JCPQ-6q~O59wdE4H`6?c4IbA6`ZFx-5oSBF;U%st}3zxt2~>tAAMJ5xjv~J^qlnc z@aR_8&{+Q5*5-2YQvR9bSEo4>OV+IQr`}N!X(}t`HQ^{7bFrE+zbkWaOK`S4=@|p# zV*m*2yK7re^OdWlI}}QSjaD0VXdd04%cE;rdv&jGi%5UIM__foQ!fPw7M6HLfnhVp zQs$PCG&FB>i;UM14l%pEu{+r}HdgOAL&rsbCP!9SIctBdCh^5 zU(*|GniH%QULxV0J&NlKu9@4mOxZ1B%n=mOuwwUkVv~OUE1p~O5;TwR( znA!1;RRwS74*-Z65uy`pY-}WU7kYYnq*sP^{3bRw{c+D=a~zmNAA{48%+CXv>^14W z-()VeL(&N3+lNX}3ONkpiM9?5_6+j`|AIdu>nBo-t)(deVb`j?Q?#Ve7YMFFf2N%3 zKw7WEdJ4<7cse?c=D*^Vo@j287j2n}5`K4GZyb3HoaVW~a$jc>g$!Lh{wa?A3V>aDtKt{EF8L%Rp8I6&9XHACglthV|Fzr`yQoSiG{T7qB7N!L&f1 z_&f4Mlz{#KaQg-ZYCs!ch{)NAWaX2R{~+vjt}cGqM6c6w>10RqtW740yMhnbMU+dJ zxFcNXvV%xe-M9HD4};6PaDT0x-*l}ZTLU$S41YwMwiJgV;3;B;gbx17tpSWCeTA@t zd!>xGUhD1cozn3ehfM?YyUrSb!g;~P+Ee_Y9n3Gc-{WMsuqsB3f;+P~f(#DwKjjW`9b;;UC+Nq}z!l(*0D4{9YcrtQuhVoJ0)l_!jcMpXHPW7VN&GM0oOZ&4fa zsa~2>wMo8z1#bTT}ky9Nz_SVg`a3(V=YqTd-(I)|ffUzN#Vo~}p%}6hb z;KPAmFxLiJ7-m1+!*SW!!1{YXxdYTdh)S0bHUAEIk~@GX&O)i^sDby{9F)m+Z{m9V z*B`a%V9Bb8y~axIasOxk%{-k)=i3yFq31OycNc+&Ocu<-ln15sC&tGy+d~0g$PfPo z2pW+v9#>NXFEIcTv>*EIcr3Emlz=8bX}vqEncZf&q>3q&7UXU-GJKDo-pI(!1&wt=(2BPkhCT3V|5@HWnQIMR*SU1JCG8Vc&csOnsU*y=T)t)R}^~ zq#!BlA0OAirnLF=kOhn|F&%@q6%D;Ve!Kxl2sij0I5}DwcbQvTtD>-++wlC{>%bA! zEx)Fxt6sn61y7Hxamq)~#VN1P*Z71r;hFjbkP7r|G8xF2D?V+L5!e!^R$S6jX zp~0D%mSLWl4VMnA%C4s}nGBft{=X=D6L7BEt!?;kij+d;LL?a?G*PBdBo&g3nUa)B zhN8?vgbWo*3873G%ajlqB12M2WGI;lWgg!1y7%7S^FHtQ9N+PN`#A1n-*@r<|Ay;Y z*IMU!u5A2_}k`cXq}i+m?pU9hp%9ij!i1RfC=X1gnNTE!2as zh&qULihGY87Yd3G>p34fW8QO304|Fev%rvLP-z@JO6EKp7#d20C?SI$@UH%Tn?=2K z?&DJ?4CW(xNYJP9Gjljc@iJv={$N{Ag2=MjAN&eUb3hNCDQ$=_Tc&>w$s+P-qZLK0 zf1I(9vfR7u&K|uuBm_ASgtHd5wuiBifKhFgmez^enPmsxNQhen1Up_`TMuU6*R<~B z<6}r|5>c!`Y%vMxm7pNlItr{ipqBxKBt{mktZbo%bsmw`!R(KWBgDWL{012hi>X>H zuzZ9p*YS)I>@Pgb!|BcX$!sTV_!tO6iSG_+fhF5kLn9vN%KRb0Gmj(Wad?B%PQdHS zFnSq;4Jd<^1fMwwHP@nIx51-Cw)*o`BTO3xXQWB_brw=u!tlbi5ZgrK$dMnYJ;ds2 z^nMnjnQ?7LX;~%?AD&V#H(O~%XhfgaW?10i`KYX zcs1KfOG|O@WL^g{5jYWTMTUSV;ETyJ4y4Ea@^@rNR)1{Rk$n0G1pJd`A!USk_0GL} zZ{a;=_~IPP8qTwdsiSXJWfINcCNwN>mXr*IRTXIe+gVv;gtSSq(`pKYUZhqyb4Ca} z;dZl96D5;NQNTAgpoqW%incl(74S-wxD+4~40rWMmt`}iW%b@U75g5n9hhCf9F_RW zx!&L%e{3wL>Zj2V`w+ktD9N|TZ;*y@;|SRC`F-6KCg;-^AEK>vno-UO0&tk-wYoTAcgycTO{BjC7jscv4U2yUT7XsM)+ zQnCqF82p3Pg$NRt7UnkN{((ejz&(LTLj(l8Nnzg4*(X~ogE$4Fs>fE>aav{P1hO4C=OoO4UQW^kXv%Pszf)vsPnM}yYeEY)S5KJt4kHCD9e{wkZZ zXQL7~miu1nC_K;*^T5jD#f7#|%wD2Au#v+!O3d~XLaj-@bcZn*UyHM6;a|Pq`~A*0 z5JOOv|DS+E*N&p?FdKnOmcHjlNQ`M9=Y)UYS}%M8(FIb-a3BiQZcz7Df1hV^`PJ+b`_|<@gWcPIj4CnC;swmMj{Qfd7PD;wx)CM(vMM7Q_rH& z_)q0Dkq|3sT{`eJ_vYAhXeJ@O6v@x1n-bl;YP-hC%R`n8wJZhI=3I+?0jK7|*$8C-?OiU}(y z^5*`kHaty^?FN{Jekgy3kQd@m&b9H=IExEmUzEQ?uD0ZYlDs@%JTJMV}ZKB>iqej z*RK_DkS5|RAQI27W8d9d7uPTUz%J->8%{6$d2$?Dc9>qUwmt~41mw)(h@~Xmg)9@o{J*MIin9lIyU#n3ToZPLq*#ET zkeJ>vunMrYeC`pHA`2sgJ)a0i6YwOpHjSh@;aBYhFkZHOfS;$PQV!noShKzOHK%Bld49POh%0dCz zBXK9AprFAf4m1B!p@yA@s(b#D+WOK}fwym0VZsSwB0}~iVzL1DrCK<`ocmrPclGL3 zz<&?PU%~(YLJ`yM8Fkd-#JUyITyt0{x?xfpQbeeLb-MQ z)HF16fIUgk1vv{|X#n{=Xu*N<44d#@K8J{jHGo8@rn1r(Z71rPl@<054i%U`j`SJM zm;H8A$eDhkM`QwR89T4^su7V21VQ(uEL0AU>E~#Jez)9K!Ew~eZ}@8Joa3ochc`#g zOy;*eG4c87$Z|G}F`QR%U3=!8_qG~9?8sRSfm-&3Hp!9E(Ra1A-6*WK?c2wLi~)qe znlq0(k*X;nAS|M~Bc?sj5!o-zJO97oo1)OPlW2fKlp^O33JI(Mq|2!8)&k}){|}1v ze)-iIsEnM3T34g?1FIDD?AbP~T)4YPckQ18^l%HuYn=NuH}IpMs8!DrJPreN0D%51 z)7v}{SY%CxMn+_qS{^_;RFswI3*R>@?o;l2JQtb)L> zuo^56vh+#s5#%_48QnoIZXu%87vB; zay}I;pBuWd97&;qj3Io^bOI}4@(n%zz=}R{`z92d2CuL0MqdcAV zpx9o$dbI@%yog4wWO1_IFCgFq&|vB|TT4q7ZEa?RtslsldhyQ_U^1ll2F+coy^s=1 zW8ISM2#5PD-X&53)le-wZVNO*5TJ^b87Ov94mmbFHZ%S8GS1NX{!25A@g*%p2%uVB zbR#(0iJuw4_x%;uLBZ~5w{v)^qttyrp2_Dfw-Wmv6*3kbiFfNv_@pKGM!`tPo5r?u z?h<}-oAF+kDYcNt{WAH^HYL99u`xwwfD5U*YDnnr0AZ>FX>$geeHrXO^i#!nECV?r zI2nm0gKb%HsI_Vl+Wt&|g97PtbQ3Qx@L$n+Yp8q00h6^wzjEjcTI^a`iX$%7^78UH z&<)X^Bw^x zv3uw2frMQMB6~H)Ok$&4i{(<)*mw*Q)h!4z_ke8tdLRJ?h&(fQ?uhqI=K*xk{o3;a zYS7?+Nu(4WocP(qvUl&^3y9Zpp35Z(N{0@LUP0@`VP~LTMjf8&L#u~0Z`rR7Z=if% zXB091oqL1O?y)riUgqO`F^)L_;#8z*xPUc>5bjLWz=LNo((J0`-Cr`scS4#;S3$PZ<_vzb73TO&{Cz_KjWljH0qBo7B4$XM(B z&49M?Tv~O77c*J)`kui;=(Gg5j1d&C;eMHQ%6b3$8fPDFE zzv9hfSmtZXV|v-ho<73-2uuYb6F`ojLd-)-?EU~8q}}m{+I(@q4z~&`+-6cv)=hPi z%(mx~e`RZPd)Fa~WFmFngTfxIcapF!y+*okj_pbIEl2u@xZkEHK?=u{o2D^6rpODhY%-d@8^z=}K zW_gZ}j*>y(RAjOyIkn%tyM@mtiHAwsgzTnGn~-NvgOjVlUjPys-e`|DSArD-G5DCG zvxS(zFFCkci-VUzVr+$Tk3yhI#j7 zq$!#mss0CCX}Iyt8>-{Sj}Lu*9$Z%DSsM2VDYnaCax`Q=QYdI}Fc4C<&zRod87&AN zpprHzi9P0k`srSZ6O&T>{DW8WpH1b7A~3evJpNF-LJ5mblfB0(OmqH#v&)1(=M($_ zp)_bfbww~lROg&xOFR`6J)z?dkD`4v66RNYaokY^*Jbff#-VVmbMRBKL(o04!{po+=~V|34=tem&Fx+W1F z0>pEi_{fng45@C#sV7g^DzLZki*HcR14O`_VJ&TK?abqr(lRoZ;L7GNF(Poj{r>&5 z()-M(wr{JeNqUO~Lr^Rb1W8G3%Ln$rcN0bb1E>dpMc1K7BDgV96w$}L9%O`s*Hhbb zG1Z9m$aokDi;R37-6LQmwDNBDNs1W%H{1ox!IZ%qaD|#@aUOMu4uPSe)nC6pAdR?W zP(quHz51a;mf&$#1WZfaT#I`CfJ@DTjCF~ft)Ev$b5^qQo2-lL(W=7Kl@yP8gB2h|?9(Sy+5JjH5- zs*j2omCt%kkI82~U0k7=9d`V7hVyHEW`fjoPVl*$s24#mR`0z3CQPT)*Y>R4U6z|q z#J@$WRLh8kxHrkva(vBIk2o~^8qG{c`^8^e85SGw{~^78=JAwV+*E1*$43jL{cer@ zG@DQDz3GG2C<-<#=?R0d!5fRcvaM}z*J@!d@eFJSL>#^yW~Fbjc1W%dH%g(divR%7 zb#)qTP^6ef_iOa$6yoGf6VjyV*3!-x$)M-XU|RzSZN#JdTa2wF$#Un&Ye4v4;{JI z*m|qxjdj(r!(W7H+&ZV9yxt^x;y1_KU1LViFpcwxY_nPFY|aMOl9$p2k3GGPI+lTf z!Am8<>*mcvna;=#WZma?0ehH0F>PX|ONr0Q3Ipc_M3E}XtgO+wVx%?oZtJ$OhEy#q z0pf@O{(==tiCy;}$8s%Vef-G~SlEPQ`ZUIW9!G!*3Bx8T98 zB6io2uP*DkL+BgS7|D(Xjm>A$?BX!)7MY3_LXpegA$EBCfnL)4d0p>zR(GytLA%N$ znw}`Fxrt6ThZ3!u1(Y#nfsPB?B2S%st@RS{)Gf5#;*M8horxGj8#^9`q??qdCGv1$ z+AiVrC%*GUI6}-LuyAug{}HcPC^|^*n^(u`eniRN5X5W|6r?5}@*CcQ9Ad}tejZ_B z(Djx1zZXzpOSf?bi9uG$+vPsP3l!!y(A#blySlbZBU3_t;g^{B1D?60V;Wgx0n;8ILxW@Zp} zQk18|j8S`&_DsafH^dSEuzbH9Pvt|*;|a!6_U!&JYi2^TYAxDbX|i!z6UqglL0oE2 zvhFQ(YFVJDn+0C;A^8ZW8%|z+_Pn?_e&U(|kD<*%LbQl^zR;dIIXfq-X&W1FjNV~Z zjeQ2Zcnz-E5*0AKF4rJ8njj}F3@bgKjV-pxsC>Jx)PQWz4$B`C6T|;W zQ4ZuPnP&iHCqmaqIbaJPyzk1+PTu0;V*ku%h4w!6nsryVnkS~!?fG^~?*Z#o3XjNc zmbdF;Q;$Q}L#~c^bmnEE$RXym_;zWi=rEybE%4HTwk&=$0(t=>R)&{J8qnrdXhXUW z_>#mX+*kL?^7zVc!UI4%N-qEAdj3%05Qk6g`L2ho2#|L-WH4__T&KFx{fS;PFsDpB zJUrp=&R}qqOMhw?Y8*ik5eDFP#K-^}@SjzLTt-Ze$gxzA2}|2|D|2yib>mb8e81RD zHOyU4yuq{ay2%zoaqn&un7UVP|9(UOzTbcTynk7Ot6*SaszOE&jk2dX@L}@#z$|_b zeAt5jqUo!*F*`-ZEFlmEpp&W>IUzYtiNcRU?gjd!K$K8FfZ-80Qt_quh9*4TDYtld z(_F_9llW)3!N5V$vvGOv#dg~L`}c#+VZkA6fLY~`0N%N5hd`kU;x>t1J9@jJ5Au6< z+3T7f(qUZE)acB`@wp0QDGM(z6I!HD2pu_PivJ}%dlrB+ikbo~p83U#x5+i&*2xhD zaHwnUJ>APs*j^APl1F{u$dNU`WbYJPx}RJ4>9RDx8>-qc01xJnqRDR&T99`gd79O+ zTS*8+fO{kBJK@x9NwvCcv%P2$QmXmCJrYyX1r}=3r05%!k(2w6p-9cx}EL4^*K=MNNMB*R1{By8H}VQit8 zo|e^$uYbBtNa#HiBV$Z*-Ss(vo%%9Gr^j0nwt2jk}m52+vQ3bXa zE|h(=R_WBVdM^hcGY8)2utXv~sgO4*KYk~nUD#w~R4hnBOb9DOB-KhkpMU5Zv={-ko9bQuipJ16{{t! zifnCdEf!}dhSnu&kgtTcnVO$JP9=IrL)_nskGgYN^Kd{ph9wzLrnRs5?6225Q>1=} z*XyoP`xhDcka@fO4gUNo_xe&%OjIogFS+}E@Ep?YEtIO}T9A?tq88Vo^`o}GzdKlO zxq#D7fc2IXgWs=6aVz&LBfiqrT)6L2+{nGB<(}+*58!XRm*P5eW<}ZI$d%45cW$y~ z_b;C^SY@7(HuHwdYAZPT1Dyg=`Xjlyxk1+DG{@`>Z!yYnwsmX~J@laS=z+e~l9Y^G zX7!FO=Y&?7pAGz5d0jB7Z%gqg#3XVLN@=2exoq z75PPD_XE;TueVp}h;A#)_{pN;U+!l}f39WwiHMV%UNPjeJ?s=rNnoD+Byp#=kHhi; zKJ_TFvlvJgwvTm6RoB5Pqps8Kc~|bMi~~(q^-_<~w}^G|#k5Oo_6w0&mP?xGcKhnW z7?|T}ZEc{ zzC%2C#^PRl%meIpl9POGx1_5z1HbX5iL(tHl5yhvdidggiYBG)mc1TjLFQ$)=ko_H znZLBT#Uo|kSfB6VJG??~e%(Rl{N?-&+*L(cJr+q|sssa@wHTbtkQs9JFXPHCURp?z z&TZ!PyQC7o-z$oeOEKB(ZKZN6G05S|MoY26DH$uVa$H*Q2c0vUw{)=kd8co$8teTY zH+3m3L%foTI!%OafKNtQUUJM`rdrVqAD5#=wNucEzIlz8fLGh*M*-zJ)YGputEKs} z9_IAE!DnqO(AX#Jwf_xAMUl|--s^h@>(9sv(#pJ$`EX%QIYN(h!8#=JVr8X9;(2Sg z1Js=iQZ#Sal$j`^)UvB9q?5}(FlufxwA|YAiFb!p9G1_6_QHdA3be}2gjHkXJ$kJV zk9^$i!*jmQ{vN}Xcki;h)3=4>Jc)7k+BI$y&%{!!8o!a@EG3OfgQMJ*dYYx@{!_(c zbk58VhC-urnpn0KYF#Xu)@4s-4P%(y_r;|4$oaA{oio%G0+eTU;ua03^ti0%CfX18 zbY**J;HXfS4txl7azrmBJWen*Q3lF`g~UnJHr87kMy)8 zZqLZ|&(1Z;@;koe`4!Ed|vIC(l=ge zUaE7x_G_qX{K|DGH(Y5ssx{Y>&uQ4F95XQ(NS`hLMdiKd;L@w{giG3jtkf*4+UR<1R(W8>`Rkm8(pGv*_S|z=? zn&q*ccTR5b29xQ-_F+k7RBH6b49A_Tx>*jo2mYq_s^oc)y@p5Vbh@_{99hL2oqCJPt^Q6N<-8=6M2p6z@Q_Ppd zS4it~A?_XbxyJVCy-)|IpAMGoA?NDeoM@wPY8}d*ojWZ`uZFwCH@a|%H^>W~qos{v zW#+dNFk*MUL4JK&0GlXo?Tkh{o${71Dh6o^QA(*)yO`;ejfH(1>Xv&iJJ-B5uT6{m`J=Y-2>5)Y$<-)iqH2Cj{ElAlxd3s)<;s#RF6m%r7$p6Vj=i`-}$6y|mU z%WiqIg*1B761-;Qu}GinB_CJ%_2|AVYZqm&vJRESj4>Clk!6pQViv-y-_vFb$Z=cE z9$>Hj-gIH_Zk@X97_Uo|Gnbz?QnCYECO#V96?3AFuevKHRjqf6ypFkRS{)Ye-kmG? zdQ7C1_xQRQ5gytKBdU%%!L@60*sitmZm^0A^4w;}z201sc2`n*{$&>GR5g)+k>R3f z+8(JhvTK<(8CnZJzIU!UBuC~p`N%85o3{wqN7AmUZ8+#x{KNHQS&lzV%2DbKKYv;J z7F$_rb;=8-?54UPU{0;PrK^H=>#pwjSa0`w`kUQVm64Sy+-AGIo-7-qGvt{62`*r_Wk75RTT^}a{C zS`kjo5tdp@4BnJg*GIRiItNVVJOAqCFY=$|k@-Vu)>WlBrSPQoNaq!4{X6o4sR4&p zN!~4APkW9-ps0b;oOi#{DnuGboT37v(kor-x2oOOii++(A9IA9YU zac*kA@`;liPmEUwn5JQ3o{`y+BNs}Ff0$<^)t<@qg~nGlrEZ@b)}qjiMhtzqs2n$w zQgT4U_nIv}*Y7HC&V5F|bW)w((Q_}mC{nq+UAuOj9U2^*=$^{Zs%LKRwdS!EH(EE5 zRBU#ZA%30LKI#-zWz{ofS+_=d%3A8hb^L9(>mOneM-H>#Q`G0&D30WJ@rZwf1ISA@ z#;P!kK*~e1n{Y{7TE9hOgSX(C6JjSTD3twJAs+gMLB6MLYSrd8CEogd;`+W0`6uV1 z82GpS`SVBSpA3(8i&YhIc!Yd*&zWr=N;x=Q>s=!qzaNcseyP1)UO_bh%=Lj+D8q-= z`Q}*m4G%wj93CD&dA(@8oO%$vIhj?0E<2W?%*Jrm zRb+Qv>i%8TirgDB)F#tBdd19MTZgdkJ!b!PTdCqiH9jdY_EE9hYZg#XEnxiu}N5qz`oF zyBYXS+YG$kxrJmrA+O2$wmo6KmEzv#_$6gO8~MY?b>zp5ep9YQGknvyB{~%9PkuO= zW?SLN-Dd)of(%af!SQ25p~)G+K|vMwMCVqb0)vBnLEii^LuV4P*dQ{3t?)6IUIK$X zZhG0qhF)AeJ?#5&i_rB}apEW?!GrxYJ_}O1sF5GGnFeTwK`NywQs-kOvwOEcR48y? z(%-%SZL+6LC*VPJZv-9!H$!3qPOl;;a#{*JW@^A2SF#0bMfyfC(T7kx>$i zsG=~WL840rbP6%pfrC)b=qMBPlkzvF*FxG>g<|g{&vA>sw=Y~Kdasp=z*;dIQq4^m zJY0UAabKptoMK2S>2t^iu@f0B!RYSpe$KXUrBDr82Q)-6T)uo6eF&?da;YG20hm@G zy{diE?9~sYU2oi|gpdqE`bt0rdNDt%-@fhce&dS@ba?;pPX{^Zux7vioViH%((K>& zBhDU}%}}mQ^03YvwrGrrg5%2S2M_3uyFpxZkofOFV8WJ$0$Bno4j}QN;o;2S^y#5Y z(RS7HPfkr;O+!NiG-GqyB+ADpki7e+CC2|Sy7!~f;P5;Eg)7U8uDF#Tboy{{bF&+a z!Ee$FIw(*+Qs~V@0ZK?FII8O4^CCCg#b1H`@CS*GIY_@>zZ<9ljX?vJ>(K>6bc+GW z_r+`CNDK98&&nRv{)|IT)Bn`FFN_tj+nKbquWhd)%Gs7OP?Z!fh|LG5=h3428}y!F zG}D?jmEg5{e*B<;M2G+;|48H`#fi$6I9ZCl0%JPJ;nsL@1-PzB)|8CLqKlBQa4$3s z6fZ!bZqR>m$(&&zZIPzz69JWAzX~016;|(+{zhK1SipZ( zqo7O9C1cz!-EM+D3x&E{|KA0@=SJ*^eJv*s3zC7Gxa2h$nrEV9gfht<@_0Og^13=k zpd>A(4I#79jU)f-5`CF_NzdD3JpMH zKDi+j>B%$TL8}1BB+bAKkWBW#RV7(NIZB3T5<^1?am@wH66yhT!lmRPk7b>F6+h<< zku~^8sxwWp=KwtrXR+C@_0*_+QnPW~G8hOmjEzMkJsWcg@+~VX`;(QBAb?#)&&kON zp&>WqMIaDvK742#QD2RwO$g~x*K@(G7n(gfK!Bhwxba+wn;7Xbp{Z3&JqUV+ zvYQ%cOVa#Q`jk6PMxw18-1K8$AP`;e1jq$GN(9)1NFb0k4$aMifGE)a%>!xBK`=%X zf?{Hs-5vV$>61TJ17LwTv{-AWj zyAL4769|y!@(&s&q>fRz#9yq<@LRV`Q%+Ov<{XfC9+wckECH|^#lH_inC7-YIB*fm zFmVS%3K|f-ot!5KN{8bDFGb+)JF@){CkJC))-o}XNs@!^jl-ZKh`BfYRMNLzuuv$KC_=sJj;X>p8DY734X zZ5TQ607yGFhdkz)<$dV%PAG?`cr?s;|d=FQgQ zoD`@A*J71Xz7`C__tFR8D`90FiZ+28t_ClC1w;Hq*cf4+T2{Uffa`6DCn#S{BZ-(9 zEH6xVsi5Jg0U~G*DdeD7x=KPhC{#oWZwM#=)U&Ahk&P*Qw+EaCX@-F2Izs%zs$9=N z2oSis+@_e&i;;a}<`MzRAz-BT5`5Y9(D|28$z?_c24%Q(NnPrYm3R5A+-EAOXpPK6 zS5;B1#33xnTtMp0@LCDRq0OxyzvlTt@V*M5i#-@p+$mnx?>E+6Bi~L!vy8twRQy*T z{}x%b*!_lvEMB}8oF?ALNnS`oE{%JO>}~kE@^JmdqxYq#fE=p;lx@a*V`4A}r3}T3 zv^*Kw;DVB@<-mWib`a+5RLDWOOiD8Zrvn26CD%G}cx6Kph;R5Edx<&Y+|7W9>R&zD zDh#^UwkO9jQn+V~=hyn))$tHlB`=@<;|9&kFcDnG` z5d?Ox*fj}`!XA@VbJwFC4!eXr}&Pp035*Z^{o)#yK6%-~Z* zl^rR`NE^ONSmd#Vtk+7~{ztt(vClzOn*%Z?GaaFN-fH@C_I_>^VfYK-n*jyI8tkht z?d=uq?fXtWzyYly8Qt%C2QpewM2MRJ3VU$ILwYBGrFRp}CVj^JSh7houzVQ!RC&7&PI^u=h!iymZ6W&UBIRy;jo$oV<|4_vS1_h}=N%0#Aj>)%DmkAZkF~{Of zIJzqE@b>N7M}~x>^+)LMu;&THX>cmuNROaVnvUhK;cpS1i+u)&eGSq%h&dARYUVzl zh_dH5(NCjY&wP!Jd0qD_>NU~2a_hCoE<~QuvRYJLev@YMq;EaPNszo`3*#&>$?EC{ zCut9JR&W+^g4DM|mKnrCq;%J?1ZOAaMnAoE?|kIg&?68)5iZXvy6CMa^VZXpNB6 z&?6q+gy?0ngai|QH~<%mg|Z5s0mLA1ZVXnzJVr)FWI>UMW;f9I)0f!HIsZOSh){(qtF!8M*WwcZ9-HY?#JZ;2JPlMyrFZ82#?;~j_aSCob-u~Zrh*bJ+hpM637QK zct|uEL8qcCj~7O!YUpCf#(|7(2(ql(1btG?v@c}fB zN`;N6w|Y??z~-Eq@UCQSf%uo&waZUSxDq-n%9*hIW-McbFB-HnsiDF`YPOLQzU=-D zFVG%(B{HBBs^ zs`C<@vJEY5ZE<7${WHt!9)(1*$i1Uxc>rnKq(h^_j7G~A^Z1bNL(~ca;dCmGV<~s< zCggoR<~D80hP3*&KeIHZ6sl&HJ_w0Ci0+6%sJI<{eSFTQ=AIt&t=HVfeHM`Pm`>}? zFD9GxugQkw*fqXNb&z8+*kD2Hr6@zS)w)Z9ZEkA;MLSur-BnHJfrrZrskgC-x363^ zeM84>TJ zn?Di1H$ctgHhs$8`da9oRm@MvWPvXJ^9da)oAA6UY2VW}o8behy_oa`xyyMd7do~a zK7QDL+;>5SuD@`-Bw9Tm2-7MFR(`4J)?qUkJanHXKF*ld`P4O$t^R>h7#cFtQ8X3n z49$Z&bnW5L7hmQ@3?xx8So|$D6YoB@fc2gRZG%v^TOeAAg{GL}EH{8O0HrS>s7Wpl z|Ie*_>b9&PbHIa)iXHi2EZR)*OWpj4iXzB2uFs3~bn4MPSn#ZIC@Lx62k)QO>4FuI z!5SwnaDIX!#lptsS#Ka?Kav_U3KT!kJv0=Ae3`e- z6QD&X6lQw&_bFk-Pn_7<^q{~21~mOVlj%ta85!l=Zzmm4t;t{iqfy1ucRWG6yrW|i z^!EqAWRtLpTdqV#$fGH$puh{@19YwPt!jOvj6Iwa00*yRCl4@q>&tliQ^rB;)`J#uo~I0Ln>sL=(7gs9=U zC1{IukBo#s7Ql)&#!6I$5|LlA!LhZBdvhZH$+wO(EQ(MZXB1kGk~>633e8I&Pg8i{ zZ#<}S2+nRtL>@&eSQU7BduTVw`G?{fAi)8!lq_6a44ZFs|0OD0Iqp>papsOJd37qY zv=1x88BFPVu2DZu+n?EV04Y~9bP<03ePg`~V|yaAUsvjjZCba zp)aBVWT;FEj_&cYm1>+5pElWk1-T^tSN}oqYf7lftwr_MlF4w|?lSxgp*1Om%zJcgYHBtFBh0-pSyQYWTrYJ!DoUv|I62}0tkm~`L0!aAV@ShRfusO z0XRfG>_ZTZR1Y1h-hWpKw^jb};|5BSs2uwC0)bXg%5fh=g#=qHT2!dI#uz$b0fz`Q z!$)5#_|>M59s^%=#Q=;U{yK%l#hRzO74zNUr?1!@m=ee=RKT_kXyxjxJ37~<>^;i0 zK7DU1#TptHDun8*-g#je!mj)KoW(GA0cOf!D4WyUl7}-w|D(1NSA$SEb@p z83t5vgXl~*5U*E3`*_e!;}Ao zOxXXdU3r|C4-5mjos`F-3tCWrebWc*cDRyi;y=R4Nh}-S;lhxanaRJ2$dC|k0+7;L z!r%v5wsKfMX_tApqw8iZR{Hpkr3>fI1(G5Z_mYART_`U|51Z}zrrBAS+CB#eN)xfs z=JG$`H_3U7{7_WqI}|Kf$9gS_WRK&8vT$>!epd8;IO<2OV*gBy9S!XMCX(t{BaTZ9 zjpQ1jL+Jr>2ts0qnI({iqOs-w8Lt>`b%x;IM5zK=V~M5mjsFwypgU-zfNTl^vDE-T zzI^#&4n>mzdQU0kC?JWIx`mY$je>##G69Wmee4fOs&FbR6!C%Wo;t+|d=2%CDmraQ#fVj`0u)Z#ZPuRrI8kK*tV(Vg z85&{~poM0D6Wnoe6|#$g2rLO5i95T zRD^$+7oDZ?$eJ`3FziQEl#NkPkcd>K0Wu#)au}I^V{UTm$y8l`sFF{b+u_O*k-FZ2 zU&o8AFfvIg28P(qXy-j6!~GX6hnc5eYpSUM{H9etzXOVw7&Jk>xQLJn{lN#28MY|T z^sx3ckJK+u)n+|MWAp&RaO7vSm`3|CLuINM`QkVV34eco9cYv>PUI}yw*?0;r)B?_ z;>OUP{+Rye{}S9Bh-fFCE4!SB^wNwAB#R0Qn}H)tZU2UxI0k`Z2PFY)I-GU+dx>b|)Zf2b@c@b)``6i?JEzfyhbm#D zhTg>OEjHJ`A(wlHqx8BNM64$Lukl593kvp{zP=v$;>8OQxHcN?h5jZDHWS`CsIbwj z{P!Hr7O3#|*VWd}rrf_32sG0cG5hDhfClnYJ#_ULq39Hi#H)<~SPGvqj2Xd(J%p0& z4zc1})pd_*EDVvS)4`ctvD#4f}=Dl5XexC=0dqy>TM zH*0HZwl&n(Ux-RuQR=m*FnEw~&muR(zCz*7Dq7<}rBA%abr7%D!JR?{U8Pu^o6y^~ zvul#*RdMCyFpdZGRCsNiZ`FFf?awa*Z9)4=H@q)^275HCnnLZUh8K)HI@ub@QXzaG z+Hp4ioS$q#hFp8*>)v|~naVU@k1O{7dpFss1Z0HJ_zn8co1uBcK}wn&56Wt4nF5p`&Qg%IBWI&Q zqoB{@$EQobq4UlXGTi%0o~5k{!U6viz;ZAM`rISUt*w3q1=liV$rKpDPbat#{v%JH zO4ny1*#N@)2TYDLId%G#^YBfSh#XwTh}uLwh_<92)c?&bb=Rm%-SFnoC=ricjUirM zIExVl2&jn2MJl19#tq8TMTz(~MCYg%8Ca>X`nvU}6uvW*$;;&4i4qfa$-VqxSa_i$ zIWu>fG?M&kiVH(e_GZY@5!zI+uYfBgOfPo;@shE6StQ%XclaA+`+aAxCubi7ZFjEG zV}qoJX!+1)>V?{o{rtm6rA|1Bz=0{FvPyD>KNv9?LYN5ze%=FZHI6vf%L;$0pATYN z48BA;3WT^zj;hSHLeIaXR2ht>Lluqk&_)w&yZ?@rXqc{6e2Wa=%4j=+SM~uTqJ1Wb z9z<-O<9o17A}t&6uGZ+K>e8V{Kn0jZa^Kv`lUVtVpH$VLCO(-EdO!!Wa1+sfgz8Nt zb2(__<5O)B^jlG2M5YHsw_Hb$QVsVyyyUfDe+zYvNm}V=YY%^RHfr;qsqlcdCO+y0{ zd^oUH&~DU1V1RxO-de{P&||Mf|Vuiz zTl6`C!2f{pOv!sf+|5eCO7OzAq@wI|8XygL1SBC42KvZxZPhfzox6ay(Ae zR6WhrCSV!SJ;uoX4LkqO0V=<~w)D;2-qBK^u9JQiKfDVSaGF7m;LCF#d;qGc5kDks z(!Pxk5wmdWGPA%Ue$`9ck2gKQk%k4iqW?e-5GOVvD-w;s7cXDJ_vwJHlAOQF0W5rS zCSpDFz{cwi#;@R`ZiBi>LEL$PU^nCOYq4Dn_C(M_i?}y}qKd%sjfIn+@3;P=Xi-kU zLGe!-r1<7wmAn1PVbz81UoO)l+zqH%aja;N@+7YVZc+@Cx%v5DM$1E=#Ls`rmq1_+ zBVU9w6PUWxdGx!XZGPt|{tk>Y^o9&11+gM2E9*D}-Xs$c6l{kB2BOSeppwXBbZ}CL z2nZyU&%S>B8l#t9XRRN5xTN7YPw5{i!-j7KQj~W3^*%JPL}D6V++{oD_%P#CN8T$e z_yqkuBt3ZCq{1fr3-+&f!3-kN&_>Odf_zaA)D?=ESiQ3db0{%)BgeYQW`?}7_RE+1 z;EdkAf3G#PapjkdWXf|gy(10UR_=`(Phg|K@$w2R>mH9wi)5g9*1-!Hgv~+JY|Alt1Ix4Hu^=qF#d-f5RG)OvyI;TT((1}of9%(lLY`Z=Q8O_gLoW6@v$u^pa&6q zT2xeZR&Q^np$JcmR?gUrY(t`xa*T>2M&j%?p0Bsgknf6!B*je^n^vF?26 z_Pu-uy>kS^KPh|la?3|*zNi1a{LJeMy)hy+jA|bAUq?L)6A(s3mhEp+CQtELt@6Ug zMl&Tfs6s+>ptkV_d)fc$=z%zpyX>f_w4GBz*hNt4GzFM?j|4nJg#2^(Z_oDI(llSU zB+;%~RZ&$%hhKO3Gr$600SY~RfP8`IdmB>(nk#3nmRHIx>9g_-5+Eu-lLN04^t!nb$yxd$6l@4^v$_uUcs_#1@|Eu`$A*Z?T z$drxy#;_;lb=!-I0ympSQ=-p&X z;gOMBDfW9ev#()bs6~FcJ!gvDYAF0ZJgprC`mvDpe>KRk8}hxf-Tu!0y##CGPi2k6 zBd3J#^1gqdayO^xfWH3c6V5f-9A~Vp6+X4J#4JtkN)L%VDf3_?K5dvSEi*jlc;pSC zCB|}7Rhs83qs8UqqGbXXx^tTjxo$m6Da_JVUMIMGr3QZdFoREr@Rd8bdj>mdlM z)+5T*udAU&JG@~_pt(UZ>#u)5np6(*J3@Om6!?{MvCg(j_+HAaMyo>Gv%VBsW;|s{f|e_)guhuGLSvE0{N?>&Njxw8 z>-L;<)sxclA-mG_4s2#Q#OU))>`2b(PHFOCA=1-V0{zr!8|JS$(ebJLbNO#4*iEV# z-)*@gydhheVS9!r^+%fqR!yjF$veJ=hho4|sD5XImpSEzlT-KNt5gl0Yg*)2>mkXj z4yv`<>wZvXQGoXGSy5@(x4Iqw{@VrqWA@w&6uwufif6tY^AdR1y?uPgG@JE}e=9bx zN&D9r2Nv>}G#0ff!y z=F_LbWCaDOVwh=^N&>~pH!bra?nJSyN0 zD~Q{P$8y3Ow{j+i_4(%PI0l_dENlZW@7AU7mn6&35m3IBSneB5A^L}FIH^tiy?k{y zZtI-ZrgyHX!YgsVgpjRO^^?Q$IrA*~G<~#t{cZ>~I4dakwL+JRS6tLh8=YgBU1!n} zWn8}2FN-Q9GWkcz4Yt2}*G%xU+X{GQD&Ru#X4i4brjLa=<_2qK7n749z6&fAauru;s7FDtwnUr!9c z04BQIxB~Lp99;D-aVyxnl~Ta6=%;f z;Sj|m;R%WyieB+TT4i9JbI&hKA(S8$K(N40z|tTT84Th)X+QdsXR{vZAh{-xcu8DO zY~m6L(UPET4ir*M!k7&xO>;|2T>*ZIXfR>ebm*ti>10jz$ZB0y#b2^8eER_yk>Uj< z3re1HoKR4PfnFw#(1g8!6i4fmg(n9&qG_M+?X}rx zx?Mz)KmcSYBX6UKv;zJe7!vXpM0au~12itwUXW8_h$LztS^x+1_&6UE$)=rqHZMeV zA`O!?UFyicxKUW^z84ZQj(wLXuuVG%TQ}J1k~)z<17O?L!KOS`bZ7Ke@kWB407=z- zxJ{t!TKWFt{wW2DJtoy5Pw2&hv$wYoS9F9Ge0W5JH)w%G{6fnlbg1xB)2!(Ocn5#r z3JjOj$vUmz22*FkI#Ygr^SI341U$tY$yRM$oey|o;;J;dvuxIIFdwNhI?{Xsp{-ZBGsj(5bv#`)10u1X9O8l4pooTx#rC;U~Jy>g)9?bp_}$!U5f&in6)D{ z_4D%b60AC^hMJoUSOxAgNdg2a+yS|`xn--1L&=L^w9pO;UeemsALUiT^I&WFymAT);osL#GTf z{s8FHmKIj1T4I0PH&eiNJP7bf8oEO&w6G z!^=t-lYjzU3kV7#COYK(bopHmYj#4&NE8uZpUt7Y!Hc)TQlaCc*Pn;iTm>{%FeZG1 z?4LrxpI4H{;P6ueZ=VB@K70q9BI>BiQJMT6E$I4p8cZ6rVf#bmA6y$ZT0x*t2*VQ! z@tAM{c29}Ni40ea`Tbc`fB|>4$yKzrvf+AKmZ41-@KZ*`G3=D7mX_3LHB<}*0$L7<8RSY|P{soe5dJva zrX9DmFcW~jc$A|(VBae$RL~7Sc|{{Q&VuXdL5TCdW5{%hAa`VR^ajdxKq4$G0156A z2eW7N@bv-LYZOZc%bzhfFMmd+sL)bVp@v~$L8y8Kh0I}8&&nW`4yR~?%}u<1PrngC0!|UuZtY-9Qy@-r0(s|Q3=fp&7(as}3$$q{ zsAv_Hgz&6r$g-yXs;Hd-!2=PH-NfG;`HCp_tYYA~z9PSGUks}BHp|7_+IQ~+Aew?t z^WpUQu$>o)38E_gpzhtfh{3-Cf<`Fv(2gDx82Hvwn)F3O%=h+L7|-q?Y$T)DQwI1?bvY~6_cABBuDXR+n(%0h?%lQv;-s6bm*_h z^Gylb8Vc9{#6$0@I11NiLCF4=UE!L?i&0uQH#Lln;c?Y^4)0EgBX~}hn5y=Ng@tWH zSNe6lvEVE-Rd>bfe*!7Z&@p0y5mu2C6h5rC)FeKu+CZwL8W|7}aLvZ;rU572O;@_z z9nT%X^8)+A_~~ztu0f%{Xyxqe9D=8@a!bq9^!3q+!^6I~U<0r#c~xI-bbjz+o<3%}| z+er}U#p@(vKhVow)5X4b&z@hybVPp}f+$lkJFj3IhnM^owvQw}lq`(Bx{ufF8LeTo z*mO14yqG@p2l(6|9Pb!Y#s^0bHDG}cr}nsgXJcdgUA^)0?3m?0)qvpGTVC4LB z<**5$=Z#%yD3OJ4GQ3}2ij4tUR>6CMpk~pds;bHb2XLZ;*Zi;=0Mo?#$&p*w7>U;v zgou;2&{j!eW-KMgAOw33q&N)IdEp_L^87hD>cM4^FMv*fQV#NDc8Q6JDIqg66o%a# zW@R_$@#5aXc#Ql2am^r%EzVv6bl#s(DA6>aiMBX>0M|hTddO~WV!OddpA~*vqm2uK z^56PT7-90-c@a_3o+(zAy1F_ecX_bDc9#R) zkp^gJY5jb~NGV6|*WK6W58=h0x|NYB(7*qB&Y&!6a8}(eDUmmMeVrX^3q^?_tUe@m zdpunry2btDCB6s)R>*f@g9Fbh*H=@eB242KY;zPmZ&QZKwDY5Kb7gQ!e>|sb3%5~< zjOn(d$h!|8e*0;&DP>$;9&|r+a1)(Tz|N>(+K9D855DI1wC$Iyl9El}Od-QaYi%3< zI{X$o-gS5=9k8ju)mP$C!p@22!BEf1$@7OAq_RXKG-%_OF9Crka(PPYdKK2-s*8=^ zj9$Kc2^V|iix;22{qgw@$3sXnFy$d^a?*kFze;=aaIV(2|9@$q9VsOV4WxOZQMFTv z&`6O=D2 zKSx_WpS9MtuIoJC)9Fjjcx4=;(>usXS*u1hk?QT=UjwOJm)x-FG1eZ1k|@FTKRuuj)pYy1ersm5V9oo0|3TuLoj((G!>ZLQLFG=LHEF2vhvS7H00~jR^Y~J!&pQG2Zb-4bYoi#Je=hX3t z1rIGfwM+T3-kGuYqno9$|Fa2E?5zSr9z@Yafu9G-xXGh3K=x41+~({BX_KZ*Y1yw} z_1?WkL|()qfe-GJ0{Axo7Xt-E+T0&##q39os;)c&Fb0iOGul-C1w)!eNYlO>ckNnF zs+5}Ot|%Dh!Cx9iFR$; zMA1dJYu~nexn~%29unZk- zJuJ17_KgtfJ?PhlXpGz3(%a)v^HYrucl5g%6tvpHknvQJK|EcprvyThdv4P~XVkD^ zb*!wdN3mTV{)C9k)=L%NMRH=J;9@nq9vbx!|LsSPz_m4x!7|vYS+^?HJX#d~%L=Jvrw55<*n-_LEYGAaN+q-7X zn!OO-cRA3InvXZ?OF2a*6#((ky9*ttGWf+}lhtm}pvA}XIk(`Q;)3t;eO`K z${)Qwwl#i^IMdRhvTzO%0A<|sP8*KM55+g=v9?-@$?;v(<^>!)y4|MNlTMm9pn#O8 z55*^X`(L=wo0(bJ_a~a%Y;VP}NElB+(RoxDDR}XWb;i9O4kbRhsrHQ%s-03yI=5}u zu%S$Ab7_*Mj*T$?nC8lfuC|DENRQ&JaSaMk*|%=iqYkw-QcU<~=()>!aT=v-Sd%js zHCYV&tvPnl7g%(rjLeR|p;BCQ^bCbLm66`x5DC>$XANAq@XWm~u((sk#a}ul?=oBT z%&bcw`64gtV`dZ(dMr9xm45s(mu*Vkq`bxG1)_)k80YNV0vGM(7C$3N_^L+TKdfmf z@0G}+CQO(RA5!q*#cH1SqVVeXMr8Fw-_$A#3@MLko$if0U)b&DbY$fXljCCdLVmkB za(?UpdOlH)ulDypGiK1jh25#i?CkCDPQE~gd+&b2IKKk3=?HIz`rpsvJtUBDa5ttfVcV}y-==->yj9~0 z^2OZg-rj9EBdl&G*MuP6ijwT0S^!of!(UI4s`S|LzM!CmY0<3Z#La8dzt37Qt(Tb@ z2Z68KM*r8#s%~~YG&4KRJT2U_`F8rhChL$bx7b<6(0nQ_RZ&11UQ~`4K70`BS1OeC z%(xLzCW02PM*cX)2Is7JN)8o<+niZak*+^G4CI9^T%zw1JMyiqtgPt%JWQWWs|nD8 zQLZ3zZK^v~mXAZ61Po(b-YOVfEE0z`69?AEt^wyXkwQcs5j6+VQ@0M}CM<1$|0#gs z7G%O1f1Taw?1KlUDc!7%>pvIMa-8SBD<_W_q$lU*Hv9VZt5WP_D06=&;!$0^_}f&U za#BnOvAtI2ptPsB&dZWJ$=&z?1fSGC5QO+4zFy5?mHEZf#Ltvhwnq!JW^8)uBM zxBp30Ei6VhoU+*jN+nSR7*Ew{+op|gcz7dF0TV2^6~{iXy?8PLhC5mf45=t&`}Xa@ zkVj%mgfKRwn%4q;VDWhO%FW3c&suBVr%(LjWk(MknsNHpwQC3MtAC^Z0gRe%`s~5I zu38g0c10jaX*aX$tF!xLBS^47WA4d$c<=sw6-As?t5#J@`1WkM*KTw^$v}#fK1hpHJCV~*1KOI=nvOG zOZVx`J9n-2s?-N1P_!*@2Pym0TFq?Ib?6Xw0rku8Lb8E)*k|Yqd$I~O>$b&l{MN32T`ZCMB{6z!rWyj!a z#T>{{5QzVgnH{3%Fh7oyjABg$rgE7mue{Dv*z=UPmW^EU>4oj30na9o3PvgF%a2lB zR_8d(VexUTcyrRlUWbObVjCEEjdV|4lL-o!NxowP-0Bi@hCEYIkQ<^pxpa4iH*W;S z=2S-Z7+>1ilc(ArVO5nwmQVZR*!c5C9}hds|9CcfH#z~arqEra5T}PABbj4EKPDvP*}iRC z6{V@UR}cs`?PLRtz0Yr$cI$R!TI32YV7SD7Xn;CQH5aS{m z@xE+hVkUA9`!QpJ&=1PIIi~gLD-%#~aU^aW8r$6|T_a1c&Qo8O^Nw4a(a;b!#%=XW z>@&{EDG<_k(v#C3M|(e$Z%s2N8#c+Q*x=Pb1FFLY7~nIk+w{*QJb5bjIyZQipI{;>AQ5-TznkSV(7peTz|}8YuIa`%uf@0&Yiz z^;<94vVI*$w#G}zKRV#(O8E6PTLi;gj`8~=k}=BK5r>u-{VIPJ_2VMl_jTbcUn^mO zCMNaL($dTrwoM)HbJU})>sW?PiOUDajn}u@pa}l!W(Ht*B|8r`mdYaWsY( zEx$u}lb9^NbpGCHGn*O6LT_n)6(q&Gys#1A;_45oTJ`EFNKWJ{%Lv@HGw+YsX{H4( zZ;1n!GAWe3hYc<2*2f+#+0G~#Ifx6+IgTD}(MEgG^y-T#?Kf^dT>1RX9px(atVOe{Mo@zaleDg!6N{bhfKJ-?m-5O*ZF1xv7Lg!@~nnB8s;h zPn%cobWaohK4_bqxop2iefzr1@EX>AsQ!jTo|ajkK9a@>PSfAh(^RBT43CNK{z1X?6SkOj;Z}V?;uRM3jO`pa{J-w|%EhY3u^djg5$*L(_6}_KZ;lq9OMH`ce5W`MgS-&3dfe8-Y~>NJMu_`e(+H| z9a?pjOLON9iS6!~{xtYp&uddI`CT(e?sZCal%nybc-w^*_+iBs-@Lg(X&z?NXXz(n zNE%^>cn`-Iy`vplueZNW#E*nCqla|W71E8jzgF$q7GSdbIxhnZTT--Zv6wU@8JuQ_ z&1-J#&6nU`1Dn^&<2_;A&HxveCcNu=Vq$7JI^Nfrwpc~sT@oueyNs2MO)YGOk6td> zacCNKJiERcBB-#d*(Ei1cr-rTHehKg50I*;I!d$vPH;4Pi3ieBQwjCm(Cn7Jwswu! zF&#pS$`7VRjC6I~fG<~E4rQ!+ad`x#x=XCD+*6KHM8eg;;0?^Z#uV>73n3<{yK z`vq6^I@|dqhpbtXpGCozeqijFF?rOKw5K>k`vU@kNsLR#Hq=>5tmWMo%J~O8i7Vi$ z!kj2c90Yi=@3_ypb>DMw-dCT=31+LkZ+fdOHJDe^SKs>8qqzp_R!g-?LVq%v&ob}t zFpbF^`m)il)9Yf#^6mI+B5+*`!GmdPBn=Jx1rBGP=>djv{KuO`GcDVtUS9jbl0h+oO;o zj4d$Y6cjuk-5o-XN3(i?KuHk-k!La?Ng=xEg5$>?(~s?5zka>FqoY5akPsK-R*Nl? z*!u%I8L@G3+lJZKdXNN`u!$8|0Z}xlx~Y;UNCL)FsX=MCnIohR%v{EF-8wvA{sha~ z#nh#y{WwBde(r3pWp7Vq*txpib{p^L;2_x}Sjh^wPO(~u0AQS1mwrBSEO z#}J>N`$kQQ#HfI>O<+iHLtZzcJ_7qU_uaj_sZ8}|=ShKnVRotoxHH~YY(k+r2h0+{ z5qV>3af-`HEsQ1OqjG(gBD51GPt>I<)m0@Ug@g9i)*_5P%(5Ibs_9wn52qpy7Xc8q z;FSljg4kLG{{7ed`Q?{>W{TcQ3D}w_d*T!++IPGJ8I%YLoNG#V}fk*yEivNeHO*n9?5MZ;(wG_Sz^!p zy&-<&@Zp*aJifE3_*auPrJyo`frMpA0m=;gVdIz%(Nw$$`J%ZoMn?5(`!B$z)GCC4T3cA&J=}C$AseprLcY0+R%*wQ zfuS~6BCSUqI()b-kBlc2k#p|+k|{^0?XA2xng;Y%+Q$SAwg~JtH_PKQ@fjbYIZo(P z(Dll~L3=b(Y>IgJM~@!;^_b0R-21nw3t+VLU~pwSrzw72JkNDToy8$RS7VkvtN7XU z%!$^T$MQ@PDqEwqW#V1GSG^>S*@09HXvz z(M*YH)~v;w-Z6tMqdK-I8({JfDUcfVE)0d=gXaf8GNqt>$;T3QR zek-;!qD*9D>4y6EubVv8)?#=;^tH%Wb93TW!e!g;dZMm~Vx0-i3p_M-9XxrmKDd`eL4zbW z%R7}}K9Ey9Jhimlr^wVogOe{7eIMu9pt#n+M@e9x8Vu zYnZ2j8UzNZOi}hvsIsD>qVD9ceo1Aqe(Qa&yQVgyTwLm4esyqgIK3=a8YvD!0W%RA zBd7_DjI4{O*1KKg*DaO3Kb^|YtULBEXU(zmQf#<0W!tMat)|p^I%!p|lO=B(jp38i zbK$u#vw-Qmrql7GwI}n;W>)7mZIU<$N&9_tb9W^gj0eXuW>{Zoev2=K5Fj^t#Xt)S zHh*Kvb@BU4J`$Fyz!3BAF$1rE*dWj7f+?l-_=F{)kwscDiHG$J405KwPjfO=4YgSf zsJiFu*)Kh7@7uQzBVaI)T{6WOo3(K7G{5Cm#!p67yt%!&_u@AjTb>)#v)ZpewpB|C zkE`slsPW5QsM=Fe(BSKB6WjM6IHT4}#|@H7ga~AI)+KXubD4d60*jdB-?O^Y@E@$C z7TrtY($m7l)&hMzeZ*%8UqpFWnoYl9@8D2FUtizbIb~ci(b4~4Ao^hqe@94c@ad$p zR%UT_w%vi8hRdx5Ph7?*$Fe?cPo~|;sZgYTMYr+XudaC#<*Y!{%C=tfTUGjy`k^%M z(L;y++@Axo$LuFpj*ryg7eipS06-GNeB?+A3cr0dJ7YFD!P;FEo;&g)v24P6VWJg8 z1uxCj++LeTH#)92ckb}FGq3$xcy*0)7aJ{AmnIo+u0MIA2ValNW+k~SRi9DeIBJw1 z8*~b;7RZL@PA{q#C$6J#ZUjs+Z~pwM_?4)Nt{!x9nVBP%FIiV9umqF1W!j^|>t9Dm zd9qy)-sXSd9D<2GE@hBcVdRhR-`#nyM`qYQ(B1#e&B;lPZi&v+J$Y5lpDv$)s0#>7 zK!{(1QL}Xwn7dR;q*~(bjgN1^o?}!23@()*)&#i&78a|n%$QCZl+X|W54rC@{eAzi zjqzm(Lc=Y01PdC6)fEZ`=Ob&6rOB(a{u+R3a`J%uRVx5R#CVU2MDhI(EF|J>d^iBe z9=ogkS{q4HG(aY#7^U#aty^`(0Y%}@;D;Lqey4vms9#?exeU9Y9Zf@WA{>t*#*gw! zHG~{=FoL;A+>5|ej5FyxFyepVE0=*JpXcQ%GBS^zm1P-6X9AgzVkKx%c;}<86e}`p zg4*lS9xpmj7zvxBYn^tTYuq|}*`c9<5F38~fmtXDpo9osP?dq)(*n8^c&1cAq`W#6W#jfY}$I-XG`fmawpF zmrJLYxu8b^>=R&3unWc*=Y7x~a#%fJqU*rfW3L@KD&uo$3iF&^G&XgwQ4Y2Lno$?~ zfo4iFNVS-bn#a;o^iY2-Sn#5m4;81Ed8m!0(xzX(NV-T%b{wy95QJaeWrw?+Kk_#V z_(Oia1tZ-4h}6;7AHq9nY3bnVI$SBcpUmxG?75@YGuX|{d-ucxN@`lRjgwROp+m-p z`!YI8hA9KQfr42hZ8F?r_ej?6o6@2!p`il|(wVvtKJLhkW0^UFrw%Qe{$cP`(a5o9 zSDdF9xH4@{>Y9dR#M{z|L)s=E*BxZ}nK_4{xa9sma9}fRF&@!R9)eyvU2E5=Q}oK} zYMD3{#WGs|@b@$KX(o6Pn6Qp}%z}>AD}o}0{bk6J2s3m#6d?r}v4*3mg$CQ&J};F? zT;O}oe;(NCzVWON#!T8qA(hHc)5`DUO$-W}&P2h}>m+VFE>zfwiGyI?Qn@&n#vRNEnMcCMwEzgfrn77*=hgFU+!? zc5HH5^dFP9&6z_=pe})spxP1@$7T?`@VfPSy_zJsP}?-e^-eW%)O-+nQ|eCHf9D=P za%8n#n=AB<R(E22M z8i;C8CPPRggS1CPcQ<$RtV=oUQT3e>H~=m7s`L`t4^z(2h1X1GcPAL3A{M-oht>SI zNFlh-@qZ)=zW+zo;581A0?py|a6y{>2fMg>;hA+Q?1hBPiFN2hewJ^6nY399-3Y?z z&y5e=z5CgrPtLu6KM;6iA_i)6PtD&wp5u~1iOIm5f%MSjv*D%6P*9c^f$G<=%WZOm zMwBj}6s16RgBdet3N}O(1eB`n`0#PgyiV&wLIUYvcw@_c$qk@$++KXLeXQWgs(RnU zXaSRvvT;bh%wk!1;;@kjA5Lp4FsM`Q3-5Ftl?h;28Umt>$7;y z=AzsP+2^TfEqht6rkm7xvufg#eFs%zqNAto`?eru{=Z=mHsPCpxP2Ief{%?8>@Q}Z z>MD8{p~l5i%*r+1x?|XX)lr<9(tY8@O@%x6r#7Em`S$Is;F%5WD*YYp?X?&l9(`pI zQXGL;+?`X->>rTw#nQOGWJ-}9TM$3u3lllm6GQ`?`(^LZ!Xbwr79Dp~%I0tRyHkAT z4Xv6fCbL^r!4QUbbKfrgKPZOYt+|aGHBtjysR$VbMRlcrfGV&v5nTCMdQ%BAW1B}s z*Oc}cs~duom8h1k^jzv8n=Q{oNcJ0IwUn?=Pp#Ry9VXH6qEG$UD6jHIV&y=p3nq77 z98@HK&WUYkX0|Pt4Ox|5l;hCFXs+}1@X^Ql6Pe7`@B3p0`TBGi;?l!v>o=8@KPiVj z>#a@oYVkJ(FsGEFK#Nhd8Sl^H9M-rxUFPE5;a$_w4RUAx*?xzezbI{)d) ziib~*80JK=LFIvScqN^#3^eijZ$QY|$8Q|}4L;fQdgr(`yvIPMF~^R*bkZXXOR^ht zBO8_Fo|(*-`{^RC1d+j&xrqc-)#tFrVz?-bGZkc{{PASH z+t)HOM!dW*S@&i4tk4znN=r-sP0Hu_*z6&_&q1XnDVA|!1vCcaWq7J^G>7w?=Lyyx#<9R2;#tQumw2R~~?rGiQh;Ui~9=AAoHqFpQO z_Tv772d(DMpYOf%a_RAhZ0J`rGdH~`Ec8H|G`!A&P|y% zZPbDVr!AimMKb`h8rtj{?dMi8`b7mWVOhcYo^85!cZ|L; zeNELftdrB|@WnbgJ9iqe$nzrukxnE8Qhc>RvEk!tZ$AK)oP4)s-#@qY4-72zK&hln zsRDfP^X$JM2UCWNbux`P*p~0zQPbkkv18F9AZgcb#+Fv~gI`g=ZrQZS!aa7IsN0Zn za?Sd?Cc%J;JcQQ3`uzFx^^3Ca^}41vaL5lQM@M_wR!;fugB$!tIR+KtP#yAOdBu3W z7XUE4%KTS*mQ7$-?)Zya!@}%AKUw7R_h1_`0fI(Argph+HKeLJ+`eH}-e@PM%@mNi zLGG^J%(F72Mi%*}kvv_N?2`EFZ{L1XnVENK%)8lnmyUolzh)}n>tYk##w?LdhYq#l zDA^Dc#7R4tZec&i=VF`kSvrU;*Ha2gJ$WlSgYHk5qBU!-tFK$*5%Ql(jM86UBT}BJ z-Mn!OeeGkFL;Zh6MGG~^q^!;+?V|faBS;%bB{G3x07;PuGZ@MJ=>DEFLBc1rEF#dw z$>||L$Ls#wjmR?i=V|Skd0mF~ z)TS?f@mKswbe!v>KW>6JsR!tqH8}!mi)6lRhdI`q1j!t#!nDZ%D4MDI^QUyt$m+Ie zn1^0`bV5Sa9o@r<0Z%^T!ErGXV(gqp?tfP%%=Hqx>i@fqpSJD&I+sy;lOApf*XOHh zWKEQ~Bc$qZTXyctA((1Z8xZf*Ti`Ib-E1;mLh1_l`ZoJql`@M^Utgkh+Uh4nFwA)LVM^UW0N&f+Xx$NYPuj z);H5__z!n(b^L$0^Br!RzKsQg-&7WS^88;aQOAyHa)L=>GE&yE_(9M~X@HX=+dATw z*i>Px*;>E=ErjY+OZY>!UFkJ#>Qr}%Z;U`I!R7g%@#wyKI6!GIRF*C+Uli_UXQ$9a zL0wP817ijq6X`@{fFMIcdjlbK}2`RIOZK90;IgKZRDRzSE1gUz!&VeRb8P_k$JsDbw%yl=f@k^jKmd6 zvsENwN!S>#LiLztPnRQBko;k6OOVv6;t{XdiN2xMh63Rm#CQejC@mZh)br)d#&BVm z;rQ7w-*xi&uT;4rsU?iFm0R`d@u}93?@77$Lq|6{*#<5Stn#Cb*F$R=_CX`SLx0h* zi4U~{CT<(l`>#EL(cR7rJ&>5#uhQ#(HA4eH!MvV0xvj7wZA1LtR2%hgSiOG~>*wYl z1Kok|--bGRA65R~Bh!0ef8ZxbKVoMfyRT_vtD`yWx^n8X9zJGc|o%D%RvqDzVrATNWLwe8sPZ%EaRyvIlZ8JMd_f3yCIyJ!6MMr%_~ z^E0$-T9Lx0zF^8Nw;5xZWzCv3y`CVok^tn64`PpqN{?cfRONnjN_%l&#XJ7Ev8vzaw&%TJYi4~CZc>-G zXLhH^|I)u`MpYbeB1sE*bjc4%GUjBG%a`4QwnvES?xNzL<==PqtPW@H?8VKj0z5S1 zqfgAdexr(_?f&s?v$d)eC{)6sj~W&HM=;$Hpl z%3sW7=EKIF=TE(wC8z?2Ns-9W(KeO?s!2$*ep?@XB`68@YlqJ>NoQGnoQ4*w*KN8}p7jP#HQpDmcwj8y{(0Yk_{ z7*Vkkr^e(%lg5%IMMKy`X3dtsicJFkMRhZE$lfkTM~)xA4s>-?b`^qBPhX=hvOdwUERN?f8C(oU04Zve*NyF3} zEPWj6W4GZ0U1_1Q)*K*$u2n`kd+lTo4_o#J$tWq#I#8GD*d9AU%(1`KwCirZ zaIf}$jit$;6)hZdMphJQl{lwcr-E|2}Dt&T8M>CUF-UX&a#wHhrK5bz;Mw z6~cBgdhtR7jTY*#hAMVm-aiJke_yh<-i6j`J8Rxi>t9fKRPnttaD(6VP4oBrOi+Ee zWP9sqTPmOKwQJWtncHI8HYfQ#Sr6B0CJ97d6Uy7-4VB55F_f+*Lk|a8?hVYC`y+MJ z+OZ3E54z?_jzJ#-wenVrRv4*HwP-p-$1TcvV~TzLyqv|o!+%t}>|H2-1Gu%UxV+`q z#?kSin>VY!Tld%b+ikW$$u0f01g+56`(-+-eN>iw?L4%Ob(w3=`fk%AlC=NYc0+5Y z%JfzBG&K`%Jj}mZF?PItSF5fXDW|0hrW$TC!?V_T#jMtXe6ucWna?#y00HBRL1UNr18?4g=eRs7rRoO-v=>cjo~dicf-+?o^f z^3$@Pwim4yo=`CfuiioBo^MJoMdj1DT94=6yniVsu5rNYroSJ^Ywf0n_YybMvrPJM zX>`t_v0pteT8>+@aN9ulxK(~_ecg?A)~J^^GdMBXb5>Hr6qAnbvVL@!`t}q;dtJ+uR z`3GH^G~-DI{=Slj*H3jd_07Ag(p%Z9QsZ-8Nw%x{`-x8JS51cg_~({9iO{$CbZCZ2 zf#Rf`Rkr9)b?@JOc=?lgQ(T&~NHIB@UUkJ9e$mt1>ow>!zeZ(dmz@<)R~~*{tlKys zw9fDAy*YpDu9oX()V#T=`uJMgYUi2yo|@H4HDGD?nn6}m{-p)@{dp-iv9FB&cu{MS zGG19%ed92LRn61nv482L88UHOtABpzYEWeG%9KDQKrXCaU`k+z^IMK>;0LP2(maCM zdETLEkmegq>h^d0xww_;aFuk;i1{^L44S4SJovq?7?*T@yYAHLuWDM;WvxdInUaeE?c3s_gf1?{lw(=MYiEDOw?AN&nxMaZfLEsbJn||8u(CCKuR)hT)WnG!PEqe ztmK%pXBVX-Yg?QcQ~hM!TGDwgIO+Fbd=KAU%A!uaM^tVs%1iQ`ry3ZxcAyQ9(dv^~ ze$QR;o$*tQM5d7C^WoyRsJ(kXxv!eGZ4tRngI%zCeO>!!tAFmk`scOX7uWUeseE9y zDjmWa72HTQTu|57$EAt)7q-KmPH7}DnNCRZZKQ3Qa(cw%$@@9!^8K5Rdhg$KJ-fz4 z-Dd;TJ3V>0%Gq&TZ5N{i>(y_R2RClCnD(*eh4@hkSiJM z4)>m%ysOvbYv$mpCfLAY1xinErNvQqLGsiYE`k(*z zLM(2@KfTIMq?Dem>UZeAhTNKj7M-Y~gf9=A>sOkW<@srb95{96KvU32!+Nz81$m}4 zlkC$b_}Qlu4TugHn5p>cy!e)KFv#m0D>bxHXe~&fS9cPQ$}kn?gCwSU2`){}Wnk0z z_6r>P(zt3-yb@tEJjHe9Y<~(&kj||!_el$cc-pkR` zK}i{E*B)Sb^tQT!@75YGk4zJy^^P5*p#Xsl1l9pMDodc`fY7a}kVpw}xaV%cR!PhQ zbHt!l^kGAfM*50_lT!heGt{2gTc|aj7RRadH?D68$AUI~eLk8R!a`&&4HBDHXK*U1 zDO3&h^!3*wj~Fs5gpmgL^vkUJvbH}yo)-E1=(%SW;PuU{XV30P{{s4;pW6A|m*tnt zfzhEXhw+2m*VvEy$@R$_d-ng>kqyVvmr67o0c}|j^blOwTkbKqj8Og76c*C;!&jYd z*I6r+G7SIaT4JDV!F4_Zu%laTguW+~TAY8`H-Nj19@Wex7)PgS?*D%56rC+ALHiZ820QBi}Rc-Zg|dlf<;m z$78vK$4{PYBKrpQF8}HIn+tzq`TYL*>(^E-Tej?CV$z&v2(;V6N5kXe4e_Elik;o% zS9#Uj`LgA`C#s$PtxKj#v~_cfB!Uu86eVOgCZPct&sz8_K((osJs6^=f%RIQj9AlQxXymhK-6MRoUofQ3n0B4pu=~H zy5Jyb>#Kf9^;ic_K*+oJJUn<>P_mAWR&-IHQyaOJ6na7H%D3vElg0SB5pWb9;&dO5 zwnb8gky4hNMNqI04Y~NnpVoyD2f3szu+sL4) zu&~r3NoHI2_3aAAvSHw%$F<#Vx`6QK+&$x;Bm)OvjlQnWzcluUYr*&03fPXd;M_ zNZf;03>!MMES)}P{nzEYPye<1&!yFP7{M#_uOFdTZ5`<)&0YMg(cgOv+jKm8?%6VRu^P~Umj$>vN8i_j9iv&s_?*$x z7vy~dt+HnO1BMTPC@;k>Mb@i)Sv(i=!xw{9%H6x6ok#HC*iq`Q|BAL8FR6}#)Hf(U z-yQe}hj{mU)9BAOH0`?v8r}fRNOTc&pxB?EO#D)^R{&Jj+JZ??1aSmUgIC@GRT75= zprOc7WWEq^myFUP4CLtb?9u%ye|D|X|88B9qt`KY>Xa$|Y*mvGG}sIsdIc~5xo-BM zNtjrYk+wGTDp3&*4}Mf87(N0XTKfYNZRT}Tyg0nBGT-HhOS}$5!6V#XRW>B_u$T8* zRpvh1Wo_j-#Yd^^v7>pL)v5OOp>66M4XSOdp=GGsP^*!hcFP&Ys#8wtxeqlfxzQtH z-3_zhtL*RUS{hkgNVT`Nv8&gzan0=hNi}OaB%SE?sQGHEtv`OGOls0+)_Pt0gh(HY zi-#7!d9ZK(?K4Y$xheu!ajuDO9r&<3}2JUcfcWF2jcBx zXhQ#1o7rKTv3)+hun3v}8+GEm$VRS91{99?g%#nlg9_axBAjXpdIkR}2j5pdX6g-g ztKyPg?-Sje&eNYK;b_L|>4(U7^l{gY+UuWQb8Z(VNzwu!v5kt49>x4={dD+W_t>~w z+ZH!0A~|11PGO9d1tTl?@#Dq{QnC7IP6~+Wl?)_ozHEAg7#Svn)%1lVCh(wcm+czp zawV`n{>u*pM*~rNa2T&=DxV&^E<~jtFj07UR|x|9a@Ft1-jdS?j~_q4l)g~*h9}@g zR!l6rxb1#qI*w^b&75qH1&4Z$w$E$JkmNMoH(l9N?UDHd(&BeJ(jTOO*q?Ccnx`)L zA7~>{dq+m}BEAzUM9y|lD^Su}S!&-SP^cU}Q|D7wKyF@_svpCkWQnPB?tzasW##2x z7S#@E>Fp=!ccy9IwL8sgOhBFaO&~P1HXCh>`3J%OY8&HKNZlF0Fz{jsYB5gEM=x`% zo2{sU;*b+K(k0CvQONb$?_y7%_L^Sm5yBim072@L!>7-kJu3qbAofRun-Uc1o0F3h zxM{>U?tMzrzQ2F* zft!2~TdM5qwP#D}8Pa21+Wu$xgF^|si1;^RKVDscAc$hIRytlWvB^g4*x`S6d7qhm zzvawt*Xy6@54g&zX{ji3hNq!hw+6g? zIhAd!Mc=+npmW+4>Fep0aF#}Kox^g!{TW7%GHmCbVXZa`%YX<@o4}jw0GtF9 zIQ?)#UnccLICPv0#- z+42Xf3nX?ENUeXD_UaGZfE<)^Roqdk@|x6kDhj-wOooMP4kWJl;9JWF_H&*#E=aG_ zD2|&mrrF}T9mi}R8UO(=sTLH}){uh;d#apyl=pH#A-h0d=SLL82T_?4t<7zo$6+sy zMPv{n0R%?hxOJ;4>{Zxul8y5zk{WH8(xowK$Ib=~v_u0=;21P6lHh7QGReJw%9C6+ zeBtgKr52Hu72gs$gi_%l{d*t{!JOSdf+7I%V;8*}XK8JH_-%>f*s;N&R_=&Cuu<)} zzG2EYVY@g^DyfDPMO?OY7mU-0zv<+{x06{(NOk7X!yqdngWRc&ce7RuLSl3v~Ueb{u3b=aIFIlI_#xpO8JQnl4!9f(JP?yM1aLag=b5PnheE@m-N(V zAwtU>CL z#12n9qGO+c3l(3_B@QsI&p#94lwuAaP63aO+Oub6&s?ttO4M&1<>4@A>q$T33Kss} zCU2vGDO8_A5#EO=7AC^hfoBgpAFVL2&FJPSPQX^e#xS{!F|iE={YN!LU1fsSfBN*8 zOYJw?7>hR#yARon%%?uur7!1z3S65X_ZOO)5a(J$hTIrl+Kd7(u*h}E^O{V_sqO!e zqJqeKUmTYOXj5nW>h%=T22GS*yD+)CSZqT+T|B_%qu61T;~P9jj_26x!;2UDNAG-( zCRfW_C)kqdvc)s70jsBfb2~76j*me>Yn7@uxPW;85{5!#4Vrs}!8e?3N)ihf zLu&QBIV;75MnpWio9e6qF$2kDQqsfE=;z|b9C=Wi%rbh0gV)cCY^qnUv1Oyo6j7x_ zeE8-6_!o_|(6(OG6JyT*)sn4l0;Q8YM4p+bWN{B5L=Q^*S=hNr+TwZhe98Zl>3pnV z!V`Y1EWPM+Ef&L#%BO)xw+cOH4O^o0Xe}{JBnLI(p;PZ|z5HFoW?Ey&8X-yObvMiA0oe!)ao+~9uLKy?=29kCJ zv=GWWi{Zc!UluhKb~*aFDm})mSsL4iswx;-x{yB9IVYX5nYh^{1yR}%gyD6S66Cvk zP-e1MYaL^d=@pJqdDP*q%WS9oak}5K^1^U2SJzNgJ#>0;*oR-`#EvP9ycQXR>^+#R z@XA+L_K$2!RKGvn6vCTH_>9PE91xzE2n(;7cxURIImf!FeGi#5g{C*B^1oGy=d*I| zakx1C`0$hR$@J@^KQuH9+Sd>M%N%py@S?v@UfRdgrf!?w)%vS#eLNpAc5Ny+DL-D@ zccFDgvK-jDZ))N`V%J;{Sj5HPI9kb&=pR~B@AsUyvZ_3Lpw7K^ShVU#izZEW^%&J^ z+p^zBJ%5vWf_$2u%lfQ04^EscRp$Q`bEeVx=;YBdIF8L~7}saof`2c?n$J?pcJ8%c z&>p*}goK|fzvIie46RKCB3cI2;$qk3W$3%5>`2k?PusSJNnZWg9H9C~dyE(|WFQ)E zj`!VV2J&X&^~_)SolqLG8>8albj9nsbZIXRVl~d~iL<_v7K zF|JRc_Swwaso=?@M?t)+(%M0IUcGtKVP=P_o7uDvSx1vtX||$)@8?W`|N7OdjqGqw z*!kOZ=`zwxvu@o3?6XL-qfuu9`R$r_5iHE*lGoU>UPR@+YJ^jcq1uGElgF@`ifpX2 z^JZiL=i}qmP48XXbE*PygRrLLf9>D5Zy*Qdz06Dt6jsK(vizYSP*qZKV~!cF*@$8x zLhjiq=_B_aJZQ^;>F6I2kVzH=-)R%lv+Q*)BMKJxIL7>r<_#J&;I~Y6cPH4u^+kSu zX5pC6XxHw@L>%wT?8?fj$ZpfmZParxY{2O@T4Q^D{BX`K!GtU=S)X7*uNn1hX?gF_ zBO6T7lor;O#SPec{Y-#q8iFcTy26PH%+)Q;~s?{8P z<2-jnL?{YtSdgzBv#0Ocx%1w2R#vO-f=5u_H6d|$b(%DG*Ym5+l?LD)*yGs z+-!aup?;0%x5Rf0^1?r26CwSS%o}$g+rDdZ@5YVBCKo(u)~uYuF@LWAy)lf5M-4Rr zg*0WV5lu0Gt;J)Vi9MkXr!sm`syKlclAg|?aK3@u9z+%WF%+q`I*x211nR0TuuK40820Fkv@T#)c z2O@jFEj{h6`FqiSkK*&fTuxWmSX&=>+OPandN%f53GC(?NLw^&+0ts;`@6dje3_qA zb?7}%L*>R%{p{7dZjS~|W!@u;;mmQLasAYOwyeU3OdlNh=fGddVk@~-`To=A&sXR| zO8c*9VqoyZrNH`tg(2c3OBl@-K1>ikvg z;q|q|v#NrKbuD7ZV8z~`2f&GY`d!Trcd8H16zPj`@yB^~1PxlE6!4b$QuA){FcZy^J^#MDIi{lS~}y z-m~W@BDzGFZ(RS6#=5$8kaSvF66;Hk8*}DN7$uX9Q7EW57JrtCC?EaD)3OdkBdNWi z&)Vfhx0{S3-;o74lV^uwLJi zo4l$rqELj`qy%neCq;vuMSsdCpSiW|i?KHgb$zpbyXkv9KnO$z`Gim^Ev@cMhUX?< zyK`qF8~Nkx>?}U~6*A{t8~iWOpJ07kd^p4J)%vQA*7WP@SL>@eVUWOo5ggQp_(R1G zrTq#(HknUF^<-(O-K^ONWjeV=r^!Fj>wcuI#X?0<{UNykGqiagT3X}=c4@4qCv$wj ztCrE-y%xfU?J|Ne>va9}KeL(|j|uq^nMOn9(30wwpKBT0FG z`#8&A=h%JjKd8#MNjXg@D{*BH^!7HVW2vX5wUR5HlfHCkiN2s+>lW^?G_rqO4f(AO z>rGKe{gX)t#194q2M^%g#-?gYcC?ZNrdo?StXq#B`7CXR;N^3>`!hxOvH(Kkr+LmM zloes#^Cw^vm>X~j|2^zITMZ!(>*kH;CLz>qh`n8LP%meVi*%k#Y-ft==ZSV~-TIZl zaVe;3gLzV3=pIQ>S#@1ExBViOJQh7*q2tVT@hvD>fee=La>`U=p8bM8X$Akn`LhLB zpdfWeY$*XOkeKrbE>x1(nLsWUAbA!r5ke%5)+!bks-)`Cg>&UJSF7p2KmR2j*zpt8x6w(BR7N4-+T+me)fH@l2|d!iA3hGOIZRtCyBA zJvPSFc)nQkd3~Pb%tzQN&i;~zi4_fDaRmdT-8(TUU2~7w2iu>90|Ue=Jt=M70G1(y z3=3Ms7*rL5f(Qoohtv>ilvi5zF;tTxT@Wk)#-%rVm%m5D5xxImHIl(@RxdrnLUtROlg9^I(KFB3b|T1KkM-K9_?NbyNQ84?u_6Lx3Jl%}oU?6~yfeIFvrB!W|s`HV7mvQ6jCOqvYj~GoqG@%hLp!#O!Cc{bJwGfN1;h&Y-Hk{O|v#$q%1F_D!uu>aMg` P_@AxSaLZ#B6IT6y!H$oW literal 198673 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.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 SMC%99!@zBmv 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 BLZ|#zC_~M*qb=`s*@D~@#N09Tj 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 diff --git a/docs/inherit_graph_49.map b/docs/inherit_graph_49.map index 84e176c5..339a217b 100644 --- a/docs/inherit_graph_49.map +++ b/docs/inherit_graph_49.map @@ -1,5 +1,5 @@ - + diff --git a/docs/inherit_graph_49.md5 b/docs/inherit_graph_49.md5 index 3ea045f7..95c52d42 100644 --- a/docs/inherit_graph_49.md5 +++ b/docs/inherit_graph_49.md5 @@ -1 +1 @@ -06a6f5192344504891e219a13a1734ad \ No newline at end of file +5a2ba5332b137c9f67e447a09fefa6e0 \ No newline at end of file diff --git a/docs/inherit_graph_53.map b/docs/inherit_graph_53.map index f7c47834..524c93b7 100644 --- a/docs/inherit_graph_53.map +++ b/docs/inherit_graph_53.map @@ -1,9 +1,9 @@ - + - + - + diff --git a/docs/inherit_graph_53.md5 b/docs/inherit_graph_53.md5 index 3e7fe019..ef151e1b 100644 --- a/docs/inherit_graph_53.md5 +++ b/docs/inherit_graph_53.md5 @@ -1 +1 @@ -33dd3b769e59b0cfe1082302edf84915 \ No newline at end of file +16de1a01292db1cfecc8481f45cf4836 \ No newline at end of file diff --git a/docs/inherit_graph_54.map b/docs/inherit_graph_54.map index aaa043fc..547c3fe3 100644 --- a/docs/inherit_graph_54.map +++ b/docs/inherit_graph_54.map @@ -1,5 +1,5 @@ - + diff --git a/docs/inherit_graph_54.md5 b/docs/inherit_graph_54.md5 index f508e16b..d3657a94 100644 --- a/docs/inherit_graph_54.md5 +++ b/docs/inherit_graph_54.md5 @@ -1 +1 @@ -c39423ce8036c17e1d58f8d4ffa23597 \ No newline at end of file +fd7ad5c30ecc519434cfc0d3e748c6d6 \ No newline at end of file diff --git a/docs/inherit_graph_55.map b/docs/inherit_graph_55.map index ee2ae0b2..1b137266 100644 --- a/docs/inherit_graph_55.map +++ b/docs/inherit_graph_55.map @@ -1,5 +1,5 @@ - + diff --git a/docs/inherit_graph_55.md5 b/docs/inherit_graph_55.md5 index 0fd110da..c1559f06 100644 --- a/docs/inherit_graph_55.md5 +++ b/docs/inherit_graph_55.md5 @@ -1 +1 @@ -7b4e4c3290de6571b5b4407ce7e84671 \ No newline at end of file +5c822665c34c10f1b813c6e4df6b5b0f \ No newline at end of file diff --git a/docs/inherits.html b/docs/inherits.html index 716954fb..286daad0 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -319,49 +319,51 @@ - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/docs/namespaces.html b/docs/namespaces.html index 4202bb5e..ca8c442f 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -84,80 +84,81 @@  CCompressedSparseMatrixCompressed sparse matrix representation  CCompressedSparseRowMatrixCompressed sparse row matrix  CConsecutiveOraclePredict future accesses along a consecutive sequence - CDelayedBinaryIsometricArithmeticDelayed binary isometric arithmetic - CDelayedBinaryIsometricBooleanDelayed binary isometric boolean operations - CDelayedBinaryIsometricCompareDelayed binary isometric comparison - CDelayedBinaryIsometricMockAdvancedAdvanced mock operation for DelayedBinaryIsometricOperation - CDelayedBinaryIsometricMockBasicBasic mock operation for DelayedBinaryIsometricOperation - CDelayedBinaryIsometricOperationDelayed isometric operations on two matrices - CDelayedBindDelayed combining of a matrix - CDelayedCastRecast a Matrix to a different interface type - CDelayedSubsetDelayed subsetting of a matrix with general indices - CDelayedSubsetBlockDelayed subsetting to a contiguous block - CDelayedSubsetSortedDelayed subsetting of a matrix with sorted indices - CDelayedSubsetSortedUniqueDelayed subsetting of a matrix with sorted, unique indices - CDelayedSubsetUniqueDelayed subsetting of a matrix with unique indices - CDelayedTransposeDelayed transposition of a matrix - CDelayedUnaryIsometricAbsTake the absolute value of a matrix entry - CDelayedUnaryIsometricAcosTake the arc cosine of a matrix entry - CDelayedUnaryIsometricAcoshTake the inverse hyperbolic cosine of a matrix entry - CDelayedUnaryIsometricArithmeticScalarDelayed unary isometric scalar arithmetic - CDelayedUnaryIsometricArithmeticVectorDelayed unary isometric vector arithmetic - CDelayedUnaryIsometricAsinTake the arc sine of a matrix entry - CDelayedUnaryIsometricAsinhTake the inverse hyperbolic sine of a matrix entry - CDelayedUnaryIsometricAtanTake the arc tangent of a matrix entry - CDelayedUnaryIsometricAtanhTake the inverse hyperbolic tangent of a matrix entry - CDelayedUnaryIsometricBooleanNotDelayed unary isometric boolean NOT operation - CDelayedUnaryIsometricBooleanScalarDelayed unary isometric scalar boolean operation - CDelayedUnaryIsometricBooleanVectorDelayed unary isometric vector boolean operations - CDelayedUnaryIsometricCeilingTake the ceiling of a matrix entry - CDelayedUnaryIsometricCompareScalarDelayed scalar comparison - CDelayedUnaryIsometricCompareVectorDelayed vector comparisons - CDelayedUnaryIsometricCosTake the cosine of a matrix entry - CDelayedUnaryIsometricCoshTake the hyperbolic cosine of a matrix entry - CDelayedUnaryIsometricExpUse a matrix entry as an exponent - CDelayedUnaryIsometricExpm1Use a matrix entry as an exponent minus 1 - CDelayedUnaryIsometricFloorTake the floor of a matrix entry - CDelayedUnaryIsometricGammaTake the gamma of a matrix entry - CDelayedUnaryIsometricLgammaTake the logarithm of the gamma of a matrix entry - CDelayedUnaryIsometricLogTake the logarithm of a matrix entry - CDelayedUnaryIsometricLog1pTake the logarithm of a matrix entry plus 1 - CDelayedUnaryIsometricMockAdvancedAdvanced mock operation for DelayedUnaryIsometricOperation - CDelayedUnaryIsometricMockBasicBasic mock operation for a DelayedUnaryIsometricOperation - CDelayedUnaryIsometricOperationDelayed isometric operation on a single matrix - CDelayedUnaryIsometricRoundRound a matrix entry to the nearest integer - CDelayedUnaryIsometricSignTake the sign of a matrix entry - CDelayedUnaryIsometricSinTake the sine of a matrix entry - CDelayedUnaryIsometricSinhTake the hyperbolic sine of a matrix entry - CDelayedUnaryIsometricSqrtTake the square root of a matrix entry - CDelayedUnaryIsometricTanTake the tangent of a matrix entry - CDelayedUnaryIsometricTanhTake the hyperbolic tangent of a matrix entry - CDelayedUnaryIsometricTruncTake the trunc of a matrix entry - CDenseColumnMatrixDense column-major matrix - CDenseMatrixDense matrix representation - CDenseRowMatrixDense row-major matrix - CFixedVectorOraclePredict future accesses from a vector containing a fixed sequence - CFixedViewOraclePredict future accesses from a view on a fixed sequence - CFragmentedSparseColumnMatrixFragmented sparse column matrix - CFragmentedSparseContentsFragmented sparse contents - CFragmentedSparseMatrixFragmented sparse matrix representation - CFragmentedSparseRowMatrixFragmented sparse row matrix - CFullSparsifiedWrapperWrap a full dense extractor in the sparse interface - Chas_dataCompile time check for the data() method - Chas_data< T, V, decltype((void) std::declval< V >().data(), 0)>Compile time check for the data() method - CIndexSparsifiedWrapperWrap an indexed dense extractor in the sparse interface - CMatrixVirtual class for a matrix - CMyopicDenseExtractorExtract an element of the target dimension in dense form without an oracle - CMyopicSparseExtractorExtract an element of the target dimension in sparse form without an oracle - COptionsOptions for accessing data from a Matrix instance - COraclePredict future access requests on the target dimension - COracularDenseExtractorExtract an element of the target dimension in dense form with an oracle - COracularSparseExtractorExtract an element of the target dimension in sparse form with an oracle - CPseudoOracularDenseExtractorMimic the OracularDenseExtractor interface - CPseudoOracularSparseExtractorMimic the OracularSparseExtractor interface - CSomeNumericArrayArray of some numeric type, determined at runtime - CIteratorRandom-access iterator class - CSparseRangeA range of a sparse vector + CConstantMatrixMatrix containing a constant value + CDelayedBinaryIsometricArithmeticDelayed binary isometric arithmetic + CDelayedBinaryIsometricBooleanDelayed binary isometric boolean operations + CDelayedBinaryIsometricCompareDelayed binary isometric comparison + CDelayedBinaryIsometricMockAdvancedAdvanced mock operation for DelayedBinaryIsometricOperation + CDelayedBinaryIsometricMockBasicBasic mock operation for DelayedBinaryIsometricOperation + CDelayedBinaryIsometricOperationDelayed isometric operations on two matrices + CDelayedBindDelayed combining of a matrix + CDelayedCastRecast a Matrix to a different interface type + CDelayedSubsetDelayed subsetting of a matrix with general indices + CDelayedSubsetBlockDelayed subsetting to a contiguous block + CDelayedSubsetSortedDelayed subsetting of a matrix with sorted indices + CDelayedSubsetSortedUniqueDelayed subsetting of a matrix with sorted, unique indices + CDelayedSubsetUniqueDelayed subsetting of a matrix with unique indices + CDelayedTransposeDelayed transposition of a matrix + CDelayedUnaryIsometricAbsTake the absolute value of a matrix entry + CDelayedUnaryIsometricAcosTake the arc cosine of a matrix entry + CDelayedUnaryIsometricAcoshTake the inverse hyperbolic cosine of a matrix entry + CDelayedUnaryIsometricArithmeticScalarDelayed unary isometric scalar arithmetic + CDelayedUnaryIsometricArithmeticVectorDelayed unary isometric vector arithmetic + CDelayedUnaryIsometricAsinTake the arc sine of a matrix entry + CDelayedUnaryIsometricAsinhTake the inverse hyperbolic sine of a matrix entry + CDelayedUnaryIsometricAtanTake the arc tangent of a matrix entry + CDelayedUnaryIsometricAtanhTake the inverse hyperbolic tangent of a matrix entry + CDelayedUnaryIsometricBooleanNotDelayed unary isometric boolean NOT operation + CDelayedUnaryIsometricBooleanScalarDelayed unary isometric scalar boolean operation + CDelayedUnaryIsometricBooleanVectorDelayed unary isometric vector boolean operations + CDelayedUnaryIsometricCeilingTake the ceiling of a matrix entry + CDelayedUnaryIsometricCompareScalarDelayed scalar comparison + CDelayedUnaryIsometricCompareVectorDelayed vector comparisons + CDelayedUnaryIsometricCosTake the cosine of a matrix entry + CDelayedUnaryIsometricCoshTake the hyperbolic cosine of a matrix entry + CDelayedUnaryIsometricExpUse a matrix entry as an exponent + CDelayedUnaryIsometricExpm1Use a matrix entry as an exponent minus 1 + CDelayedUnaryIsometricFloorTake the floor of a matrix entry + CDelayedUnaryIsometricGammaTake the gamma of a matrix entry + CDelayedUnaryIsometricLgammaTake the logarithm of the gamma of a matrix entry + CDelayedUnaryIsometricLogTake the logarithm of a matrix entry + CDelayedUnaryIsometricLog1pTake the logarithm of a matrix entry plus 1 + CDelayedUnaryIsometricMockAdvancedAdvanced mock operation for DelayedUnaryIsometricOperation + CDelayedUnaryIsometricMockBasicBasic mock operation for a DelayedUnaryIsometricOperation + CDelayedUnaryIsometricOperationDelayed isometric operation on a single matrix + CDelayedUnaryIsometricRoundRound a matrix entry to the nearest integer + CDelayedUnaryIsometricSignTake the sign of a matrix entry + CDelayedUnaryIsometricSinTake the sine of a matrix entry + CDelayedUnaryIsometricSinhTake the hyperbolic sine of a matrix entry + CDelayedUnaryIsometricSqrtTake the square root of a matrix entry + CDelayedUnaryIsometricTanTake the tangent of a matrix entry + CDelayedUnaryIsometricTanhTake the hyperbolic tangent of a matrix entry + CDelayedUnaryIsometricTruncTake the trunc of a matrix entry + CDenseColumnMatrixDense column-major matrix + CDenseMatrixDense matrix representation + CDenseRowMatrixDense row-major matrix + CFixedVectorOraclePredict future accesses from a vector containing a fixed sequence + CFixedViewOraclePredict future accesses from a view on a fixed sequence + CFragmentedSparseColumnMatrixFragmented sparse column matrix + CFragmentedSparseContentsFragmented sparse contents + CFragmentedSparseMatrixFragmented sparse matrix representation + CFragmentedSparseRowMatrixFragmented sparse row matrix + CFullSparsifiedWrapperWrap a full dense extractor in the sparse interface + Chas_dataCompile time check for the data() method + Chas_data< T, V, decltype((void) std::declval< V >().data(), 0)>Compile time check for the data() method + CIndexSparsifiedWrapperWrap an indexed dense extractor in the sparse interface + CMatrixVirtual class for a matrix + CMyopicDenseExtractorExtract an element of the target dimension in dense form without an oracle + CMyopicSparseExtractorExtract an element of the target dimension in sparse form without an oracle + COptionsOptions for accessing data from a Matrix instance + COraclePredict future access requests on the target dimension + COracularDenseExtractorExtract an element of the target dimension in dense form with an oracle + COracularSparseExtractorExtract an element of the target dimension in sparse form with an oracle + CPseudoOracularDenseExtractorMimic the OracularDenseExtractor interface + CPseudoOracularSparseExtractorMimic the OracularSparseExtractor interface + CSomeNumericArrayArray of some numeric type, determined at runtime + CIteratorRandom-access iterator class + CSparseRangeA range of a sparse vector diff --git a/docs/namespacetatami.html b/docs/namespacetatami.html index 0d015698..6d814c4b 100644 --- a/docs/namespacetatami.html +++ b/docs/namespacetatami.html @@ -106,6 +106,9 @@ class  ConsecutiveOracle  Predict future accesses along a consecutive sequence. More...
          +class  ConstantMatrixMatrix containing a constant value. More...
        +  class  DelayedBinaryIsometricArithmetic  Delayed binary isometric arithmetic. More...
          diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 24abe8e7..af0ab816 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,4 +1,4 @@ var searchData= [ - ['uses_5foracle_0',['uses_oracle',['../classtatami_1_1Matrix.html#a68da21245203cf9349648c5452cdb2ca',1,'tatami::Matrix::uses_oracle()'],['../classtatami_1_1DenseMatrix.html#a829360901235a4f1a0c954c7bba15a36',1,'tatami::DenseMatrix::uses_oracle()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a239a6310ef652126719f1ea45b87722b',1,'tatami::DelayedBinaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a43afda710f5c9d42d5fe21b31dfc60a7',1,'tatami::DelayedUnaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedBind.html#afb08188ae6e0e681f948ce39c74807ee',1,'tatami::DelayedBind::uses_oracle()'],['../classtatami_1_1DelayedCast.html#aa6cbd8349c561942b5989590354c35ad',1,'tatami::DelayedCast::uses_oracle()'],['../classtatami_1_1DelayedTranspose.html#a6e814addfd1b93d7999a5383d0e69104',1,'tatami::DelayedTranspose::uses_oracle()'],['../classtatami_1_1CompressedSparseMatrix.html#a7fc491a14be516c9321f90c71c877cb7',1,'tatami::CompressedSparseMatrix::uses_oracle()'],['../classtatami_1_1FragmentedSparseMatrix.html#a880db70dfb5c2827045fb6ef3c34e680',1,'tatami::FragmentedSparseMatrix::uses_oracle()'],['../classtatami_1_1DelayedSubset.html#a1330d13aab8a8540a18af5aef46ef7b4',1,'tatami::DelayedSubset::uses_oracle()'],['../classtatami_1_1DelayedSubsetBlock.html#ac30ebebd3c8293ca6c4bc86c05a47a71',1,'tatami::DelayedSubsetBlock::uses_oracle()'],['../classtatami_1_1DelayedSubsetSorted.html#a7be70bc405e885b50220570197171170',1,'tatami::DelayedSubsetSorted::uses_oracle()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acb83ef63695aa5d660228dfe0ed1074a',1,'tatami::DelayedSubsetSortedUnique::uses_oracle()'],['../classtatami_1_1DelayedSubsetUnique.html#a72a333fcec090c2de5c6dad1afb90dba',1,'tatami::DelayedSubsetUnique::uses_oracle()']]] + ['uses_5foracle_0',['uses_oracle',['../classtatami_1_1Matrix.html#a68da21245203cf9349648c5452cdb2ca',1,'tatami::Matrix::uses_oracle()'],['../classtatami_1_1DenseMatrix.html#a829360901235a4f1a0c954c7bba15a36',1,'tatami::DenseMatrix::uses_oracle()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a239a6310ef652126719f1ea45b87722b',1,'tatami::DelayedBinaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a43afda710f5c9d42d5fe21b31dfc60a7',1,'tatami::DelayedUnaryIsometricOperation::uses_oracle()'],['../classtatami_1_1ConstantMatrix.html#a7470276baaf921230b844e3473916919',1,'tatami::ConstantMatrix::uses_oracle()'],['../classtatami_1_1DelayedBind.html#afb08188ae6e0e681f948ce39c74807ee',1,'tatami::DelayedBind::uses_oracle()'],['../classtatami_1_1DelayedCast.html#aa6cbd8349c561942b5989590354c35ad',1,'tatami::DelayedCast::uses_oracle()'],['../classtatami_1_1DelayedTranspose.html#a6e814addfd1b93d7999a5383d0e69104',1,'tatami::DelayedTranspose::uses_oracle()'],['../classtatami_1_1CompressedSparseMatrix.html#a7fc491a14be516c9321f90c71c877cb7',1,'tatami::CompressedSparseMatrix::uses_oracle()'],['../classtatami_1_1FragmentedSparseMatrix.html#a880db70dfb5c2827045fb6ef3c34e680',1,'tatami::FragmentedSparseMatrix::uses_oracle()'],['../classtatami_1_1DelayedSubset.html#a1330d13aab8a8540a18af5aef46ef7b4',1,'tatami::DelayedSubset::uses_oracle()'],['../classtatami_1_1DelayedSubsetBlock.html#ac30ebebd3c8293ca6c4bc86c05a47a71',1,'tatami::DelayedSubsetBlock::uses_oracle()'],['../classtatami_1_1DelayedSubsetSorted.html#a7be70bc405e885b50220570197171170',1,'tatami::DelayedSubsetSorted::uses_oracle()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acb83ef63695aa5d660228dfe0ed1074a',1,'tatami::DelayedSubsetSortedUnique::uses_oracle()'],['../classtatami_1_1DelayedSubsetUnique.html#a72a333fcec090c2de5c6dad1afb90dba',1,'tatami::DelayedSubsetUnique::uses_oracle()']]] ]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 2fb5f3d7..7158ee47 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,7 +1,7 @@ var searchData= [ ['c_20api_20for_20all_20sorts_20of_20matrices_0',['A C++ API for all sorts of matrices',['../index.html',1,'']]], - ['compare_5fhelpers_2ehpp_1',['compare_helpers.hpp',['../binary_2compare__helpers_8hpp.html',1,'(Global Namespace)'],['../unary_2compare__helpers_8hpp.html',1,'(Global Namespace)']]], + ['compare_5fhelpers_2ehpp_1',['compare_helpers.hpp',['../unary_2compare__helpers_8hpp.html',1,'(Global Namespace)'],['../binary_2compare__helpers_8hpp.html',1,'(Global Namespace)']]], ['compare_5futils_2ehpp_2',['compare_utils.hpp',['../compare__utils_8hpp.html',1,'']]], ['compareoperation_3',['CompareOperation',['../namespacetatami.html#a89475b46f681dd39b9926ced507240cc',1,'tatami']]], ['compress_5fsparse_5ftriplets_4',['compress_sparse_triplets',['../namespacetatami.html#a3b2756af73514cbf89b42f5abd7997cc',1,'tatami']]], @@ -11,17 +11,19 @@ var searchData= ['compressedsparsematrix_8',['compressedsparsematrix',['../classtatami_1_1CompressedSparseMatrix.html',1,'tatami::CompressedSparseMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >'],['../classtatami_1_1CompressedSparseMatrix.html#a83245ced768b530126c30a51849b48b5',1,'tatami::CompressedSparseMatrix::CompressedSparseMatrix()']]], ['compressedsparsematrix_2ehpp_9',['CompressedSparseMatrix.hpp',['../CompressedSparseMatrix_8hpp.html',1,'']]], ['compressedsparsematrix_3c_20value_5f_2c_20index_5f_2c_20std_3a_3avector_3c_20value_5f_20_3e_2c_20std_3a_3avector_3c_20index_5f_20_3e_2c_20std_3a_3avector_3c_20size_5ft_20_3e_20_3e_10',['CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >',['../classtatami_1_1CompressedSparseMatrix.html',1,'tatami']]], - ['compressedsparserowmatrix_11',['compressedsparserowmatrix',['../classtatami_1_1CompressedSparseRowMatrix.html',1,'tatami::CompressedSparseRowMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >'],['../classtatami_1_1CompressedSparseRowMatrix.html#ab757e111074096fb542148675c72cade',1,'tatami::CompressedSparseRowMatrix::CompressedSparseRowMatrix()']]], + ['compressedsparserowmatrix_11',['compressedsparserowmatrix',['../classtatami_1_1CompressedSparseRowMatrix.html#ab757e111074096fb542148675c72cade',1,'tatami::CompressedSparseRowMatrix::CompressedSparseRowMatrix()'],['../classtatami_1_1CompressedSparseRowMatrix.html',1,'tatami::CompressedSparseRowMatrix< Value_, Index_, ValueStorage_, IndexStorage_, PointerStorage_ >']]], ['consecutive_5fextractor_12',['consecutive_extractor',['../namespacetatami.html#af05590455e558621c8ffc1b98c4fd454',1,'tatami']]], ['consecutive_5fextractor_2ehpp_13',['consecutive_extractor.hpp',['../consecutive__extractor_8hpp.html',1,'']]], ['consecutiveoracle_14',['consecutiveoracle',['../classtatami_1_1ConsecutiveOracle.html',1,'tatami::ConsecutiveOracle< Index_ >'],['../classtatami_1_1ConsecutiveOracle.html#ab6d9e6d767d2c9705d927be501abfe9d',1,'tatami::ConsecutiveOracle::ConsecutiveOracle()']]], ['consecutiveoracle_2ehpp_15',['ConsecutiveOracle.hpp',['../ConsecutiveOracle_8hpp.html',1,'']]], - ['convert_5fto_5fcompressed_5fsparse_16',['convert_to_compressed_sparse',['../namespacetatami.html#a55a5de2537fc815c895528fea8a717f6',1,'tatami']]], - ['convert_5fto_5fcompressed_5fsparse_2ehpp_17',['convert_to_compressed_sparse.hpp',['../convert__to__compressed__sparse_8hpp.html',1,'']]], - ['convert_5fto_5fdense_18',['convert_to_dense',['../namespacetatami.html#aab32e148c90b65402f17c7d835649a4b',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, StoredValue_ *store, int threads=1)'],['../namespacetatami.html#a085f9235a7b8b95611c0e9f6de860c5a',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, int threads=1)']]], - ['convert_5fto_5fdense_2ehpp_19',['convert_to_dense.hpp',['../convert__to__dense_8hpp.html',1,'']]], - ['convert_5fto_5ffragmented_5fsparse_20',['convert_to_fragmented_sparse',['../namespacetatami.html#a2a4c4e213ecc4225882b3cf8b21600e0',1,'tatami']]], - ['convert_5fto_5ffragmented_5fsparse_2ehpp_21',['convert_to_fragmented_sparse.hpp',['../convert__to__fragmented__sparse_8hpp.html',1,'']]], - ['copy_2ehpp_22',['copy.hpp',['../copy_8hpp.html',1,'']]], - ['copy_5fn_23',['copy_n',['../namespacetatami.html#ab52a806e3f13a68741a9e1f77dccab14',1,'tatami']]] + ['constantmatrix_16',['constantmatrix',['../classtatami_1_1ConstantMatrix.html',1,'tatami::ConstantMatrix< Value_, Index_ >'],['../classtatami_1_1ConstantMatrix.html#ac51afe22e54a204c0b2b8a80abde30cc',1,'tatami::ConstantMatrix::ConstantMatrix()']]], + ['constantmatrix_2ehpp_17',['ConstantMatrix.hpp',['../ConstantMatrix_8hpp.html',1,'']]], + ['convert_5fto_5fcompressed_5fsparse_18',['convert_to_compressed_sparse',['../namespacetatami.html#a55a5de2537fc815c895528fea8a717f6',1,'tatami']]], + ['convert_5fto_5fcompressed_5fsparse_2ehpp_19',['convert_to_compressed_sparse.hpp',['../convert__to__compressed__sparse_8hpp.html',1,'']]], + ['convert_5fto_5fdense_20',['convert_to_dense',['../namespacetatami.html#aab32e148c90b65402f17c7d835649a4b',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, StoredValue_ *store, int threads=1)'],['../namespacetatami.html#a085f9235a7b8b95611c0e9f6de860c5a',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, int threads=1)']]], + ['convert_5fto_5fdense_2ehpp_21',['convert_to_dense.hpp',['../convert__to__dense_8hpp.html',1,'']]], + ['convert_5fto_5ffragmented_5fsparse_22',['convert_to_fragmented_sparse',['../namespacetatami.html#a2a4c4e213ecc4225882b3cf8b21600e0',1,'tatami']]], + ['convert_5fto_5ffragmented_5fsparse_2ehpp_23',['convert_to_fragmented_sparse.hpp',['../convert__to__fragmented__sparse_8hpp.html',1,'']]], + ['copy_2ehpp_24',['copy.hpp',['../copy_8hpp.html',1,'']]], + ['copy_5fn_25',['copy_n',['../namespacetatami.html#ab52a806e3f13a68741a9e1f77dccab14',1,'tatami']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index f3af38d2..74573e43 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -34,7 +34,7 @@ var searchData= ['delayedunaryisometricatan_31',['DelayedUnaryIsometricAtan',['../classtatami_1_1DelayedUnaryIsometricAtan.html',1,'tatami']]], ['delayedunaryisometricatanh_32',['DelayedUnaryIsometricAtanh',['../classtatami_1_1DelayedUnaryIsometricAtanh.html',1,'tatami']]], ['delayedunaryisometricbooleannot_33',['DelayedUnaryIsometricBooleanNot',['../classtatami_1_1DelayedUnaryIsometricBooleanNot.html',1,'tatami']]], - ['delayedunaryisometricbooleanscalar_34',['delayedunaryisometricbooleanscalar',['../classtatami_1_1DelayedUnaryIsometricBooleanScalar.html',1,'tatami::DelayedUnaryIsometricBooleanScalar< op_, Value_ >'],['../classtatami_1_1DelayedUnaryIsometricBooleanScalar.html#a1d5009f6235dc67f4b8a4f33d738a48c',1,'tatami::DelayedUnaryIsometricBooleanScalar::DelayedUnaryIsometricBooleanScalar()']]], + ['delayedunaryisometricbooleanscalar_34',['delayedunaryisometricbooleanscalar',['../classtatami_1_1DelayedUnaryIsometricBooleanScalar.html#a1d5009f6235dc67f4b8a4f33d738a48c',1,'tatami::DelayedUnaryIsometricBooleanScalar::DelayedUnaryIsometricBooleanScalar()'],['../classtatami_1_1DelayedUnaryIsometricBooleanScalar.html',1,'tatami::DelayedUnaryIsometricBooleanScalar< op_, Value_ >']]], ['delayedunaryisometricbooleanvector_35',['delayedunaryisometricbooleanvector',['../classtatami_1_1DelayedUnaryIsometricBooleanVector.html',1,'tatami::DelayedUnaryIsometricBooleanVector< op_, Value_, Vector_ >'],['../classtatami_1_1DelayedUnaryIsometricBooleanVector.html#a1bc09b7db9508b21784f202ab4ec5b4e',1,'tatami::DelayedUnaryIsometricBooleanVector::DelayedUnaryIsometricBooleanVector()']]], ['delayedunaryisometricceiling_36',['DelayedUnaryIsometricCeiling',['../classtatami_1_1DelayedUnaryIsometricCeiling.html',1,'tatami']]], ['delayedunaryisometriccomparescalar_37',['delayedunaryisometriccomparescalar',['../classtatami_1_1DelayedUnaryIsometricCompareScalar.html#a05fdf55dc7af43ea1ca86fed3dc94bcd',1,'tatami::DelayedUnaryIsometricCompareScalar::DelayedUnaryIsometricCompareScalar()'],['../classtatami_1_1DelayedUnaryIsometricCompareScalar.html',1,'tatami::DelayedUnaryIsometricCompareScalar< op_, Value_, Scalar_ >']]], @@ -47,10 +47,10 @@ var searchData= ['delayedunaryisometricgamma_44',['DelayedUnaryIsometricGamma',['../classtatami_1_1DelayedUnaryIsometricGamma.html',1,'tatami']]], ['delayedunaryisometriclgamma_45',['DelayedUnaryIsometricLgamma',['../classtatami_1_1DelayedUnaryIsometricLgamma.html',1,'tatami']]], ['delayedunaryisometriclog_46',['delayedunaryisometriclog',['../classtatami_1_1DelayedUnaryIsometricLog.html#afcbb68347eb76e75219ae5ce064f3e30',1,'tatami::DelayedUnaryIsometricLog::DelayedUnaryIsometricLog()'],['../classtatami_1_1DelayedUnaryIsometricLog.html#a0d842999857b469626e2760db837d0d1',1,'tatami::DelayedUnaryIsometricLog::DelayedUnaryIsometricLog(Base_ base)'],['../classtatami_1_1DelayedUnaryIsometricLog.html',1,'tatami::DelayedUnaryIsometricLog< Value_, Base_ >']]], - ['delayedunaryisometriclog1p_47',['delayedunaryisometriclog1p',['../classtatami_1_1DelayedUnaryIsometricLog1p.html',1,'tatami::DelayedUnaryIsometricLog1p< Value_, Base_ >'],['../classtatami_1_1DelayedUnaryIsometricLog1p.html#ae5d11656e615b299e1496cdd5046103a',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p()'],['../classtatami_1_1DelayedUnaryIsometricLog1p.html#aa7713db86a8311997d671895c71c6b82',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p(Base_ base)']]], + ['delayedunaryisometriclog1p_47',['delayedunaryisometriclog1p',['../classtatami_1_1DelayedUnaryIsometricLog1p.html#ae5d11656e615b299e1496cdd5046103a',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p()'],['../classtatami_1_1DelayedUnaryIsometricLog1p.html',1,'tatami::DelayedUnaryIsometricLog1p< Value_, Base_ >'],['../classtatami_1_1DelayedUnaryIsometricLog1p.html#aa7713db86a8311997d671895c71c6b82',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p()']]], ['delayedunaryisometricmockadvanced_48',['DelayedUnaryIsometricMockAdvanced',['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html',1,'tatami']]], ['delayedunaryisometricmockbasic_49',['DelayedUnaryIsometricMockBasic',['../classtatami_1_1DelayedUnaryIsometricMockBasic.html',1,'tatami']]], - ['delayedunaryisometricoperation_50',['delayedunaryisometricoperation',['../classtatami_1_1DelayedUnaryIsometricOperation.html',1,'tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a67370b8a90788dd1d69abeaefb7f0607',1,'tatami::DelayedUnaryIsometricOperation::DelayedUnaryIsometricOperation()']]], + ['delayedunaryisometricoperation_50',['delayedunaryisometricoperation',['../classtatami_1_1DelayedUnaryIsometricOperation.html#a67370b8a90788dd1d69abeaefb7f0607',1,'tatami::DelayedUnaryIsometricOperation::DelayedUnaryIsometricOperation()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html',1,'tatami::DelayedUnaryIsometricOperation< Value_, Index_, Operation_ >']]], ['delayedunaryisometricoperation_2ehpp_51',['DelayedUnaryIsometricOperation.hpp',['../DelayedUnaryIsometricOperation_8hpp.html',1,'']]], ['delayedunaryisometricround_52',['DelayedUnaryIsometricRound',['../classtatami_1_1DelayedUnaryIsometricRound.html',1,'tatami']]], ['delayedunaryisometricsign_53',['DelayedUnaryIsometricSign',['../classtatami_1_1DelayedUnaryIsometricSign.html',1,'tatami']]], @@ -60,12 +60,12 @@ var searchData= ['delayedunaryisometrictan_57',['DelayedUnaryIsometricTan',['../classtatami_1_1DelayedUnaryIsometricTan.html',1,'tatami']]], ['delayedunaryisometrictanh_58',['DelayedUnaryIsometricTanh',['../classtatami_1_1DelayedUnaryIsometricTanh.html',1,'tatami']]], ['delayedunaryisometrictrunc_59',['DelayedUnaryIsometricTrunc',['../classtatami_1_1DelayedUnaryIsometricTrunc.html',1,'tatami']]], - ['dense_60',['dense',['../classtatami_1_1CompressedSparseMatrix.html#acce1c2d3e42465f190a73e0f39ae2794',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a8f4f83eb19ba3d9d69ec31552935923e',1,'tatami::CompressedSparseMatrix::dense(bool row, Index_ block_start, Index_ block_end, const Options &) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a0714419818f4550a8535969eb1fe8236',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a363af30fbd351a27cc7231f074ef7874',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#aa0308a4a8e9494bed030c51eba41811a',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ad3ad1107418db33f29d20278f2ac10f3',1,'tatami::DelayedSubset::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1d33d827b7b493d188dab0ea54b70f4c',1,'tatami::DelayedSubset::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#af40a5383d32a5bcd1ab13fb215fcea36',1,'tatami::DelayedSubset::dense(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8696078ccda5a5b70dac519d9c5aadc1',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a785c934ab4caf67e4bd4c2cefd9a2e8b',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0e668bdf736a459dbfa17bd26d07380b',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense()'],['../classtatami_1_1DelayedSubset.html#acfd74d459e9c30fb36fcbcc43a767bf4',1,'tatami::DelayedSubset::dense()'],['../classtatami_1_1CompressedSparseMatrix.html#aba826b0ac6300d36ca226e0ab0b6dc22',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a99ab5dda78086432c4f164c9d1a59825',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ad08de1e049877fbcee0bc9596c278dca',1,'tatami::CompressedSparseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1DelayedSubsetBlock.html#a842a5dece24524235cc408212ff356af',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1CompressedSparseMatrix.html#afee13e537eed87d5608c841b124544fa',1,'tatami::CompressedSparseMatrix::dense()'],['../classtatami_1_1DelayedTranspose.html#adad4b60fc18324d0195da3405581e47d',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a64e5ebbc0364936474af1667e2e6a66c',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#accbbe64970c4396d590833c1a7195adf',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a215e5aec143bf866b34e1ac91a40c16c',1,'tatami::DelayedTranspose::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a3b44b07b7bbfcd6e0d1f9129c1e04fe5',1,'tatami::DelayedTranspose::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a46086fee8ed3a7c1bc3bd52a22a63c45',1,'tatami::DelayedTranspose::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1770278f71ff23f156ad8ef1a27005b4',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedSubsetSorted.html#a3bef5ed2e43fa7e0d4dbfebc6738db83',1,'tatami::DelayedSubsetSorted::dense()'],['../classtatami_1_1DelayedSubsetUnique.html#a1b19d0390faae8095b5812352696d06b',1,'tatami::DelayedSubsetUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ad2853eb967ac19205ab35b5e2a3922b8',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ae2d98d4dbdbd6bf51a6d1fac2f717a08',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#afeebd81df750ec946a3a68845633d35f',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a0d3e0fc440837202c1e7d05d0f8ff528',1,'tatami::DelayedSubsetUnique::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ab7fd3a0160ff808dfa7ed8a6dc4d5189',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a375381303b040dd243671e49d5ec20a3',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4f36df83de62da4933fbb1b92423130b',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#abc0ba38b6cae65f795dd71d38e0886d0',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ae5bcc3a6af026c2bca36d9715abd5820',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acbeea4a64644f43ac9285169bf456a99',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3b18c892e717c1a1167a5b2028e1110f',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DelayedSubsetSorted.html#a01f8fd6d91230272f42425a37f3e498d',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a9879fe550e5867d434e4c7cde9acc548',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ab2809be57ebf15896c0fe56fe4edc1c7',1,'tatami::DelayedSubsetSorted::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5df9a7ff61000d7dbc69ac021d13d84d',1,'tatami::DelayedSubsetSorted::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a815f04bca10e842b440d6887874aa959',1,'tatami::DelayedSubsetSorted::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2abd9c3da5613f4af78db1a77c249182',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#aca14e61cf151b970681fa1a2124feff9',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a849e1982154ebcc308131ef526d4b322',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a992b8a645545800aee730b036a5db7d9',1,'tatami::DelayedSubsetUnique::dense()'],['../classtatami_1_1DelayedSubsetBlock.html#a2d186a597674c603ce5b899a6ebcc8e3',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DenseMatrix.html#a14937508d3eaed557eb9100cc9398371',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#aac939b6fbec69632c7b2e1936c03e31c',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#a8af00b807c6004e161076bc18e5aa54f',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a6235cd8e84786500921fb2163f241ce7',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a93610df34eadace7689bdafe98d581de',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1ad847f1aebfe712c1230c5446f44f00',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aef46d3cfa0e0f3185974b924d63e2e7d',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#abb6a23494bb6def8da0a1cc19cb57d1b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ac8af82dda930072261f2003ab451646b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a2bda92623f1a91d9e6da8473e91b2159',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ad6920bef1b2f39a507d3e5f8e922daa8',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a40d489e15dd088b4fa1a4a36bddf1ca6',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DenseMatrix.html#a26bd48cae35fb51e760b097ae6446aa1',1,'tatami::DenseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1DenseMatrix.html#ab756a390f2edb4ac4e33b4dace0ddee4',1,'tatami::DenseMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &) const'],['../classtatami_1_1DenseMatrix.html#a00cf78c7ac6f8632fa8c6dfc4c348b6c',1,'tatami::DenseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1Matrix.html#a4aecaa5038554d2c92c2ab7083497cb6',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a48b24fe319289ca76f2b366a2ffe798d',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a6502fdebcaeea40490c1780ab6e92b19',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a06803687627cc35e5ef41a887f5e5fad',1,'tatami::Matrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a51bb7a480d2fd0cc0337577ca98840dc',1,'tatami::Matrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a0b6b1ae7819fad55cf7bf5587b7e5a4b',1,'tatami::Matrix::dense(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedCast.html#a0506809d80eaa439f9c7c7a66ab530c3',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a922ee34c926ea79217ee9d12a074f7a1',1,'tatami::DelayedUnaryIsometricOperation::dense()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a2ada69f639f7616224d85ae970d86c5e',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense()'],['../classtatami_1_1DelayedCast.html#a31edda28f1fa3745296f52226ca94f16',1,'tatami::DelayedCast::dense(bool row, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a0af1b7a669b244fd0af79ecdbb51e234',1,'tatami::DelayedCast::dense(bool row, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#ac4b9a0bafe2014027e9068a3a076ef01',1,'tatami::DelayedCast::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a1aae5576005dc08ed6d62fedde194884',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#aa2069d84db3b6907e187b177c7befab4',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a5996a26ad8168a073447402e5b1cc980',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a53fff70bf26c7308145a03b06d006e89',1,'tatami::DelayedBind::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#ae83495a67dea2dc2d9a9c58112f09fa0',1,'tatami::DelayedBind::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a2501986079d0301b8a8ceec0a9353549',1,'tatami::DelayedBind::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a8db9e5e7b5e43c8bd32ad884747741bd',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense()'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#a3629b2a23776570f494bf94f9bf2bb7c',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#aa6fdc51a67a518c4af46b6fe00e1a7e8',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a272d1ca5466a61193afe7880ffb8630e',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a19e6bdae82d50241f42d97adffd3d95c',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a269f3adf8a433404883ccab7348bf3e3',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a4c27e30ad9ab1d39be304a826bccffb0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a5281f444ca48b89952067ebe0f6b89c0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a464d9b4488e1dd3f5245b3f1ede12720',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense()']]], - ['dense_5fcolumn_61',['dense_column',['../classtatami_1_1Matrix.html#a9058c33bd860936d0a6fe4f03397f6b9',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aa2dad77430f29f277f73028c7c2636e2',1,'tatami::Matrix::dense_column() const'],['../classtatami_1_1Matrix.html#a7b82bffd2c71c4301867e8a0ffcf37f3',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a8ca1e41bc821f551d76175687fd2e6b5',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a2323a04228d638ec0340036acafa420f',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8d717304d7cf4806c182ecd446de144d',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a585337cdd3a90c5cf6cf2fdca2b43e84',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a068863a2b525300afb446aa249f67f6b',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a3a9d3994a74ebdf26894d92ad3625d8c',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a3d214b599712ab2f265b06d45d9e7047',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a6421e936b7d10b2dee56c41c6591322e',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#ace58cae1956cbf7474aa7120e0d89cc9',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ce124d5abc915f47e0abdec500b84f3',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9daf387535987b84f7b44c68fb664d33',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a48300b3739f26bb10732c572ea9e5c57',1,'tatami::Matrix::dense_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#a478f96c3a39b40a950dda3d115365c89',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length) const']]], - ['dense_5frow_62',['dense_row',['../classtatami_1_1Matrix.html#a563d877fa76c04d1faa039ebab88038c',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a6ce58d2a5e7b244b49a97cabff56c94b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a32275c6bf6553d6b1833abdce9165b5d',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a2cecc240982c961455ede8d329cda207',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a9fb2b21aad79130762a8cb0c7069d3a3',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#ad8f53f2f7b2a2e5972a91a56065ba28b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#ab247d39db776da3e2143f4599f76920e',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#acc57cd1f625bdc44af4946a0124f7464',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aa60952db300c69580a9eba01b5f787d6',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3f3692e08db0886e4e866e28942d46b0',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a371fa940bc33a019b1f6938c2b06201f',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aacb45e8a21e1792a316fa95064edb9c2',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a4d572f319b614a7e74d426cac94194de',1,'tatami::Matrix::dense_row() const'],['../classtatami_1_1Matrix.html#a4b6f4909657d2e44196a56c99ffafb5c',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3d6505ab08f36ab2e2487f7598a8df4e',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a168f0e932b5503c9bfc5dbd42754a7a5',1,'tatami::Matrix::dense_row(const Options &opt) const']]], + ['dense_60',['dense',['../classtatami_1_1CompressedSparseMatrix.html#aba826b0ac6300d36ca226e0ab0b6dc22',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#afee13e537eed87d5608c841b124544fa',1,'tatami::CompressedSparseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1CompressedSparseMatrix.html#acce1c2d3e42465f190a73e0f39ae2794',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a0714419818f4550a8535969eb1fe8236',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a363af30fbd351a27cc7231f074ef7874',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#aa0308a4a8e9494bed030c51eba41811a',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ad3ad1107418db33f29d20278f2ac10f3',1,'tatami::DelayedSubset::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1d33d827b7b493d188dab0ea54b70f4c',1,'tatami::DelayedSubset::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a31edda28f1fa3745296f52226ca94f16',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedSubset.html#af40a5383d32a5bcd1ab13fb215fcea36',1,'tatami::DelayedSubset::dense(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8696078ccda5a5b70dac519d9c5aadc1',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a785c934ab4caf67e4bd4c2cefd9a2e8b',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a99ab5dda78086432c4f164c9d1a59825',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ad08de1e049877fbcee0bc9596c278dca',1,'tatami::CompressedSparseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1CompressedSparseMatrix.html#a8f4f83eb19ba3d9d69ec31552935923e',1,'tatami::CompressedSparseMatrix::dense(bool row, Index_ block_start, Index_ block_end, const Options &) const'],['../classtatami_1_1DelayedTranspose.html#a3b44b07b7bbfcd6e0d1f9129c1e04fe5',1,'tatami::DelayedTranspose::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#adad4b60fc18324d0195da3405581e47d',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a64e5ebbc0364936474af1667e2e6a66c',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#accbbe64970c4396d590833c1a7195adf',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a215e5aec143bf866b34e1ac91a40c16c',1,'tatami::DelayedTranspose::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a40d489e15dd088b4fa1a4a36bddf1ca6',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a0506809d80eaa439f9c7c7a66ab530c3',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1770278f71ff23f156ad8ef1a27005b4',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a46086fee8ed3a7c1bc3bd52a22a63c45',1,'tatami::DelayedTranspose::dense()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acbeea4a64644f43ac9285169bf456a99',1,'tatami::DelayedSubsetSortedUnique::dense()'],['../classtatami_1_1DelayedSubsetUnique.html#afeebd81df750ec946a3a68845633d35f',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ae2d98d4dbdbd6bf51a6d1fac2f717a08',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ad2853eb967ac19205ab35b5e2a3922b8',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a1b19d0390faae8095b5812352696d06b',1,'tatami::DelayedSubsetUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a992b8a645545800aee730b036a5db7d9',1,'tatami::DelayedSubsetUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a5281f444ca48b89952067ebe0f6b89c0',1,'tatami::DelayedUnaryIsometricOperation::dense()'],['../classtatami_1_1DelayedSubsetUnique.html#a0d3e0fc440837202c1e7d05d0f8ff528',1,'tatami::DelayedSubsetUnique::dense()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ab7fd3a0160ff808dfa7ed8a6dc4d5189',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a375381303b040dd243671e49d5ec20a3',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4f36df83de62da4933fbb1b92423130b',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#abc0ba38b6cae65f795dd71d38e0886d0',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ae5bcc3a6af026c2bca36d9715abd5820',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#acfd74d459e9c30fb36fcbcc43a767bf4',1,'tatami::DelayedSubset::dense()'],['../classtatami_1_1DelayedSubsetSorted.html#a3bef5ed2e43fa7e0d4dbfebc6738db83',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a01f8fd6d91230272f42425a37f3e498d',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a9879fe550e5867d434e4c7cde9acc548',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ab2809be57ebf15896c0fe56fe4edc1c7',1,'tatami::DelayedSubsetSorted::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5df9a7ff61000d7dbc69ac021d13d84d',1,'tatami::DelayedSubsetSorted::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a815f04bca10e842b440d6887874aa959',1,'tatami::DelayedSubsetSorted::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2abd9c3da5613f4af78db1a77c249182',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#aca14e61cf151b970681fa1a2124feff9',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a849e1982154ebcc308131ef526d4b322',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a842a5dece24524235cc408212ff356af',1,'tatami::DelayedSubsetBlock::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2d186a597674c603ce5b899a6ebcc8e3',1,'tatami::DelayedSubsetBlock::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3b18c892e717c1a1167a5b2028e1110f',1,'tatami::DelayedSubsetBlock::dense(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ad6920bef1b2f39a507d3e5f8e922daa8',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a2ada69f639f7616224d85ae970d86c5e',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0e668bdf736a459dbfa17bd26d07380b',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#aac939b6fbec69632c7b2e1936c03e31c',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#a8af00b807c6004e161076bc18e5aa54f',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a6235cd8e84786500921fb2163f241ce7',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a93610df34eadace7689bdafe98d581de',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1ad847f1aebfe712c1230c5446f44f00',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aef46d3cfa0e0f3185974b924d63e2e7d',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#abb6a23494bb6def8da0a1cc19cb57d1b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ac8af82dda930072261f2003ab451646b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a2bda92623f1a91d9e6da8473e91b2159',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedCast.html#ac4b9a0bafe2014027e9068a3a076ef01',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DenseMatrix.html#a14937508d3eaed557eb9100cc9398371',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a26bd48cae35fb51e760b097ae6446aa1',1,'tatami::DenseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1DenseMatrix.html#ab756a390f2edb4ac4e33b4dace0ddee4',1,'tatami::DenseMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &) const'],['../classtatami_1_1DenseMatrix.html#a00cf78c7ac6f8632fa8c6dfc4c348b6c',1,'tatami::DenseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1Matrix.html#a4aecaa5038554d2c92c2ab7083497cb6',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a48b24fe319289ca76f2b366a2ffe798d',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a6502fdebcaeea40490c1780ab6e92b19',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a06803687627cc35e5ef41a887f5e5fad',1,'tatami::Matrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a51bb7a480d2fd0cc0337577ca98840dc',1,'tatami::Matrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a0b6b1ae7819fad55cf7bf5587b7e5a4b',1,'tatami::Matrix::dense(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedBind.html#ae83495a67dea2dc2d9a9c58112f09fa0',1,'tatami::DelayedBind::dense()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a922ee34c926ea79217ee9d12a074f7a1',1,'tatami::DelayedUnaryIsometricOperation::dense()'],['../classtatami_1_1DelayedCast.html#a0af1b7a669b244fd0af79ecdbb51e234',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedBind.html#a1aae5576005dc08ed6d62fedde194884',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#aa2069d84db3b6907e187b177c7befab4',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a5996a26ad8168a073447402e5b1cc980',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a53fff70bf26c7308145a03b06d006e89',1,'tatami::DelayedBind::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a2501986079d0301b8a8ceec0a9353549',1,'tatami::DelayedBind::dense(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#aa0b89fb69614bb03d6df637847a01c79',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ad994aa264c26b42f1ddc0be6e66cfc9f',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#af2c04d9a51175cd63abf8472b89b2c5a',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a2a0cd89e08975476460eb6321a1085c7',1,'tatami::ConstantMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a4c27e30ad9ab1d39be304a826bccffb0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a269f3adf8a433404883ccab7348bf3e3',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a19e6bdae82d50241f42d97adffd3d95c',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a272d1ca5466a61193afe7880ffb8630e',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#aa6fdc51a67a518c4af46b6fe00e1a7e8',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#a3629b2a23776570f494bf94f9bf2bb7c',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a8db9e5e7b5e43c8bd32ad884747741bd',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a464d9b4488e1dd3f5245b3f1ede12720',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1ConstantMatrix.html#ad0075cd100469ff2e99f98ab52f4defe',1,'tatami::ConstantMatrix::dense(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#abb8af043351dc2cf54f7350abaf638c5',1,'tatami::ConstantMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const']]], + ['dense_5fcolumn_61',['dense_column',['../classtatami_1_1Matrix.html#a478f96c3a39b40a950dda3d115365c89',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a6421e936b7d10b2dee56c41c6591322e',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a3d214b599712ab2f265b06d45d9e7047',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a3a9d3994a74ebdf26894d92ad3625d8c',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a068863a2b525300afb446aa249f67f6b',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a585337cdd3a90c5cf6cf2fdca2b43e84',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8d717304d7cf4806c182ecd446de144d',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a2323a04228d638ec0340036acafa420f',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ca1e41bc821f551d76175687fd2e6b5',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a7b82bffd2c71c4301867e8a0ffcf37f3',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a9058c33bd860936d0a6fe4f03397f6b9',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#ace58cae1956cbf7474aa7120e0d89cc9',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ce124d5abc915f47e0abdec500b84f3',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9daf387535987b84f7b44c68fb664d33',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a48300b3739f26bb10732c572ea9e5c57',1,'tatami::Matrix::dense_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#aa2dad77430f29f277f73028c7c2636e2',1,'tatami::Matrix::dense_column() const']]], + ['dense_5frow_62',['dense_row',['../classtatami_1_1Matrix.html#a371fa940bc33a019b1f6938c2b06201f',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a6ce58d2a5e7b244b49a97cabff56c94b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a32275c6bf6553d6b1833abdce9165b5d',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a2cecc240982c961455ede8d329cda207',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a9fb2b21aad79130762a8cb0c7069d3a3',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#ad8f53f2f7b2a2e5972a91a56065ba28b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#ab247d39db776da3e2143f4599f76920e',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#acc57cd1f625bdc44af4946a0124f7464',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aa60952db300c69580a9eba01b5f787d6',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3f3692e08db0886e4e866e28942d46b0',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a4d572f319b614a7e74d426cac94194de',1,'tatami::Matrix::dense_row() const'],['../classtatami_1_1Matrix.html#a563d877fa76c04d1faa039ebab88038c',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a4b6f4909657d2e44196a56c99ffafb5c',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3d6505ab08f36ab2e2487f7598a8df4e',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a168f0e932b5503c9bfc5dbd42754a7a5',1,'tatami::Matrix::dense_row(const Options &opt) const'],['../classtatami_1_1Matrix.html#aacb45e8a21e1792a316fa95064edb9c2',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length) const']]], ['densecolumnmatrix_63',['densecolumnmatrix',['../classtatami_1_1DenseColumnMatrix.html',1,'tatami::DenseColumnMatrix< Value_, Index_, Storage_ >'],['../classtatami_1_1DenseColumnMatrix.html#a600d8e355daab640948207105b2918bb',1,'tatami::DenseColumnMatrix::DenseColumnMatrix()']]], ['denseextractor_64',['DenseExtractor',['../namespacetatami.html#a4e0374ed6401df3d6ae262ad379a4743',1,'tatami']]], - ['densematrix_65',['densematrix',['../classtatami_1_1DenseMatrix.html#a27dddb5bf1ad93f4e9a3e6dd54fb2e2c',1,'tatami::DenseMatrix::DenseMatrix()'],['../classtatami_1_1DenseMatrix.html',1,'tatami::DenseMatrix< Value_, Index_, Storage_ >']]], + ['densematrix_65',['densematrix',['../classtatami_1_1DenseMatrix.html',1,'tatami::DenseMatrix< Value_, Index_, Storage_ >'],['../classtatami_1_1DenseMatrix.html#a27dddb5bf1ad93f4e9a3e6dd54fb2e2c',1,'tatami::DenseMatrix::DenseMatrix()']]], ['densematrix_2ehpp_66',['DenseMatrix.hpp',['../DenseMatrix_8hpp.html',1,'']]], ['densematrix_3c_20value_5f_2c_20index_5f_2c_20std_3a_3avector_3c_20value_5f_20_3e_20_3e_67',['DenseMatrix< Value_, Index_, std::vector< Value_ > >',['../classtatami_1_1DenseMatrix.html',1,'tatami']]], ['denserowmatrix_68',['denserowmatrix',['../classtatami_1_1DenseRowMatrix.html#a249316f41906d670e13221bb12e8c8fb',1,'tatami::DenseRowMatrix::DenseRowMatrix()'],['../classtatami_1_1DenseRowMatrix.html',1,'tatami::DenseRowMatrix< Value_, Index_, Storage_ >']]], diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 4f9e3130..24a8156c 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -4,8 +4,8 @@ var searchData= ['index_5ftype_1',['index_type',['../classtatami_1_1Matrix.html#adebf536caf3a3c1751eefc6e10f0b16e',1,'tatami::Matrix']]], ['indexsparsifiedwrapper_2',['indexsparsifiedwrapper',['../classtatami_1_1IndexSparsifiedWrapper.html',1,'tatami::IndexSparsifiedWrapper< oracle_, Value_, Index_ >'],['../classtatami_1_1IndexSparsifiedWrapper.html#ad4571decc854c38dae3b9ec1f6593a1e',1,'tatami::IndexSparsifiedWrapper::IndexSparsifiedWrapper()']]], ['is_5fbasic_3',['is_basic',['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#af5af229c77cd59875fe2cd3f31079c45',1,'tatami::DelayedUnaryIsometricMockBasic::is_basic'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a2f82879f68e6672d7c33d0d3afdf831a',1,'tatami::DelayedUnaryIsometricMockAdvanced::is_basic'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a2ca2a93a291efa4af6e19782ea16dea9',1,'tatami::DelayedBinaryIsometricMockAdvanced::is_basic'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#a106cb2d03c2ab7fa0a6a2a7d10c5e0ea',1,'tatami::DelayedBinaryIsometricMockBasic::is_basic']]], - ['is_5fsparse_4',['is_sparse',['../classtatami_1_1FragmentedSparseMatrix.html#a9c14f99e0ef86e41742aec9d5c086996',1,'tatami::FragmentedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#a48e6d664da3a63cc20cb1215f5165fd1',1,'tatami::DelayedSubsetUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ad782463b6d4c5039119717b38f7f159d',1,'tatami::DelayedSubsetSortedUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#a4ab61a3dc5828d5b71fa13d77888a6a7',1,'tatami::DelayedSubsetSorted::is_sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a77b5f60160bd1437e5ce142d8cdafab5',1,'tatami::DelayedSubsetBlock::is_sparse()'],['../classtatami_1_1DelayedSubset.html#ae9357b3d715e126b6c2eba973bdfaebf',1,'tatami::DelayedSubset::is_sparse()'],['../classtatami_1_1CompressedSparseMatrix.html#ada14aaaeb96bafe8d483ed2d3f91bb59',1,'tatami::CompressedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedTranspose.html#a64df8253602c0e2ad716b154b079c8aa',1,'tatami::DelayedTranspose::is_sparse()'],['../classtatami_1_1DelayedBind.html#a79b7ed57367550ed4c2ddbc4798464f8',1,'tatami::DelayedBind::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a909893bf9fda253bd08d0e0db298b3c4',1,'tatami::DelayedUnaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#aeeb59b86f73aa31525426278a8c87357',1,'tatami::DelayedUnaryIsometricOperation::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ae7393c72485df23ab188a3c67cf970d6',1,'tatami::DelayedBinaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaeee357606e5f5aef03d0ea601279dd4',1,'tatami::DelayedBinaryIsometricOperation::is_sparse()'],['../classtatami_1_1DenseMatrix.html#a4a362f61248baa1f4c13aaeafcd96dbb',1,'tatami::DenseMatrix::is_sparse()'],['../classtatami_1_1Matrix.html#ac57d65707ce22d8c175e43a82b8c6b90',1,'tatami::Matrix::is_sparse()'],['../classtatami_1_1DelayedCast.html#aa2e8ede032453d49cbfbc98771a3fd6d',1,'tatami::DelayedCast::is_sparse()']]], - ['is_5fsparse_5fproportion_5',['is_sparse_proportion',['../classtatami_1_1DelayedUnaryIsometricOperation.html#ab490f2aa07b3432f755bf268c31688f8',1,'tatami::DelayedUnaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a421427ed0f30a0e904133baa7d78ea2b',1,'tatami::DelayedSubsetUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a826a60e784ec3dfe2b794979d022db34',1,'tatami::DelayedSubsetSortedUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a3eec91fb8f1b3d931afec04fdfa1d742',1,'tatami::DelayedSubsetSorted::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a4df587f4add88fd84abd461495b78f06',1,'tatami::DelayedSubsetBlock::is_sparse_proportion()'],['../classtatami_1_1DelayedSubset.html#aeeb4a2cb1df1630f725741bab7974535',1,'tatami::DelayedSubset::is_sparse_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9190434e706cbb52a9765ff827735f6f',1,'tatami::FragmentedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a8cc56caec424be36706baaa824631e9c',1,'tatami::CompressedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedTranspose.html#ae879d7274b0196f18f82ccba86a178ad',1,'tatami::DelayedTranspose::is_sparse_proportion()'],['../classtatami_1_1DelayedCast.html#ab5b7952a43d2c1255032b2b671b3b040',1,'tatami::DelayedCast::is_sparse_proportion()'],['../classtatami_1_1DelayedBind.html#a53a04770fdc42a2a906f677b325d7998',1,'tatami::DelayedBind::is_sparse_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ad89d48d01bed97cb58e8eec0eec4bef1',1,'tatami::DelayedBinaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DenseMatrix.html#a884c8899818f7a8ea6a150c3684048ef',1,'tatami::DenseMatrix::is_sparse_proportion()'],['../classtatami_1_1Matrix.html#aa72c81add2701b7e484a7855b0e62b12',1,'tatami::Matrix::is_sparse_proportion()']]], + ['is_5fsparse_4',['is_sparse',['../classtatami_1_1FragmentedSparseMatrix.html#a9c14f99e0ef86e41742aec9d5c086996',1,'tatami::FragmentedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#a48e6d664da3a63cc20cb1215f5165fd1',1,'tatami::DelayedSubsetUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ad782463b6d4c5039119717b38f7f159d',1,'tatami::DelayedSubsetSortedUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#a4ab61a3dc5828d5b71fa13d77888a6a7',1,'tatami::DelayedSubsetSorted::is_sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a77b5f60160bd1437e5ce142d8cdafab5',1,'tatami::DelayedSubsetBlock::is_sparse()'],['../classtatami_1_1DelayedSubset.html#ae9357b3d715e126b6c2eba973bdfaebf',1,'tatami::DelayedSubset::is_sparse()'],['../classtatami_1_1CompressedSparseMatrix.html#ada14aaaeb96bafe8d483ed2d3f91bb59',1,'tatami::CompressedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedTranspose.html#a64df8253602c0e2ad716b154b079c8aa',1,'tatami::DelayedTranspose::is_sparse()'],['../classtatami_1_1DelayedCast.html#aa2e8ede032453d49cbfbc98771a3fd6d',1,'tatami::DelayedCast::is_sparse()'],['../classtatami_1_1ConstantMatrix.html#a109155791ecacc6f0bab29226e0a8dbc',1,'tatami::ConstantMatrix::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a909893bf9fda253bd08d0e0db298b3c4',1,'tatami::DelayedUnaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#aeeb59b86f73aa31525426278a8c87357',1,'tatami::DelayedUnaryIsometricOperation::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ae7393c72485df23ab188a3c67cf970d6',1,'tatami::DelayedBinaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaeee357606e5f5aef03d0ea601279dd4',1,'tatami::DelayedBinaryIsometricOperation::is_sparse()'],['../classtatami_1_1DenseMatrix.html#a4a362f61248baa1f4c13aaeafcd96dbb',1,'tatami::DenseMatrix::is_sparse()'],['../classtatami_1_1Matrix.html#ac57d65707ce22d8c175e43a82b8c6b90',1,'tatami::Matrix::is_sparse()'],['../classtatami_1_1DelayedBind.html#a79b7ed57367550ed4c2ddbc4798464f8',1,'tatami::DelayedBind::is_sparse()']]], + ['is_5fsparse_5fproportion_5',['is_sparse_proportion',['../classtatami_1_1DelayedUnaryIsometricOperation.html#ab490f2aa07b3432f755bf268c31688f8',1,'tatami::DelayedUnaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a421427ed0f30a0e904133baa7d78ea2b',1,'tatami::DelayedSubsetUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a826a60e784ec3dfe2b794979d022db34',1,'tatami::DelayedSubsetSortedUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a3eec91fb8f1b3d931afec04fdfa1d742',1,'tatami::DelayedSubsetSorted::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a4df587f4add88fd84abd461495b78f06',1,'tatami::DelayedSubsetBlock::is_sparse_proportion()'],['../classtatami_1_1DelayedSubset.html#aeeb4a2cb1df1630f725741bab7974535',1,'tatami::DelayedSubset::is_sparse_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9190434e706cbb52a9765ff827735f6f',1,'tatami::FragmentedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a8cc56caec424be36706baaa824631e9c',1,'tatami::CompressedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedTranspose.html#ae879d7274b0196f18f82ccba86a178ad',1,'tatami::DelayedTranspose::is_sparse_proportion()'],['../classtatami_1_1DelayedCast.html#ab5b7952a43d2c1255032b2b671b3b040',1,'tatami::DelayedCast::is_sparse_proportion()'],['../classtatami_1_1DelayedBind.html#a53a04770fdc42a2a906f677b325d7998',1,'tatami::DelayedBind::is_sparse_proportion()'],['../classtatami_1_1ConstantMatrix.html#a4aa07cce9af27ac329a0fb18a946234c',1,'tatami::ConstantMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ad89d48d01bed97cb58e8eec0eec4bef1',1,'tatami::DelayedBinaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DenseMatrix.html#a884c8899818f7a8ea6a150c3684048ef',1,'tatami::DenseMatrix::is_sparse_proportion()'],['../classtatami_1_1Matrix.html#aa72c81add2701b7e484a7855b0e62b12',1,'tatami::Matrix::is_sparse_proportion()']]], ['iterator_6',['iterator',['../structtatami_1_1SomeNumericArray_1_1Iterator.html',1,'tatami::SomeNumericArray< Value_ >::Iterator'],['../structtatami_1_1SomeNumericArray_1_1Iterator.html#a2d745a37ba547a547724d23e4745e965',1,'tatami::SomeNumericArray::Iterator::Iterator(const SomeNumericArray *parent, size_t index)'],['../structtatami_1_1SomeNumericArray_1_1Iterator.html#aed0fd34b54ecb2e8a2c83bf235123138',1,'tatami::SomeNumericArray::Iterator::Iterator()']]], ['iterator_5fcategory_7',['iterator_category',['../structtatami_1_1SomeNumericArray_1_1Iterator.html#a238f3650db5dcdbeda260dd12522ada0',1,'tatami::SomeNumericArray::Iterator']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 1dd6d582..41567482 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,11 +1,11 @@ var searchData= [ - ['ncol_0',['ncol',['../classtatami_1_1Matrix.html#a1f6fec43d5bae3f831841646bc02377b',1,'tatami::Matrix::ncol()'],['../classtatami_1_1DelayedSubsetUnique.html#a15b1db881d24b4b01274ecc1f39de3dc',1,'tatami::DelayedSubsetUnique::ncol()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4318f664cb5adcb4f49aafe577aaa0a5',1,'tatami::DelayedSubsetSortedUnique::ncol()'],['../classtatami_1_1DelayedSubsetSorted.html#af5ac4154e1eb8da1412716adf512e3f8',1,'tatami::DelayedSubsetSorted::ncol()'],['../classtatami_1_1DelayedSubsetBlock.html#a397f04132c63c97c39afa68e2bc2f600',1,'tatami::DelayedSubsetBlock::ncol()'],['../classtatami_1_1DelayedSubset.html#a560b1c163ab30ace7cfc9dd79618f8a6',1,'tatami::DelayedSubset::ncol()'],['../classtatami_1_1FragmentedSparseMatrix.html#a427e1a6ab4a1eded1374b30c3d6f05ae',1,'tatami::FragmentedSparseMatrix::ncol()'],['../classtatami_1_1CompressedSparseMatrix.html#ae7a25c967b851a667885a2052ad6a45f',1,'tatami::CompressedSparseMatrix::ncol()'],['../classtatami_1_1DelayedTranspose.html#a495080ac6d15551d6816adf85ab2d481',1,'tatami::DelayedTranspose::ncol()'],['../classtatami_1_1DelayedCast.html#aa83b0cdd9395331151d8292e786deeb7',1,'tatami::DelayedCast::ncol()'],['../classtatami_1_1DelayedBind.html#acb743be5663d4fb13624ba0502448bd8',1,'tatami::DelayedBind::ncol()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a59abdc44d1677cc68e2634f6c519f6dd',1,'tatami::DelayedUnaryIsometricOperation::ncol()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a55d4f796ec7ef5a343ed4cbc08edb650',1,'tatami::DelayedBinaryIsometricOperation::ncol()'],['../classtatami_1_1DenseMatrix.html#ae43ef7c94906bc7eb73f39dc720171f6',1,'tatami::DenseMatrix::ncol()']]], + ['ncol_0',['ncol',['../classtatami_1_1Matrix.html#a1f6fec43d5bae3f831841646bc02377b',1,'tatami::Matrix::ncol()'],['../classtatami_1_1DelayedSubsetUnique.html#a15b1db881d24b4b01274ecc1f39de3dc',1,'tatami::DelayedSubsetUnique::ncol()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4318f664cb5adcb4f49aafe577aaa0a5',1,'tatami::DelayedSubsetSortedUnique::ncol()'],['../classtatami_1_1DelayedSubsetSorted.html#af5ac4154e1eb8da1412716adf512e3f8',1,'tatami::DelayedSubsetSorted::ncol()'],['../classtatami_1_1DelayedSubsetBlock.html#a397f04132c63c97c39afa68e2bc2f600',1,'tatami::DelayedSubsetBlock::ncol()'],['../classtatami_1_1DelayedSubset.html#a560b1c163ab30ace7cfc9dd79618f8a6',1,'tatami::DelayedSubset::ncol()'],['../classtatami_1_1FragmentedSparseMatrix.html#a427e1a6ab4a1eded1374b30c3d6f05ae',1,'tatami::FragmentedSparseMatrix::ncol()'],['../classtatami_1_1CompressedSparseMatrix.html#ae7a25c967b851a667885a2052ad6a45f',1,'tatami::CompressedSparseMatrix::ncol()'],['../classtatami_1_1DelayedTranspose.html#a495080ac6d15551d6816adf85ab2d481',1,'tatami::DelayedTranspose::ncol()'],['../classtatami_1_1DelayedCast.html#aa83b0cdd9395331151d8292e786deeb7',1,'tatami::DelayedCast::ncol()'],['../classtatami_1_1DelayedBind.html#acb743be5663d4fb13624ba0502448bd8',1,'tatami::DelayedBind::ncol()'],['../classtatami_1_1ConstantMatrix.html#a84184cb5ad5ee58f0ab3cf28d541ebc6',1,'tatami::ConstantMatrix::ncol()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a59abdc44d1677cc68e2634f6c519f6dd',1,'tatami::DelayedUnaryIsometricOperation::ncol()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a55d4f796ec7ef5a343ed4cbc08edb650',1,'tatami::DelayedBinaryIsometricOperation::ncol()'],['../classtatami_1_1DenseMatrix.html#ae43ef7c94906bc7eb73f39dc720171f6',1,'tatami::DenseMatrix::ncol()']]], ['new_5fextractor_1',['new_extractor',['../namespacetatami.html#ae5e845574f229ff8308121456fac3d47',1,'tatami']]], ['new_5fextractor_2ehpp_2',['new_extractor.hpp',['../new__extractor_8hpp.html',1,'']]], ['non_5fzero_5fdepends_5fon_5fcolumn_3',['non_zero_depends_on_column',['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a460c92223fd0f55a402ff4504146e61f',1,'tatami::DelayedBinaryIsometricMockAdvanced::non_zero_depends_on_column()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a975c8c1eb8914048d2c03586241240a3',1,'tatami::DelayedUnaryIsometricMockAdvanced::non_zero_depends_on_column() const']]], ['non_5fzero_5fdepends_5fon_5frow_4',['non_zero_depends_on_row',['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a007536cd7ed1abc5411ba1e3526e200a',1,'tatami::DelayedUnaryIsometricMockAdvanced::non_zero_depends_on_row()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ad2dcc2934324bdcbbaa894448da0f9ef',1,'tatami::DelayedBinaryIsometricMockAdvanced::non_zero_depends_on_row()']]], - ['nrow_5',['nrow',['../classtatami_1_1DenseMatrix.html#ab18c5c9611a0d989391b511d2430a1a4',1,'tatami::DenseMatrix::nrow()'],['../classtatami_1_1DelayedSubsetUnique.html#abd8575ed2028699594702d62bb1dfdfc',1,'tatami::DelayedSubsetUnique::nrow()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a860753784bf729987e0ccb57867ebf9b',1,'tatami::DelayedSubsetSortedUnique::nrow()'],['../classtatami_1_1DelayedSubsetSorted.html#a1f508fbef006cc90aae91ed73ae8a031',1,'tatami::DelayedSubsetSorted::nrow()'],['../classtatami_1_1DelayedSubsetBlock.html#a1f09481f1564fe050f515ab893ab3cb7',1,'tatami::DelayedSubsetBlock::nrow()'],['../classtatami_1_1DelayedSubset.html#ae0be0f8b5edb78650b05215382292bb8',1,'tatami::DelayedSubset::nrow()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9632369fd9488210695dbd05b13a8ab5',1,'tatami::FragmentedSparseMatrix::nrow()'],['../classtatami_1_1CompressedSparseMatrix.html#a3365d94d7ad16f89d780ba27deffa45a',1,'tatami::CompressedSparseMatrix::nrow()'],['../classtatami_1_1DelayedTranspose.html#ae861c999ade80dfaab4e00ea0a3c9f89',1,'tatami::DelayedTranspose::nrow()'],['../classtatami_1_1DelayedCast.html#a6669aa5ef922006a2c36b2a7d6770b80',1,'tatami::DelayedCast::nrow()'],['../classtatami_1_1DelayedBind.html#a64f90b7152def0f1a53aadbac1901687',1,'tatami::DelayedBind::nrow()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a423374a5526e158b6c689cc79cad61ff',1,'tatami::DelayedUnaryIsometricOperation::nrow()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a523d552d0146fa6e2bd4770afcdacacc',1,'tatami::DelayedBinaryIsometricOperation::nrow()'],['../classtatami_1_1Matrix.html#a54fe7b4baf78069d35ff00357a1b6cc6',1,'tatami::Matrix::nrow()']]], + ['nrow_5',['nrow',['../classtatami_1_1DenseMatrix.html#ab18c5c9611a0d989391b511d2430a1a4',1,'tatami::DenseMatrix::nrow()'],['../classtatami_1_1DelayedSubsetUnique.html#abd8575ed2028699594702d62bb1dfdfc',1,'tatami::DelayedSubsetUnique::nrow()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a860753784bf729987e0ccb57867ebf9b',1,'tatami::DelayedSubsetSortedUnique::nrow()'],['../classtatami_1_1DelayedSubsetSorted.html#a1f508fbef006cc90aae91ed73ae8a031',1,'tatami::DelayedSubsetSorted::nrow()'],['../classtatami_1_1DelayedSubsetBlock.html#a1f09481f1564fe050f515ab893ab3cb7',1,'tatami::DelayedSubsetBlock::nrow()'],['../classtatami_1_1DelayedSubset.html#ae0be0f8b5edb78650b05215382292bb8',1,'tatami::DelayedSubset::nrow()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9632369fd9488210695dbd05b13a8ab5',1,'tatami::FragmentedSparseMatrix::nrow()'],['../classtatami_1_1CompressedSparseMatrix.html#a3365d94d7ad16f89d780ba27deffa45a',1,'tatami::CompressedSparseMatrix::nrow()'],['../classtatami_1_1DelayedTranspose.html#ae861c999ade80dfaab4e00ea0a3c9f89',1,'tatami::DelayedTranspose::nrow()'],['../classtatami_1_1DelayedCast.html#a6669aa5ef922006a2c36b2a7d6770b80',1,'tatami::DelayedCast::nrow()'],['../classtatami_1_1DelayedBind.html#a64f90b7152def0f1a53aadbac1901687',1,'tatami::DelayedBind::nrow()'],['../classtatami_1_1ConstantMatrix.html#a4b4ffa7d614555b1da63d8fc94ec0a48',1,'tatami::ConstantMatrix::nrow()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a423374a5526e158b6c689cc79cad61ff',1,'tatami::DelayedUnaryIsometricOperation::nrow()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a523d552d0146fa6e2bd4770afcdacacc',1,'tatami::DelayedBinaryIsometricOperation::nrow()'],['../classtatami_1_1Matrix.html#a54fe7b4baf78069d35ff00357a1b6cc6',1,'tatami::Matrix::nrow()']]], ['number_6',['number',['../structtatami_1_1SparseRange.html#a8b959e01323bdbe112a6432b3c51a038',1,'tatami::SparseRange']]], ['numericmatrix_7',['NumericMatrix',['../namespacetatami.html#a35c670894994f1d620abb55953f98441',1,'tatami']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index f608aad0..c13bb289 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -4,8 +4,8 @@ var searchData= ['parallelize_2ehpp_1',['parallelize.hpp',['../parallelize_8hpp.html',1,'']]], ['pointer_2',['pointer',['../structtatami_1_1SomeNumericArray_1_1Iterator.html#a613940ff1968b36ce461efb2cb6b7d25',1,'tatami::SomeNumericArray::Iterator']]], ['pointers_3',['pointers',['../structtatami_1_1CompressedSparseContents.html#ad56fc74d757e9dcd8ffbdc48d5adc692',1,'tatami::CompressedSparseContents']]], - ['prefer_5frows_4',['prefer_rows',['../classtatami_1_1DelayedSubset.html#a5df9d7940178cca7db145fb5ab533051',1,'tatami::DelayedSubset::prefer_rows()'],['../classtatami_1_1DelayedSubsetUnique.html#a12e84da197144398246f055b24726c61',1,'tatami::DelayedSubsetUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#af9085320f0969d1f0e5102588fb2acd9',1,'tatami::DelayedSubsetSortedUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSorted.html#a295013d786b741cea170af7cca27166a',1,'tatami::DelayedSubsetSorted::prefer_rows()'],['../classtatami_1_1DelayedSubsetBlock.html#aeb7911f1048e29196a24fa0da8093b1a',1,'tatami::DelayedSubsetBlock::prefer_rows()'],['../classtatami_1_1FragmentedSparseMatrix.html#ab8415def9c366ffa6ec1713210b518b6',1,'tatami::FragmentedSparseMatrix::prefer_rows()'],['../classtatami_1_1CompressedSparseMatrix.html#a45a108841635187e7428cbc6f1969a28',1,'tatami::CompressedSparseMatrix::prefer_rows()'],['../classtatami_1_1DelayedTranspose.html#a8d386b8a0d05d6bcdbc1dd80c7d8118e',1,'tatami::DelayedTranspose::prefer_rows()'],['../classtatami_1_1DelayedBind.html#adeedfaa0423b0e7c6f12c3d524e0319d',1,'tatami::DelayedBind::prefer_rows()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#abbac55342f544e8dcb8f5d2628b5d2c5',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaab1fe8d90807834aac2c62a00106fcd',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedCast.html#acd15dc4d42f79dcf6e8f100f59b17a9b',1,'tatami::DelayedCast::prefer_rows()'],['../classtatami_1_1DenseMatrix.html#a47eade967a5c180ff4a8c8644e57947b',1,'tatami::DenseMatrix::prefer_rows()'],['../classtatami_1_1Matrix.html#a69382d2a4e66cda1a9eb48dc25ab113a',1,'tatami::Matrix::prefer_rows()']]], - ['prefer_5frows_5fproportion_5',['prefer_rows_proportion',['../classtatami_1_1DelayedSubsetSorted.html#a17bb58ece77b014f927894dd9a3e645f',1,'tatami::DelayedSubsetSorted::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a33461de6d39962ab1dd23dfd3d574d72',1,'tatami::DelayedSubsetBlock::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubset.html#aab2a16870e36e5fd5f5adcc7c986a5db',1,'tatami::DelayedSubset::prefer_rows_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a5bc5cb7ee33045f37312445007f487f0',1,'tatami::FragmentedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a51bc0d7358afec17953fca1d37eab439',1,'tatami::CompressedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedTranspose.html#af218bfcac74f403cc9d5bd6be84cc7a5',1,'tatami::DelayedTranspose::prefer_rows_proportion()'],['../classtatami_1_1DelayedCast.html#a5bbd6fe49cfca5995289950abcf18856',1,'tatami::DelayedCast::prefer_rows_proportion()'],['../classtatami_1_1DelayedBind.html#af6fe54f29461d429362f0b8fec0da84e',1,'tatami::DelayedBind::prefer_rows_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1898fc4282f079ff1c5023afc6708a2e',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1bd68c9b0da8a227fc0b0825a7b8ca32',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DenseMatrix.html#a44486a7d66661eada08c22a64547e937',1,'tatami::DenseMatrix::prefer_rows_proportion()'],['../classtatami_1_1Matrix.html#a2ddcc730155ca894df1c58b0a963d5e7',1,'tatami::Matrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a5d3b4e2f848ffd914b2f2615c86c651b',1,'tatami::DelayedSubsetUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a49dd8093b1f87ac9d369cc7f9014224f',1,'tatami::DelayedSubsetSortedUnique::prefer_rows_proportion()']]], + ['prefer_5frows_4',['prefer_rows',['../classtatami_1_1DelayedSubset.html#a5df9d7940178cca7db145fb5ab533051',1,'tatami::DelayedSubset::prefer_rows()'],['../classtatami_1_1DelayedSubsetUnique.html#a12e84da197144398246f055b24726c61',1,'tatami::DelayedSubsetUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#af9085320f0969d1f0e5102588fb2acd9',1,'tatami::DelayedSubsetSortedUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSorted.html#a295013d786b741cea170af7cca27166a',1,'tatami::DelayedSubsetSorted::prefer_rows()'],['../classtatami_1_1DelayedSubsetBlock.html#aeb7911f1048e29196a24fa0da8093b1a',1,'tatami::DelayedSubsetBlock::prefer_rows()'],['../classtatami_1_1FragmentedSparseMatrix.html#ab8415def9c366ffa6ec1713210b518b6',1,'tatami::FragmentedSparseMatrix::prefer_rows()'],['../classtatami_1_1CompressedSparseMatrix.html#a45a108841635187e7428cbc6f1969a28',1,'tatami::CompressedSparseMatrix::prefer_rows()'],['../classtatami_1_1DelayedTranspose.html#a8d386b8a0d05d6bcdbc1dd80c7d8118e',1,'tatami::DelayedTranspose::prefer_rows()'],['../classtatami_1_1DelayedCast.html#acd15dc4d42f79dcf6e8f100f59b17a9b',1,'tatami::DelayedCast::prefer_rows()'],['../classtatami_1_1ConstantMatrix.html#af7bf04bc4dcb379ca9fc24fc8dd87669',1,'tatami::ConstantMatrix::prefer_rows()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#abbac55342f544e8dcb8f5d2628b5d2c5',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaab1fe8d90807834aac2c62a00106fcd',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedBind.html#adeedfaa0423b0e7c6f12c3d524e0319d',1,'tatami::DelayedBind::prefer_rows()'],['../classtatami_1_1DenseMatrix.html#a47eade967a5c180ff4a8c8644e57947b',1,'tatami::DenseMatrix::prefer_rows()'],['../classtatami_1_1Matrix.html#a69382d2a4e66cda1a9eb48dc25ab113a',1,'tatami::Matrix::prefer_rows()']]], + ['prefer_5frows_5fproportion_5',['prefer_rows_proportion',['../classtatami_1_1DelayedSubsetSorted.html#a17bb58ece77b014f927894dd9a3e645f',1,'tatami::DelayedSubsetSorted::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a33461de6d39962ab1dd23dfd3d574d72',1,'tatami::DelayedSubsetBlock::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubset.html#aab2a16870e36e5fd5f5adcc7c986a5db',1,'tatami::DelayedSubset::prefer_rows_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a5bc5cb7ee33045f37312445007f487f0',1,'tatami::FragmentedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a51bc0d7358afec17953fca1d37eab439',1,'tatami::CompressedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedTranspose.html#af218bfcac74f403cc9d5bd6be84cc7a5',1,'tatami::DelayedTranspose::prefer_rows_proportion()'],['../classtatami_1_1DelayedCast.html#a5bbd6fe49cfca5995289950abcf18856',1,'tatami::DelayedCast::prefer_rows_proportion()'],['../classtatami_1_1DelayedBind.html#af6fe54f29461d429362f0b8fec0da84e',1,'tatami::DelayedBind::prefer_rows_proportion()'],['../classtatami_1_1ConstantMatrix.html#a4c0222313e3dad71b001ae734ccd058a',1,'tatami::ConstantMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1898fc4282f079ff1c5023afc6708a2e',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1bd68c9b0da8a227fc0b0825a7b8ca32',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DenseMatrix.html#a44486a7d66661eada08c22a64547e937',1,'tatami::DenseMatrix::prefer_rows_proportion()'],['../classtatami_1_1Matrix.html#a2ddcc730155ca894df1c58b0a963d5e7',1,'tatami::Matrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a5d3b4e2f848ffd914b2f2615c86c651b',1,'tatami::DelayedSubsetUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a49dd8093b1f87ac9d369cc7f9014224f',1,'tatami::DelayedSubsetSortedUnique::prefer_rows_proportion()']]], ['process_5fconsecutive_5findices_6',['process_consecutive_indices',['../namespacetatami.html#af01c93a616eb99f6a17861a8b19f7ee0',1,'tatami']]], ['process_5fconsecutive_5findices_2ehpp_7',['process_consecutive_indices.hpp',['../process__consecutive__indices_8hpp.html',1,'']]], ['pseudooraculardenseextractor_8',['pseudooraculardenseextractor',['../structtatami_1_1PseudoOracularDenseExtractor.html#a099afedb958b1c9a7738508eb7cf387f',1,'tatami::PseudoOracularDenseExtractor::PseudoOracularDenseExtractor()'],['../structtatami_1_1PseudoOracularDenseExtractor.html',1,'tatami::PseudoOracularDenseExtractor< Value_, Index_ >']]], diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 3f1e4dcf..9e4e6d46 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,18 +1,18 @@ var searchData= [ ['size_0',['size',['../classtatami_1_1ArrayView.html#a7983c151067c852f6382b76661937dfd',1,'tatami::ArrayView::size()'],['../classtatami_1_1SomeNumericArray.html#ada2335bab3c287700c1888ae1cb1d73f',1,'tatami::SomeNumericArray::size() const']]], - ['somenumericarray_1',['somenumericarray',['../classtatami_1_1SomeNumericArray.html#a72480d4ee601d6e4b53079c3c9d778b6',1,'tatami::SomeNumericArray::SomeNumericArray(const int8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a04746b0ed1a52c1f1b07ea9268e6e710',1,'tatami::SomeNumericArray::SomeNumericArray(const float *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a45580fc9b26e1b4b51196ea00355fa6b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a3841d7a193e4c3a943ef37c457b1f7b0',1,'tatami::SomeNumericArray::SomeNumericArray(const int64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#addaf5c43710c1b5c24d0044142059c3b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint32_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a014ed5da5ed50927b16a7809d79090a2',1,'tatami::SomeNumericArray::SomeNumericArray(const int32_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a73bbe62be2b580fcb089681614d54db3',1,'tatami::SomeNumericArray::SomeNumericArray(const uint16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#aa426e3d15474854e6a9ed83340a9b186',1,'tatami::SomeNumericArray::SomeNumericArray(const int16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#ad98452abd9d16187b9a3f47f4382a03b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a34316bc03b9b9c873c4c3c3d87d51bc3',1,'tatami::SomeNumericArray::SomeNumericArray(void *ptr, size_t number, SomeNumericType type)'],['../classtatami_1_1SomeNumericArray.html#a3188a107ac6731af5c1afaef1964946c',1,'tatami::SomeNumericArray::SomeNumericArray(const double *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html',1,'tatami::SomeNumericArray< Value_ >']]], + ['somenumericarray_1',['somenumericarray',['../classtatami_1_1SomeNumericArray.html#addaf5c43710c1b5c24d0044142059c3b',1,'tatami::SomeNumericArray::SomeNumericArray()'],['../classtatami_1_1SomeNumericArray.html',1,'tatami::SomeNumericArray< Value_ >'],['../classtatami_1_1SomeNumericArray.html#a3188a107ac6731af5c1afaef1964946c',1,'tatami::SomeNumericArray::SomeNumericArray(const double *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a04746b0ed1a52c1f1b07ea9268e6e710',1,'tatami::SomeNumericArray::SomeNumericArray(const float *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a45580fc9b26e1b4b51196ea00355fa6b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a3841d7a193e4c3a943ef37c457b1f7b0',1,'tatami::SomeNumericArray::SomeNumericArray(const int64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a014ed5da5ed50927b16a7809d79090a2',1,'tatami::SomeNumericArray::SomeNumericArray(const int32_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a73bbe62be2b580fcb089681614d54db3',1,'tatami::SomeNumericArray::SomeNumericArray(const uint16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#ad98452abd9d16187b9a3f47f4382a03b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a72480d4ee601d6e4b53079c3c9d778b6',1,'tatami::SomeNumericArray::SomeNumericArray(const int8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#aa426e3d15474854e6a9ed83340a9b186',1,'tatami::SomeNumericArray::SomeNumericArray(const int16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a34316bc03b9b9c873c4c3c3d87d51bc3',1,'tatami::SomeNumericArray::SomeNumericArray(void *ptr, size_t number, SomeNumericType type)']]], ['somenumericarray_2ehpp_2',['SomeNumericArray.hpp',['../SomeNumericArray_8hpp.html',1,'']]], ['somenumerictype_3',['SomeNumericType',['../namespacetatami.html#a6c4e0b21d1826723cc5ea81d889a73e5',1,'tatami']]], ['sorts_20of_20matrices_4',['A C++ API for all sorts of matrices',['../index.html',1,'']]], - ['sparse_5',['sparse',['../classtatami_1_1CompressedSparseMatrix.html#a1a380cb8f55f8c5ae9334b1bfaaa6876',1,'tatami::CompressedSparseMatrix::sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a3e9287584a2040ef83d252e6f2373381',1,'tatami::DelayedSubsetBlock::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#ad5ac39b6671feb1389e0b3fdabe25e4c',1,'tatami::DelayedSubsetBlock::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a97908a89a4b76a92c25b8b041794e643',1,'tatami::DelayedSubsetBlock::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1920cd62b0d279e8acea9052348a6f4a',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ae8f050e69b266e0673b0a261e1aa2e8e',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3dc87fd4d728996cfdf4ad76ac5b55ef',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a383ec95c99cfbd8787b69fab35e2e5ce',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubset.html#a3d0433713b2490a880a7b6ef02d88a96',1,'tatami::DelayedSubset::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8495796b83897f95e465b0dced9847c8',1,'tatami::DelayedSubset::sparse(bool row, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a26ebfcf4c5f6ea5d4d4364991be2e9ce',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a307940f3bbba99d017184a938833fe0a',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a28e0ad8828c1e93e329fbf676dd5f582',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a77c699398156e97d9a972c9b8412399e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a9d7c4763266aacc9dd8e8bf18cd6bdf5',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a021c20b362a86fd64620f712f9995f0e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ae5f50bae52f2368f145fcbe986675696',1,'tatami::CompressedSparseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a76725ab1293975137e2ed2ec3c188464',1,'tatami::CompressedSparseMatrix::sparse(bool row, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a7a56c1739aaadf60f8270159b3386dcc',1,'tatami::DelayedSubset::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a56f6be559c424ca314e75ddce5b0bdcd',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#aab5d29cd6075549ff1050be0b8bc0c2f',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a3e96ad1ccedc6dc6a4be6e3fa2887472',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a029c11d07c36aa6b58fb80810268def6',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a75fde8049aa84b19cabbc2346133c73c',1,'tatami::DelayedSubsetUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a8d92434bb6dac077140ffaff2d4e14cb',1,'tatami::DelayedSubsetUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a96b27b6163be1f983e31333cf8c2dbf3',1,'tatami::DelayedSubsetUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a0cf3b134b4eddd47df6ac16c08f809ac',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#aafe5e9724d8d3df1d622faaeee37615e',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a5764e461a0e2c2717cb51f0efe3df8f9',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a7fd46b6f3a4cefb5709db879fe85287e',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a92669f25c9c5975ec323aa6af84ee48b',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a772115b079f6c1305bc3e328e9eabc03',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ac357f675e5ad46f8fa03db075c1534a1',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a72d004108e2f3af226beda18e13f9501',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#aa87205c5798727659d3327ce93356713',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a683e23909dc8ad1e0f573846f21f66fc',1,'tatami::DelayedSubsetSorted::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5a60775d110656d3bd7642ef5ef64e3a',1,'tatami::DelayedSubsetSorted::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ad941dfd5674f37ff8fc864590c79ebd4',1,'tatami::DelayedSubsetSorted::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a4c0f79b67346db6cfc40f0658b761f76',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DenseMatrix.html#a7a757cea83161373e48b0d2a506931e3',1,'tatami::DenseMatrix::sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a981d6d86d050581f7a39daab4f156ec7',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a245fc9504a3e8467cc2a52b28eb6afdd',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a7648bcf3fc4eb772c843d8dce699b454',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aa5671c7371ae75038f00c7a3c20b1301',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a3c42fe4d98d958fe52c496912d885cd9',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#acf0b70de07043ed0f73845ee6c03fe06',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a5eb5622d0bf742933efc4a5712337504',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a076632321ee3a36f1b7f306ffafe0150',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ae8b40e14802cdad7312caf3e8248489a',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a4bc7241dd0cbcba64844ff98b0f3c219',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DenseMatrix.html#ac06116b91a9b811f3253f31f11f7bfcb',1,'tatami::DenseMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a14731efb8e8dd41e23211510ba64fab5',1,'tatami::DenseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1Matrix.html#abe7557a27bbb09f8453a3e6848ad910e',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#aacfcf54358970874051e5cc700730707',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a5605c18620abdab0f82015b959e9813a',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a59d055aed809a2036c10c1fce92bd036',1,'tatami::Matrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af802c74c510eff3316ce0eea99c08810',1,'tatami::Matrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af84772cc4e911a87948d45a1edcabbd0',1,'tatami::Matrix::sparse(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedTranspose.html#acae831b9ba93460af968b319a924a17a',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a06fb62a93edf15673855926f1124bc9f',1,'tatami::DelayedUnaryIsometricOperation::sparse()'],['../classtatami_1_1DelayedTranspose.html#a9e432929eb5b907baff964410dd35caf',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a63f8ce1ffedcc671a36ead8fed6bf205',1,'tatami::DelayedTranspose::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a1f42007d5ca11c0f2588a57330a7c556',1,'tatami::DelayedTranspose::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a75b9d1b19e9d97da9e6303c4c76d9238',1,'tatami::DelayedTranspose::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a85eccad5cd983379f3888b35dc78ecf1',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a69d08b80168e508dd42b321b742e825d',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af2eb799fb84aaacee5c7c1eebb3463fd',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af5f8a3c9ccff1a64bde28643b9fd0343',1,'tatami::DelayedCast::sparse(bool row, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1dea29fac0c463402c7ec8793cb351a6',1,'tatami::DelayedCast::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a5f63516a70383f2a89ef240a6866ff21',1,'tatami::DelayedUnaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a3fa3c717b01aeb3c1767f364ceeb9f67',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a0d26c147d8caf6ab139519c07985a054',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a365dd5b5e3e8e96eab7eb18f5c8e8331',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1d5d52217508e5d50201425997da88cd',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a74ec6dd16263ccfa6b50323a508be338',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0a2dcdad6634fd38dc4a9a4aa3d1b611',1,'tatami::DelayedBinaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedCast.html#a8464e48c09743cab8ae45fd8f7de190e',1,'tatami::DelayedCast::sparse()']]], - ['sparse_5fcolumn_6',['sparse_column',['../classtatami_1_1Matrix.html#a25ce6f1c8ad4f4d2e8d62c8e005c7df8',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a576f3bd09c075d59101e561c715c82e2',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a413c72fd73b8e156f3b2fb3f8ebd2497',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#acfbdd5c72c285b22942ce2714874b810',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8274ac6fb2345fcece74e6fdb35e05d4',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a9538dcc44c008dd203e719a855ac7fca',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a917f575b5430e14e2ccda56a5b6903be',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aed47eef4ab4a6563db02acc77e22e5eb',1,'tatami::Matrix::sparse_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#ad3c6514d93279e77fb8505d29c334217',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#adfb6b4e90e3ab5cf0112e7cbd31f18f4',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a51f592922949fc50786de3eb6f58d0be',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ab0efad968be5f4b9a36bb50beb8460f8',1,'tatami::Matrix::sparse_column() const'],['../classtatami_1_1Matrix.html#a518b8f184afb562e8ef722c2feef0875',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9f340c985ed28a230745d87c9cd6ac44',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ad45028c0259b57630cdc23e4f3d08835',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aebbd197a7d1530397cff04660e78f28f',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices) const']]], + ['sparse_5',['sparse',['../classtatami_1_1DelayedTranspose.html#a9e432929eb5b907baff964410dd35caf',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#ad5ac39b6671feb1389e0b3fdabe25e4c',1,'tatami::DelayedSubsetBlock::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a97908a89a4b76a92c25b8b041794e643',1,'tatami::DelayedSubsetBlock::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1920cd62b0d279e8acea9052348a6f4a',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ae8f050e69b266e0673b0a261e1aa2e8e',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3dc87fd4d728996cfdf4ad76ac5b55ef',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a7a56c1739aaadf60f8270159b3386dcc',1,'tatami::DelayedSubset::sparse(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3d0433713b2490a880a7b6ef02d88a96',1,'tatami::DelayedSubset::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8495796b83897f95e465b0dced9847c8',1,'tatami::DelayedSubset::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3e9287584a2040ef83d252e6f2373381',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1FragmentedSparseMatrix.html#a307940f3bbba99d017184a938833fe0a',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a28e0ad8828c1e93e329fbf676dd5f582',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a77c699398156e97d9a972c9b8412399e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a9d7c4763266aacc9dd8e8bf18cd6bdf5',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a021c20b362a86fd64620f712f9995f0e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ae5f50bae52f2368f145fcbe986675696',1,'tatami::CompressedSparseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a76725ab1293975137e2ed2ec3c188464',1,'tatami::CompressedSparseMatrix::sparse(bool row, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a1a380cb8f55f8c5ae9334b1bfaaa6876',1,'tatami::CompressedSparseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#acae831b9ba93460af968b319a924a17a',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a4bc7241dd0cbcba64844ff98b0f3c219',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a26ebfcf4c5f6ea5d4d4364991be2e9ce',1,'tatami::FragmentedSparseMatrix::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a92669f25c9c5975ec323aa6af84ee48b',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#aab5d29cd6075549ff1050be0b8bc0c2f',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a3e96ad1ccedc6dc6a4be6e3fa2887472',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a029c11d07c36aa6b58fb80810268def6',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a75fde8049aa84b19cabbc2346133c73c',1,'tatami::DelayedSubsetUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a8d92434bb6dac077140ffaff2d4e14cb',1,'tatami::DelayedSubsetUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a96b27b6163be1f983e31333cf8c2dbf3',1,'tatami::DelayedSubsetUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a0cf3b134b4eddd47df6ac16c08f809ac',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#aafe5e9724d8d3df1d622faaeee37615e',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a5764e461a0e2c2717cb51f0efe3df8f9',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a56f6be559c424ca314e75ddce5b0bdcd',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a383ec95c99cfbd8787b69fab35e2e5ce',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a772115b079f6c1305bc3e328e9eabc03',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#ac357f675e5ad46f8fa03db075c1534a1',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a72d004108e2f3af226beda18e13f9501',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#aa87205c5798727659d3327ce93356713',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a683e23909dc8ad1e0f573846f21f66fc',1,'tatami::DelayedSubsetSorted::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5a60775d110656d3bd7642ef5ef64e3a',1,'tatami::DelayedSubsetSorted::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ad941dfd5674f37ff8fc864590c79ebd4',1,'tatami::DelayedSubsetSorted::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a4c0f79b67346db6cfc40f0658b761f76',1,'tatami::DelayedSubsetBlock::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a7fd46b6f3a4cefb5709db879fe85287e',1,'tatami::DelayedSubsetBlock::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a7a757cea83161373e48b0d2a506931e3',1,'tatami::DenseMatrix::sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0a2dcdad6634fd38dc4a9a4aa3d1b611',1,'tatami::DelayedBinaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a981d6d86d050581f7a39daab4f156ec7',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a245fc9504a3e8467cc2a52b28eb6afdd',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a7648bcf3fc4eb772c843d8dce699b454',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aa5671c7371ae75038f00c7a3c20b1301',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a3c42fe4d98d958fe52c496912d885cd9',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#acf0b70de07043ed0f73845ee6c03fe06',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a5eb5622d0bf742933efc4a5712337504',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a076632321ee3a36f1b7f306ffafe0150',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ae8b40e14802cdad7312caf3e8248489a',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a1f42007d5ca11c0f2588a57330a7c556',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DenseMatrix.html#ac06116b91a9b811f3253f31f11f7bfcb',1,'tatami::DenseMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a14731efb8e8dd41e23211510ba64fab5',1,'tatami::DenseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1Matrix.html#abe7557a27bbb09f8453a3e6848ad910e',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#aacfcf54358970874051e5cc700730707',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a5605c18620abdab0f82015b959e9813a',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a59d055aed809a2036c10c1fce92bd036',1,'tatami::Matrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af802c74c510eff3316ce0eea99c08810',1,'tatami::Matrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af84772cc4e911a87948d45a1edcabbd0',1,'tatami::Matrix::sparse(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedTranspose.html#a63f8ce1ffedcc671a36ead8fed6bf205',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedCast.html#a8464e48c09743cab8ae45fd8f7de190e',1,'tatami::DelayedCast::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a06fb62a93edf15673855926f1124bc9f',1,'tatami::DelayedUnaryIsometricOperation::sparse()'],['../classtatami_1_1DelayedTranspose.html#a75b9d1b19e9d97da9e6303c4c76d9238',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedCast.html#a85eccad5cd983379f3888b35dc78ecf1',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a69d08b80168e508dd42b321b742e825d',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af2eb799fb84aaacee5c7c1eebb3463fd',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af5f8a3c9ccff1a64bde28643b9fd0343',1,'tatami::DelayedCast::sparse(bool row, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1dea29fac0c463402c7ec8793cb351a6',1,'tatami::DelayedCast::sparse(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#aedec8c8cece4db21e6ecbe7ca1561768',1,'tatami::ConstantMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a09d12ce1a9167fa6c652a2c58d3adbbb',1,'tatami::ConstantMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1d5d52217508e5d50201425997da88cd',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a74ec6dd16263ccfa6b50323a508be338',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ab3c1ae19e147eacda085f8273bb14f8a',1,'tatami::ConstantMatrix::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a365dd5b5e3e8e96eab7eb18f5c8e8331',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a0d26c147d8caf6ab139519c07985a054',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a3fa3c717b01aeb3c1767f364ceeb9f67',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a5f63516a70383f2a89ef240a6866ff21',1,'tatami::DelayedUnaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1ConstantMatrix.html#a2b61d490c5068331415f107473e5b4a0',1,'tatami::ConstantMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ad710ca877dea25c3848bf0fc5dced7bd',1,'tatami::ConstantMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a56b616f0b355f7842836e10235d53a3e',1,'tatami::ConstantMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const']]], + ['sparse_5fcolumn_6',['sparse_column',['../classtatami_1_1Matrix.html#aebbd197a7d1530397cff04660e78f28f',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#ad3c6514d93279e77fb8505d29c334217',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a917f575b5430e14e2ccda56a5b6903be',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a9538dcc44c008dd203e719a855ac7fca',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a8274ac6fb2345fcece74e6fdb35e05d4',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#acfbdd5c72c285b22942ce2714874b810',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a413c72fd73b8e156f3b2fb3f8ebd2497',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a576f3bd09c075d59101e561c715c82e2',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a25ce6f1c8ad4f4d2e8d62c8e005c7df8',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a51f592922949fc50786de3eb6f58d0be',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ab0efad968be5f4b9a36bb50beb8460f8',1,'tatami::Matrix::sparse_column() const'],['../classtatami_1_1Matrix.html#a518b8f184afb562e8ef722c2feef0875',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9f340c985ed28a230745d87c9cd6ac44',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ad45028c0259b57630cdc23e4f3d08835',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aed47eef4ab4a6563db02acc77e22e5eb',1,'tatami::Matrix::sparse_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#adfb6b4e90e3ab5cf0112e7cbd31f18f4',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr) const']]], ['sparse_5fextract_5findex_7',['sparse_extract_index',['../structtatami_1_1Options.html#a192a47606233c7f5c76bb1e7a62867a5',1,'tatami::Options']]], ['sparse_5fextract_5fvalue_8',['sparse_extract_value',['../structtatami_1_1Options.html#abe1ec7b8bfc82728742ca4a496e59548',1,'tatami::Options']]], ['sparse_5fordered_5findex_9',['sparse_ordered_index',['../structtatami_1_1Options.html#a4d2e6f2631a7e813bfbf3f215594a79b',1,'tatami::Options']]], - ['sparse_5frow_10',['sparse_row',['../classtatami_1_1Matrix.html#ad2aecb2560e570ec8f6e3efb0eddf55d',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a3fc1dfadd943138f21cf3e9dd1f89147',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#ae052d20e59e1cd0c58915f1165c42b44',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ac69c3729445a087b33bfa9717b8e0bd1',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a47155bacf33f5c269c8da4ce96d1adb8',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#af86c164710f168484a0037169bf51622',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a59f8dbf2064d74038813b5c0191a6542',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#af67262da7611609ba28f9ac1d9ed20e9',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9914398b94a1a9f3082478d9646fc21d',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3011f5e2ee8103fcc4c6488bfd228997',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#acbe0fed52aae518a420114727e1c98a1',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aedecd4c23762ff43f49cfb0d2c687056',1,'tatami::Matrix::sparse_row() const'],['../classtatami_1_1Matrix.html#afb26d2551fec7753001e8c274c9661de',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#ac64a711a19ebc55da7b5fdc193db839c',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ada39dd5987e82eb0aa50c302ee3ed564',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#afcb3651992dff44cdf8d560a527707f6',1,'tatami::Matrix::sparse_row(const Options &opt) const']]], + ['sparse_5frow_10',['sparse_row',['../classtatami_1_1Matrix.html#afb26d2551fec7753001e8c274c9661de',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3fc1dfadd943138f21cf3e9dd1f89147',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#ae052d20e59e1cd0c58915f1165c42b44',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ac69c3729445a087b33bfa9717b8e0bd1',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a59f8dbf2064d74038813b5c0191a6542',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a47155bacf33f5c269c8da4ce96d1adb8',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#af86c164710f168484a0037169bf51622',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#af67262da7611609ba28f9ac1d9ed20e9',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9914398b94a1a9f3082478d9646fc21d',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3011f5e2ee8103fcc4c6488bfd228997',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#acbe0fed52aae518a420114727e1c98a1',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#ad2aecb2560e570ec8f6e3efb0eddf55d',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#aedecd4c23762ff43f49cfb0d2c687056',1,'tatami::Matrix::sparse_row() const'],['../classtatami_1_1Matrix.html#ac64a711a19ebc55da7b5fdc193db839c',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ada39dd5987e82eb0aa50c302ee3ed564',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#afcb3651992dff44cdf8d560a527707f6',1,'tatami::Matrix::sparse_row(const Options &opt) const']]], ['sparseextractor_11',['SparseExtractor',['../namespacetatami.html#a9a542a16a6a2c2c1efdc7b6e9eae9040',1,'tatami']]], - ['sparserange_12',['sparserange',['../structtatami_1_1SparseRange.html#a9e2b5fe9ddf226166160a2040656114c',1,'tatami::SparseRange::SparseRange(Index_ number, const Value_ *value=NULL, const Index_ *index=NULL)'],['../structtatami_1_1SparseRange.html#a1706d98b8591f939f405e0083588d1b4',1,'tatami::SparseRange::SparseRange()=default'],['../structtatami_1_1SparseRange.html',1,'tatami::SparseRange< Value_, Index_ >']]], + ['sparserange_12',['sparserange',['../structtatami_1_1SparseRange.html',1,'tatami::SparseRange< Value_, Index_ >'],['../structtatami_1_1SparseRange.html#a1706d98b8591f939f405e0083588d1b4',1,'tatami::SparseRange::SparseRange()=default'],['../structtatami_1_1SparseRange.html#a9e2b5fe9ddf226166160a2040656114c',1,'tatami::SparseRange::SparseRange(Index_ number, const Value_ *value=NULL, const Index_ *index=NULL)']]], ['sparserange_2ehpp_13',['SparseRange.hpp',['../SparseRange_8hpp.html',1,'']]], ['sparsifiedwrapper_2ehpp_14',['SparsifiedWrapper.hpp',['../SparsifiedWrapper_8hpp.html',1,'']]] ]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index db3c6276..610cc516 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -5,5 +5,6 @@ var searchData= ['compressedsparsematrix_2',['CompressedSparseMatrix',['../classtatami_1_1CompressedSparseMatrix.html',1,'tatami']]], ['compressedsparsematrix_3c_20value_5f_2c_20index_5f_2c_20std_3a_3avector_3c_20value_5f_20_3e_2c_20std_3a_3avector_3c_20index_5f_20_3e_2c_20std_3a_3avector_3c_20size_5ft_20_3e_20_3e_3',['CompressedSparseMatrix< Value_, Index_, std::vector< Value_ >, std::vector< Index_ >, std::vector< size_t > >',['../classtatami_1_1CompressedSparseMatrix.html',1,'tatami']]], ['compressedsparserowmatrix_4',['CompressedSparseRowMatrix',['../classtatami_1_1CompressedSparseRowMatrix.html',1,'tatami']]], - ['consecutiveoracle_5',['ConsecutiveOracle',['../classtatami_1_1ConsecutiveOracle.html',1,'tatami']]] + ['consecutiveoracle_5',['ConsecutiveOracle',['../classtatami_1_1ConsecutiveOracle.html',1,'tatami']]], + ['constantmatrix_6',['ConstantMatrix',['../classtatami_1_1ConstantMatrix.html',1,'tatami']]] ]; diff --git a/docs/search/files_2.js b/docs/search/files_2.js index 164c7fe4..7ad017dd 100644 --- a/docs/search/files_2.js +++ b/docs/search/files_2.js @@ -6,8 +6,9 @@ var searchData= ['compressedsparsematrix_2ehpp_3',['CompressedSparseMatrix.hpp',['../CompressedSparseMatrix_8hpp.html',1,'']]], ['consecutive_5fextractor_2ehpp_4',['consecutive_extractor.hpp',['../consecutive__extractor_8hpp.html',1,'']]], ['consecutiveoracle_2ehpp_5',['ConsecutiveOracle.hpp',['../ConsecutiveOracle_8hpp.html',1,'']]], - ['convert_5fto_5fcompressed_5fsparse_2ehpp_6',['convert_to_compressed_sparse.hpp',['../convert__to__compressed__sparse_8hpp.html',1,'']]], - ['convert_5fto_5fdense_2ehpp_7',['convert_to_dense.hpp',['../convert__to__dense_8hpp.html',1,'']]], - ['convert_5fto_5ffragmented_5fsparse_2ehpp_8',['convert_to_fragmented_sparse.hpp',['../convert__to__fragmented__sparse_8hpp.html',1,'']]], - ['copy_2ehpp_9',['copy.hpp',['../copy_8hpp.html',1,'']]] + ['constantmatrix_2ehpp_6',['ConstantMatrix.hpp',['../ConstantMatrix_8hpp.html',1,'']]], + ['convert_5fto_5fcompressed_5fsparse_2ehpp_7',['convert_to_compressed_sparse.hpp',['../convert__to__compressed__sparse_8hpp.html',1,'']]], + ['convert_5fto_5fdense_2ehpp_8',['convert_to_dense.hpp',['../convert__to__dense_8hpp.html',1,'']]], + ['convert_5fto_5ffragmented_5fsparse_2ehpp_9',['convert_to_fragmented_sparse.hpp',['../convert__to__fragmented__sparse_8hpp.html',1,'']]], + ['copy_2ehpp_10',['copy.hpp',['../copy_8hpp.html',1,'']]] ]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index bc4ed978..944f4311 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -6,8 +6,9 @@ var searchData= ['compressedsparserowmatrix_3',['CompressedSparseRowMatrix',['../classtatami_1_1CompressedSparseRowMatrix.html#ab757e111074096fb542148675c72cade',1,'tatami::CompressedSparseRowMatrix']]], ['consecutive_5fextractor_4',['consecutive_extractor',['../namespacetatami.html#af05590455e558621c8ffc1b98c4fd454',1,'tatami']]], ['consecutiveoracle_5',['ConsecutiveOracle',['../classtatami_1_1ConsecutiveOracle.html#ab6d9e6d767d2c9705d927be501abfe9d',1,'tatami::ConsecutiveOracle']]], - ['convert_5fto_5fcompressed_5fsparse_6',['convert_to_compressed_sparse',['../namespacetatami.html#a55a5de2537fc815c895528fea8a717f6',1,'tatami']]], - ['convert_5fto_5fdense_7',['convert_to_dense',['../namespacetatami.html#aab32e148c90b65402f17c7d835649a4b',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, StoredValue_ *store, int threads=1)'],['../namespacetatami.html#a085f9235a7b8b95611c0e9f6de860c5a',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, int threads=1)']]], - ['convert_5fto_5ffragmented_5fsparse_8',['convert_to_fragmented_sparse',['../namespacetatami.html#a2a4c4e213ecc4225882b3cf8b21600e0',1,'tatami']]], - ['copy_5fn_9',['copy_n',['../namespacetatami.html#ab52a806e3f13a68741a9e1f77dccab14',1,'tatami']]] + ['constantmatrix_6',['ConstantMatrix',['../classtatami_1_1ConstantMatrix.html#ac51afe22e54a204c0b2b8a80abde30cc',1,'tatami::ConstantMatrix']]], + ['convert_5fto_5fcompressed_5fsparse_7',['convert_to_compressed_sparse',['../namespacetatami.html#a55a5de2537fc815c895528fea8a717f6',1,'tatami']]], + ['convert_5fto_5fdense_8',['convert_to_dense',['../namespacetatami.html#aab32e148c90b65402f17c7d835649a4b',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, StoredValue_ *store, int threads=1)'],['../namespacetatami.html#a085f9235a7b8b95611c0e9f6de860c5a',1,'tatami::convert_to_dense(const Matrix< InputValue_, InputIndex_ > *matrix, bool row_major, int threads=1)']]], + ['convert_5fto_5ffragmented_5fsparse_9',['convert_to_fragmented_sparse',['../namespacetatami.html#a2a4c4e213ecc4225882b3cf8b21600e0',1,'tatami']]], + ['copy_5fn_10',['copy_n',['../namespacetatami.html#ab52a806e3f13a68741a9e1f77dccab14',1,'tatami']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index 78352f1e..d1da48ee 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -19,8 +19,8 @@ var searchData= ['delayedunaryisometriclog_16',['delayedunaryisometriclog',['../classtatami_1_1DelayedUnaryIsometricLog.html#afcbb68347eb76e75219ae5ce064f3e30',1,'tatami::DelayedUnaryIsometricLog::DelayedUnaryIsometricLog()'],['../classtatami_1_1DelayedUnaryIsometricLog.html#a0d842999857b469626e2760db837d0d1',1,'tatami::DelayedUnaryIsometricLog::DelayedUnaryIsometricLog(Base_ base)']]], ['delayedunaryisometriclog1p_17',['delayedunaryisometriclog1p',['../classtatami_1_1DelayedUnaryIsometricLog1p.html#ae5d11656e615b299e1496cdd5046103a',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p()'],['../classtatami_1_1DelayedUnaryIsometricLog1p.html#aa7713db86a8311997d671895c71c6b82',1,'tatami::DelayedUnaryIsometricLog1p::DelayedUnaryIsometricLog1p(Base_ base)']]], ['delayedunaryisometricoperation_18',['DelayedUnaryIsometricOperation',['../classtatami_1_1DelayedUnaryIsometricOperation.html#a67370b8a90788dd1d69abeaefb7f0607',1,'tatami::DelayedUnaryIsometricOperation']]], - ['dense_19',['dense',['../classtatami_1_1DelayedTranspose.html#a3b44b07b7bbfcd6e0d1f9129c1e04fe5',1,'tatami::DelayedTranspose::dense()'],['../classtatami_1_1DelayedSubsetBlock.html#a3b18c892e717c1a1167a5b2028e1110f',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DelayedSubset.html#acfd74d459e9c30fb36fcbcc43a767bf4',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a785c934ab4caf67e4bd4c2cefd9a2e8b',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8696078ccda5a5b70dac519d9c5aadc1',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#af40a5383d32a5bcd1ab13fb215fcea36',1,'tatami::DelayedSubset::dense(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2d186a597674c603ce5b899a6ebcc8e3',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DelayedSubset.html#a1d33d827b7b493d188dab0ea54b70f4c',1,'tatami::DelayedSubset::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ad3ad1107418db33f29d20278f2ac10f3',1,'tatami::DelayedSubset::dense(bool row, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#aa0308a4a8e9494bed030c51eba41811a',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a363af30fbd351a27cc7231f074ef7874',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a0714419818f4550a8535969eb1fe8236',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#acce1c2d3e42465f190a73e0f39ae2794',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#aba826b0ac6300d36ca226e0ab0b6dc22',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a99ab5dda78086432c4f164c9d1a59825',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ad08de1e049877fbcee0bc9596c278dca',1,'tatami::CompressedSparseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1CompressedSparseMatrix.html#afee13e537eed87d5608c841b124544fa',1,'tatami::CompressedSparseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1DelayedTranspose.html#adad4b60fc18324d0195da3405581e47d',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a64e5ebbc0364936474af1667e2e6a66c',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#accbbe64970c4396d590833c1a7195adf',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a215e5aec143bf866b34e1ac91a40c16c',1,'tatami::DelayedTranspose::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a8f4f83eb19ba3d9d69ec31552935923e',1,'tatami::CompressedSparseMatrix::dense()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ae5bcc3a6af026c2bca36d9715abd5820',1,'tatami::DelayedSubsetSortedUnique::dense()'],['../classtatami_1_1DelayedSubsetUnique.html#afeebd81df750ec946a3a68845633d35f',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ae2d98d4dbdbd6bf51a6d1fac2f717a08',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ad2853eb967ac19205ab35b5e2a3922b8',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a1b19d0390faae8095b5812352696d06b',1,'tatami::DelayedSubsetUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a992b8a645545800aee730b036a5db7d9',1,'tatami::DelayedSubsetUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a0d3e0fc440837202c1e7d05d0f8ff528',1,'tatami::DelayedSubsetUnique::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ab7fd3a0160ff808dfa7ed8a6dc4d5189',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a375381303b040dd243671e49d5ec20a3',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4f36df83de62da4933fbb1b92423130b',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#abc0ba38b6cae65f795dd71d38e0886d0',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a842a5dece24524235cc408212ff356af',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acbeea4a64644f43ac9285169bf456a99',1,'tatami::DelayedSubsetSortedUnique::dense()'],['../classtatami_1_1DelayedSubsetSorted.html#a3bef5ed2e43fa7e0d4dbfebc6738db83',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a01f8fd6d91230272f42425a37f3e498d',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a9879fe550e5867d434e4c7cde9acc548',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ab2809be57ebf15896c0fe56fe4edc1c7',1,'tatami::DelayedSubsetSorted::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5df9a7ff61000d7dbc69ac021d13d84d',1,'tatami::DelayedSubsetSorted::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a815f04bca10e842b440d6887874aa959',1,'tatami::DelayedSubsetSorted::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2abd9c3da5613f4af78db1a77c249182',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#aca14e61cf151b970681fa1a2124feff9',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a849e1982154ebcc308131ef526d4b322',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ad6920bef1b2f39a507d3e5f8e922daa8',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a2ada69f639f7616224d85ae970d86c5e',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0e668bdf736a459dbfa17bd26d07380b',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#aac939b6fbec69632c7b2e1936c03e31c',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#a8af00b807c6004e161076bc18e5aa54f',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a6235cd8e84786500921fb2163f241ce7',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a93610df34eadace7689bdafe98d581de',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1ad847f1aebfe712c1230c5446f44f00',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aef46d3cfa0e0f3185974b924d63e2e7d',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#abb6a23494bb6def8da0a1cc19cb57d1b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ac8af82dda930072261f2003ab451646b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a2bda92623f1a91d9e6da8473e91b2159',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedCast.html#a1770278f71ff23f156ad8ef1a27005b4',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DenseMatrix.html#a14937508d3eaed557eb9100cc9398371',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a26bd48cae35fb51e760b097ae6446aa1',1,'tatami::DenseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1DenseMatrix.html#ab756a390f2edb4ac4e33b4dace0ddee4',1,'tatami::DenseMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &) const'],['../classtatami_1_1DenseMatrix.html#a00cf78c7ac6f8632fa8c6dfc4c348b6c',1,'tatami::DenseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1Matrix.html#a4aecaa5038554d2c92c2ab7083497cb6',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a48b24fe319289ca76f2b366a2ffe798d',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a6502fdebcaeea40490c1780ab6e92b19',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a06803687627cc35e5ef41a887f5e5fad',1,'tatami::Matrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a51bb7a480d2fd0cc0337577ca98840dc',1,'tatami::Matrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a0b6b1ae7819fad55cf7bf5587b7e5a4b',1,'tatami::Matrix::dense(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a5281f444ca48b89952067ebe0f6b89c0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a922ee34c926ea79217ee9d12a074f7a1',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a46086fee8ed3a7c1bc3bd52a22a63c45',1,'tatami::DelayedTranspose::dense()'],['../classtatami_1_1DelayedCast.html#a0506809d80eaa439f9c7c7a66ab530c3',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a40d489e15dd088b4fa1a4a36bddf1ca6',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a31edda28f1fa3745296f52226ca94f16',1,'tatami::DelayedCast::dense(bool row, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a0af1b7a669b244fd0af79ecdbb51e234',1,'tatami::DelayedCast::dense(bool row, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#ac4b9a0bafe2014027e9068a3a076ef01',1,'tatami::DelayedCast::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a1aae5576005dc08ed6d62fedde194884',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#aa2069d84db3b6907e187b177c7befab4',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a5996a26ad8168a073447402e5b1cc980',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a53fff70bf26c7308145a03b06d006e89',1,'tatami::DelayedBind::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a2501986079d0301b8a8ceec0a9353549',1,'tatami::DelayedBind::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a4c27e30ad9ab1d39be304a826bccffb0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a269f3adf8a433404883ccab7348bf3e3',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a19e6bdae82d50241f42d97adffd3d95c',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a272d1ca5466a61193afe7880ffb8630e',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#aa6fdc51a67a518c4af46b6fe00e1a7e8',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#a3629b2a23776570f494bf94f9bf2bb7c',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a8db9e5e7b5e43c8bd32ad884747741bd',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a464d9b4488e1dd3f5245b3f1ede12720',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1DelayedBind.html#ae83495a67dea2dc2d9a9c58112f09fa0',1,'tatami::DelayedBind::dense()']]], - ['dense_5fcolumn_20',['dense_column',['../classtatami_1_1Matrix.html#a6421e936b7d10b2dee56c41c6591322e',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a3d214b599712ab2f265b06d45d9e7047',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a3a9d3994a74ebdf26894d92ad3625d8c',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a068863a2b525300afb446aa249f67f6b',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a585337cdd3a90c5cf6cf2fdca2b43e84',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8d717304d7cf4806c182ecd446de144d',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9058c33bd860936d0a6fe4f03397f6b9',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a2323a04228d638ec0340036acafa420f',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a7b82bffd2c71c4301867e8a0ffcf37f3',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a478f96c3a39b40a950dda3d115365c89',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#aa2dad77430f29f277f73028c7c2636e2',1,'tatami::Matrix::dense_column() const'],['../classtatami_1_1Matrix.html#ace58cae1956cbf7474aa7120e0d89cc9',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ce124d5abc915f47e0abdec500b84f3',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9daf387535987b84f7b44c68fb664d33',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a48300b3739f26bb10732c572ea9e5c57',1,'tatami::Matrix::dense_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ca1e41bc821f551d76175687fd2e6b5',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const']]], + ['dense_19',['dense',['../classtatami_1_1DelayedCast.html#a0506809d80eaa439f9c7c7a66ab530c3',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedSubset.html#a785c934ab4caf67e4bd4c2cefd9a2e8b',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8696078ccda5a5b70dac519d9c5aadc1',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#af40a5383d32a5bcd1ab13fb215fcea36',1,'tatami::DelayedSubset::dense(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1d33d827b7b493d188dab0ea54b70f4c',1,'tatami::DelayedSubset::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ad3ad1107418db33f29d20278f2ac10f3',1,'tatami::DelayedSubset::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#acfd74d459e9c30fb36fcbcc43a767bf4',1,'tatami::DelayedSubset::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#aa0308a4a8e9494bed030c51eba41811a',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a363af30fbd351a27cc7231f074ef7874',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a0714419818f4550a8535969eb1fe8236',1,'tatami::FragmentedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#acce1c2d3e42465f190a73e0f39ae2794',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#aba826b0ac6300d36ca226e0ab0b6dc22',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a99ab5dda78086432c4f164c9d1a59825',1,'tatami::CompressedSparseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ad08de1e049877fbcee0bc9596c278dca',1,'tatami::CompressedSparseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1CompressedSparseMatrix.html#a8f4f83eb19ba3d9d69ec31552935923e',1,'tatami::CompressedSparseMatrix::dense(bool row, Index_ block_start, Index_ block_end, const Options &) const'],['../classtatami_1_1CompressedSparseMatrix.html#afee13e537eed87d5608c841b124544fa',1,'tatami::CompressedSparseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1DelayedTranspose.html#adad4b60fc18324d0195da3405581e47d',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#accbbe64970c4396d590833c1a7195adf',1,'tatami::DelayedTranspose::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a215e5aec143bf866b34e1ac91a40c16c',1,'tatami::DelayedTranspose::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a3b44b07b7bbfcd6e0d1f9129c1e04fe5',1,'tatami::DelayedTranspose::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a46086fee8ed3a7c1bc3bd52a22a63c45',1,'tatami::DelayedTranspose::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1770278f71ff23f156ad8ef1a27005b4',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DelayedTranspose.html#a64e5ebbc0364936474af1667e2e6a66c',1,'tatami::DelayedTranspose::dense()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acbeea4a64644f43ac9285169bf456a99',1,'tatami::DelayedSubsetSortedUnique::dense()'],['../classtatami_1_1DelayedSubsetUnique.html#afeebd81df750ec946a3a68845633d35f',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ae2d98d4dbdbd6bf51a6d1fac2f717a08',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#ad2853eb967ac19205ab35b5e2a3922b8',1,'tatami::DelayedSubsetUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a1b19d0390faae8095b5812352696d06b',1,'tatami::DelayedSubsetUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a992b8a645545800aee730b036a5db7d9',1,'tatami::DelayedSubsetUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a0d3e0fc440837202c1e7d05d0f8ff528',1,'tatami::DelayedSubsetUnique::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ab7fd3a0160ff808dfa7ed8a6dc4d5189',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a375381303b040dd243671e49d5ec20a3',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4f36df83de62da4933fbb1b92423130b',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#abc0ba38b6cae65f795dd71d38e0886d0',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ae5bcc3a6af026c2bca36d9715abd5820',1,'tatami::DelayedSubsetSortedUnique::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3b18c892e717c1a1167a5b2028e1110f',1,'tatami::DelayedSubsetBlock::dense()'],['../classtatami_1_1DelayedSubsetSorted.html#a3bef5ed2e43fa7e0d4dbfebc6738db83',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a01f8fd6d91230272f42425a37f3e498d',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a9879fe550e5867d434e4c7cde9acc548',1,'tatami::DelayedSubsetSorted::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ab2809be57ebf15896c0fe56fe4edc1c7',1,'tatami::DelayedSubsetSorted::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5df9a7ff61000d7dbc69ac021d13d84d',1,'tatami::DelayedSubsetSorted::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a815f04bca10e842b440d6887874aa959',1,'tatami::DelayedSubsetSorted::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2abd9c3da5613f4af78db1a77c249182',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#aca14e61cf151b970681fa1a2124feff9',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a849e1982154ebcc308131ef526d4b322',1,'tatami::DelayedSubsetBlock::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a842a5dece24524235cc408212ff356af',1,'tatami::DelayedSubsetBlock::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a2d186a597674c603ce5b899a6ebcc8e3',1,'tatami::DelayedSubsetBlock::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a2bda92623f1a91d9e6da8473e91b2159',1,'tatami::DenseMatrix::dense()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a922ee34c926ea79217ee9d12a074f7a1',1,'tatami::DelayedUnaryIsometricOperation::dense()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a2ada69f639f7616224d85ae970d86c5e',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0e668bdf736a459dbfa17bd26d07380b',1,'tatami::DelayedBinaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#aac939b6fbec69632c7b2e1936c03e31c',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricMockBasic.html#a8af00b807c6004e161076bc18e5aa54f',1,'tatami::DelayedBinaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *left_buffer, const Value_ *right_buffer) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a6235cd8e84786500921fb2163f241ce7',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a93610df34eadace7689bdafe98d581de',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1ad847f1aebfe712c1230c5446f44f00',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aef46d3cfa0e0f3185974b924d63e2e7d',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#abb6a23494bb6def8da0a1cc19cb57d1b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ac8af82dda930072261f2003ab451646b',1,'tatami::DelayedBinaryIsometricOperation::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a31edda28f1fa3745296f52226ca94f16',1,'tatami::DelayedCast::dense()'],['../classtatami_1_1DenseMatrix.html#ad6920bef1b2f39a507d3e5f8e922daa8',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a14937508d3eaed557eb9100cc9398371',1,'tatami::DenseMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a26bd48cae35fb51e760b097ae6446aa1',1,'tatami::DenseMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &) const'],['../classtatami_1_1DenseMatrix.html#ab756a390f2edb4ac4e33b4dace0ddee4',1,'tatami::DenseMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &) const'],['../classtatami_1_1DenseMatrix.html#a00cf78c7ac6f8632fa8c6dfc4c348b6c',1,'tatami::DenseMatrix::dense(bool row, const Options &) const'],['../classtatami_1_1Matrix.html#a4aecaa5038554d2c92c2ab7083497cb6',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a48b24fe319289ca76f2b366a2ffe798d',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a6502fdebcaeea40490c1780ab6e92b19',1,'tatami::Matrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a06803687627cc35e5ef41a887f5e5fad',1,'tatami::Matrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a51bb7a480d2fd0cc0337577ca98840dc',1,'tatami::Matrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a0b6b1ae7819fad55cf7bf5587b7e5a4b',1,'tatami::Matrix::dense(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a4c27e30ad9ab1d39be304a826bccffb0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a5281f444ca48b89952067ebe0f6b89c0',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a40d489e15dd088b4fa1a4a36bddf1ca6',1,'tatami::DelayedCast::dense(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a0af1b7a669b244fd0af79ecdbb51e234',1,'tatami::DelayedCast::dense(bool row, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#ac4b9a0bafe2014027e9068a3a076ef01',1,'tatami::DelayedCast::dense(bool row, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a1aae5576005dc08ed6d62fedde194884',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#aa2069d84db3b6907e187b177c7befab4',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a5996a26ad8168a073447402e5b1cc980',1,'tatami::DelayedBind::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a53fff70bf26c7308145a03b06d006e89',1,'tatami::DelayedBind::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#ae83495a67dea2dc2d9a9c58112f09fa0',1,'tatami::DelayedBind::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBind.html#a2501986079d0301b8a8ceec0a9353549',1,'tatami::DelayedBind::dense(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#aa0b89fb69614bb03d6df637847a01c79',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ad994aa264c26b42f1ddc0be6e66cfc9f',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#abb8af043351dc2cf54f7350abaf638c5',1,'tatami::ConstantMatrix::dense(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a269f3adf8a433404883ccab7348bf3e3',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a19e6bdae82d50241f42d97adffd3d95c',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a272d1ca5466a61193afe7880ffb8630e',1,'tatami::DelayedUnaryIsometricOperation::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#aa6fdc51a67a518c4af46b6fe00e1a7e8',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockBasic.html#a3629b2a23776570f494bf94f9bf2bb7c',1,'tatami::DelayedUnaryIsometricMockBasic::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a8db9e5e7b5e43c8bd32ad884747741bd',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, Index_ start, Index_ length, Value_ *buffer) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a464d9b4488e1dd3f5245b3f1ede12720',1,'tatami::DelayedUnaryIsometricMockAdvanced::dense(bool row, Index_ i, const std::vector< Index_ > &indices, Value_ *buffer) const'],['../classtatami_1_1ConstantMatrix.html#ad0075cd100469ff2e99f98ab52f4defe',1,'tatami::ConstantMatrix::dense(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a2a0cd89e08975476460eb6321a1085c7',1,'tatami::ConstantMatrix::dense(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#af2c04d9a51175cd63abf8472b89b2c5a',1,'tatami::ConstantMatrix::dense(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const']]], + ['dense_5fcolumn_20',['dense_column',['../classtatami_1_1Matrix.html#a6421e936b7d10b2dee56c41c6591322e',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a3d214b599712ab2f265b06d45d9e7047',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a3a9d3994a74ebdf26894d92ad3625d8c',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a068863a2b525300afb446aa249f67f6b',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a585337cdd3a90c5cf6cf2fdca2b43e84',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a478f96c3a39b40a950dda3d115365c89',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a8d717304d7cf4806c182ecd446de144d',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a2323a04228d638ec0340036acafa420f',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a7b82bffd2c71c4301867e8a0ffcf37f3',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a9058c33bd860936d0a6fe4f03397f6b9',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aa2dad77430f29f277f73028c7c2636e2',1,'tatami::Matrix::dense_column() const'],['../classtatami_1_1Matrix.html#ace58cae1956cbf7474aa7120e0d89cc9',1,'tatami::Matrix::dense_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ce124d5abc915f47e0abdec500b84f3',1,'tatami::Matrix::dense_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9daf387535987b84f7b44c68fb664d33',1,'tatami::Matrix::dense_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a48300b3739f26bb10732c572ea9e5c57',1,'tatami::Matrix::dense_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#a8ca1e41bc821f551d76175687fd2e6b5',1,'tatami::Matrix::dense_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const']]], ['dense_5frow_21',['dense_row',['../classtatami_1_1Matrix.html#aacb45e8a21e1792a316fa95064edb9c2',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a6ce58d2a5e7b244b49a97cabff56c94b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a32275c6bf6553d6b1833abdce9165b5d',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a2cecc240982c961455ede8d329cda207',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a9fb2b21aad79130762a8cb0c7069d3a3',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#ad8f53f2f7b2a2e5972a91a56065ba28b',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#ab247d39db776da3e2143f4599f76920e',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#acc57cd1f625bdc44af4946a0124f7464',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aa60952db300c69580a9eba01b5f787d6',1,'tatami::Matrix::dense_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3f3692e08db0886e4e866e28942d46b0',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a371fa940bc33a019b1f6938c2b06201f',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a4d572f319b614a7e74d426cac94194de',1,'tatami::Matrix::dense_row() const'],['../classtatami_1_1Matrix.html#a563d877fa76c04d1faa039ebab88038c',1,'tatami::Matrix::dense_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a4b6f4909657d2e44196a56c99ffafb5c',1,'tatami::Matrix::dense_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3d6505ab08f36ab2e2487f7598a8df4e',1,'tatami::Matrix::dense_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a168f0e932b5503c9bfc5dbd42754a7a5',1,'tatami::Matrix::dense_row(const Options &opt) const']]], ['densecolumnmatrix_22',['DenseColumnMatrix',['../classtatami_1_1DenseColumnMatrix.html#a600d8e355daab640948207105b2918bb',1,'tatami::DenseColumnMatrix']]], ['densematrix_23',['DenseMatrix',['../classtatami_1_1DenseMatrix.html#a27dddb5bf1ad93f4e9a3e6dd54fb2e2c',1,'tatami::DenseMatrix']]], diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index 2d26810f..97e25557 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,7 +1,7 @@ var searchData= [ ['indexsparsifiedwrapper_0',['IndexSparsifiedWrapper',['../classtatami_1_1IndexSparsifiedWrapper.html#ad4571decc854c38dae3b9ec1f6593a1e',1,'tatami::IndexSparsifiedWrapper']]], - ['is_5fsparse_1',['is_sparse',['../classtatami_1_1Matrix.html#ac57d65707ce22d8c175e43a82b8c6b90',1,'tatami::Matrix::is_sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#a48e6d664da3a63cc20cb1215f5165fd1',1,'tatami::DelayedSubsetUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ad782463b6d4c5039119717b38f7f159d',1,'tatami::DelayedSubsetSortedUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#a4ab61a3dc5828d5b71fa13d77888a6a7',1,'tatami::DelayedSubsetSorted::is_sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a77b5f60160bd1437e5ce142d8cdafab5',1,'tatami::DelayedSubsetBlock::is_sparse()'],['../classtatami_1_1DelayedSubset.html#ae9357b3d715e126b6c2eba973bdfaebf',1,'tatami::DelayedSubset::is_sparse()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9c14f99e0ef86e41742aec9d5c086996',1,'tatami::FragmentedSparseMatrix::is_sparse()'],['../classtatami_1_1CompressedSparseMatrix.html#ada14aaaeb96bafe8d483ed2d3f91bb59',1,'tatami::CompressedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedCast.html#aa2e8ede032453d49cbfbc98771a3fd6d',1,'tatami::DelayedCast::is_sparse()'],['../classtatami_1_1DelayedBind.html#a79b7ed57367550ed4c2ddbc4798464f8',1,'tatami::DelayedBind::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a909893bf9fda253bd08d0e0db298b3c4',1,'tatami::DelayedUnaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#aeeb59b86f73aa31525426278a8c87357',1,'tatami::DelayedUnaryIsometricOperation::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ae7393c72485df23ab188a3c67cf970d6',1,'tatami::DelayedBinaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaeee357606e5f5aef03d0ea601279dd4',1,'tatami::DelayedBinaryIsometricOperation::is_sparse()'],['../classtatami_1_1DenseMatrix.html#a4a362f61248baa1f4c13aaeafcd96dbb',1,'tatami::DenseMatrix::is_sparse()'],['../classtatami_1_1DelayedTranspose.html#a64df8253602c0e2ad716b154b079c8aa',1,'tatami::DelayedTranspose::is_sparse()']]], - ['is_5fsparse_5fproportion_2',['is_sparse_proportion',['../classtatami_1_1DelayedBind.html#a53a04770fdc42a2a906f677b325d7998',1,'tatami::DelayedBind::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a421427ed0f30a0e904133baa7d78ea2b',1,'tatami::DelayedSubsetUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a826a60e784ec3dfe2b794979d022db34',1,'tatami::DelayedSubsetSortedUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a3eec91fb8f1b3d931afec04fdfa1d742',1,'tatami::DelayedSubsetSorted::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a4df587f4add88fd84abd461495b78f06',1,'tatami::DelayedSubsetBlock::is_sparse_proportion()'],['../classtatami_1_1DelayedSubset.html#aeeb4a2cb1df1630f725741bab7974535',1,'tatami::DelayedSubset::is_sparse_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9190434e706cbb52a9765ff827735f6f',1,'tatami::FragmentedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a8cc56caec424be36706baaa824631e9c',1,'tatami::CompressedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedTranspose.html#ae879d7274b0196f18f82ccba86a178ad',1,'tatami::DelayedTranspose::is_sparse_proportion()'],['../classtatami_1_1DelayedCast.html#ab5b7952a43d2c1255032b2b671b3b040',1,'tatami::DelayedCast::is_sparse_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#ab490f2aa07b3432f755bf268c31688f8',1,'tatami::DelayedUnaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ad89d48d01bed97cb58e8eec0eec4bef1',1,'tatami::DelayedBinaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DenseMatrix.html#a884c8899818f7a8ea6a150c3684048ef',1,'tatami::DenseMatrix::is_sparse_proportion()'],['../classtatami_1_1Matrix.html#aa72c81add2701b7e484a7855b0e62b12',1,'tatami::Matrix::is_sparse_proportion()']]], + ['is_5fsparse_1',['is_sparse',['../classtatami_1_1Matrix.html#ac57d65707ce22d8c175e43a82b8c6b90',1,'tatami::Matrix::is_sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#a48e6d664da3a63cc20cb1215f5165fd1',1,'tatami::DelayedSubsetUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#ad782463b6d4c5039119717b38f7f159d',1,'tatami::DelayedSubsetSortedUnique::is_sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#a4ab61a3dc5828d5b71fa13d77888a6a7',1,'tatami::DelayedSubsetSorted::is_sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a77b5f60160bd1437e5ce142d8cdafab5',1,'tatami::DelayedSubsetBlock::is_sparse()'],['../classtatami_1_1DelayedSubset.html#ae9357b3d715e126b6c2eba973bdfaebf',1,'tatami::DelayedSubset::is_sparse()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9c14f99e0ef86e41742aec9d5c086996',1,'tatami::FragmentedSparseMatrix::is_sparse()'],['../classtatami_1_1CompressedSparseMatrix.html#ada14aaaeb96bafe8d483ed2d3f91bb59',1,'tatami::CompressedSparseMatrix::is_sparse()'],['../classtatami_1_1DelayedTranspose.html#a64df8253602c0e2ad716b154b079c8aa',1,'tatami::DelayedTranspose::is_sparse()'],['../classtatami_1_1DelayedBind.html#a79b7ed57367550ed4c2ddbc4798464f8',1,'tatami::DelayedBind::is_sparse()'],['../classtatami_1_1ConstantMatrix.html#a109155791ecacc6f0bab29226e0a8dbc',1,'tatami::ConstantMatrix::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a909893bf9fda253bd08d0e0db298b3c4',1,'tatami::DelayedUnaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#aeeb59b86f73aa31525426278a8c87357',1,'tatami::DelayedUnaryIsometricOperation::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ae7393c72485df23ab188a3c67cf970d6',1,'tatami::DelayedBinaryIsometricMockAdvanced::is_sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaeee357606e5f5aef03d0ea601279dd4',1,'tatami::DelayedBinaryIsometricOperation::is_sparse()'],['../classtatami_1_1DenseMatrix.html#a4a362f61248baa1f4c13aaeafcd96dbb',1,'tatami::DenseMatrix::is_sparse()'],['../classtatami_1_1DelayedCast.html#aa2e8ede032453d49cbfbc98771a3fd6d',1,'tatami::DelayedCast::is_sparse()']]], + ['is_5fsparse_5fproportion_2',['is_sparse_proportion',['../classtatami_1_1ConstantMatrix.html#a4aa07cce9af27ac329a0fb18a946234c',1,'tatami::ConstantMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetUnique.html#a421427ed0f30a0e904133baa7d78ea2b',1,'tatami::DelayedSubsetUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a826a60e784ec3dfe2b794979d022db34',1,'tatami::DelayedSubsetSortedUnique::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a3eec91fb8f1b3d931afec04fdfa1d742',1,'tatami::DelayedSubsetSorted::is_sparse_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a4df587f4add88fd84abd461495b78f06',1,'tatami::DelayedSubsetBlock::is_sparse_proportion()'],['../classtatami_1_1DelayedSubset.html#aeeb4a2cb1df1630f725741bab7974535',1,'tatami::DelayedSubset::is_sparse_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9190434e706cbb52a9765ff827735f6f',1,'tatami::FragmentedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a8cc56caec424be36706baaa824631e9c',1,'tatami::CompressedSparseMatrix::is_sparse_proportion()'],['../classtatami_1_1DelayedTranspose.html#ae879d7274b0196f18f82ccba86a178ad',1,'tatami::DelayedTranspose::is_sparse_proportion()'],['../classtatami_1_1DelayedCast.html#ab5b7952a43d2c1255032b2b671b3b040',1,'tatami::DelayedCast::is_sparse_proportion()'],['../classtatami_1_1DelayedBind.html#a53a04770fdc42a2a906f677b325d7998',1,'tatami::DelayedBind::is_sparse_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#ab490f2aa07b3432f755bf268c31688f8',1,'tatami::DelayedUnaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#ad89d48d01bed97cb58e8eec0eec4bef1',1,'tatami::DelayedBinaryIsometricOperation::is_sparse_proportion()'],['../classtatami_1_1DenseMatrix.html#a884c8899818f7a8ea6a150c3684048ef',1,'tatami::DenseMatrix::is_sparse_proportion()'],['../classtatami_1_1Matrix.html#aa72c81add2701b7e484a7855b0e62b12',1,'tatami::Matrix::is_sparse_proportion()']]], ['iterator_3',['iterator',['../structtatami_1_1SomeNumericArray_1_1Iterator.html#aed0fd34b54ecb2e8a2c83bf235123138',1,'tatami::SomeNumericArray::Iterator::Iterator()'],['../structtatami_1_1SomeNumericArray_1_1Iterator.html#a2d745a37ba547a547724d23e4745e965',1,'tatami::SomeNumericArray::Iterator::Iterator(const SomeNumericArray *parent, size_t index)']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index f5814cde..8ee2fe1c 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,8 +1,8 @@ var searchData= [ - ['ncol_0',['ncol',['../classtatami_1_1DenseMatrix.html#ae43ef7c94906bc7eb73f39dc720171f6',1,'tatami::DenseMatrix::ncol()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a55d4f796ec7ef5a343ed4cbc08edb650',1,'tatami::DelayedBinaryIsometricOperation::ncol()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a59abdc44d1677cc68e2634f6c519f6dd',1,'tatami::DelayedUnaryIsometricOperation::ncol()'],['../classtatami_1_1DelayedBind.html#acb743be5663d4fb13624ba0502448bd8',1,'tatami::DelayedBind::ncol()'],['../classtatami_1_1DelayedCast.html#aa83b0cdd9395331151d8292e786deeb7',1,'tatami::DelayedCast::ncol()'],['../classtatami_1_1DelayedTranspose.html#a495080ac6d15551d6816adf85ab2d481',1,'tatami::DelayedTranspose::ncol()'],['../classtatami_1_1CompressedSparseMatrix.html#ae7a25c967b851a667885a2052ad6a45f',1,'tatami::CompressedSparseMatrix::ncol()'],['../classtatami_1_1FragmentedSparseMatrix.html#a427e1a6ab4a1eded1374b30c3d6f05ae',1,'tatami::FragmentedSparseMatrix::ncol()'],['../classtatami_1_1DelayedSubset.html#a560b1c163ab30ace7cfc9dd79618f8a6',1,'tatami::DelayedSubset::ncol()'],['../classtatami_1_1DelayedSubsetBlock.html#a397f04132c63c97c39afa68e2bc2f600',1,'tatami::DelayedSubsetBlock::ncol()'],['../classtatami_1_1DelayedSubsetSorted.html#af5ac4154e1eb8da1412716adf512e3f8',1,'tatami::DelayedSubsetSorted::ncol()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4318f664cb5adcb4f49aafe577aaa0a5',1,'tatami::DelayedSubsetSortedUnique::ncol()'],['../classtatami_1_1DelayedSubsetUnique.html#a15b1db881d24b4b01274ecc1f39de3dc',1,'tatami::DelayedSubsetUnique::ncol()'],['../classtatami_1_1Matrix.html#a1f6fec43d5bae3f831841646bc02377b',1,'tatami::Matrix::ncol()']]], + ['ncol_0',['ncol',['../classtatami_1_1DenseMatrix.html#ae43ef7c94906bc7eb73f39dc720171f6',1,'tatami::DenseMatrix::ncol()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a55d4f796ec7ef5a343ed4cbc08edb650',1,'tatami::DelayedBinaryIsometricOperation::ncol()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a59abdc44d1677cc68e2634f6c519f6dd',1,'tatami::DelayedUnaryIsometricOperation::ncol()'],['../classtatami_1_1ConstantMatrix.html#a84184cb5ad5ee58f0ab3cf28d541ebc6',1,'tatami::ConstantMatrix::ncol()'],['../classtatami_1_1DelayedBind.html#acb743be5663d4fb13624ba0502448bd8',1,'tatami::DelayedBind::ncol()'],['../classtatami_1_1DelayedCast.html#aa83b0cdd9395331151d8292e786deeb7',1,'tatami::DelayedCast::ncol()'],['../classtatami_1_1DelayedTranspose.html#a495080ac6d15551d6816adf85ab2d481',1,'tatami::DelayedTranspose::ncol()'],['../classtatami_1_1CompressedSparseMatrix.html#ae7a25c967b851a667885a2052ad6a45f',1,'tatami::CompressedSparseMatrix::ncol()'],['../classtatami_1_1FragmentedSparseMatrix.html#a427e1a6ab4a1eded1374b30c3d6f05ae',1,'tatami::FragmentedSparseMatrix::ncol()'],['../classtatami_1_1DelayedSubset.html#a560b1c163ab30ace7cfc9dd79618f8a6',1,'tatami::DelayedSubset::ncol()'],['../classtatami_1_1DelayedSubsetBlock.html#a397f04132c63c97c39afa68e2bc2f600',1,'tatami::DelayedSubsetBlock::ncol()'],['../classtatami_1_1DelayedSubsetSorted.html#af5ac4154e1eb8da1412716adf512e3f8',1,'tatami::DelayedSubsetSorted::ncol()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a4318f664cb5adcb4f49aafe577aaa0a5',1,'tatami::DelayedSubsetSortedUnique::ncol()'],['../classtatami_1_1DelayedSubsetUnique.html#a15b1db881d24b4b01274ecc1f39de3dc',1,'tatami::DelayedSubsetUnique::ncol()'],['../classtatami_1_1Matrix.html#a1f6fec43d5bae3f831841646bc02377b',1,'tatami::Matrix::ncol()']]], ['new_5fextractor_1',['new_extractor',['../namespacetatami.html#ae5e845574f229ff8308121456fac3d47',1,'tatami']]], ['non_5fzero_5fdepends_5fon_5fcolumn_2',['non_zero_depends_on_column',['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a975c8c1eb8914048d2c03586241240a3',1,'tatami::DelayedUnaryIsometricMockAdvanced::non_zero_depends_on_column()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a460c92223fd0f55a402ff4504146e61f',1,'tatami::DelayedBinaryIsometricMockAdvanced::non_zero_depends_on_column() const']]], ['non_5fzero_5fdepends_5fon_5frow_3',['non_zero_depends_on_row',['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#ad2dcc2934324bdcbbaa894448da0f9ef',1,'tatami::DelayedBinaryIsometricMockAdvanced::non_zero_depends_on_row()'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a007536cd7ed1abc5411ba1e3526e200a',1,'tatami::DelayedUnaryIsometricMockAdvanced::non_zero_depends_on_row()']]], - ['nrow_4',['nrow',['../classtatami_1_1Matrix.html#a54fe7b4baf78069d35ff00357a1b6cc6',1,'tatami::Matrix::nrow()'],['../classtatami_1_1DenseMatrix.html#ab18c5c9611a0d989391b511d2430a1a4',1,'tatami::DenseMatrix::nrow()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a523d552d0146fa6e2bd4770afcdacacc',1,'tatami::DelayedBinaryIsometricOperation::nrow()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a423374a5526e158b6c689cc79cad61ff',1,'tatami::DelayedUnaryIsometricOperation::nrow()'],['../classtatami_1_1DelayedBind.html#a64f90b7152def0f1a53aadbac1901687',1,'tatami::DelayedBind::nrow()'],['../classtatami_1_1DelayedCast.html#a6669aa5ef922006a2c36b2a7d6770b80',1,'tatami::DelayedCast::nrow()'],['../classtatami_1_1DelayedTranspose.html#ae861c999ade80dfaab4e00ea0a3c9f89',1,'tatami::DelayedTranspose::nrow()'],['../classtatami_1_1CompressedSparseMatrix.html#a3365d94d7ad16f89d780ba27deffa45a',1,'tatami::CompressedSparseMatrix::nrow()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9632369fd9488210695dbd05b13a8ab5',1,'tatami::FragmentedSparseMatrix::nrow()'],['../classtatami_1_1DelayedSubset.html#ae0be0f8b5edb78650b05215382292bb8',1,'tatami::DelayedSubset::nrow()'],['../classtatami_1_1DelayedSubsetBlock.html#a1f09481f1564fe050f515ab893ab3cb7',1,'tatami::DelayedSubsetBlock::nrow()'],['../classtatami_1_1DelayedSubsetSorted.html#a1f508fbef006cc90aae91ed73ae8a031',1,'tatami::DelayedSubsetSorted::nrow()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a860753784bf729987e0ccb57867ebf9b',1,'tatami::DelayedSubsetSortedUnique::nrow()'],['../classtatami_1_1DelayedSubsetUnique.html#abd8575ed2028699594702d62bb1dfdfc',1,'tatami::DelayedSubsetUnique::nrow()']]] + ['nrow_4',['nrow',['../classtatami_1_1Matrix.html#a54fe7b4baf78069d35ff00357a1b6cc6',1,'tatami::Matrix::nrow()'],['../classtatami_1_1DenseMatrix.html#ab18c5c9611a0d989391b511d2430a1a4',1,'tatami::DenseMatrix::nrow()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a523d552d0146fa6e2bd4770afcdacacc',1,'tatami::DelayedBinaryIsometricOperation::nrow()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a423374a5526e158b6c689cc79cad61ff',1,'tatami::DelayedUnaryIsometricOperation::nrow()'],['../classtatami_1_1ConstantMatrix.html#a4b4ffa7d614555b1da63d8fc94ec0a48',1,'tatami::ConstantMatrix::nrow()'],['../classtatami_1_1DelayedBind.html#a64f90b7152def0f1a53aadbac1901687',1,'tatami::DelayedBind::nrow()'],['../classtatami_1_1DelayedCast.html#a6669aa5ef922006a2c36b2a7d6770b80',1,'tatami::DelayedCast::nrow()'],['../classtatami_1_1DelayedTranspose.html#ae861c999ade80dfaab4e00ea0a3c9f89',1,'tatami::DelayedTranspose::nrow()'],['../classtatami_1_1CompressedSparseMatrix.html#a3365d94d7ad16f89d780ba27deffa45a',1,'tatami::CompressedSparseMatrix::nrow()'],['../classtatami_1_1FragmentedSparseMatrix.html#a9632369fd9488210695dbd05b13a8ab5',1,'tatami::FragmentedSparseMatrix::nrow()'],['../classtatami_1_1DelayedSubset.html#ae0be0f8b5edb78650b05215382292bb8',1,'tatami::DelayedSubset::nrow()'],['../classtatami_1_1DelayedSubsetBlock.html#a1f09481f1564fe050f515ab893ab3cb7',1,'tatami::DelayedSubsetBlock::nrow()'],['../classtatami_1_1DelayedSubsetSorted.html#a1f508fbef006cc90aae91ed73ae8a031',1,'tatami::DelayedSubsetSorted::nrow()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a860753784bf729987e0ccb57867ebf9b',1,'tatami::DelayedSubsetSortedUnique::nrow()'],['../classtatami_1_1DelayedSubsetUnique.html#abd8575ed2028699594702d62bb1dfdfc',1,'tatami::DelayedSubsetUnique::nrow()']]] ]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js index 28cbb860..2d3aa03f 100644 --- a/docs/search/functions_b.js +++ b/docs/search/functions_b.js @@ -1,8 +1,8 @@ var searchData= [ ['parallelize_0',['parallelize',['../namespacetatami.html#a41e252422f9959a123ba390a941ae76f',1,'tatami']]], - ['prefer_5frows_1',['prefer_rows',['../classtatami_1_1DenseMatrix.html#a47eade967a5c180ff4a8c8644e57947b',1,'tatami::DenseMatrix::prefer_rows()'],['../classtatami_1_1Matrix.html#a69382d2a4e66cda1a9eb48dc25ab113a',1,'tatami::Matrix::prefer_rows()'],['../classtatami_1_1DelayedSubsetUnique.html#a12e84da197144398246f055b24726c61',1,'tatami::DelayedSubsetUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#af9085320f0969d1f0e5102588fb2acd9',1,'tatami::DelayedSubsetSortedUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSorted.html#a295013d786b741cea170af7cca27166a',1,'tatami::DelayedSubsetSorted::prefer_rows()'],['../classtatami_1_1DelayedSubsetBlock.html#aeb7911f1048e29196a24fa0da8093b1a',1,'tatami::DelayedSubsetBlock::prefer_rows()'],['../classtatami_1_1DelayedSubset.html#a5df9d7940178cca7db145fb5ab533051',1,'tatami::DelayedSubset::prefer_rows()'],['../classtatami_1_1FragmentedSparseMatrix.html#ab8415def9c366ffa6ec1713210b518b6',1,'tatami::FragmentedSparseMatrix::prefer_rows()'],['../classtatami_1_1CompressedSparseMatrix.html#a45a108841635187e7428cbc6f1969a28',1,'tatami::CompressedSparseMatrix::prefer_rows()'],['../classtatami_1_1DelayedTranspose.html#a8d386b8a0d05d6bcdbc1dd80c7d8118e',1,'tatami::DelayedTranspose::prefer_rows()'],['../classtatami_1_1DelayedCast.html#acd15dc4d42f79dcf6e8f100f59b17a9b',1,'tatami::DelayedCast::prefer_rows()'],['../classtatami_1_1DelayedBind.html#adeedfaa0423b0e7c6f12c3d524e0319d',1,'tatami::DelayedBind::prefer_rows()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#abbac55342f544e8dcb8f5d2628b5d2c5',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaab1fe8d90807834aac2c62a00106fcd',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows()']]], - ['prefer_5frows_5fproportion_2',['prefer_rows_proportion',['../classtatami_1_1DelayedSubsetUnique.html#a5d3b4e2f848ffd914b2f2615c86c651b',1,'tatami::DelayedSubsetUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1bd68c9b0da8a227fc0b0825a7b8ca32',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a49dd8093b1f87ac9d369cc7f9014224f',1,'tatami::DelayedSubsetSortedUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a17bb58ece77b014f927894dd9a3e645f',1,'tatami::DelayedSubsetSorted::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a33461de6d39962ab1dd23dfd3d574d72',1,'tatami::DelayedSubsetBlock::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubset.html#aab2a16870e36e5fd5f5adcc7c986a5db',1,'tatami::DelayedSubset::prefer_rows_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a5bc5cb7ee33045f37312445007f487f0',1,'tatami::FragmentedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a51bc0d7358afec17953fca1d37eab439',1,'tatami::CompressedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedTranspose.html#af218bfcac74f403cc9d5bd6be84cc7a5',1,'tatami::DelayedTranspose::prefer_rows_proportion()'],['../classtatami_1_1DelayedCast.html#a5bbd6fe49cfca5995289950abcf18856',1,'tatami::DelayedCast::prefer_rows_proportion()'],['../classtatami_1_1DelayedBind.html#af6fe54f29461d429362f0b8fec0da84e',1,'tatami::DelayedBind::prefer_rows_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1898fc4282f079ff1c5023afc6708a2e',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DenseMatrix.html#a44486a7d66661eada08c22a64547e937',1,'tatami::DenseMatrix::prefer_rows_proportion()'],['../classtatami_1_1Matrix.html#a2ddcc730155ca894df1c58b0a963d5e7',1,'tatami::Matrix::prefer_rows_proportion()']]], + ['prefer_5frows_1',['prefer_rows',['../classtatami_1_1DenseMatrix.html#a47eade967a5c180ff4a8c8644e57947b',1,'tatami::DenseMatrix::prefer_rows()'],['../classtatami_1_1Matrix.html#a69382d2a4e66cda1a9eb48dc25ab113a',1,'tatami::Matrix::prefer_rows()'],['../classtatami_1_1DelayedSubsetUnique.html#a12e84da197144398246f055b24726c61',1,'tatami::DelayedSubsetUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#af9085320f0969d1f0e5102588fb2acd9',1,'tatami::DelayedSubsetSortedUnique::prefer_rows()'],['../classtatami_1_1DelayedSubsetSorted.html#a295013d786b741cea170af7cca27166a',1,'tatami::DelayedSubsetSorted::prefer_rows()'],['../classtatami_1_1DelayedSubsetBlock.html#aeb7911f1048e29196a24fa0da8093b1a',1,'tatami::DelayedSubsetBlock::prefer_rows()'],['../classtatami_1_1DelayedSubset.html#a5df9d7940178cca7db145fb5ab533051',1,'tatami::DelayedSubset::prefer_rows()'],['../classtatami_1_1FragmentedSparseMatrix.html#ab8415def9c366ffa6ec1713210b518b6',1,'tatami::FragmentedSparseMatrix::prefer_rows()'],['../classtatami_1_1CompressedSparseMatrix.html#a45a108841635187e7428cbc6f1969a28',1,'tatami::CompressedSparseMatrix::prefer_rows()'],['../classtatami_1_1DelayedTranspose.html#a8d386b8a0d05d6bcdbc1dd80c7d8118e',1,'tatami::DelayedTranspose::prefer_rows()'],['../classtatami_1_1DelayedCast.html#acd15dc4d42f79dcf6e8f100f59b17a9b',1,'tatami::DelayedCast::prefer_rows()'],['../classtatami_1_1DelayedBind.html#adeedfaa0423b0e7c6f12c3d524e0319d',1,'tatami::DelayedBind::prefer_rows()'],['../classtatami_1_1ConstantMatrix.html#af7bf04bc4dcb379ca9fc24fc8dd87669',1,'tatami::ConstantMatrix::prefer_rows()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#abbac55342f544e8dcb8f5d2628b5d2c5',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aaab1fe8d90807834aac2c62a00106fcd',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows()']]], + ['prefer_5frows_5fproportion_2',['prefer_rows_proportion',['../classtatami_1_1DelayedSubsetUnique.html#a5d3b4e2f848ffd914b2f2615c86c651b',1,'tatami::DelayedSubsetUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a1bd68c9b0da8a227fc0b0825a7b8ca32',1,'tatami::DelayedBinaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a49dd8093b1f87ac9d369cc7f9014224f',1,'tatami::DelayedSubsetSortedUnique::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetSorted.html#a17bb58ece77b014f927894dd9a3e645f',1,'tatami::DelayedSubsetSorted::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubsetBlock.html#a33461de6d39962ab1dd23dfd3d574d72',1,'tatami::DelayedSubsetBlock::prefer_rows_proportion()'],['../classtatami_1_1DelayedSubset.html#aab2a16870e36e5fd5f5adcc7c986a5db',1,'tatami::DelayedSubset::prefer_rows_proportion()'],['../classtatami_1_1FragmentedSparseMatrix.html#a5bc5cb7ee33045f37312445007f487f0',1,'tatami::FragmentedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1CompressedSparseMatrix.html#a51bc0d7358afec17953fca1d37eab439',1,'tatami::CompressedSparseMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedTranspose.html#af218bfcac74f403cc9d5bd6be84cc7a5',1,'tatami::DelayedTranspose::prefer_rows_proportion()'],['../classtatami_1_1DelayedCast.html#a5bbd6fe49cfca5995289950abcf18856',1,'tatami::DelayedCast::prefer_rows_proportion()'],['../classtatami_1_1DelayedBind.html#af6fe54f29461d429362f0b8fec0da84e',1,'tatami::DelayedBind::prefer_rows_proportion()'],['../classtatami_1_1ConstantMatrix.html#a4c0222313e3dad71b001ae734ccd058a',1,'tatami::ConstantMatrix::prefer_rows_proportion()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1898fc4282f079ff1c5023afc6708a2e',1,'tatami::DelayedUnaryIsometricOperation::prefer_rows_proportion()'],['../classtatami_1_1DenseMatrix.html#a44486a7d66661eada08c22a64547e937',1,'tatami::DenseMatrix::prefer_rows_proportion()'],['../classtatami_1_1Matrix.html#a2ddcc730155ca894df1c58b0a963d5e7',1,'tatami::Matrix::prefer_rows_proportion()']]], ['process_5fconsecutive_5findices_3',['process_consecutive_indices',['../namespacetatami.html#af01c93a616eb99f6a17861a8b19f7ee0',1,'tatami']]], ['pseudooraculardenseextractor_4',['PseudoOracularDenseExtractor',['../structtatami_1_1PseudoOracularDenseExtractor.html#a099afedb958b1c9a7738508eb7cf387f',1,'tatami::PseudoOracularDenseExtractor']]], ['pseudooracularsparseextractor_5',['PseudoOracularSparseExtractor',['../structtatami_1_1PseudoOracularSparseExtractor.html#a844c7b691709c23d0281b58d9eb50b04',1,'tatami::PseudoOracularSparseExtractor']]] diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index 955af106..cf06dc02 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -2,8 +2,8 @@ var searchData= [ ['size_0',['size',['../classtatami_1_1SomeNumericArray.html#ada2335bab3c287700c1888ae1cb1d73f',1,'tatami::SomeNumericArray::size()'],['../classtatami_1_1ArrayView.html#a7983c151067c852f6382b76661937dfd',1,'tatami::ArrayView::size()']]], ['somenumericarray_1',['somenumericarray',['../classtatami_1_1SomeNumericArray.html#a72480d4ee601d6e4b53079c3c9d778b6',1,'tatami::SomeNumericArray::SomeNumericArray(const int8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a3188a107ac6731af5c1afaef1964946c',1,'tatami::SomeNumericArray::SomeNumericArray(const double *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a04746b0ed1a52c1f1b07ea9268e6e710',1,'tatami::SomeNumericArray::SomeNumericArray(const float *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a45580fc9b26e1b4b51196ea00355fa6b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a3841d7a193e4c3a943ef37c457b1f7b0',1,'tatami::SomeNumericArray::SomeNumericArray(const int64_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#addaf5c43710c1b5c24d0044142059c3b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint32_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a014ed5da5ed50927b16a7809d79090a2',1,'tatami::SomeNumericArray::SomeNumericArray(const int32_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a73bbe62be2b580fcb089681614d54db3',1,'tatami::SomeNumericArray::SomeNumericArray(const uint16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#aa426e3d15474854e6a9ed83340a9b186',1,'tatami::SomeNumericArray::SomeNumericArray(const int16_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#ad98452abd9d16187b9a3f47f4382a03b',1,'tatami::SomeNumericArray::SomeNumericArray(const uint8_t *ptr, size_t number)'],['../classtatami_1_1SomeNumericArray.html#a34316bc03b9b9c873c4c3c3d87d51bc3',1,'tatami::SomeNumericArray::SomeNumericArray(void *ptr, size_t number, SomeNumericType type)']]], - ['sparse_2',['sparse',['../classtatami_1_1CompressedSparseMatrix.html#a76725ab1293975137e2ed2ec3c188464',1,'tatami::CompressedSparseMatrix::sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#a383ec95c99cfbd8787b69fab35e2e5ce',1,'tatami::DelayedSubsetBlock::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3e9287584a2040ef83d252e6f2373381',1,'tatami::DelayedSubsetBlock::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#ad5ac39b6671feb1389e0b3fdabe25e4c',1,'tatami::DelayedSubsetBlock::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a97908a89a4b76a92c25b8b041794e643',1,'tatami::DelayedSubsetBlock::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1920cd62b0d279e8acea9052348a6f4a',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ae8f050e69b266e0673b0a261e1aa2e8e',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3dc87fd4d728996cfdf4ad76ac5b55ef',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a7fd46b6f3a4cefb5709db879fe85287e',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubset.html#a3d0433713b2490a880a7b6ef02d88a96',1,'tatami::DelayedSubset::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8495796b83897f95e465b0dced9847c8',1,'tatami::DelayedSubset::sparse(bool row, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a26ebfcf4c5f6ea5d4d4364991be2e9ce',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > subset_ptr, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a307940f3bbba99d017184a938833fe0a',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a28e0ad8828c1e93e329fbf676dd5f582',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a77c699398156e97d9a972c9b8412399e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a9d7c4763266aacc9dd8e8bf18cd6bdf5',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a021c20b362a86fd64620f712f9995f0e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ae5f50bae52f2368f145fcbe986675696',1,'tatami::CompressedSparseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a7a56c1739aaadf60f8270159b3386dcc',1,'tatami::DelayedSubset::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a56f6be559c424ca314e75ddce5b0bdcd',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#aab5d29cd6075549ff1050be0b8bc0c2f',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a3e96ad1ccedc6dc6a4be6e3fa2887472',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a029c11d07c36aa6b58fb80810268def6',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a75fde8049aa84b19cabbc2346133c73c',1,'tatami::DelayedSubsetUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a8d92434bb6dac077140ffaff2d4e14cb',1,'tatami::DelayedSubsetUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a96b27b6163be1f983e31333cf8c2dbf3',1,'tatami::DelayedSubsetUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a0cf3b134b4eddd47df6ac16c08f809ac',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#aafe5e9724d8d3df1d622faaeee37615e',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a5764e461a0e2c2717cb51f0efe3df8f9',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a4c0f79b67346db6cfc40f0658b761f76',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a92669f25c9c5975ec323aa6af84ee48b',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a772115b079f6c1305bc3e328e9eabc03',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ac357f675e5ad46f8fa03db075c1534a1',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a72d004108e2f3af226beda18e13f9501',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#aa87205c5798727659d3327ce93356713',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a683e23909dc8ad1e0f573846f21f66fc',1,'tatami::DelayedSubsetSorted::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5a60775d110656d3bd7642ef5ef64e3a',1,'tatami::DelayedSubsetSorted::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ad941dfd5674f37ff8fc864590c79ebd4',1,'tatami::DelayedSubsetSorted::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ae8b40e14802cdad7312caf3e8248489a',1,'tatami::DenseMatrix::sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0a2dcdad6634fd38dc4a9a4aa3d1b611',1,'tatami::DelayedBinaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a981d6d86d050581f7a39daab4f156ec7',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a245fc9504a3e8467cc2a52b28eb6afdd',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a7648bcf3fc4eb772c843d8dce699b454',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aa5671c7371ae75038f00c7a3c20b1301',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a3c42fe4d98d958fe52c496912d885cd9',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#acf0b70de07043ed0f73845ee6c03fe06',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a5eb5622d0bf742933efc4a5712337504',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a076632321ee3a36f1b7f306ffafe0150',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#acae831b9ba93460af968b319a924a17a',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DenseMatrix.html#a7a757cea83161373e48b0d2a506931e3',1,'tatami::DenseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ac06116b91a9b811f3253f31f11f7bfcb',1,'tatami::DenseMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a14731efb8e8dd41e23211510ba64fab5',1,'tatami::DenseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1Matrix.html#abe7557a27bbb09f8453a3e6848ad910e',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#aacfcf54358970874051e5cc700730707',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a5605c18620abdab0f82015b959e9813a',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a59d055aed809a2036c10c1fce92bd036',1,'tatami::Matrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af802c74c510eff3316ce0eea99c08810',1,'tatami::Matrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af84772cc4e911a87948d45a1edcabbd0',1,'tatami::Matrix::sparse(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedTranspose.html#a75b9d1b19e9d97da9e6303c4c76d9238',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a06fb62a93edf15673855926f1124bc9f',1,'tatami::DelayedUnaryIsometricOperation::sparse()'],['../classtatami_1_1CompressedSparseMatrix.html#a1a380cb8f55f8c5ae9334b1bfaaa6876',1,'tatami::CompressedSparseMatrix::sparse()'],['../classtatami_1_1DelayedTranspose.html#a4bc7241dd0cbcba64844ff98b0f3c219',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a9e432929eb5b907baff964410dd35caf',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a63f8ce1ffedcc671a36ead8fed6bf205',1,'tatami::DelayedTranspose::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a1f42007d5ca11c0f2588a57330a7c556',1,'tatami::DelayedTranspose::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a85eccad5cd983379f3888b35dc78ecf1',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a69d08b80168e508dd42b321b742e825d',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af2eb799fb84aaacee5c7c1eebb3463fd',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1d5d52217508e5d50201425997da88cd',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a74ec6dd16263ccfa6b50323a508be338',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af5f8a3c9ccff1a64bde28643b9fd0343',1,'tatami::DelayedCast::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a365dd5b5e3e8e96eab7eb18f5c8e8331',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a0d26c147d8caf6ab139519c07985a054',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a3fa3c717b01aeb3c1767f364ceeb9f67',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a5f63516a70383f2a89ef240a6866ff21',1,'tatami::DelayedUnaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedCast.html#a1dea29fac0c463402c7ec8793cb351a6',1,'tatami::DelayedCast::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a8464e48c09743cab8ae45fd8f7de190e',1,'tatami::DelayedCast::sparse(bool row, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const']]], - ['sparse_5fcolumn_3',['sparse_column',['../classtatami_1_1Matrix.html#aebbd197a7d1530397cff04660e78f28f',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#ad3c6514d93279e77fb8505d29c334217',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a917f575b5430e14e2ccda56a5b6903be',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a9538dcc44c008dd203e719a855ac7fca',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a8274ac6fb2345fcece74e6fdb35e05d4',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#acfbdd5c72c285b22942ce2714874b810',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a413c72fd73b8e156f3b2fb3f8ebd2497',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#a576f3bd09c075d59101e561c715c82e2',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#adfb6b4e90e3ab5cf0112e7cbd31f18f4',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a51f592922949fc50786de3eb6f58d0be',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ab0efad968be5f4b9a36bb50beb8460f8',1,'tatami::Matrix::sparse_column() const'],['../classtatami_1_1Matrix.html#a518b8f184afb562e8ef722c2feef0875',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9f340c985ed28a230745d87c9cd6ac44',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ad45028c0259b57630cdc23e4f3d08835',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aed47eef4ab4a6563db02acc77e22e5eb',1,'tatami::Matrix::sparse_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#a25ce6f1c8ad4f4d2e8d62c8e005c7df8',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const']]], + ['sparse_2',['sparse',['../classtatami_1_1DelayedTranspose.html#a4bc7241dd0cbcba64844ff98b0f3c219',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DelayedSubsetBlock.html#ad5ac39b6671feb1389e0b3fdabe25e4c',1,'tatami::DelayedSubsetBlock::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a97908a89a4b76a92c25b8b041794e643',1,'tatami::DelayedSubsetBlock::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a1920cd62b0d279e8acea9052348a6f4a',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#ae8f050e69b266e0673b0a261e1aa2e8e',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3dc87fd4d728996cfdf4ad76ac5b55ef',1,'tatami::DelayedSubset::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a7a56c1739aaadf60f8270159b3386dcc',1,'tatami::DelayedSubset::sparse(bool row, VectorPtr< Index_ > my_subset_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a3d0433713b2490a880a7b6ef02d88a96',1,'tatami::DelayedSubset::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubset.html#a8495796b83897f95e465b0dced9847c8',1,'tatami::DelayedSubset::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a3e9287584a2040ef83d252e6f2373381',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1FragmentedSparseMatrix.html#a307940f3bbba99d017184a938833fe0a',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1FragmentedSparseMatrix.html#a28e0ad8828c1e93e329fbf676dd5f582',1,'tatami::FragmentedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a77c699398156e97d9a972c9b8412399e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > my_indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a9d7c4763266aacc9dd8e8bf18cd6bdf5',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a021c20b362a86fd64620f712f9995f0e',1,'tatami::CompressedSparseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#ae5f50bae52f2368f145fcbe986675696',1,'tatami::CompressedSparseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a76725ab1293975137e2ed2ec3c188464',1,'tatami::CompressedSparseMatrix::sparse(bool row, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1CompressedSparseMatrix.html#a1a380cb8f55f8c5ae9334b1bfaaa6876',1,'tatami::CompressedSparseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#acae831b9ba93460af968b319a924a17a',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1FragmentedSparseMatrix.html#a26ebfcf4c5f6ea5d4d4364991be2e9ce',1,'tatami::FragmentedSparseMatrix::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a92669f25c9c5975ec323aa6af84ee48b',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetUnique.html#aab5d29cd6075549ff1050be0b8bc0c2f',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a3e96ad1ccedc6dc6a4be6e3fa2887472',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a029c11d07c36aa6b58fb80810268def6',1,'tatami::DelayedSubsetUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a75fde8049aa84b19cabbc2346133c73c',1,'tatami::DelayedSubsetUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a8d92434bb6dac077140ffaff2d4e14cb',1,'tatami::DelayedSubsetUnique::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetUnique.html#a96b27b6163be1f983e31333cf8c2dbf3',1,'tatami::DelayedSubsetUnique::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a0cf3b134b4eddd47df6ac16c08f809ac',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#aafe5e9724d8d3df1d622faaeee37615e',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a5764e461a0e2c2717cb51f0efe3df8f9',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a56f6be559c424ca314e75ddce5b0bdcd',1,'tatami::DelayedSubsetSortedUnique::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a383ec95c99cfbd8787b69fab35e2e5ce',1,'tatami::DelayedSubsetBlock::sparse()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#a772115b079f6c1305bc3e328e9eabc03',1,'tatami::DelayedSubsetSortedUnique::sparse()'],['../classtatami_1_1DelayedSubsetSorted.html#ac357f675e5ad46f8fa03db075c1534a1',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a72d004108e2f3af226beda18e13f9501',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#aa87205c5798727659d3327ce93356713',1,'tatami::DelayedSubsetSorted::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a683e23909dc8ad1e0f573846f21f66fc',1,'tatami::DelayedSubsetSorted::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#a5a60775d110656d3bd7642ef5ef64e3a',1,'tatami::DelayedSubsetSorted::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedSubsetSorted.html#ad941dfd5674f37ff8fc864590c79ebd4',1,'tatami::DelayedSubsetSorted::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a4c0f79b67346db6cfc40f0658b761f76',1,'tatami::DelayedSubsetBlock::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedSubsetBlock.html#a7fd46b6f3a4cefb5709db879fe85287e',1,'tatami::DelayedSubsetBlock::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ae8b40e14802cdad7312caf3e8248489a',1,'tatami::DenseMatrix::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a06fb62a93edf15673855926f1124bc9f',1,'tatami::DelayedUnaryIsometricOperation::sparse()'],['../classtatami_1_1DelayedBinaryIsometricMockAdvanced.html#a0a2dcdad6634fd38dc4a9a4aa3d1b611',1,'tatami::DelayedBinaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a981d6d86d050581f7a39daab4f156ec7',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a245fc9504a3e8467cc2a52b28eb6afdd',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a7648bcf3fc4eb772c843d8dce699b454',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#aa5671c7371ae75038f00c7a3c20b1301',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a3c42fe4d98d958fe52c496912d885cd9',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#acf0b70de07043ed0f73845ee6c03fe06',1,'tatami::DelayedBinaryIsometricOperation::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a5eb5622d0bf742933efc4a5712337504',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a076632321ee3a36f1b7f306ffafe0150',1,'tatami::DenseMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_end, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a63f8ce1ffedcc671a36ead8fed6bf205',1,'tatami::DelayedTranspose::sparse()'],['../classtatami_1_1DenseMatrix.html#a7a757cea83161373e48b0d2a506931e3',1,'tatami::DenseMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#ac06116b91a9b811f3253f31f11f7bfcb',1,'tatami::DenseMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DenseMatrix.html#a14731efb8e8dd41e23211510ba64fab5',1,'tatami::DenseMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1Matrix.html#abe7557a27bbb09f8453a3e6848ad910e',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#aacfcf54358970874051e5cc700730707',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a5605c18620abdab0f82015b959e9813a',1,'tatami::Matrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#a59d055aed809a2036c10c1fce92bd036',1,'tatami::Matrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af802c74c510eff3316ce0eea99c08810',1,'tatami::Matrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const =0'],['../classtatami_1_1Matrix.html#af84772cc4e911a87948d45a1edcabbd0',1,'tatami::Matrix::sparse(bool row, const Options &opt) const =0'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a1d5d52217508e5d50201425997da88cd',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a74ec6dd16263ccfa6b50323a508be338',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a9e432929eb5b907baff964410dd35caf',1,'tatami::DelayedTranspose::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a1f42007d5ca11c0f2588a57330a7c556',1,'tatami::DelayedTranspose::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedTranspose.html#a75b9d1b19e9d97da9e6303c4c76d9238',1,'tatami::DelayedTranspose::sparse(bool row, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a85eccad5cd983379f3888b35dc78ecf1',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a69d08b80168e508dd42b321b742e825d',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af2eb799fb84aaacee5c7c1eebb3463fd',1,'tatami::DelayedCast::sparse(bool row, std::shared_ptr< const Oracle< IndexOut_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#af5f8a3c9ccff1a64bde28643b9fd0343',1,'tatami::DelayedCast::sparse(bool row, VectorPtr< IndexOut_ > indices_my_matrix, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a8464e48c09743cab8ae45fd8f7de190e',1,'tatami::DelayedCast::sparse(bool row, IndexOut_ block_start, IndexOut_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedCast.html#a1dea29fac0c463402c7ec8793cb351a6',1,'tatami::DelayedCast::sparse(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a09d12ce1a9167fa6c652a2c58d3adbbb',1,'tatami::ConstantMatrix::sparse()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a365dd5b5e3e8e96eab7eb18f5c8e8331',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a0d26c147d8caf6ab139519c07985a054',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a3fa3c717b01aeb3c1767f364ceeb9f67',1,'tatami::DelayedUnaryIsometricOperation::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1DelayedUnaryIsometricMockAdvanced.html#a5f63516a70383f2a89ef240a6866ff21',1,'tatami::DelayedUnaryIsometricMockAdvanced::sparse()'],['../classtatami_1_1ConstantMatrix.html#a2b61d490c5068331415f107473e5b4a0',1,'tatami::ConstantMatrix::sparse(bool row, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ad710ca877dea25c3848bf0fc5dced7bd',1,'tatami::ConstantMatrix::sparse(bool row, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#a56b616f0b355f7842836e10235d53a3e',1,'tatami::ConstantMatrix::sparse(bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#ab3c1ae19e147eacda085f8273bb14f8a',1,'tatami::ConstantMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1ConstantMatrix.html#aedec8c8cece4db21e6ecbe7ca1561768',1,'tatami::ConstantMatrix::sparse(bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const']]], + ['sparse_5fcolumn_3',['sparse_column',['../classtatami_1_1Matrix.html#ad3c6514d93279e77fb8505d29c334217',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a917f575b5430e14e2ccda56a5b6903be',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a9538dcc44c008dd203e719a855ac7fca',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a8274ac6fb2345fcece74e6fdb35e05d4',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#acfbdd5c72c285b22942ce2714874b810',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a413c72fd73b8e156f3b2fb3f8ebd2497',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#adfb6b4e90e3ab5cf0112e7cbd31f18f4',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#a576f3bd09c075d59101e561c715c82e2',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aebbd197a7d1530397cff04660e78f28f',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a51f592922949fc50786de3eb6f58d0be',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ab0efad968be5f4b9a36bb50beb8460f8',1,'tatami::Matrix::sparse_column() const'],['../classtatami_1_1Matrix.html#a518b8f184afb562e8ef722c2feef0875',1,'tatami::Matrix::sparse_column(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9f340c985ed28a230745d87c9cd6ac44',1,'tatami::Matrix::sparse_column(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ad45028c0259b57630cdc23e4f3d08835',1,'tatami::Matrix::sparse_column(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#aed47eef4ab4a6563db02acc77e22e5eb',1,'tatami::Matrix::sparse_column(const Options &opt) const'],['../classtatami_1_1Matrix.html#a25ce6f1c8ad4f4d2e8d62c8e005c7df8',1,'tatami::Matrix::sparse_column(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const']]], ['sparse_5frow_4',['sparse_row',['../classtatami_1_1Matrix.html#ad2aecb2560e570ec8f6e3efb0eddf55d',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#a59f8dbf2064d74038813b5c0191a6542',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#a3fc1dfadd943138f21cf3e9dd1f89147',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#ae052d20e59e1cd0c58915f1165c42b44',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length) const'],['../classtatami_1_1Matrix.html#ac69c3729445a087b33bfa9717b8e0bd1',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle) const'],['../classtatami_1_1Matrix.html#a47155bacf33f5c269c8da4ce96d1adb8',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#af86c164710f168484a0037169bf51622',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#af67262da7611609ba28f9ac1d9ed20e9',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#a9914398b94a1a9f3082478d9646fc21d',1,'tatami::Matrix::sparse_row(std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const'],['../classtatami_1_1Matrix.html#a3011f5e2ee8103fcc4c6488bfd228997',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices) const'],['../classtatami_1_1Matrix.html#acbe0fed52aae518a420114727e1c98a1',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr) const'],['../classtatami_1_1Matrix.html#aedecd4c23762ff43f49cfb0d2c687056',1,'tatami::Matrix::sparse_row() const'],['../classtatami_1_1Matrix.html#afb26d2551fec7753001e8c274c9661de',1,'tatami::Matrix::sparse_row(std::vector< Index_ > indices, const Options &opt) const'],['../classtatami_1_1Matrix.html#ac64a711a19ebc55da7b5fdc193db839c',1,'tatami::Matrix::sparse_row(VectorPtr< Index_ > indices_ptr, const Options &opt) const'],['../classtatami_1_1Matrix.html#ada39dd5987e82eb0aa50c302ee3ed564',1,'tatami::Matrix::sparse_row(Index_ block_start, Index_ block_length, const Options &opt) const'],['../classtatami_1_1Matrix.html#afcb3651992dff44cdf8d560a527707f6',1,'tatami::Matrix::sparse_row(const Options &opt) const']]], ['sparserange_5',['sparserange',['../structtatami_1_1SparseRange.html#a9e2b5fe9ddf226166160a2040656114c',1,'tatami::SparseRange::SparseRange(Index_ number, const Value_ *value=NULL, const Index_ *index=NULL)'],['../structtatami_1_1SparseRange.html#a1706d98b8591f939f405e0083588d1b4',1,'tatami::SparseRange::SparseRange()=default']]] ]; diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js index 24abe8e7..af0ab816 100644 --- a/docs/search/functions_f.js +++ b/docs/search/functions_f.js @@ -1,4 +1,4 @@ var searchData= [ - ['uses_5foracle_0',['uses_oracle',['../classtatami_1_1Matrix.html#a68da21245203cf9349648c5452cdb2ca',1,'tatami::Matrix::uses_oracle()'],['../classtatami_1_1DenseMatrix.html#a829360901235a4f1a0c954c7bba15a36',1,'tatami::DenseMatrix::uses_oracle()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a239a6310ef652126719f1ea45b87722b',1,'tatami::DelayedBinaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a43afda710f5c9d42d5fe21b31dfc60a7',1,'tatami::DelayedUnaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedBind.html#afb08188ae6e0e681f948ce39c74807ee',1,'tatami::DelayedBind::uses_oracle()'],['../classtatami_1_1DelayedCast.html#aa6cbd8349c561942b5989590354c35ad',1,'tatami::DelayedCast::uses_oracle()'],['../classtatami_1_1DelayedTranspose.html#a6e814addfd1b93d7999a5383d0e69104',1,'tatami::DelayedTranspose::uses_oracle()'],['../classtatami_1_1CompressedSparseMatrix.html#a7fc491a14be516c9321f90c71c877cb7',1,'tatami::CompressedSparseMatrix::uses_oracle()'],['../classtatami_1_1FragmentedSparseMatrix.html#a880db70dfb5c2827045fb6ef3c34e680',1,'tatami::FragmentedSparseMatrix::uses_oracle()'],['../classtatami_1_1DelayedSubset.html#a1330d13aab8a8540a18af5aef46ef7b4',1,'tatami::DelayedSubset::uses_oracle()'],['../classtatami_1_1DelayedSubsetBlock.html#ac30ebebd3c8293ca6c4bc86c05a47a71',1,'tatami::DelayedSubsetBlock::uses_oracle()'],['../classtatami_1_1DelayedSubsetSorted.html#a7be70bc405e885b50220570197171170',1,'tatami::DelayedSubsetSorted::uses_oracle()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acb83ef63695aa5d660228dfe0ed1074a',1,'tatami::DelayedSubsetSortedUnique::uses_oracle()'],['../classtatami_1_1DelayedSubsetUnique.html#a72a333fcec090c2de5c6dad1afb90dba',1,'tatami::DelayedSubsetUnique::uses_oracle()']]] + ['uses_5foracle_0',['uses_oracle',['../classtatami_1_1Matrix.html#a68da21245203cf9349648c5452cdb2ca',1,'tatami::Matrix::uses_oracle()'],['../classtatami_1_1DenseMatrix.html#a829360901235a4f1a0c954c7bba15a36',1,'tatami::DenseMatrix::uses_oracle()'],['../classtatami_1_1DelayedBinaryIsometricOperation.html#a239a6310ef652126719f1ea45b87722b',1,'tatami::DelayedBinaryIsometricOperation::uses_oracle()'],['../classtatami_1_1DelayedUnaryIsometricOperation.html#a43afda710f5c9d42d5fe21b31dfc60a7',1,'tatami::DelayedUnaryIsometricOperation::uses_oracle()'],['../classtatami_1_1ConstantMatrix.html#a7470276baaf921230b844e3473916919',1,'tatami::ConstantMatrix::uses_oracle()'],['../classtatami_1_1DelayedBind.html#afb08188ae6e0e681f948ce39c74807ee',1,'tatami::DelayedBind::uses_oracle()'],['../classtatami_1_1DelayedCast.html#aa6cbd8349c561942b5989590354c35ad',1,'tatami::DelayedCast::uses_oracle()'],['../classtatami_1_1DelayedTranspose.html#a6e814addfd1b93d7999a5383d0e69104',1,'tatami::DelayedTranspose::uses_oracle()'],['../classtatami_1_1CompressedSparseMatrix.html#a7fc491a14be516c9321f90c71c877cb7',1,'tatami::CompressedSparseMatrix::uses_oracle()'],['../classtatami_1_1FragmentedSparseMatrix.html#a880db70dfb5c2827045fb6ef3c34e680',1,'tatami::FragmentedSparseMatrix::uses_oracle()'],['../classtatami_1_1DelayedSubset.html#a1330d13aab8a8540a18af5aef46ef7b4',1,'tatami::DelayedSubset::uses_oracle()'],['../classtatami_1_1DelayedSubsetBlock.html#ac30ebebd3c8293ca6c4bc86c05a47a71',1,'tatami::DelayedSubsetBlock::uses_oracle()'],['../classtatami_1_1DelayedSubsetSorted.html#a7be70bc405e885b50220570197171170',1,'tatami::DelayedSubsetSorted::uses_oracle()'],['../classtatami_1_1DelayedSubsetSortedUnique.html#acb83ef63695aa5d660228dfe0ed1074a',1,'tatami::DelayedSubsetSortedUnique::uses_oracle()'],['../classtatami_1_1DelayedSubsetUnique.html#a72a333fcec090c2de5c6dad1afb90dba',1,'tatami::DelayedSubsetUnique::uses_oracle()']]] ]; diff --git a/docs/tatami.tag b/docs/tatami.tag index 655316a3..5a92f475 100644 --- a/docs/tatami.tag +++ b/docs/tatami.tag @@ -193,6 +193,13 @@ tatami::DelayedUnaryIsometricMockAdvanced tatami + + ConstantMatrix.hpp + tatami/other/ + ConstantMatrix_8hpp.html + tatami::ConstantMatrix + tatami + DelayedBind.hpp tatami/other/ @@ -693,6 +700,153 @@ (size_t i) const + + tatami::ConstantMatrix + classtatami_1_1ConstantMatrix.html + typename Value_ + typename Index_ + Matrix< Value_, Index_ > + + + ConstantMatrix + classtatami_1_1ConstantMatrix.html + ac51afe22e54a204c0b2b8a80abde30cc + (Index_ nrow, Index_ ncol, Value_ value) + + + Index_ + nrow + classtatami_1_1ConstantMatrix.html + a4b4ffa7d614555b1da63d8fc94ec0a48 + () const + + + Index_ + ncol + classtatami_1_1ConstantMatrix.html + a84184cb5ad5ee58f0ab3cf28d541ebc6 + () const + + + bool + is_sparse + classtatami_1_1ConstantMatrix.html + a109155791ecacc6f0bab29226e0a8dbc + () const + + + double + is_sparse_proportion + classtatami_1_1ConstantMatrix.html + a4aa07cce9af27ac329a0fb18a946234c + () const + + + bool + prefer_rows + classtatami_1_1ConstantMatrix.html + af7bf04bc4dcb379ca9fc24fc8dd87669 + () const + + + double + prefer_rows_proportion + classtatami_1_1ConstantMatrix.html + a4c0222313e3dad71b001ae734ccd058a + () const + + + bool + uses_oracle + classtatami_1_1ConstantMatrix.html + a7470276baaf921230b844e3473916919 + (bool) const + + + std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + ad0075cd100469ff2e99f98ab52f4defe + (bool row, const Options &opt) const + + + std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + a2a0cd89e08975476460eb6321a1085c7 + (bool row, Index_ block_start, Index_ block_length, const Options &opt) const + + + std::unique_ptr< MyopicDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + abb8af043351dc2cf54f7350abaf638c5 + (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const + + + std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + af2c04d9a51175cd63abf8472b89b2c5a + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const + + + std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + ad994aa264c26b42f1ddc0be6e66cfc9f + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const + + + std::unique_ptr< OracularDenseExtractor< Value_, Index_ > > + dense + classtatami_1_1ConstantMatrix.html + aa0b89fb69614bb03d6df637847a01c79 + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const + + + std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + a2b61d490c5068331415f107473e5b4a0 + (bool row, const Options &opt) const + + + std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + ad710ca877dea25c3848bf0fc5dced7bd + (bool row, Index_ block_start, Index_ block_length, const Options &opt) const + + + std::unique_ptr< MyopicSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + a56b616f0b355f7842836e10235d53a3e + (bool row, VectorPtr< Index_ > indices_ptr, const Options &opt) const + + + std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + ab3c1ae19e147eacda085f8273bb14f8a + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, const Options &opt) const + + + std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + a09d12ce1a9167fa6c652a2c58d3adbbb + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, Index_ block_start, Index_ block_length, const Options &opt) const + + + std::unique_ptr< OracularSparseExtractor< Value_, Index_ > > + sparse + classtatami_1_1ConstantMatrix.html + aedec8c8cece4db21e6ecbe7ca1561768 + (bool row, std::shared_ptr< const Oracle< Index_ > > oracle, VectorPtr< Index_ > indices_ptr, const Options &opt) const + + tatami::DelayedBinaryIsometricArithmetic classtatami_1_1DelayedBinaryIsometricArithmetic.html @@ -4148,6 +4302,7 @@ tatami::CompressedSparseMatrix tatami::CompressedSparseRowMatrix tatami::ConsecutiveOracle + tatami::ConstantMatrix tatami::DelayedBinaryIsometricArithmetic tatami::DelayedBinaryIsometricBoolean tatami::DelayedBinaryIsometricCompare diff --git a/docs/tatami_8hpp_source.html b/docs/tatami_8hpp_source.html index 6f606f93..50892d96 100644 --- a/docs/tatami_8hpp_source.html +++ b/docs/tatami_8hpp_source.html @@ -102,23 +102,25 @@

        17#include "other/DelayedBind.hpp"
        18#include "other/DelayedCast.hpp"
        -
        20
        - - -
        23
        - -
        25#include "utils/ArrayView.hpp"
        - - -
        28#include "utils/FixedOracle.hpp"
        - -
        30
        -
        40namespace tatami {}
        -
        41
        -
        42#endif
        + +
        21
        + + +
        24
        + +
        26#include "utils/ArrayView.hpp"
        + + +
        29#include "utils/FixedOracle.hpp"
        + +
        31
        +
        41namespace tatami {}
        +
        42
        +
        43#endif
        Defines a tatami-compatible array view.
        Compressed sparse matrix representation.
        Iterate across consecutive elements of the target dimension.
        +
        Matrix of constant values.
        Delayed binary isometric operations.
        Delayed combining of multiple tatami::Matrix objects.
        Delayed cast to another interface type.