From 203a9f086ad58ad14fb10e00967aac724768c4d5 Mon Sep 17 00:00:00 2001 From: Aleksey Gurtovoy Date: Sun, 28 Nov 2004 03:35:12 +0000 Subject: [PATCH] merge RC_1_32_0 fixes [SVN r26328] --- book/chapter1/binary.hpp | 13 + doc/article.css | 67 - doc/index.html | 550 +- doc/msxsl_build.bat | 15 - doc/paper/article.css | 87 - doc/paper/html/acknowl.html | 59 - doc/paper/html/article.css | 82 - doc/paper/html/codegeneration.html | 124 - doc/paper/html/example.html | 325 - doc/paper/html/index.html | 181 - doc/paper/html/intro.html | 359 - doc/paper/html/lambda.html | 165 - doc/paper/html/refs.html | 152 - doc/paper/html/usage.html | 920 - doc/paper/html/xsltproc_build.bat | 11 - doc/paper/mpl_paper.html | 1957 - doc/paper/mpl_paper.pdf | 4463 +- doc/paper/src/abstract.sgml | 38 - doc/paper/src/acknowl.sgml | 10 - doc/paper/src/body.sgml | 41 - doc/paper/src/codegeneration.sgml | 96 - doc/paper/src/example.sgml | 294 - doc/paper/src/introduction.sgml | 375 - doc/paper/src/lambda.sgml | 142 - doc/paper/src/metafunctions.sgml | 282 - doc/paper/src/references.sgml | 247 - doc/paper/src/sequences.sgml | 566 - doc/paper/src/typeselection.sgml | 242 - doc/paper/src/usage.sgml | 8 - doc/readme | 18 - doc/ref/Acknowledgements.html | 7 - doc/ref/Algorithms.html | 40 - doc/ref/Associative_Sequence.html | 58 - doc/ref/Bidirectional_Iterator.html | 50 - doc/ref/Bidirectional_Sequence.html | 35 - doc/ref/Categorized_index.html | 98 - doc/ref/Extensible_Associative_Sequence.html | 47 - doc/ref/Extensible_Sequence.html | 40 - doc/ref/Forward_Iterator.html | 34 - doc/ref/Forward_Sequence.html | 48 - doc/ref/Input_Iterator.html | 44 - doc/ref/Integral_Constant.html | 43 - doc/ref/Integral_constant_classes.html | 19 - doc/ref/Iterators.html | 31 - doc/ref/Macros.html | 24 - doc/ref/Metafunction.html | 77 - doc/ref/Metafunction_Class.html | 67 - doc/ref/Metafunctions.html | 61 - doc/ref/Random_Access_Iterator.html | 48 - doc/ref/Random_Access_Sequence.html | 35 - doc/ref/Rational_Constant.html | 37 - .../BOOST_MPL_AUX_LAMBDA_SUPPORT.html | 50 - doc/ref/Reference/advance.html | 62 - doc/ref/Reference/and.html | 62 - doc/ref/Reference/at.html | 59 - doc/ref/Reference/at_c.html | 59 - doc/ref/Reference/back.html | 64 - doc/ref/Reference/begin.html | 56 - doc/ref/Reference/clear.html | 60 - doc/ref/Reference/contains.html | 58 - doc/ref/Reference/copy.html | 70 - doc/ref/Reference/copy_backward.html | 70 - doc/ref/Reference/copy_backward_if.html | 70 - doc/ref/Reference/copy_if.html | 70 - doc/ref/Reference/count.html | 60 - doc/ref/Reference/count_if.html | 61 - doc/ref/Reference/deref.html | 56 - doc/ref/Reference/distance.html | 56 - doc/ref/Reference/divides.html | 64 - doc/ref/Reference/empty.html | 59 - doc/ref/Reference/end.html | 57 - doc/ref/Reference/equal.html | 59 - doc/ref/Reference/equal_to.html | 61 - doc/ref/Reference/erase.html | 65 - doc/ref/Reference/erase_range.html | 63 - doc/ref/Reference/filter_view.html | 63 - doc/ref/Reference/find.html | 58 - doc/ref/Reference/find_if.html | 58 - doc/ref/Reference/fold.html | 65 - doc/ref/Reference/fold_backward.html | 75 - doc/ref/Reference/front.html | 60 - doc/ref/Reference/greater.html | 61 - doc/ref/Reference/greater_equal.html | 61 - doc/ref/Reference/insert.html | 62 - doc/ref/Reference/insert_range.html | 62 - doc/ref/Reference/is_sequence.html | 59 - doc/ref/Reference/iter_fold.html | 65 - doc/ref/Reference/iter_fold_backward.html | 71 - doc/ref/Reference/iterator_category.html | 62 - doc/ref/Reference/joint_view.html | 61 - doc/ref/Reference/less.html | 61 - doc/ref/Reference/less_equal.html | 61 - doc/ref/Reference/list.html | 45 - doc/ref/Reference/list_c.html | 58 - doc/ref/Reference/lower_bound.html | 61 - doc/ref/Reference/max_element.html | 62 - doc/ref/Reference/min_element.html | 62 - doc/ref/Reference/minus.html | 64 - doc/ref/Reference/modulus.html | 61 - doc/ref/Reference/multiplies.html | 64 - doc/ref/Reference/negate.html | 60 - doc/ref/Reference/not.html | 51 - doc/ref/Reference/not_equal_to.html | 61 - doc/ref/Reference/or.html | 62 - doc/ref/Reference/plus.html | 64 - doc/ref/Reference/pop_back.html | 71 - doc/ref/Reference/pop_front.html | 71 - doc/ref/Reference/push_back.html | 63 - doc/ref/Reference/push_front.html | 64 - doc/ref/Reference/range_c.html | 71 - doc/ref/Reference/rational_c.html | 72 - doc/ref/Reference/remove.html | 59 - doc/ref/Reference/remove_if.html | 59 - doc/ref/Reference/replace.html | 61 - doc/ref/Reference/replace_if.html | 61 - doc/ref/Reference/reverse.html | 58 - doc/ref/Reference/single_view.html | 62 - doc/ref/Reference/size.html | 60 - doc/ref/Reference/transform.html | 59 - doc/ref/Reference/transform_view.html | 62 - doc/ref/Reference/upper_bound.html | 61 - doc/ref/Reference/vector.html | 77 - doc/ref/Reference/vector_c.html | 58 - doc/ref/Reference/zip_view.html | 66 - doc/ref/Sequence.html | 49 - doc/ref/Sequences.html | 64 - doc/ref/Table_of_Contents.html | 16 - doc/ref/Trivial_Iterator.html | 46 - doc/ref/mpl_logo.jpg | Bin 17396 -> 0 bytes doc/ref/mpl_wiki.css | 41 - doc/refmanual.html | 49 + doc/refmanual.pdf | 74241 ++++++++++++++++ doc/refmanual/accumulate.html | 123 + doc/refmanual/acknowledgements.html | 24 + doc/refmanual/advance.html | 138 + doc/refmanual/algorithms-concepts.html | 26 + doc/refmanual/algorithms.html | 59 + doc/refmanual/always.html | 108 + doc/refmanual/and.html | 126 + doc/refmanual/apply-wrap.html | 151 + doc/refmanual/apply.html | 137 + doc/refmanual/arg.html | 113 + doc/refmanual/arithmetic-operations.html | 31 + doc/refmanual/assert-msg.html | 152 + doc/refmanual/assert-not.html | 111 + doc/refmanual/assert-relation.html | 120 + doc/refmanual/assert.html | 111 + doc/refmanual/asserts.html | 33 + doc/refmanual/associative-sequence.html | 156 + doc/refmanual/at-c.html | 132 + doc/refmanual/at.html | 211 + doc/refmanual/aux-lambda-support.html | 120 + doc/refmanual/back-extensible-sequence.html | 104 + doc/refmanual/back-inserter.html | 117 + doc/refmanual/back.html | 114 + doc/refmanual/begin.html | 114 + doc/refmanual/bidirectional-iterator.html | 107 + doc/refmanual/bidirectional-sequence.html | 96 + doc/refmanual/bind.html | 224 + doc/refmanual/bitand.html | 149 + doc/refmanual/bitor.html | 149 + doc/refmanual/bitwise-operations.html | 30 + doc/refmanual/bitxor.html | 150 + doc/refmanual/bool.html | 112 + doc/refmanual/broken-compiler.html | 25 + doc/refmanual/categorized-concepts.html | 46 + doc/refmanual/categorized-index.html | 25 + doc/refmanual/cfg-no-has-xxx.html | 40 + doc/refmanual/cfg-no-preprocessed.html | 46 + doc/refmanual/classes.html | 38 + doc/refmanual/clear.html | 112 + doc/refmanual/comparisons.html | 31 + doc/refmanual/components.html | 173 + doc/refmanual/composition-and-argument.html | 31 + doc/refmanual/concepts.html | 57 + doc/refmanual/configuration.html | 33 + doc/refmanual/contains.html | 112 + doc/refmanual/copy-if.html | 142 + doc/refmanual/copy.html | 123 + doc/refmanual/count-if.html | 116 + doc/refmanual/count.html | 110 + doc/refmanual/data-concepts.html | 25 + doc/refmanual/data-miscellaneous.html | 27 + doc/refmanual/data-types.html | 27 + doc/refmanual/deque.html | 63 + doc/refmanual/deref.html | 109 + doc/refmanual/distance.html | 124 + doc/refmanual/divides.html | 144 + doc/refmanual/empty-base.html | 44 + doc/refmanual/empty-sequence.html | 89 + doc/refmanual/empty.html | 109 + doc/refmanual/end.html | 111 + doc/refmanual/equal-to.html | 132 + doc/refmanual/equal.html | 112 + doc/refmanual/erase-key.html | 116 + doc/refmanual/erase.html | 193 + doc/refmanual/eval-if-c.html | 105 + doc/refmanual/eval-if.html | 106 + doc/refmanual/extensible-associative.html | 131 + doc/refmanual/extensible-sequence.html | 125 + doc/refmanual/filter-view.html | 129 + doc/refmanual/find-if.html | 113 + doc/refmanual/find.html | 111 + doc/refmanual/fold.html | 123 + doc/refmanual/forward-iterator.html | 147 + doc/refmanual/forward-sequence.html | 136 + doc/refmanual/front-extensible-sequence.html | 104 + doc/refmanual/front-inserter.html | 117 + doc/refmanual/front.html | 114 + doc/refmanual/greater-equal.html | 132 + doc/refmanual/greater.html | 132 + doc/refmanual/has-key.html | 113 + doc/refmanual/has-xxx-trait-def.html | 134 + doc/refmanual/has-xxx-trait-named-def.html | 180 + doc/refmanual/identity.html | 108 + doc/refmanual/if-c.html | 106 + doc/refmanual/if.html | 105 + doc/refmanual/inherit-linearly.html | 152 + doc/refmanual/inherit.html | 205 + doc/refmanual/insert-range.html | 139 + doc/refmanual/insert.html | 214 + doc/refmanual/inserter.html | 107 + doc/refmanual/inserters-inserter.html | 122 + doc/refmanual/inserters.html | 27 + doc/refmanual/int.html | 112 + doc/refmanual/integral-c.html | 115 + doc/refmanual/integral-constant.html | 121 + doc/refmanual/integral-sequence-wrapper.html | 153 + doc/refmanual/intrinsic-metafunctions.html | 64 + doc/refmanual/introspection.html | 26 + doc/refmanual/invocation.html | 28 + doc/refmanual/is-sequence.html | 113 + doc/refmanual/iter-fold.html | 133 + doc/refmanual/iteration-algorithms.html | 47 + doc/refmanual/iterator-category.html | 130 + doc/refmanual/iterator-metafunctions.html | 30 + doc/refmanual/iterator-range.html | 122 + doc/refmanual/iterators-concepts.html | 43 + doc/refmanual/iterators.html | 35 + doc/refmanual/joint-view.html | 125 + doc/refmanual/key-type.html | 117 + doc/refmanual/lambda-expression.html | 51 + doc/refmanual/lambda.html | 146 + doc/refmanual/less-equal.html | 132 + doc/refmanual/less.html | 132 + doc/refmanual/limit-list-size.html | 62 + doc/refmanual/limit-map-size.html | 69 + doc/refmanual/limit-metafunction-arity.html | 72 + doc/refmanual/limit-set-size.html | 62 + doc/refmanual/limit-unrolling.html | 52 + doc/refmanual/limit-vector-size.html | 62 + doc/refmanual/list-c.html | 123 + doc/refmanual/list.html | 161 + doc/refmanual/logical-operations.html | 28 + doc/refmanual/long.html | 112 + doc/refmanual/lower-bound.html | 125 + doc/refmanual/macros.html | 49 + doc/refmanual/manual.png | Bin 0 -> 1732 bytes doc/refmanual/map.html | 183 + doc/refmanual/max-element.html | 114 + doc/refmanual/max.html | 115 + doc/refmanual/metafunction-class.html | 121 + doc/refmanual/metafunction.html | 127 + doc/refmanual/metafunctions-concepts.html | 31 + doc/refmanual/metafunctions.html | 82 + doc/refmanual/min-element.html | 114 + doc/refmanual/min.html | 115 + doc/refmanual/minus.html | 140 + doc/refmanual/miscellaneous.html | 32 + doc/refmanual/modulus.html | 139 + doc/refmanual/negate.html | 130 + doc/refmanual/next.html | 115 + doc/refmanual/not-equal-to.html | 131 + doc/refmanual/not.html | 117 + doc/refmanual/numeric-cast.html | 149 + doc/refmanual/numeric-metafunction.html | 171 + doc/refmanual/numeric.html | 29 + doc/refmanual/or.html | 126 + doc/refmanual/order.html | 113 + doc/refmanual/pair.html | 74 + doc/refmanual/partition.html | 136 + doc/refmanual/placeholder-expression.html | 55 + doc/refmanual/placeholders.html | 99 + doc/refmanual/plus.html | 140 + doc/refmanual/pop-back.html | 120 + doc/refmanual/pop-front.html | 120 + doc/refmanual/prior.html | 115 + doc/refmanual/protect.html | 127 + doc/refmanual/push-back.html | 126 + doc/refmanual/push-front.html | 125 + doc/refmanual/querying-algorithms.html | 35 + doc/refmanual/quote.html | 156 + doc/refmanual/random-access-iterator.html | 113 + doc/refmanual/random-access-sequence.html | 98 + doc/refmanual/range-c.html | 144 + doc/refmanual/refmanual_toc.html | 302 + doc/refmanual/remove-if.html | 140 + doc/refmanual/remove.html | 128 + doc/refmanual/replace-if.html | 133 + doc/refmanual/replace.html | 132 + doc/refmanual/reverse-copy-if.html | 142 + doc/refmanual/reverse-copy.html | 123 + doc/refmanual/reverse-fold.html | 169 + doc/refmanual/reverse-iter-fold.html | 169 + doc/refmanual/reverse-partition.html | 136 + doc/refmanual/reverse-remove-if.html | 139 + doc/refmanual/reverse-remove.html | 127 + doc/refmanual/reverse-replace-if.html | 138 + doc/refmanual/reverse-replace.html | 132 + doc/refmanual/reverse-stable-partition.html | 148 + doc/refmanual/reverse-transform.html | 184 + doc/refmanual/reverse-unique.html | 149 + doc/refmanual/reverse.html | 114 + doc/refmanual/reversible-algorithm.html | 188 + doc/refmanual/sequence-tag.html | 93 + doc/refmanual/sequences.html | 44 + doc/refmanual/set-c.html | 124 + doc/refmanual/set.html | 179 + doc/refmanual/shift-left.html | 146 + doc/refmanual/shift-right.html | 145 + doc/refmanual/single-view.html | 123 + doc/refmanual/size-t.html | 112 + doc/refmanual/size.html | 120 + doc/refmanual/sizeof.html | 113 + doc/refmanual/sort.html | 151 + doc/refmanual/stable-partition.html | 149 + doc/refmanual/tag-dispatched.html | 171 + doc/refmanual/terminology.html | 51 + doc/refmanual/times.html | 140 + doc/refmanual/transform-view.html | 130 + doc/refmanual/transform.html | 183 + doc/refmanual/transformation-algorithms.html | 62 + doc/refmanual/trivial-metafunction.html | 84 + doc/refmanual/trivial-metafunctions.html | 49 + doc/refmanual/trivial.html | 33 + doc/refmanual/type-selection.html | 29 + doc/refmanual/unique.html | 148 + doc/refmanual/unpack-args.html | 110 + doc/refmanual/upper-bound.html | 125 + doc/refmanual/value-type.html | 125 + doc/refmanual/variadic-sequence.html | 135 + doc/refmanual/vector-c.html | 125 + doc/refmanual/vector.html | 183 + doc/refmanual/views.html | 40 + doc/refmanual/void.html | 51 + doc/refmanual/zip-view.html | 137 + doc/src/acknw.sgml | 18 - doc/src/apply_if.sgml | 130 - doc/src/apply_if2.sgml | 55 - doc/src/articleinfo.sgml | 2 - doc/src/bibliography.sgml | 69 - doc/src/body.sgml | 37 - doc/src/howtos.sgml | 58 - doc/src/if.sgml | 66 - doc/src/lambda.sgml | 30 - doc/src/metafunctions.sgml | 37 - doc/src/preface.sgml | 49 - doc/src/sequences.sgml | 30 - doc/src/technical.sgml | 52 - doc/src/tutorial.sgml | 29 - doc/style.css | 720 + doc/tidy_attr.py | 28 - doc/tidy_config | 7 - doc/tutorial/acknowledgements.html | 38 + doc/tutorial/apply-lambda-semantics.html | 91 + doc/tutorial/book_cover.png | Bin 0 -> 39700 bytes doc/tutorial/broken-integral-constant.html | 116 + doc/tutorial/changelog-history.html | 24 + doc/tutorial/changes-in-boost-1-32-0.html | 34 + doc/tutorial/dependencies.html | 32 + doc/tutorial/details.html | 119 + doc/tutorial/dimensional-analysis.html | 85 + doc/tutorial/eti.html | 119 + doc/tutorial/exercises.html | 103 + doc/tutorial/handling-placeholders.html | 60 + doc/tutorial/higher-order.html | 141 + doc/tutorial/implementing-addition-and.html | 56 + doc/tutorial/implementing-division.html | 163 + doc/tutorial/implementing.html | 265 + doc/tutorial/incomplete-support-for.html | 126 + doc/tutorial/iterator-protocol.html | 56 + doc/tutorial/lambda-and-non.html | 47 + doc/tutorial/lambda-details.html | 30 + doc/tutorial/metafunction-composition.html | 39 + doc/tutorial/miscellaneous.html | 35 + doc/tutorial/more-lambda-capabilities.html | 29 + doc/tutorial/numeric-metafunction.html | 71 + doc/tutorial/partial-metafunction.html | 41 + doc/tutorial/physical-structure.html | 32 + doc/tutorial/placeholder-expression.html | 97 + doc/tutorial/placeholders.html | 162 + doc/tutorial/portability.html | 135 + doc/tutorial/reference-manual.html | 28 + doc/tutorial/renaming-cleanup.html | 78 + doc/tutorial/representing-dimensions.html | 153 + doc/tutorial/representing-quantities.html | 55 + doc/tutorial/resources.html | 49 + doc/tutorial/tag-dispatching-protocol.html | 75 + doc/tutorial/technical-details.html | 28 + doc/tutorial/the-apply-metafunction.html | 76 + doc/tutorial/the-importance-of-being.html | 55 + doc/tutorial/the-lambda-metafunction.html | 85 + doc/tutorial/tutorial-metafunctions.html | 47 + doc/tutorial/tutorial_toc.html | 77 + preprocessed/set/set10_c.cpp | 16 + preprocessed/set/set20_c.cpp | 16 + preprocessed/set/set30_c.cpp | 16 + preprocessed/set/set40_c.cpp | 16 + preprocessed/set/set50_c.cpp | 16 + preprocessed/src/deque.cpp | 16 + preprocessed/src/set_c.cpp | 16 + test/Jamfile | 3 + test/deque.cpp | 92 + test/empty_sequence.cpp | 36 + test/for_each.cpp | 10 +- test/list_c.cpp | 50 +- test/map.cpp | 6 +- test/pair_view.cpp | 31 +- test/partition.cpp | 42 + test/range_c.cpp | 36 +- test/set.cpp | 2 +- test/set_c.cpp | 85 + test/single_view.cpp | 16 +- test/vector_c.cpp | 10 + 424 files changed, 104373 insertions(+), 16093 deletions(-) create mode 100755 book/chapter1/binary.hpp delete mode 100644 doc/article.css delete mode 100755 doc/msxsl_build.bat delete mode 100644 doc/paper/article.css delete mode 100644 doc/paper/html/acknowl.html delete mode 100644 doc/paper/html/article.css delete mode 100644 doc/paper/html/codegeneration.html delete mode 100644 doc/paper/html/example.html delete mode 100644 doc/paper/html/index.html delete mode 100644 doc/paper/html/intro.html delete mode 100644 doc/paper/html/lambda.html delete mode 100644 doc/paper/html/refs.html delete mode 100644 doc/paper/html/usage.html delete mode 100755 doc/paper/html/xsltproc_build.bat delete mode 100644 doc/paper/mpl_paper.html delete mode 100644 doc/paper/src/abstract.sgml delete mode 100644 doc/paper/src/acknowl.sgml delete mode 100644 doc/paper/src/body.sgml delete mode 100644 doc/paper/src/codegeneration.sgml delete mode 100644 doc/paper/src/example.sgml delete mode 100644 doc/paper/src/introduction.sgml delete mode 100644 doc/paper/src/lambda.sgml delete mode 100644 doc/paper/src/metafunctions.sgml delete mode 100644 doc/paper/src/references.sgml delete mode 100644 doc/paper/src/sequences.sgml delete mode 100644 doc/paper/src/typeselection.sgml delete mode 100644 doc/paper/src/usage.sgml delete mode 100644 doc/readme delete mode 100644 doc/ref/Acknowledgements.html delete mode 100644 doc/ref/Algorithms.html delete mode 100644 doc/ref/Associative_Sequence.html delete mode 100644 doc/ref/Bidirectional_Iterator.html delete mode 100644 doc/ref/Bidirectional_Sequence.html delete mode 100644 doc/ref/Categorized_index.html delete mode 100644 doc/ref/Extensible_Associative_Sequence.html delete mode 100644 doc/ref/Extensible_Sequence.html delete mode 100644 doc/ref/Forward_Iterator.html delete mode 100644 doc/ref/Forward_Sequence.html delete mode 100644 doc/ref/Input_Iterator.html delete mode 100644 doc/ref/Integral_Constant.html delete mode 100644 doc/ref/Integral_constant_classes.html delete mode 100644 doc/ref/Iterators.html delete mode 100644 doc/ref/Macros.html delete mode 100644 doc/ref/Metafunction.html delete mode 100644 doc/ref/Metafunction_Class.html delete mode 100644 doc/ref/Metafunctions.html delete mode 100644 doc/ref/Random_Access_Iterator.html delete mode 100644 doc/ref/Random_Access_Sequence.html delete mode 100644 doc/ref/Rational_Constant.html delete mode 100644 doc/ref/Reference/BOOST_MPL_AUX_LAMBDA_SUPPORT.html delete mode 100644 doc/ref/Reference/advance.html delete mode 100644 doc/ref/Reference/and.html delete mode 100644 doc/ref/Reference/at.html delete mode 100644 doc/ref/Reference/at_c.html delete mode 100644 doc/ref/Reference/back.html delete mode 100644 doc/ref/Reference/begin.html delete mode 100644 doc/ref/Reference/clear.html delete mode 100644 doc/ref/Reference/contains.html delete mode 100644 doc/ref/Reference/copy.html delete mode 100644 doc/ref/Reference/copy_backward.html delete mode 100644 doc/ref/Reference/copy_backward_if.html delete mode 100644 doc/ref/Reference/copy_if.html delete mode 100644 doc/ref/Reference/count.html delete mode 100644 doc/ref/Reference/count_if.html delete mode 100644 doc/ref/Reference/deref.html delete mode 100644 doc/ref/Reference/distance.html delete mode 100644 doc/ref/Reference/divides.html delete mode 100644 doc/ref/Reference/empty.html delete mode 100644 doc/ref/Reference/end.html delete mode 100644 doc/ref/Reference/equal.html delete mode 100644 doc/ref/Reference/equal_to.html delete mode 100644 doc/ref/Reference/erase.html delete mode 100644 doc/ref/Reference/erase_range.html delete mode 100644 doc/ref/Reference/filter_view.html delete mode 100644 doc/ref/Reference/find.html delete mode 100644 doc/ref/Reference/find_if.html delete mode 100644 doc/ref/Reference/fold.html delete mode 100644 doc/ref/Reference/fold_backward.html delete mode 100644 doc/ref/Reference/front.html delete mode 100644 doc/ref/Reference/greater.html delete mode 100644 doc/ref/Reference/greater_equal.html delete mode 100644 doc/ref/Reference/insert.html delete mode 100644 doc/ref/Reference/insert_range.html delete mode 100644 doc/ref/Reference/is_sequence.html delete mode 100644 doc/ref/Reference/iter_fold.html delete mode 100644 doc/ref/Reference/iter_fold_backward.html delete mode 100644 doc/ref/Reference/iterator_category.html delete mode 100644 doc/ref/Reference/joint_view.html delete mode 100644 doc/ref/Reference/less.html delete mode 100644 doc/ref/Reference/less_equal.html delete mode 100644 doc/ref/Reference/list.html delete mode 100644 doc/ref/Reference/list_c.html delete mode 100644 doc/ref/Reference/lower_bound.html delete mode 100644 doc/ref/Reference/max_element.html delete mode 100644 doc/ref/Reference/min_element.html delete mode 100644 doc/ref/Reference/minus.html delete mode 100644 doc/ref/Reference/modulus.html delete mode 100644 doc/ref/Reference/multiplies.html delete mode 100644 doc/ref/Reference/negate.html delete mode 100644 doc/ref/Reference/not.html delete mode 100644 doc/ref/Reference/not_equal_to.html delete mode 100644 doc/ref/Reference/or.html delete mode 100644 doc/ref/Reference/plus.html delete mode 100644 doc/ref/Reference/pop_back.html delete mode 100644 doc/ref/Reference/pop_front.html delete mode 100644 doc/ref/Reference/push_back.html delete mode 100644 doc/ref/Reference/push_front.html delete mode 100644 doc/ref/Reference/range_c.html delete mode 100644 doc/ref/Reference/rational_c.html delete mode 100644 doc/ref/Reference/remove.html delete mode 100644 doc/ref/Reference/remove_if.html delete mode 100644 doc/ref/Reference/replace.html delete mode 100644 doc/ref/Reference/replace_if.html delete mode 100644 doc/ref/Reference/reverse.html delete mode 100644 doc/ref/Reference/single_view.html delete mode 100644 doc/ref/Reference/size.html delete mode 100644 doc/ref/Reference/transform.html delete mode 100644 doc/ref/Reference/transform_view.html delete mode 100644 doc/ref/Reference/upper_bound.html delete mode 100644 doc/ref/Reference/vector.html delete mode 100644 doc/ref/Reference/vector_c.html delete mode 100644 doc/ref/Reference/zip_view.html delete mode 100644 doc/ref/Sequence.html delete mode 100644 doc/ref/Sequences.html delete mode 100644 doc/ref/Table_of_Contents.html delete mode 100644 doc/ref/Trivial_Iterator.html delete mode 100644 doc/ref/mpl_logo.jpg delete mode 100644 doc/ref/mpl_wiki.css create mode 100644 doc/refmanual.html create mode 100644 doc/refmanual.pdf create mode 100644 doc/refmanual/accumulate.html create mode 100644 doc/refmanual/acknowledgements.html create mode 100644 doc/refmanual/advance.html create mode 100644 doc/refmanual/algorithms-concepts.html create mode 100644 doc/refmanual/algorithms.html create mode 100644 doc/refmanual/always.html create mode 100644 doc/refmanual/and.html create mode 100644 doc/refmanual/apply-wrap.html create mode 100644 doc/refmanual/apply.html create mode 100644 doc/refmanual/arg.html create mode 100644 doc/refmanual/arithmetic-operations.html create mode 100644 doc/refmanual/assert-msg.html create mode 100644 doc/refmanual/assert-not.html create mode 100644 doc/refmanual/assert-relation.html create mode 100644 doc/refmanual/assert.html create mode 100644 doc/refmanual/asserts.html create mode 100644 doc/refmanual/associative-sequence.html create mode 100644 doc/refmanual/at-c.html create mode 100644 doc/refmanual/at.html create mode 100644 doc/refmanual/aux-lambda-support.html create mode 100644 doc/refmanual/back-extensible-sequence.html create mode 100644 doc/refmanual/back-inserter.html create mode 100644 doc/refmanual/back.html create mode 100644 doc/refmanual/begin.html create mode 100644 doc/refmanual/bidirectional-iterator.html create mode 100644 doc/refmanual/bidirectional-sequence.html create mode 100644 doc/refmanual/bind.html create mode 100644 doc/refmanual/bitand.html create mode 100644 doc/refmanual/bitor.html create mode 100644 doc/refmanual/bitwise-operations.html create mode 100644 doc/refmanual/bitxor.html create mode 100644 doc/refmanual/bool.html create mode 100644 doc/refmanual/broken-compiler.html create mode 100644 doc/refmanual/categorized-concepts.html create mode 100644 doc/refmanual/categorized-index.html create mode 100644 doc/refmanual/cfg-no-has-xxx.html create mode 100644 doc/refmanual/cfg-no-preprocessed.html create mode 100644 doc/refmanual/classes.html create mode 100644 doc/refmanual/clear.html create mode 100644 doc/refmanual/comparisons.html create mode 100644 doc/refmanual/components.html create mode 100644 doc/refmanual/composition-and-argument.html create mode 100644 doc/refmanual/concepts.html create mode 100644 doc/refmanual/configuration.html create mode 100644 doc/refmanual/contains.html create mode 100644 doc/refmanual/copy-if.html create mode 100644 doc/refmanual/copy.html create mode 100644 doc/refmanual/count-if.html create mode 100644 doc/refmanual/count.html create mode 100644 doc/refmanual/data-concepts.html create mode 100644 doc/refmanual/data-miscellaneous.html create mode 100644 doc/refmanual/data-types.html create mode 100644 doc/refmanual/deque.html create mode 100644 doc/refmanual/deref.html create mode 100644 doc/refmanual/distance.html create mode 100644 doc/refmanual/divides.html create mode 100644 doc/refmanual/empty-base.html create mode 100644 doc/refmanual/empty-sequence.html create mode 100644 doc/refmanual/empty.html create mode 100644 doc/refmanual/end.html create mode 100644 doc/refmanual/equal-to.html create mode 100644 doc/refmanual/equal.html create mode 100644 doc/refmanual/erase-key.html create mode 100644 doc/refmanual/erase.html create mode 100644 doc/refmanual/eval-if-c.html create mode 100644 doc/refmanual/eval-if.html create mode 100644 doc/refmanual/extensible-associative.html create mode 100644 doc/refmanual/extensible-sequence.html create mode 100644 doc/refmanual/filter-view.html create mode 100644 doc/refmanual/find-if.html create mode 100644 doc/refmanual/find.html create mode 100644 doc/refmanual/fold.html create mode 100644 doc/refmanual/forward-iterator.html create mode 100644 doc/refmanual/forward-sequence.html create mode 100644 doc/refmanual/front-extensible-sequence.html create mode 100644 doc/refmanual/front-inserter.html create mode 100644 doc/refmanual/front.html create mode 100644 doc/refmanual/greater-equal.html create mode 100644 doc/refmanual/greater.html create mode 100644 doc/refmanual/has-key.html create mode 100644 doc/refmanual/has-xxx-trait-def.html create mode 100644 doc/refmanual/has-xxx-trait-named-def.html create mode 100644 doc/refmanual/identity.html create mode 100644 doc/refmanual/if-c.html create mode 100644 doc/refmanual/if.html create mode 100644 doc/refmanual/inherit-linearly.html create mode 100644 doc/refmanual/inherit.html create mode 100644 doc/refmanual/insert-range.html create mode 100644 doc/refmanual/insert.html create mode 100644 doc/refmanual/inserter.html create mode 100644 doc/refmanual/inserters-inserter.html create mode 100644 doc/refmanual/inserters.html create mode 100644 doc/refmanual/int.html create mode 100644 doc/refmanual/integral-c.html create mode 100644 doc/refmanual/integral-constant.html create mode 100644 doc/refmanual/integral-sequence-wrapper.html create mode 100644 doc/refmanual/intrinsic-metafunctions.html create mode 100644 doc/refmanual/introspection.html create mode 100644 doc/refmanual/invocation.html create mode 100644 doc/refmanual/is-sequence.html create mode 100644 doc/refmanual/iter-fold.html create mode 100644 doc/refmanual/iteration-algorithms.html create mode 100644 doc/refmanual/iterator-category.html create mode 100644 doc/refmanual/iterator-metafunctions.html create mode 100644 doc/refmanual/iterator-range.html create mode 100644 doc/refmanual/iterators-concepts.html create mode 100644 doc/refmanual/iterators.html create mode 100644 doc/refmanual/joint-view.html create mode 100644 doc/refmanual/key-type.html create mode 100644 doc/refmanual/lambda-expression.html create mode 100644 doc/refmanual/lambda.html create mode 100644 doc/refmanual/less-equal.html create mode 100644 doc/refmanual/less.html create mode 100644 doc/refmanual/limit-list-size.html create mode 100644 doc/refmanual/limit-map-size.html create mode 100644 doc/refmanual/limit-metafunction-arity.html create mode 100644 doc/refmanual/limit-set-size.html create mode 100644 doc/refmanual/limit-unrolling.html create mode 100644 doc/refmanual/limit-vector-size.html create mode 100644 doc/refmanual/list-c.html create mode 100644 doc/refmanual/list.html create mode 100644 doc/refmanual/logical-operations.html create mode 100644 doc/refmanual/long.html create mode 100644 doc/refmanual/lower-bound.html create mode 100644 doc/refmanual/macros.html create mode 100644 doc/refmanual/manual.png create mode 100644 doc/refmanual/map.html create mode 100644 doc/refmanual/max-element.html create mode 100644 doc/refmanual/max.html create mode 100644 doc/refmanual/metafunction-class.html create mode 100644 doc/refmanual/metafunction.html create mode 100644 doc/refmanual/metafunctions-concepts.html create mode 100644 doc/refmanual/metafunctions.html create mode 100644 doc/refmanual/min-element.html create mode 100644 doc/refmanual/min.html create mode 100644 doc/refmanual/minus.html create mode 100644 doc/refmanual/miscellaneous.html create mode 100644 doc/refmanual/modulus.html create mode 100644 doc/refmanual/negate.html create mode 100644 doc/refmanual/next.html create mode 100644 doc/refmanual/not-equal-to.html create mode 100644 doc/refmanual/not.html create mode 100644 doc/refmanual/numeric-cast.html create mode 100644 doc/refmanual/numeric-metafunction.html create mode 100644 doc/refmanual/numeric.html create mode 100644 doc/refmanual/or.html create mode 100644 doc/refmanual/order.html create mode 100644 doc/refmanual/pair.html create mode 100644 doc/refmanual/partition.html create mode 100644 doc/refmanual/placeholder-expression.html create mode 100644 doc/refmanual/placeholders.html create mode 100644 doc/refmanual/plus.html create mode 100644 doc/refmanual/pop-back.html create mode 100644 doc/refmanual/pop-front.html create mode 100644 doc/refmanual/prior.html create mode 100644 doc/refmanual/protect.html create mode 100644 doc/refmanual/push-back.html create mode 100644 doc/refmanual/push-front.html create mode 100644 doc/refmanual/querying-algorithms.html create mode 100644 doc/refmanual/quote.html create mode 100644 doc/refmanual/random-access-iterator.html create mode 100644 doc/refmanual/random-access-sequence.html create mode 100644 doc/refmanual/range-c.html create mode 100644 doc/refmanual/refmanual_toc.html create mode 100644 doc/refmanual/remove-if.html create mode 100644 doc/refmanual/remove.html create mode 100644 doc/refmanual/replace-if.html create mode 100644 doc/refmanual/replace.html create mode 100644 doc/refmanual/reverse-copy-if.html create mode 100644 doc/refmanual/reverse-copy.html create mode 100644 doc/refmanual/reverse-fold.html create mode 100644 doc/refmanual/reverse-iter-fold.html create mode 100644 doc/refmanual/reverse-partition.html create mode 100644 doc/refmanual/reverse-remove-if.html create mode 100644 doc/refmanual/reverse-remove.html create mode 100644 doc/refmanual/reverse-replace-if.html create mode 100644 doc/refmanual/reverse-replace.html create mode 100644 doc/refmanual/reverse-stable-partition.html create mode 100644 doc/refmanual/reverse-transform.html create mode 100644 doc/refmanual/reverse-unique.html create mode 100644 doc/refmanual/reverse.html create mode 100644 doc/refmanual/reversible-algorithm.html create mode 100644 doc/refmanual/sequence-tag.html create mode 100644 doc/refmanual/sequences.html create mode 100644 doc/refmanual/set-c.html create mode 100644 doc/refmanual/set.html create mode 100644 doc/refmanual/shift-left.html create mode 100644 doc/refmanual/shift-right.html create mode 100644 doc/refmanual/single-view.html create mode 100644 doc/refmanual/size-t.html create mode 100644 doc/refmanual/size.html create mode 100644 doc/refmanual/sizeof.html create mode 100644 doc/refmanual/sort.html create mode 100644 doc/refmanual/stable-partition.html create mode 100644 doc/refmanual/tag-dispatched.html create mode 100644 doc/refmanual/terminology.html create mode 100644 doc/refmanual/times.html create mode 100644 doc/refmanual/transform-view.html create mode 100644 doc/refmanual/transform.html create mode 100644 doc/refmanual/transformation-algorithms.html create mode 100644 doc/refmanual/trivial-metafunction.html create mode 100644 doc/refmanual/trivial-metafunctions.html create mode 100644 doc/refmanual/trivial.html create mode 100644 doc/refmanual/type-selection.html create mode 100644 doc/refmanual/unique.html create mode 100644 doc/refmanual/unpack-args.html create mode 100644 doc/refmanual/upper-bound.html create mode 100644 doc/refmanual/value-type.html create mode 100644 doc/refmanual/variadic-sequence.html create mode 100644 doc/refmanual/vector-c.html create mode 100644 doc/refmanual/vector.html create mode 100644 doc/refmanual/views.html create mode 100644 doc/refmanual/void.html create mode 100644 doc/refmanual/zip-view.html delete mode 100644 doc/src/acknw.sgml delete mode 100644 doc/src/apply_if.sgml delete mode 100644 doc/src/apply_if2.sgml delete mode 100644 doc/src/articleinfo.sgml delete mode 100644 doc/src/bibliography.sgml delete mode 100644 doc/src/body.sgml delete mode 100644 doc/src/howtos.sgml delete mode 100644 doc/src/if.sgml delete mode 100644 doc/src/lambda.sgml delete mode 100644 doc/src/metafunctions.sgml delete mode 100644 doc/src/preface.sgml delete mode 100644 doc/src/sequences.sgml delete mode 100644 doc/src/technical.sgml delete mode 100644 doc/src/tutorial.sgml create mode 100644 doc/style.css delete mode 100644 doc/tidy_attr.py delete mode 100644 doc/tidy_config create mode 100644 doc/tutorial/acknowledgements.html create mode 100644 doc/tutorial/apply-lambda-semantics.html create mode 100644 doc/tutorial/book_cover.png create mode 100644 doc/tutorial/broken-integral-constant.html create mode 100644 doc/tutorial/changelog-history.html create mode 100644 doc/tutorial/changes-in-boost-1-32-0.html create mode 100644 doc/tutorial/dependencies.html create mode 100644 doc/tutorial/details.html create mode 100644 doc/tutorial/dimensional-analysis.html create mode 100644 doc/tutorial/eti.html create mode 100644 doc/tutorial/exercises.html create mode 100644 doc/tutorial/handling-placeholders.html create mode 100644 doc/tutorial/higher-order.html create mode 100644 doc/tutorial/implementing-addition-and.html create mode 100644 doc/tutorial/implementing-division.html create mode 100644 doc/tutorial/implementing.html create mode 100644 doc/tutorial/incomplete-support-for.html create mode 100644 doc/tutorial/iterator-protocol.html create mode 100644 doc/tutorial/lambda-and-non.html create mode 100644 doc/tutorial/lambda-details.html create mode 100644 doc/tutorial/metafunction-composition.html create mode 100644 doc/tutorial/miscellaneous.html create mode 100644 doc/tutorial/more-lambda-capabilities.html create mode 100644 doc/tutorial/numeric-metafunction.html create mode 100644 doc/tutorial/partial-metafunction.html create mode 100644 doc/tutorial/physical-structure.html create mode 100644 doc/tutorial/placeholder-expression.html create mode 100644 doc/tutorial/placeholders.html create mode 100644 doc/tutorial/portability.html create mode 100644 doc/tutorial/reference-manual.html create mode 100644 doc/tutorial/renaming-cleanup.html create mode 100644 doc/tutorial/representing-dimensions.html create mode 100644 doc/tutorial/representing-quantities.html create mode 100644 doc/tutorial/resources.html create mode 100644 doc/tutorial/tag-dispatching-protocol.html create mode 100644 doc/tutorial/technical-details.html create mode 100644 doc/tutorial/the-apply-metafunction.html create mode 100644 doc/tutorial/the-importance-of-being.html create mode 100644 doc/tutorial/the-lambda-metafunction.html create mode 100644 doc/tutorial/tutorial-metafunctions.html create mode 100644 doc/tutorial/tutorial_toc.html create mode 100644 preprocessed/set/set10_c.cpp create mode 100644 preprocessed/set/set20_c.cpp create mode 100644 preprocessed/set/set30_c.cpp create mode 100644 preprocessed/set/set40_c.cpp create mode 100644 preprocessed/set/set50_c.cpp create mode 100644 preprocessed/src/deque.cpp create mode 100644 preprocessed/src/set_c.cpp create mode 100644 test/deque.cpp create mode 100644 test/empty_sequence.cpp create mode 100644 test/partition.cpp create mode 100644 test/set_c.cpp diff --git a/book/chapter1/binary.hpp b/book/chapter1/binary.hpp new file mode 100755 index 0000000..4c8b724 --- /dev/null +++ b/book/chapter1/binary.hpp @@ -0,0 +1,13 @@ + +#include "boost/mpl/long.hpp" +#include "boost/mpl/alias.hpp" + +template< long n > struct binary + : mpl::long_< ( binary< n / 10 >::value << 1 ) + n % 10 > +{ +}; + +template<> struct binary<0> + : mpl::long_<0> +{ +}; diff --git a/doc/article.css b/doc/article.css deleted file mode 100644 index 7dc14de..0000000 --- a/doc/article.css +++ /dev/null @@ -1,67 +0,0 @@ -div.articletitle -{ - text-align: center; - text-transform: uppercase; -} - -div.authorgroup -{ - text-align: center; -} - -h3.title span.emphasis em -{ - font-style: normal; - text-decoration: underline; -} - -body -{ - background-color: white; - color: black; -} - -sup -{ - font-size: x-small; - font-weight: lighter; -} - -a:link, -a:visited -{ - color: #505050; -} - - sup a:link -,sup a:visited -,a.interlink:link -,a.interlink:visited -{ - color: #505050; - text-decoration: none; -} - -div.biblioentry p -{ - border-style: none none none solid; - border-width: 1px; - border-color: silver; - margin-top: -1em; - padding-left: 0.5em; - padding-top: 0.25em; -} - -div.footnote p -{ - margin-bottom: -0.5em; -} - -pre.programlisting -{ - - border-style: none none none solid; - border-width: 1px; - border-color: silver; - padding-left: 1em; -} diff --git a/doc/index.html b/doc/index.html index e645f01..05ea5b9 100644 --- a/doc/index.html +++ b/doc/index.html @@ -1,495 +1,75 @@ - - + + + - + + THE BOOST MPL LIBRARY - - + + - -
-
-
- -
-

THE BOOST MPL LIBRARY

-
-
-
- -
-

Table of Contents

- + + + www.boost.org + +

THE BOOST MPL LIBRARY

+ +++ + + + + + +
Copyright:Copyright © Aleksey Gurtovoy and David Abrahams, 2002-2004.
License:Distributed under the Boost Software License, Version 1.0. (See +accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt)
+
+

The Boost.MPL library is a general-purpose, high-level C++ +template metaprogramming framework of compile-time algorithms, sequences and +metafunctions. It provides a conceptual foundation and an extensive +set of powerful and coherent tools that make doing explict metaprogramming +in C++ as easy and enjoyable as possible within the current language.

+

There are several places to start when getting familiar with the library, +depending on what your know about metaprogramming in general and +C++ template metaprogramming in particular. Starting with +Boost version 1.32, the MPL comes with both an in-depth tutorial on its +fundamental concepts and an annotated reference manual covering all concepts +and components in the library. While the tutorial +only uncovers a bit of what there is to C++ metaprogramming and the MPL, +it's a perfect place to start if you are only somewhat familiar with the +subject. At the very least, after you're done with it, you will be able to put +the rest of the stuff that appears here into context. The reference manual +is the resource for you if you plan — or are already doing — some actual +development with the library, but a casual reading is still allowed and likely +to bring many insights on the framework's organization and underlying +ideas. Finally, the top-level sections in this document that you +see highlighted below might also offer something of interest.

+

So, welcome, and happy metaprogramming!

-
1. Preface
- -
2. Sources
- -
3. Mini-tutorial
- -
-
-
3.1. Conventions used
- -
3.2. Metafunctions
- -
3.3. Compile-time if
- -
3.4. apply_if
- -
3.5. apply_if, part 2
+
Important:
+
There have been some major interface changes in the library since the last +public release, many of which are not backward compatible. If you are +a seasoned MPL user, be prepared to have to modify your code after +upgrading. Please refer to the 1.32 release changelog +for the detailed information about the changes.
-
- -
4. Technical details
- -
-
-
4.1. Physical structure
- -
4.2. Dependencies
- -
4.3. Portability
-
-
- -
5. Acknowledgements
- -
Bibliography
-
-
- -
-
-
-

1. Preface

-
-
- -

The MPL library is a C++ template metaprogramming framework of compile-time algorithms, sequences and metafunction classes. The two main documentation sources for the library is “the MPL paper”, and the library's reference documentation. If you haven't heard about the MPL before, we suggest you to start with the paper, and then move on to the reference documentation and the information in this document.

- - -
- -
-
-
-

2. Sources

-
-
- -

The latest library sources are available from the main trunk of the Boost CVS. Boost 1.30.0 distribution contains a stable version of the library as per March 12, 2003.

-
- -
-
-
-

3. Mini-tutorial

-
-
- -
-
-
-

3.1. Conventions used

-
-
- -

The examples used through this tutorial use fully qualified names, e.g. std::vector instead of plain vector. Any unqualified name refers to a local entity defined in the example itself. The names from boost::mpl namespace are referred to using mpl namespace alias (e.g. mpl::apply instead of boost::mpl::apply), as if the following namespace alias definition were in effect:

- -
-namespace mpl = boost::mpl;
-
- -

Note that the library offers a special header, boost/mpl/alias.hpp, including which gives you a rough equivalent of the above. Alternatively, you can always spell the namespace alias definition manually in each translation unit as needed (if you choose to use the shorter namespace notation at all).

-
- -
-
-
-

3.2. Metafunctions

-
-
- -

In MPL, the metaprogramming equivalent of a function is a class template containing a nested typedef member aptly named “type”:

- -
-// on the face of it, not very useful
-template< typename T >
-struct identity 
-{
-    typedef T type;
-};
-
-// perhaps more useful
-template< typename T >
-struct result_type 
-{
-    typedef typename T::result_type type;
-};
-
- -

“Invoking” a metafunction is as simple as instantiating the class template with particular template parameters (metafunction “arguments”) and accessing the result through the nested type member:

- -
-typedef identity<int>::type t1; // t1 == int
-typedef result_type< std::unary_function<int,bool> >::type t2; // t2 == bool
-
-
- -
-
-
-

3.3. Compile-time if

-
-
- -

The most interesting template metaprograms often contain a lot of decision-making code. Some of conditional decisions/behavior can be handled directly by (partial) class template specialization or function overloading [Vel95a], [Ale00], but in general there is a need for a standalone library primitive that would allow one to choose between two types basing on a compile-time expression. In boost::mpl such primitive is called if_:

- -
-template< typename T >
-struct heap_holder
-{
- // ... 
- private:
-    boost::scoped_ptr<T> m_object;
-};
-
-template< typename T >
-struct stack_holder
-{
- // ... 
- private:
-    T m_object;
-};
-
-template< typename T >
-struct can_be_on_stack
-    : mpl::bool_c< (sizeof(T) <= sizeof(double)) >
-{
-};
-
-// use 'if_' to choose where to store 'T' member
-template< typename T >
-struct lightweight
-   : private mpl::if_<
-          can_be_on_stack<T>
-        , stack_holder<T>
-        , heap_holder<T>
-        >::type
-{
-   // ...
-};
-
- -

Note that the first template parameter of the if_ template is a type that should be a model of Integral Constant concept. The library also provides a less generic but sometimes more convenient form that accepts a condition in form of non-type bool template parameter:

- -
-template< typename T >
-struct lightweight
-   : private mpl::if_c<
-          (sizeof(T) <= sizeof(double))
-        , stack_holder<T>
-        , heap_holder<T>
-        >::type
-{
-   // ...
-};
-
-
- -
-
-
-

3.4. apply_if

-
-
- -

In run-time C++, it is guaranteed that when we reach an if statement, only one branch will be executed. Executing the branch for which the result is not required would be unnecessary and inefficient. More importantly, frequently the non-required branch is invalid, and executing it would cause an error. For instance, the following code would be badly broken if both branches of the statement were evaluated:

- -
-void fun(giraffe* g)
-{
-    if (g)
-        cout << g->name();
-    else
-        cout << "no giraffe";
-}
-
- -

In compile-time world, things are different. Which parameters to if_ template are instantiated is determined by the form of each template parameter and the corresponding language rules ([ISO98], section 14.7.1), not by the value of the compile-time expression being switched on. That means that if, in attempt to process a particular if_ construct, the compiler determines that one of its “branch” template parameters is ill-formed, it will issue a diagnostics even if the value of compile-time expression would lead to “choosing” the other, valid parameter type.

- -

To clarify what we just said, here is a broken first attempt at writing a pointed_type metafunction, that when instantiated for a T that is either a plain pointer or a smart pointer, “returns” the pointed type:

- -
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , typename boost::remove_pointer<T>::type
-        , typename T::element_type // #1
-        >::type type;
-};
-
-typedef pointed_type< std::auto_ptr<int> >::type int_ptr; // ok
-typedef pointed_type<char*>::type char_ptr; // error in line #1!
-
- -

If we try to compile the above, we will get something like this:

- -
-Error: name followed by "::" must be a class or namespace name
-
- -

because the expression typename T::element_type is not valid in case of T == char*.

- -

Here's what we need to do to make pointed_type work for plain pointers: 1 instead of instantiating our two potential results before passing them to if_, we need to write metafunctions that can be used to instantiate the results; then we can use if_ to choose a metafunction, and only then should we use that function to get the result.

- -

boost::remove_pointer already is a metafunction. We just need to write an auxiliary function to return the element_type of a pointer type:

- -
-namespace aux {
-template< typename T >
-struct element_type
-{
-     typedef typename T::element_type type;
-};
-}
-
- -

Now we can select the metafunction to call based on the result of boost::is_pointer, and then apply it to form the result:

- -
-template< typename T >
-struct pointed_type
-{
- private:
-    // pick a metafunction
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type func_; // #1
-
- public:
-    // apply the metafunction
-    typedef typename func_::type type;
-};
-
- -

The key knowledge that makes the above viable is that in line #1 the compiler is guaranteed not to instantiate boost::remove_pointer<T> and aux::element_type<T> templates, - even although they are passed as actual arguments to the if_.

- -

The described technique is so common in template metaprograms, that it makes sense to facilitate the selection of the nested type member by introducing a high level equivalent to if_ that will do func_::type operation as a part of its invocation. The MPL provides such a template - it's called apply_if. Using it, we can re-write the above code as simply as:

- -
-[
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::apply_if<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type type;
-};
-
-
- -
-
-
-

3.5. apply_if, part 2

-
-
- -

Besides solving the “making the code compile” problem, the apply_if technique we've just learned can be also used to improve metaprogram efficiency.

- -

Suppose we want to define a high-level wrapper around boost::remove_pointer traits template, which will strip the pointer qualification conditionally. We will call it remove_pointer_if:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::if_<
-          Condition
-        , typename boost::remove_pointer<T>::type
-        , T
-        >::type type;
-};
-
- -

The above works the first time, but it's not the most optimal implementation. Similar to our previous examples, boost::remove_pointer<T> gets instantiated even if its result is never used. In the metaprogramming world compilation time is an important resource [Abr01], and it is wasted by unnecessary template instantiations.

- -

Let's see what we need to substitute if_ by apply_if here. We already have one metafunction to pass to apply_if - boost::remove_pointer<T>, but we need a second one, - let's call it f, - such as f<T>::type == T. We could write this one ourselves, but fortunately MPL already provides us with a template that matches this exact definition - it's called identity. Applying this knowledge, we get:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::apply_if<
-          Condition
-        , boost::remove_pointer<T>
-        , mpl::identity<T>
-        >::type type;
-};
-
-
-
- -
-
-
-

4. Technical details

-
-
- -
-
-
-

4.1. Physical structure

-
-
- -

The library provides you with a fine-grained header structure with one header per public component (class/function template), with the header named after the component; for example, boost::mpl::apply<> template is defined in the header boost/mpl/apply.hpp. This scheme both ensures that you don't pay for what you don't use in terms of compilation time/header dependencies, and frees you from memorizing/looking up header/component correspondence. Several composite headers for the entities that are likely to be used together (e.g. logical operations - logical_or, logical_and, etc.) are also provided. It allows one to avoid the burden of spelling many #include directives in programs that make an intensive use of the library facilities. 2

-
- -
-
-
-

4.2. Dependencies

-
-
- -

Besides boost/config.hpp header, the MPL heavily depends on two other Boost libraries - the Boost Preprocessor library [PRE], and the Type Traits library [TTL]. These dependencies are essential and cannot be eliminated. In addition to those, the boost/mpl/assert.hpp header depends on Boost Static Assert library [SAL]. The library tests and examples may depend on some additional Boost libraries, e.g. Boost Bind [BBL]; you don't have to have those unless you are interested in actually compiling the tests/examples (probably you are, though).

-
- -
-
-
-

4.3. Portability

-
-
- -

Below is the list of compilers the library has been tested with:

- -
-
    -
  • Microsoft Visual C++ 6.0, SP 5
  • - -
  • Microsoft Visual C++ .NET (7.0)
  • - -
  • Metrowerks CodeWariror 7.2/8.1
  • - -
  • Intel C++ Compiler 5.0, 6.0
  • - -
  • GCC 2.95.3-5
  • - -
  • GCC 3.1
  • - -
  • Comeau C/C++ 4.2.45/4.3.0
  • - -
  • Borland C++ 5.5.1
  • -
-
- -

An incomplete matrix of recent test compilation results is available from here - http://www.mywikinet.com/mpl/log.html.

-
-
- -
-
-
-

5. Acknowledgements

-
-
- -

Following is a list of people who in one or another way contributed to the library development. The list is work in progress!

- -

David Abrahams, Emily Winch, Eric Friedman, Vesa Karvonen, Peter Dimov, Mat Marcus, Fernando Cacciola, Paul Mensonides, David B. Held, John Bandela, Arnaldur Gylfason, Hamish Mackenzie.

- -

Copyright on this document. Copyright © 2002 Aleksey Gurtovoy, David Abrahams and Emily Winch.

-
- -
-
-
-

Bibliography

-
-
- -
-

[Abr01] David Abrahams and Carlos Pinto Coelho, Effects of Metaprogramming Style on Compilation Time, 2001

-
- -
-

[Ale00] Andrei Alexandrescu, On Conversions between Types and Values, C/C++ Users Journal, October 2000

-
- -
-

[BBL] Boost Bind library, http://www.boost.org/libs/bind/bind.html

-
- -
-

[ISO98] ISO/IEC 14882:1998(E), Programming languages — C++, ISO/IEC, 1998

-
- -
-

[PRE] Vesa Karvonen, Boost Preprocessor Metaprogramming library, http://www.boost.org/libs/preprocessor/doc/

-
- -
-

[TTL] Boost Type Traits library, http://www.boost.org/libs/type_traits/

-
- -
-

[SAL] Boost Static Assert library, http://www.boost.org/libs/static_assert/static_assert.htm

-
- -
-

[Vel95a] Todd Veldhuizen, Using C++ template metaprograms, C++ Report, SIGS Publications Inc., ISSN 1040-6042, Vol. 7, No. 4, pp. 36-43, May 1995

-
-
- -

-
-
-

1 It would be easy to implement pointed_type using partial specialization to distinguish the case where T is a pointer. if_ is used here to avoid creating a complicated example.

-
- -
-

2 The Boost Preprocessor library [PRE] exposes a very similar physical organization; in fact, the libraries even share the common subdirectory naming (mpl/arithmetic <-> preprocessor/arithmetic, mpl/comparison <-> preprocessor/comparison, etc.).

-
-
+ + - diff --git a/doc/msxsl_build.bat b/doc/msxsl_build.bat deleted file mode 100755 index 8d5ef47..0000000 --- a/doc/msxsl_build.bat +++ /dev/null @@ -1,15 +0,0 @@ -@echo off - -if "%3" == "" goto usage - -sx -x lower -x empty %2 >%3.xml -msxsl.exe %3.xml ..\..\..\..\..\docbook-xsl-1.50.0\html\my\%1 -o %3 -del %3.xml -tidy.exe -config tidy_config -m %3 -python tidy_attr.py %3 -exit - -:usage -echo Usage examples: -echo msxsl_build.bat docbook_msxsl.xsl src\body.sgml index.html -echo msxsl_build.bat docbook_msxsl.xsl paper\src\body.sgml paper\mpl_paper.html diff --git a/doc/paper/article.css b/doc/paper/article.css deleted file mode 100644 index dc41d0b..0000000 --- a/doc/paper/article.css +++ /dev/null @@ -1,87 +0,0 @@ -div.articletitle -{ - text-align: center; - text-transform: uppercase; -} - -div.authorgroup -{ - text-align: center; -} - -h3.title span.emphasis em -{ - font-style: normal; - text-decoration: underline; -} - -body -{ - background-color: white; - color: black; -} - -sup -{ - font-size: x-small; - font-weight: lighter; -} - -a:link -,a:visited -{ - color: #505050; -} - - sup a:link -,sup a:visited -,a.interlink:link -,a.interlink:visited -{ - color: #505050; - text-decoration: none; -} - -div.biblioentry p -{ - border-style: none none none solid; - border-width: 1px; - border-color: silver; - margin-top: -1em; - padding-left: 0.5em; - padding-top: 0.25em; -} - -div.footnote p -{ - margin-bottom: -0.5em; -} - -div.table table -{ - border: solid; - border-width: 1px; - border-color: silver; -} - -div.table table tr th -{ - background-color: #f0f0f0; - padding-left: 1em; - padding-right: 1em; -} - -div.table table tr td -{ - padding-left: 1em; - padding-right: 1em; -} - -pre.programlisting -{ - - border-style: none none none solid; - border-width: 1px; - border-color: silver; - padding-left: 1em; -} diff --git a/doc/paper/html/acknowl.html b/doc/paper/html/acknowl.html deleted file mode 100644 index 16f7a65..0000000 --- a/doc/paper/html/acknowl.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - -6. Acknowledgements - - - - - - - - - - - -
-
-
-

6. Acknowledgements

-
-
- -

Peter Dimov contributed the bind functionality without which compile-time lambda expressions wouldn't have been possible. The MPL implementation would have been much more difficult without Vesa Karvonen's wonderful Boost Preprocessor Metaprogramming Library. Authors are also greatly indebted to David B. Held who kindly volunteered to thoroughly edit this document. Of course, any remaining errors are exclusively ours.

-
- - - - - diff --git a/doc/paper/html/article.css b/doc/paper/html/article.css deleted file mode 100644 index 7c183ea..0000000 --- a/doc/paper/html/article.css +++ /dev/null @@ -1,82 +0,0 @@ -div.articletitle -{ - text-align: center; - text-transform: uppercase; -} - -div.authorgroup -{ - text-align: center; -} - -h3.title span.emphasis em -{ - font-style: normal; - text-decoration: underline; -} - -body -{ - background-color: white; - color: black; -} - -sup -{ - font-size: x-small; - font-weight: lighter; -} - -a:link -,a:visited -{ - color: #505050; -} - - sup a:link -,sup a:visited -,a.interlink:link -,a.interlink:visited -{ - color: #505050; - text-decoration: none; -} - -div.biblioentry p -{ - border-style: none none none solid; - border-width: 1px; - border-color: silver; - margin-top: -1em; - padding-left: 0.5em; - padding-top: 0.25em; -} - -div.table table -{ - border: solid; - border-width: 1px; - border-color: silver; -} - -div.table table tr th -{ - background-color: #f0f0f0; - padding-left: 1em; - padding-right: 1em; -} - -div.table table tr td -{ - padding-left: 1em; - padding-right: 1em; -} - -pre.programlisting -{ - - border-style: none none none solid; - border-width: 1px; - border-color: silver; - padding-left: 1em; -} diff --git a/doc/paper/html/codegeneration.html b/doc/paper/html/codegeneration.html deleted file mode 100644 index ca0e68f..0000000 --- a/doc/paper/html/codegeneration.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - -4. Code generation facilities - - - - - - - - - - - -
-
-
-

4. Code generation facilities

-
-
- -

There are cases, especially in the domain of numeric computation, when one wants to perform some part of the calculations at compile-time, and then pass the results to a run-time part of the program for further processing. For example, suppose one has implemented a complex compile-time algorithm that works with fixed-point arithmetic:

- -
-// fixed-point algorithm input
-typedef mpl::vector<
-      mpl::fixed_c<-1,2345678>
-    , mpl::fixed_c<9,0001>
-    // ..
-    , mpl::fixed_c<3,14159>
-    > input_data;
-
-/*
-  complex compile-time algorithm 
-*/
-typedef /*...*/ result_data;
-
- -

Suppose the result_data here is a sequence of mpl::fixed_c types that keeps the results of the algorithm, and now one wishes to feed that result to the run-time part of the algorithm. With MPL she can do this:

- -
-double my_algorithm()
-{
-    // passing the results to the run-time part of the program
-    std::vector<double> results;
-    results.reserve(mpl::size<result_data>::value);
-    mpl::for_each<numbers,_>(
-          boost::bind(&std::vector<double>::push_back, &results, _1)
-        );
-    // ...
-}
-
- -

The for_each<numbers,_>(...) call is what actually transfers the compile-time result_data into run-time results. for_each is a function template declared as:

- -
-template<
-      typename Seq
-    , typename TransformOp
-    , typename F
-    >
-void for_each(F f)
-{
-    // ...
-}
-
- -

To call the function, one is required to explicitly provide two actual template parameters, a compile-time sequence Seq and a unary transformation metafunction TransformOp, plus a run-time function argument f (in our example, numbers, _, and boost::bind(...) correspondingly). f is a function object which operator() is called for every element in the Seq tranfromed by TransformOp.

- -

Applying this to our example, the

- -
-mpl::for_each<numbers,_>(
-      boost::bind(&std::vector<double>::push_back, &results, _1)
-    );
-
- -

call is roughly equivalent to this:

- -
-f(mpl::apply< _,mpl::at_c<result_data,0>::type >::type());
-f(mpl::apply< _,mpl::at_c<result_data,1>::type >::type());
-// ...
-f(mpl::apply< _,mpl::at_c<result_data,n>::type >::type());
-
- -

where n == mpl::size<result_data>::type::value.

-
- - - - - diff --git a/doc/paper/html/example.html b/doc/paper/html/example.html deleted file mode 100644 index 356fe10..0000000 --- a/doc/paper/html/example.html +++ /dev/null @@ -1,325 +0,0 @@ - - - - -5. Example: a compile-time FSM generator - - - - - - - - - - - -
-
-
-

5. Example: a compile-time FSM generator

-
-
- -

Finite state machines (FSMs) are an important tool for describing and implementing program behavior [HU79], [Mar98]. They also are a good example of a domain in which metaprogramming can be applied to reduce the amount of repetitive and boilerplate operations one must perform in order to implement these simple mathematical models in code. Below we present a simple state machine generator that has been implemented using Boost Metaprogramming Library facilities. The generator takes a compile-time automata description, and converts it into C++ code that implements the FSM at run-time.

- -

The FSM description is basically a combination of states and events plus a state transition table (STT), which ties them all together. The generator walks through the table and generates the state machine's process_event method that is the essence of an FSM.

- -

Suppose we want to implement a simple music player using a finite state machine model. The state transition table for the FSM is shown in Table 1. The STT format reflects the way one usually describes the behavior of an FSM in plain English. For example, the first line of the table can be read as follows: ‘If the model is in the stopped state and the play_event is received, then the do_play transition function is called, and the model transitions to the playing state’.

- -
- ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StateEventNext stateTransition function
stoppedplay_eventplayingdo_play
playingstop_eventstoppeddo_stop
playingpause_eventpauseddo_pause
pausedplay_eventplayingdo_resume
pausedstop_eventstoppeddo_stop
- -

Table 1. Player's state transition table with actions

-
- -

The transition table provides us with a complete formal definition of the target FSM, and there are several ways to transform that definition into code. For instance, if we define states as members of an enumeration type, and events as classes derived from some base event class 10 , like so:

- -
-class player
-{
- public:
-    // event declarations
-    struct event;
-    struct play_event;
-    struct stop_event;
-    struct pause_event;
-
-    // "input" function
-    void process_event(event const&); // throws
-
- private:
-    // states
-    enum state_t { stopped, playing, paused };
-
-    // transition functions
-    void do_play(play_event const&);
-    void do_stop(stop_event const&);
-    void do_pause(pause_event const&);
-    void do_resume(play_event const&);
-
- private:
-    state_t m_state;
-};
-
- -

then the most straightforward way to derive the FSM implementation from the above table would be something like this:

- -
-void player::process_event(event const& e)
-{
-    if (m_state == stopped)
-    {
-        if (typeid(e) == typeid(play_event))
-        {
-            do_play(static_cast<play_event const&>(e));
-            m_state = playing;
-            return;
-        }
-    }
-    else if (m_state == playing)
-    {
-        if (typeid(e) == typeid(stop_event))
-        {
-            do_stop(static_cast<stop_event const&>(e));
-            m_state = stopped;
-            return;
-        }
-
-        if (typeid(e) == typeid(pause_event))
-        {
-            do_pause(static_cast<pause_event const&>(e));
-            m_state = paused;
-            return;
-        }
-    }
-    else if (m_state == paused)
-    {
-        if (typeid(e) == typeid(stop_event))
-        {
-            do_stop(static_cast<stop_event const&>(e));
-            m_state = stopped;
-            return;
-        }
-
-        if (typeid(e) == typeid(play_event))
-        {
-            do_play(static_cast<play_event const&>(e));
-            m_state = playing;
-            return;
-        }
-    }
-    else
-    {
-        throw logic_error(
-            boost::format("unknown state: %d")
-                % static_cast<int>(m_state)
-            );
-    }
-
-    throw std::logic_error(
-        "unexpected event: " + typeid(e).name()
-        );
-}
-
- -

Although there is nothing particularly wrong with implementing an FSM's structure using nested if (or switch-case) statements, the obvious weakness of this approach is that most of the above code is boilerplate. What one tends to do with boilerplate code is to copy and paste it, then change names etc. to adjust it to its new location; and that's where the errors are most likely to creep in. Since all the lines of event processing look alike (structurally), it's very easy to overlook or forget something that needs to be changed, and many such errors won't appear until the runtime.

- -

The transition table of our FSM is just five lines long; ideally, we would like the skeleton implementation of the automata's controlling logic to be equally short (or, at least, to look equally short, i.e. to be encapsulated in some form so we never worry about it).

- -
-
-
-

5.1. Implementation

-
-
- -

To represent the STT in a C++ program, we define a transition class template that represents a single line of the table. Then the table itself can be represented as a sequence of such lines:

- -
-typedef mpl::list<
-      transition<stopped, play_event,  playing, &player::do_play>
-    , transition<playing, stop_event,  stopped, &player::do_stop>
-    , transition<playing, pause_event, paused,  &player::do_pause>
-    , transition<paused,  play_event,  playing, &player::do_resume>
-    , transition<paused,  stop_event,  stopped, &player::do_stop>
-    >::type transition_table;
-
- -

Now, the complete FSM will look like this:

- -
-class player
-    : state_machine<player>
-{
- private:
-    typedef player self_t;
-
-    // state invariants
-    void stopped_state_invariant();
-    void playing_state_invariant();
-    void paused_state_invariant();
-
-    // states (invariants are passed as non-type template arguments,
-    // and are called then the FSM enters the corresponding state)
-    typedef state<0, &self_t::stopped_state_invariant> stopped;
-    typedef state<1, &self_t::playing_state_invariant> playing;
-    typedef state<2, &self_t::paused_state_invariant> paused;
-
- private:
-    // event declarations; events are represented as types, 
-    // and can carry a specific data for each event;
-    // but it's not needed for generator, so we define them later
-    struct play_event;
-    struct stop_event;
-    struct pause_event;
-
-    // transition functions
-    void do_play(play_event const&);
-    void do_stop(stop_event const&);
-    void do_pause(pause_event const&);
-    void do_resume(play_event const&);
-
-    // STT
-    friend class state_machine<player>;
-    typedef mpl::list<
-          transition<stopped, play_event,  playing, &player::do_play>
-        , transition<playing, stop_event,  stopped, &player::do_stop>
-        , transition<playing, pause_event, paused,  &player::do_pause>
-        , transition<paused,  play_event,  playing, &player::do_resume>
-        , transition<paused,  stop_event,  stopped, &player::do_stop>
-        >::type transition_table;
-};
-
- -

That's all - the above will generate a complete FSM implementation according to our specification. The only thing we need before using it is the definition of the event types (that were just forward declared before):

- -
-// event definitions
-struct player::play_event
-    : player::event
-{
-};
-
-// ...
-
- -

The usage is simple as well:

- -
-int main()
-{
-    // usage example
-    player p;
-    p.process_event(player::play_event());
-    p.process_event(player::pause_event());
-    p.process_event(player::play_event());
-    p.process_event(player::stop_event());
-    return 0;
-}
-
-
- -
-
-
-

5.2. Related work

-
-
- -

A notable prior work in the field of automation of general-purpose state machine implementation in C++ is the Robert Martin's State Machine Compiler [SMC]. The SMC takes an ASCII description of the machine's state transition table and produces C++ code that implements the FSM using a variation of State design pattern [Hun91], [GHJ+95]. Lafreniere [Laf00] presents another approach, where no external tools are used, and the FSMs are table driven.

-
- -

-
-
-

10The events need to be passed to action functions, as they may contain some event-specific information for an action.

-
-
-
- - - - - diff --git a/doc/paper/html/index.html b/doc/paper/html/index.html deleted file mode 100644 index 0ba8e90..0000000 --- a/doc/paper/html/index.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - -The Boost C++ Metaprogramming Library - - - - - - - - - -
-
-
-
-

The Boost C++ Metaprogramming Library

-
-
- -
-
-

Aleksey Gurtovoyi and David Abrahamsii

- -
iMetaCommunications, agurtovoy@meta-comm.com
- -
iiBoost Consulting, david.abrahams@rcn.com
-
-
- -
-
-

Abstract

- -

This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-time framework of algorithms, sequences and metafunction classes. The library brings together important abstractions from the generic and functional programming worlds to build a powerful and easy-to-use toolset which makes template metaprogramming practical enough for the real-world environments. The MPL is heavily influenced by its run-time equivalent - the Standard Template Library (STL), a part of the C++ standard library [STL94], [ISO98]. Like the STL, it defines an open conceptual and implementation framework which can serve as a foundation for future contributions in the domain. The library's fundamental concepts and idioms enable the user to focus on solutions without navigating the universe of possible ad-hoc approaches to a given metaprogramming problem, even if no actual MPL code is used. The library also provides a compile-time lambda expression facility enabling arbitrary currying and composition of class templates, a feature whose runtime counterpart is often cited as missing from the STL. This paper explains the motivation, usage, design, and implementation of the MPL with examples of its real-life applications, and offers some lessons learned about C++ template metaprogramming.

-
-
- -
-
-

Keywords: template metaprogramming, generic programming, programming languages, C++, STL, type systems, polymorphism, compile-time

-
-
-
- - -
- - - - - diff --git a/doc/paper/html/intro.html b/doc/paper/html/intro.html deleted file mode 100644 index 1ad5c03..0000000 --- a/doc/paper/html/intro.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - -1. Introduction - - - - - - - - - - - -
-
-
-

1. Introduction

-
-
- -

Metaprogramming is usually defined as the creation of programs which generate other programs. Parser generators such as YACC [Joh79] are examples of one kind of program-generating program. The input language to YACC is a context-free grammar in Extended Backus-Naur Form [EBNF], and its output is a program which parses that grammar. Note that in this case the metaprogram (YACC) is written in a language (C) which does not directly support the description of generated programs. These specifications, which we'll call metadata, are not written in C, but in a meta-language. Because the the rest of the user's program typically requires a general-purpose programming system and must interact with the generated parser, the metadata is translated into C, which is then compiled and linked together with the rest of the system. The metadata thus undergoes two translation steps, and the user is always very conscious of the boundary between her metadata and the rest of her program.

- -
-
-
-

1.1. Native language metaprogramming

-
-
- -

A more interesting form of metaprogramming is available in languages such as Scheme [SS75], where the generated program specification is given in the same language as the metaprogram itself. The metaprogrammer defines her meta-language as a subset of the expressible forms of the underlying language, and program generation can take place in the same translation step used to process the rest of the user's program. This allows users to switch transparently between ordinary programming, generated program specification, and metaprogramming, often without being aware of the transition.

-
- -
-
-
-

1.2. Metaprogramming in C++

-
-
- -

In C++, it was discovered almost by accident [Unr], [Vel95a] that the template mechanism provides a rich facility for computation at compile-time. In this section, we'll explore the basic mechanisms and some common idioms used for metaprogramming in C++.

- -
-
-
-

1.2.1. Numeric computations

-
-
- -

The availability of non-type template parameters makes it possible to perform integer computations at compile-time. For example, the following template computes the factorial of its argument:

- -
-template< unsigned n >
-struct factorial
-{
-    static const unsigned value = n * factorial<n-1>::value;
-};
-
-template<>
-struct factorial<0>
-{
-    static const unsigned value = 1;
-};
-
- -

The program fragment above is called a metafunction, and it is easy to see its relationship to a function designed to be evaluated at runtime: the ‘metafunction argument’ is passed as a template parameter, and its ‘return value’ is defined as a nested static constant. Because of the hard line between the expression of compile-time and runtime computation in C++, metaprograms look different from their runtime counterparts. Thus, although as in Scheme the C++ metaprogrammer writes her code in the same language as the ordinary program, only a subset of the full C++ language is available to her: those expressions which can be evaluated at compile-time. Compare the above with a straightforward runtime definition of the factorial function:

- -
-unsigned factorial(unsigned N)
-{
-    return N == 0 ? 1 : N * factorial(N - 1);
-}
-
- -

While it is easy to see the analogy between the two recursive definitions, recursion is in general more important to C++ metaprograms than it is to runtime C++. In contrast to languages such as Lisp where recursion is idiomatic, C++ programmers will typically avoid recursion when possible. This is done not only for efficiency reasons, but also because of ‘cultural momentum’: recursive programs are simply harder (for C++ programmers) to think about. Like pure Lisp, though, the C++ template mechanism is a functional programming language: as such it rules out the use of data mutation required to maintain loop variables.

- -

A key difference between the runtime and compile-time factorial functions is the expression of the termination condition: our meta-factorial uses template specialization as a kind of pattern-matching mechanism to describe the behavior when N is zero. The syntactic analogue in the runtime world would require two separate definitions of the same function. In this case the impact of the second definition is minimal, but in large metaprograms the cost of maintaining and understanding the terminating definitions can become significant.

- -

Note also that a C++ metafunction's return value must be named. The name chosen here, value, is the same one used for all numeric returns in the MPL. As we'll see, establishing a consistent naming convention for metafunction returns is crucial to the power of the library.

-
- -
-
-
-

1.2.2. Type computations

-
-
- -

How could we apply our factorial metafunction? We might, for example, produce an array type of an appropriate size to hold all permutations of instances of another type:

- -
-// permutation_holder<T>::type is an array type which can contain 
-// all permutations of a given T.
-
-// unspecialized template for scalars
-template< typename T >
-struct permutation_holder
-{
-    typedef T type[1][1];
-};
-
-// specialization for array types
-template< typename T, unsigned N >
-struct permutation_holder<T[N]>
-{
-    typedef T type[factorial<N>::value][N];
-};
-
- -

Here we have introduced the notion of a type computation. Like factorial above, permutation_holder template is a metafunction. However, where factorial manipulates unsigned integer values, permutation_holder accepts and ‘returns’ a type (as the nested typedef type). Because the C++ type system provides a much richer set of expressions than anything we can use as a nontype template argument (e.g. the integers), C++ metaprograms tend to be composed mostly of type computations.

-
- -
-
-
-

1.2.3. Type sequences

-
-
- -

The ability to programmatically manipulate collections of types is a central tool of most interesting C++ metaprograms. Because this capability is so well-supported by the MPL, we'll provide just a brief introduction to the basics here. Later on, we'll revisit the example below to show how it can be implemented using MPL.

- -

First, we'd need a way to represent the collection. One idea might be to store the types in a structure:

- -
-struct types
-{
-    int t1;
-    long t2;
-    std::vector<double> t3;
-};
-
- -

Unfortunately, this arrangement is not susceptible to the compile-time type introspection power that C++ gives us: there's no way to find out what the names of the members are, and even if we assume that they're named according to some convention as above, there's no way to know how many members there are. The key to solving this problem is to increase the uniformity of the representation. If we have a consistent way to get the first type of any sequence and the rest of the sequence, we can easily access all members:

- -
-template< typename First, typename Rest >
-struct cons
-{
-    typedef First first;
-    typedef Rest rest;
-};
-
-struct nil {};
-
-typedef
-      cons<int
-    , cons<long
-    , cons<std::vector<double>
-    , nil
-    > > > my_types;
-
- -

The structure described by types above is the compile-time analogue of a singly-linked list; it has been first introduced by Czarnecki and Eisenecker in [CE98]. Now that we've adjusted the structure so that the C++ template machinery can ‘peel it apart’, let's examine a simple metafunction which does so. Suppose a user wished to find the largest of an arbitrary collection of types. We can apply the recursive metafunction formula which should by now be familiar:

- -
-

Example 1. 'largest' metafunction

- -
-// choose the larger of two types
-template<
-      typename T1
-    , typename T2
-    , bool choose1 = (sizeof(T1) > sizeof(T2)) // hands off!
-    >
-struct choose_larger
-{
-    typedef T1 type;
-};
-
-// specialization for the case where sizeof(T2) >= sizeof(T1)
-template< typename T1, typename T2 >
-struct choose_larger< T1,T2,false >
-{
-    typedef T2 type;
-};
-
-// get the largest of a cons-list
-template< typename T > struct largest;
-
-// specialization to peel apart the cons list
-template< typename First, typename Rest >
-struct largest< cons<First,Rest> >
-    : choose_larger< First, typename largest<Rest>::type >
-{
-    // type inherited from base
-};
-
-// specialization for loop termination
-template< typename First >
-struct largest< cons<First,nil> >
-{
-    typedef First type;
-};
-
-int main()
-{
-    // print the name of the largest of my_types
-    std::cout
-        << typeid(largest<my_types>::type).name()
-        << std::endl
-        ;
-}
-
-
- -

There are several things worth noticing about this code:

- -
-
    -
  • -

    It uses a few ad-hoc, esoteric techniques, or ‘hacks’. The default template argument choose1 (labeled ‘hands off!’) is one example. Without it, we would have needed yet another template to provide the implementation of choose_larger, or we would have had to provide the computation explicitly as a parameter to the template - perhaps not bad for this example, but it would make choose_larger much less useful and more error-prone. The other hack is the derivation of a specialization of largest from choose_larger. This is a code-saving device which allows the programmer to avoid writing ‘typedef typename ...::type type’ in the template body.

    -
  • - -
  • -

    Even this simple metaprogram uses three separate partial specializations. The largest metafunction uses two specializations. One might expect that this indicates there are two termination conditions, but there are not: one specialization is needed simply to deal with access to the sequence elements. These specializations make the code difficult to read by spreading the definition of a single metafunction over several C++ template definitions. Also, because they are partial specializations, they make the code unusable for a large community of C++ programmers whose compilers don't support that feature.

    -
  • -
-
- -

While these techniques are, of course, a valuable part of the arsenal of any good C++ metaprogrammer, their use tends to make programs written in what is already an unusual style harder-to-read and harder-to-write. By encapsulating commonly-used structures and dealing with loop terminations internally, the MPL reduces the need for both tricky hacks and for template specializations.

-
-
- -
-
-
-

1.3. Why metaprogramming?

-
-
- -

It's worth asking why anyone would want to do this. After all, even a simple toy example like the factorial metafunction is somewhat esoteric. To show how the type computation can be put to work, let's examine a simple example. The following code produces an array containing all possible permutations of another array:

- -
-// can't return an array in C++, so we need this wrapper
-template< typename T >
-struct wrapper
-{
-    T x;
-};
-
-// return an array of the N! permutations of 'in'
-template< typename T >
-wrapper< typename permutation_holder<T>::type >
-all_permutations(T const& in)
-{
-    wrapper<typename permutation_holder<T>::type> result;
-
-    // copy the unpermutated array to the first result element
-    unsigned const N = sizeof(T) / sizeof(**result.x);
-    std::copy(&*in, &*in + N, result.x[0]);
-
-    // enumerate the permutations
-    unsigned const result_size = sizeof(result.x) / sizeof(T);
-    for (T* dst = result.x + 1; dst != result.x + result_size; ++dst)
-    {
-        T* src = dst - 1;
-        std::copy(*src, *src + N, *dst);
-        std::next_permutation(*dst, *dst + N);
-    }
-    return result;
-}
-
- -

The runtime definition of factorial would be useless in all_permutations above, since in C++ the sizes of array members must be computed at compile-time. However, there are alternative approaches; how could we avoid metaprogramming, and what would the consequences be?

- -
-
    -
  1. -

    We could write programs to interpret the metadata directly. In our factorial example, the array size could have been a runtime quantity; then we'd have been able to use the straightforward factorial function. However, that would imply the use of dynamic allocation, which is often expensive.

    - -

    To carry this further, YACC might be rewritten to accept a pointer-to-function returning tokens from the stream to be parsed, and a string containing the grammar description. This approach, however, would impose unacceptable runtime costs for most applications: either the parser would have to treat the grammar nondeterministically, exploring the grammar for each parse, or it would have to begin by replicating at runtime the substantial table-generation and optimization work of the existing YACC for each input grammar.

    -
  2. - -
  3. -

    We could replace the compile-time computation with our own analysis. After all, the size of arrays passed to all_permutations are always known at compile-time, and thus can be known to its user. We could ask the user to supply the result type explicitly:

    - -
    -template< typename Result, typename T >
    -Result all_permutations(T const& input);
    -
    - -

    The costs to this approach are obvious: we give up expressivity (by requiring the user to explicitly specify implementation details), and correctness (by allowing the user to specify them incorrectly). Anyone who has had to write parser tables by hand will tell you that the impracticality of this approach is the very reason of YACC's existence.

    - -

    In a language such as C++, where the metadata can be expressed in the same language as the rest of the user's program, expressivity is further enhanced: the user can invoke metaprograms directly, without learning a foreign syntax or interrupting the flow of her code.

    -
  4. -
-
- -

So, the motivation for metaprogramming comes down to the combination of three factors: efficiency, expressivity, and correctness. While in classical programming there is always a tension between expressivity and correctness on one hand and efficiency on the other, in the metaprogramming world we wield new power: we can move the computation required for expressivity from runtime to compile-time.

-
- -
-
-
-

1.4. Why a metaprogramming library?

-
-
- -

One might just as well ask why we need any generic library:

- -
-
    -
  • -

    Quality. Code that is appropriate for a general-purpose library is usually incidental to the purpose of its users. To a library developer, it is the central mission. On average, the containers and algorithms provided by any given C++ standard library implementation are more-flexible and better-implemented than the project-specific implementations which abound, because library development was treated as an end in itself rather than a task incidental to the development of some other application. With a centralized implementation for any given function, optimizations and improvements are more likely to have been applied.

    -
  • - -
  • -

    Re-use. More important even than the re-use of code which all libraries provide, a well-designed generic library establishes a framework of concepts and idioms which establishes a reusable mental model for approaching problems. Just as the C++ Standard Template Library gave us iterator concepts and a function object protocol, the Boost Metaprogramming Library provides type-iterators and metafunction class protocol. A well-considered framework of idioms saves the metaprogrammer from considering irrelevant implementation details and allows her to concentrate on the problem at hand.

    -
  • - -
  • -

    Portability. A good library can smooth over the ugly realities of platform differences. While in theory a metaprogramming library is fully generic and shouldn't be concerned with these issues, in practice support for templates remains inconsistent even four years after standardization. This should perhaps not be surprising: C++ templates are the language's furthest-reaching and most complicated feature, which largely accounts for the power of metaprogramming in C++.

    -
  • - -
  • -

    Fun. Repeating the same idioms over and over is tedious. It makes programmers tired and reduces productivity. Furthermore, when programmers get bored they get sloppy, and buggy code is even more costly than slowly-written code. Often the most useful libraries are simply patterns that have been “plucked” by an astute programmer from a sea of repetition. The MPL helps to reduce boredom by eliminating the need for the most commonly-repeated boilerplate coding patterns.

    -
  • -
-
- -

As one can see, the MPL's development is motivated primarily by the same practical, real-world considerations that justify the development of any other library. Perhaps this is an indication that template metaprogramming is finally ready to leave the realm of the esoteric and enter the lingua franca of every day programmers.

-
-
- - - - - diff --git a/doc/paper/html/lambda.html b/doc/paper/html/lambda.html deleted file mode 100644 index 7e5bbc2..0000000 --- a/doc/paper/html/lambda.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - -3. Lambda facility - - - - - - - - - - - -
-
-
-

3. Lambda facility

-
-
- -

The MPL's lambda facility allows the inline composition of class templates into ‘lambda expressions’, which are classes and can therefore be passed around as ordinary metafunction classes, or transformed into metafunction classes before application using the expression:

- -
-typedef mpl::lambda<expr>::type func;
-
- -

For example, boost::remove_const traits template from Boost type_traits library [TTL] is a class template (obviously), or a metafunction in MPL terminology. The simplest example of an ‘inline composition’ of it would be something like:

- -
-typedef boost::remove_const<_1> expr;
-
- -

This forms a so called ‘lambda expression’, which is neither a metafunction class, nor a metafunction, yet can be passed around everywhere because it's an ordinary C++ class, because all MPL facilities are polymorphic with respect to their arguments. Now, that lambda expression can be transformed into a metafunction class using the MPL's lambda facility:

- -
-typedef boost::remove_const<_1> expr;
-typedef mpl::lambda<expr>::type func;
-
- -

The func is a unary metafunction class and can be used as such. In particular, it can be pass around or invoked (applied):

- -
-typedef mpl::apply<func,int const>::type res;
-BOOST_MPL_ASSERT_IS_SAME(res, int);
-
- -

or even

- -
-typedef func::apply<int const>::type res;
-BOOST_MPL_ASSERT_IS_SAME(res, int);
-
- -

Inline composition is very appealing syntactically when one deals with metafunctions, because it makes the expression obvious:

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_1>, mpl::int_c<16> >
-    , boost::is_same<_1,_2>
-    > expr;
-
-typedef mpl::lambda<expr>::type func;
-
- -

And one does not have to specify the last part (typedef lambda<expr>::type func), because all the algorithms do this to any of their metafunction class operands internally (a lambda<T>::type expression applied to a metafunction class gives back the same metafunction class, so it's safe to apply the expression unconditionally).

- -

The alternative way to write an equivalent of the above metafunction class would be:

- -
-typedef bind<
-      mpl::meta_fun2<mpl::logical_or>
-    , mpl::bind< mpl::meta_fun2<mpl::less>
-        , mpl::bind< mpl::meta_fun1<mpl::size_of>,_1 >
-        , mpl::int_c<16>
-        >
-    , mpl::bind< mpl::meta_fun2<boost::is_same>,_1,_2 >
-    > func;
-
- -

Or to use mpl::compose_ family of templates in a similar way. Here, we use mpl::meta_fun templates to convert metafunctions into metafunction classes and then combine them using mpl::bind. The transformation from this form to the above inline lambda expression and vice-versa is mechanical, and that is essentially what the typedef mpl::lambda<expr>::type expression does.

- -

For its own metafunctions (algorithms, primitives, etc.), MPL enables one to write the above in a less cumbersome way:

- -
-typedef mpl::bind<
-      mpl::logical_or<>
-    , mpl::bind< mpl::less<>, mpl::bind<mpl::size_of<>,_1>, mpl::int_c<16> >
-    , mpl::bind< mpl::make_f2<boost::is_same>, _1,_2 >
-    > func;
-
- -

Note that we still have to wrap is_same into make_f2, because it's a foreign template.

- -

Now, about combining class template metafunctions and metafunction classes in the single lambda expression - it can be done like this:

- -
-struct my_predicate
-{
-    template< typename T1, typename T2 > struct apply
-    {
-        //...
-    };
-};
-
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , mpl::bind< my_predicate,_,_ > // here
-    > expr;
-
- -

To bind something to one of its arguments (or change the order of parameters), then use either:

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , mpl::bind<my_predicate,int,_>::type // here
-    > expr;
-
- -

or

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , my_predicate::apply<int,_> // here
-    > expr;
-
-
- - - - - diff --git a/doc/paper/html/refs.html b/doc/paper/html/refs.html deleted file mode 100644 index ae8564f..0000000 --- a/doc/paper/html/refs.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - -References - - - - - - - - - - -
-
-
-

References

-
-
- -
-

[Abr01] David Abrahams and Carlos Pinto Coelho, Effects of Metaprogramming Style on Compilation Time, 2001

-
- -
-

[Ale01] Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied, Addison-Wesley, ISBN 0-201-70431-5, 2001

-
- -
-

[CE98] Krzysztof Czarnecki and Ulrich Eisenecker, Metalisp, http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm

-
- -
-

[CE00] Krzysztof Czarnecki and Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, ISBN 0-201-30977-7, 2000

-
- -
-

[EBNF] ISO/IEC 14977:1996(E), Information technology — Syntactic metalanguage — Extended BNF, ISO/IEC, 1996

-
- -
-

[GHJ+95] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, ISBN 0-201-63361-2, 1995

-
- -
-

[HU79] Hopcroft and Ullman, Introduction to automata theory, languages and computations, Addison-Wesley, 1979

-
- -
-

[Hud89] Paul Hudak, Conception, Evolution, and Application of Functional Programming Languages, ACM Computing Surveys, Association for Computing Machinery (ACM), ISSN 0360-0300, Vol. 21, No. 3, pp. 359-411, September, 1989

-
- -
-

[Hun91] Immo Huneke, Finite State Machines: A Model of Behavior for C++, C++ Report, SIGS Publications Inc., ISSN 1040-6042, 1991

-
- -
-

[ISO98] ISO/IEC 14882:1998(E), Programming languages — C++, ISO/IEC, 1998

-
- -
-

[Joh79] Stephen C. Johnson, Yacc: Yet Another Compiler Compiler, UNIX Programmer's Manual, Vol. 2b, pp. 353-387, 1979

-
- -
-

[Laf00] David Lafreniere, State Machine Design in C++, C/C++ User Journal, CMP Media LCC, ISSN 1075-2838, Vol. 18, No. 5, May 1998

-
- -
-

[Loki] The Loki library, http://sourceforge.net/projects/loki-lib/

-
- -
-

[Mar98] Robert C. Martin, UML Tutorial: Finite State Machines, C++ Report, SIGS Publications Inc., ISSN 1040-6042, June 1998

-
- -
-

[MPLR] Boost MPL Library Reference Documentation, http://www.mywikinet.com/mpl/ref/Table_of_Content.html

-
- -
-

[PRE] Vesa Karvonen, Boost Preprocessor Metaprogramming library, http://www.boost.org/libs/preprocessor/doc/

-
- -
-

[SMC] Robert C. Martin, SMC - Finite State Machine Compiler (C++), http://www.objectmentor.com/resources/downloads/index

-
- -
-

[STL94] A. A. Stepanov and M. Lee, The Standard Template Library, Hewlett-Packard Laboratories, 1994

-
- -
-

[SPL] Boost Smart Pointer library, http://www.boost.org/libs/smart_ptr/

-
- -
-

[SS75] Gerald J. Sussman and Guy L. Steele Jr., Scheme: An interpreter for extended lambda calculus, MIT AI Memo 349, Massachusetts Institute of Technology, May 1975

-
- -
-

[TTL] Boost Type Traits library, http://www.boost.org/libs/type_traits/

-
- -
-

[Vel95a] Todd Veldhuizen, Using C++ template metaprograms, C++ Report, SIGS Publications Inc., ISSN 1040-6042, Vol. 7, No. 4, pp. 36-43, May 1995

-
- -
-

[Vel95b] Todd Veldhuizen, Expression templates, C++ Report, SIGS Publications Inc., ISSN 1040-6042, Vol. 7, No. 5, pp. 26-31, Jun 1995

-
- -
-

[Unr] Erwin Unruh, Prime number computation, ANSI X3J16-94-0075/ISO WG21-462

-
-
- - - - - diff --git a/doc/paper/html/usage.html b/doc/paper/html/usage.html deleted file mode 100644 index 6eede7b..0000000 --- a/doc/paper/html/usage.html +++ /dev/null @@ -1,920 +0,0 @@ - - - - -2. Basic usage - - - - - - - - - - - -
-
-
-

2. Basic usage

-
-
- -
-
-
-

2.1. Conditional type selection

-
-
- -

Conditional type selection is the simplest basic construct of C++ template metaprogramming. Veldhuizen [Vel95a] was the first to show how to implement it, and Czarnecki and Eisenecker [CE00] first presented it as a standalone library primitive. The MPL defines the corresponding facility as follows:

- -
-template<
-      typename Condition
-    , typename T1
-    , typename T2
-    >
-struct if_
-{
-    typedef /*unspecified*/ type;
-};
-
- -

Note that the first template parameter of the template is a type.

- -
-// usage/semantics
-typedef mpl::if_<mpl::true_c,char,long>::type t1;
-typedef mpl::if_<mpl::false_c,char,long>::type t2;
-
-BOOST_MPL_ASSERT_IS_SAME(t1, char);
-BOOST_MPL_ASSERT_IS_SAME(t2, long);
-
- -

The construct is important because template metaprograms often contain a lot of decision-making code, and, as we will show, spelling it manually every time via (partial) class template specialization quickly becomes impractical. The template is also important from the point of encapsulating the compiler workarounds.

- -
-
-
-

2.1.1. Delayed evaluation

-
-
- -

The way the C++ template instantiation mechanism works imposes some subtle limitations on applicability of the type selection primitive (if_), compared to a manually implemented equivalent of the selection code. For example, suppose we are implementing a pointed_type traits template such that pointed_type<T>::type instantiated for a T that is either a plain pointer (U*), std::auto_ptr<U>, or any of the Boost smart pointers [SPL], e.g. boost::scoped_ptr<U>, will give us the pointed type (U):

- -
-BOOST_MPL_ASSERT_IS_SAME(pointed_type<my*>::type, my);
-BOOST_MPL_ASSERT_IS_SAME(pointed_type< std::auto_ptr<my> >::type, my);
-BOOST_MPL_ASSERT_IS_SAME(pointed_type< boost::scoped_ptr<my> >::type, my);
-
- -

Unfortunately, the straightforward application of if_ to this problem does not work: 1

- -
-template< typename T >
-struct pointed_type
-    : mpl::if_<
-          boost::is_pointer<T>
-        , typename boost::remove_pointer<T>::type
-        , typename T::element_type // #1
-        >
-{
-};
-
-// the following code causes compilation error in line #1:
-// name followed by "::" must be a class or namespace name
-typedef pointed_type<char*>::type result;
-
- -

Clearly, the expression typename T::element_type is not valid in the case of T == char*, and that's what the compiler is complaining about. Implementing the selection code manually solves the problem:

- -
-namespace aux {
-// general case
-template< typename T, bool is_pointer = false >
-struct select_pointed_type
-{
-    typedef typename T::element_type type;
-};
-
-// specialization for plain pointers
-template< typename  T >
-struct select_pointed_type<T,true>
-{
-    typedef typename boost::remove_pointer<T>::type type;
-};
-}
-
-template< typename T >
-struct pointed_type
-   : aux::select_pointed_type<
-          T, boost::is_pointer<T>::value
-        >
-{
-};
-
- -

But this quickly becomes awkward if needs to be done repeatedly, and this awkwardness is compounded when partial specialization is not available. We can try to work around the problem as follows:

- -
-namespace aux {
-template< typename T >
-struct element_type
-{
-     typedef typename T::element_type type;
-};
-}
-
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , typename boost::remove_pointer<T>::type
-        , typename aux::element_type<T>::type
-        >::type type;
-};
-
- -

but this doesn't work either - the access to the aux::element_type<T>'s nested type member still forces the compiler to instantiate element_type<T> with T == char*, and that instantiation is, of course, invalid. Also, although in our case this does not lead to a compile error, the boost::remove_pointer<T> template always gets instantiated as well, and for the same reason (because we are accessing its nested type member). Unnecessary instantiation that is not fatal may or may be not a problem, depending on the ‘weight’ of the template (how much the instantiation taxes the compiler), but a general rule of thumb would be to avoid such code.

- -

Returning to our error, to make the above code compile, we need to factor the act of ‘asking’ aux::element_type<T> for its nested type out of the if_ invocation. The fact that both the boost::remove_pointer<T> trait template and aux::element_type<T> use the same naming convention for their result types makes the refactoring easier:

- -
-template< typename T >
-struct pointed_type
-{
- private:
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type func_;
-
- public:
-    typedef typename func_::type type;
-};
-
- -

Now the compiler is guaranteed not to instantiate both boost::remove_pointer<T> and aux::element_type<T>, even although they are used as actual parameters to the if_ template, so we are allowed to get away with aux::element_type<char*> so long as it won't end up being selected as func_.

- -

The above technique is so common in template metaprograms, that it even makes sense to facilitate the selection of a nested type member by introducing a high-level equivalent to if_ - the one that will do the func_::type operation (that is called [nullary] metafunction class application) as a part of its invocation. The MPL provides such template - it's called apply_if. Using it, we can re-write the above code as simple as:

- -
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::apply_if<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type type;
-};
-
- -

To make our techniques review complete, let's consider a slightly different example - suppose we want to define a high-level wrapper around boost::remove_pointer traits template [TTL], which will strip the pointer qualification conditionally. We will call it remove_pointer_if:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::if_<
-          Condition
-        , typename boost::remove_pointer<T>::type
-        , T
-        >::type type;
-};
-
- -

Now the above works the first time, but it suffers from the problem we mentioned earlier - boost::remove_pointer<T> gets instantiated even if its result is never used. In the metaprogramming world compilation time is an important resource [Abr01], and it is wasted by unnecessary template instantiations. We've just seen how to deal with the problem when both arguments to if_ are the results of nullary metafunction class applications, but in this example one of the arguments (T) is just a simple type, so the refactoring just doesn't seem possible.

- -

The easiest way out of this situation would be to pass to if_ a real nullary metafunction instead of T - the one that returns T on its invocation. The MPL provides a simple way to do it - we just substitute identity<T> and apply_if for T and if_:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::apply_if<
-          Condition
-        , boost::remove_pointer<T>
-        , mpl::identity<T>
-        >::type type;
-};
-
- -

which gives us exactly what we wanted.

-
-
- -
-
-
-

2.2. Metafunctions

-
-
- -
-
-
-

2.2.1. The simple form

-
-
- -

In C++, the basic underlying language construct which allows parameterized compile-time computation is the class template ([ISO98], section 14.5.1 [temp.class]). A bare class template is the simplest possible model we could choose for metafunctions: it can take types and/or non-type arguments as actual template parameters, and instantiation ‘returns’ a new type. For example, the following produces a type derived from its arguments:

- -
-template< typename T1, typename T2 >
-struct derive : T1, T2
-{
-};
-
- -

However, this model is far too limiting: it restricts the metafunction result not only to class types, but to instantiations of a given class template, to say nothing of the fact that every metafunction invocation introduces an additional level of template nesting. While that might be acceptable for this particular metafunction, any model which prevented us from ‘returning’, say, int is obviously not general enough. To meet this basic requirement, we must rely on a nested type to provide our return value:

- -
-template< typename T1, typename T2 >
-struct derive
-{
-    struct type : N1, N2 {};
-};
-
-// silly specialization, but demonstrates "returning" int
-template<>
-struct derive<void,void>
-{
-    typedef int type;
-};
-
- -

Veldhuizen [Vel95a] was first to talk about class templates of this form as ‘compile-time functions’, and Czarnecki and Eisenecker [CE00] have introduced ‘template metafunction’ as an equivalent term (they also use the simpler term ‘metafunction’, as do we). Czarnecki and Eisenecker have also recognized the limitations of the simple metafunction representation and suggested the form that we discuss in Section 2.2.3.

-
- -
-
-
-

2.2.2. Higher-order metafunctions

-
-
- -

While syntactically simple, the simple template metafunction form does not always interact optimally with the rest of C++. In particular, the simple metafunction form makes it unnecessarily awkward and tedious to define and work with higher-order metafunctions (metafunctions that operate on other metafunctions). In order to pass a simple metafunction to another template, we need to use template template parameters:

- -
-// returns F(T1,F(T2,T3))
-template<
-      template<typename> class F
-    , typename T1
-    , typename T2
-    , typename T3
-    >
-struct apply_twice
-{
-  typedef typename F<
-        T1
-      , typename F<T2,T3>::type
-      >::type type;
-};
-
-// a new metafunction returning a type derived from T1, T2, and T3
-template<
-      typename T1
-    , typename T2
-    , typename T3
-    >
-struct derive3
-    : apply_twice<derive,T1,T2,T3>
-{
-};
-
- -

This looks different, but it seems to work. 2 However, things begin to break down noticeably when we want to ‘return’ a metafunction from our metafunction:

- -
-// returns G s.t. G(T1,T2,T3) == F(T1,F(T2,T3))
-template< template<typename> class F >
-struct compose_self
-{
-    template<
-          typename T1
-        , typename T2
-        , typename T3
-        > 
-    struct type
-        : apply_twice<F,T1,T2,T3>
-    {
-    };
-};
-
- -

The first and most obvious problem is that the result of applying compose_self is not itself a type, but a template, so it can't be passed in the usual ways to other metafunctions. A more subtle issue, however, is that the metafunction ‘returned’ is not exactly what we intended. Although it acts just like apply_twice, it differs in one important respect: its identity. In the C++ type system, compose_self<F>::template type<T,U,V> is not a synonym for apply_twice<F,T,U,V>, and any metaprogram which compared metafunctions would discover that fact.

- -

Because C++ makes a strict distinction between type and class template template parameters, reliance on simple metafunctions creates a ‘wall’ between metafunctions and metadata, relegating metafunctions to the status of second-class citizens. For example, recalling our introduction to type sequences, there's no way to make a cons list of metafunctions:

- -
-typedef cons<derive, cons<derive3, nil> > derive_functions; // error!
-
- -

We might consider redefining our cons cell so we can pass derive as the head element:

- -
-template <
-      template< template<typename T, typename U> class F
-    , typename Tail
-    >
-struct cons;
-
- -

However, now we have another problem: C++ templates are polymorphic with respect to their type arguments, but not with respect to template template parameters. The arity (number of parameters) of any template template parameter is strictly enforced, so we still can't embed derive3 in a cons list. Moreover, polymorphism between types and metafunctions is not supported (the compiler expects one or the other), and as we've seen, the syntax and semantics of ‘returned’ metafunctions is different from that of returned types. Trying to accomplish everything with the simple template metafunction form would seriously limit the applicability of higher-order metafunctions and would have an overall negative effect on the both conceptual and implementation clarity, simplicity and size of the library.

-
- -
-
-
-

2.2.3. Metafunction classes

-
-
- -

Fortunately, the truism that ‘there is no problem in software which can't be solved by adding yet another level of indirection’ applies here. To elevate metafunctions to the status of first-class objects, the MPL introduces the concept of a ‘metafunction class’:

- -
-// metafunction class form of derive
-struct derive
-{
-    template< typename N1, typename N2 >
-    struct apply
-    {
-        struct type : N1, N2 {};
-    };
-};
-
- -

This form should look familiar to anyone acquainted with function objects in STL, with the nested apply template taking the same role as the runtime function-call operator. In fact, compile-time metafunction classes have the same relationship to metafunctions that runtime function objects have to functions:

- -
-// function form of add
-template< typename T > T add(T x, T y) { return x + y; }
-
-// function object form of add
-struct add
-{
-    template< typename T >
-    T operator()(T x, T y) { return x + y; }
-};
-
-
- -
-
-
-

2.2.4. One size fits all?

-
-
- -

The metafunction class form solves all the problems with ordinary template metafunction mentioned earlier: since it is a regular class, it can be placed in compile-time metadata sequences and manipulated by other metafunctions using the same protocols as for any other metadata. We thereby avoid the code-duplication needed to provide versions of each library component to operate on ordinary metadata and on metafunctions with each distinct supported arity.

- -

On the other hand, it seems that accepting metafunction classes as the representation for compile-time function entities imposes code duplication danger as well: if the library's own primitives, algorithms, etc. are represented as class templates, that means that one either cannot reuse these algorithms in the context of higher-order functions, or she have to duplicate all algorithms in the second form, so, for instance, there would be two versions of find:

- -
-// user-friendly form
-template<
-      typename Sequence
-    , typename T
-    >
-struct find
-{
-    typedef /* ... */ type;
-};
-
-// "metafunction class" form
-struct find_func
-{
-    template< typename Sequence, typename T >
-    struct apply
-    {
-        typedef /* ... */ type;
-    };
-};
-
- -

Of course, the third option is to eliminate ‘user-friendly form’ completely so one would always have to write:

- -
-typedef mpl::find::apply<list,long>::type iter;
-// or, if one prefers,
-// typedef mpl::apply< mpl::find,list,long >::type iter;
-
- -

instead of

- -
-typedef mpl::find<list,long>::type iter;
-
- -

That too would hurt usability, considering that the direct invocations of library's algorithms are far more often-used than passing algorithms as arguments to other algorithms/metafunctions.

-
- -
-
-
-

2.2.5. From metafunction to metafunction class

-
-
- -

The MPL's answer to this dilemma is lambda expressions. Lambda is the mechanism that enables the library to curry metafunctions and convert them into metafunction classes, so when one wants to pass the find algorithm as an argument to a higher-order metafunction, she just write:

- -
-using namespace mpl::placeholder;
-typedef mpl::apply< my_f, mpl::find<_1,_2> >::type result;
-
- -

where _1 and _2 are placeholders for the first and second arguments to the resulting metafunction class. This preserves the intuitive syntax below for when the user wants to use find directly in her code:

- -
-typedef mpl::find<list,long>::type iter;
-
- -

Lambda facility is described in more details in Section 3.

-
-
- -
-
-
-

2.3. Sequences, algorithms, and iterators

-
-
- -
-
-
-

2.3.1. Introduction

-
-
- -

Compile-time iteration over a sequence (of types) is one of the basic concepts of template metaprogramming. Differences in types of objects being manipulated is the most common point of variability of similar but not identical code/design, and such designs are the direct target for some metaprogramming. Templates were originally designed to solve this exact problem (e.g. std::vector). However, without predefined abstractions/constructs for manipulating/iterating over sequences of types (as opposed to standalone types), and without known techniques for emulating these constructs using the current language facilities, their effect on helping high-level metaprogramming happen has been limited.

- -

Czarnecki and Eisenecker [CE98], [CE00] were the first to introduce compile-time sequences of types and some simple algorithms on them, although the idea of representing common data structures like trees, lists, etc. at compile time, using class template composition has been around for a while (e.g. most of the expression template libraries build such trees as a part of their expression "parsing" process [Vel95b]). Alexandrescu [Ale01] used lists of types and some algorithms on them to implement several design patterns; the accompanying code is known as the Loki library [Loki].

-
- -
-
-
-

2.3.2. Algorithms and sequences

-
-
- -

Most of the algorithms in the Boost Metaprogramming Library operate on sequences. For example, searching for a type in a list looks like this:

- -
-typedef mpl::list<char,short,int,long,float,double> types;
-typedef mpl::find<types,long>::type iter;
-
- -

Here, find accepts two parameters - a sequence to search (types) and the type to search for (long) - and returns an iterator iter pointing to the first element of the sequence such that iter::type is identical to long. If no such element exists, iter is identical to end<types>::type. Basically, this is how one would search for a value in a std::list or std::vector, except that mpl::find accepts the sequence as a single parameter, while std::find takes two iterators. Everything else is pretty much the same - the names are the same, the semantics are very close, there are iterators, and one can search not only by type, but also by using a predicate:

- -
-typedef mpl::find_if< types,boost::is_float<_> >::type iter;
-
- -

This conceptual/syntactical similarity with the STL is not coincidental. Reusing the conceptual framework of the STL in the compile-time world allows us to apply familiar and sound approaches for dealing with sequential data structures. The algorithms and idioms which programmers already know from the STL can be applied again at compile-time. We consider this to be one of MPL's greatest strengths, distinguishing it from earlier attempts to build a template metaprogramming library.

-
- -
-
-
-

2.3.3. Sequence concepts

-
-
- -

In the find example above, we searched for the type in a sequence built using the mpl::list template; but list is not the only sequence that the library provides. Neither is mpl::find or any other algorithm hard-coded to work only with list sequences. list is just one model of MPL's Forward Sequence concept, and find works with anything that satisfies this concept's requirements. The hierarchy of sequence concepts in MPL is quite simple - a Sequence is any compile-time entity for which begin<> and end<> produce iterators to the range of its elements; a Forward Sequence is a Sequence whose iterators satisfy Forward Iterator requirements; a Bidirectional Sequence is a Forward Sequence whose iterators satisfy Bidirectional Iterator requirements; finally, a Random Access Sequence is a Bidirectional Sequence whose iterators satisfy Random Access Iterator requirements. 3

- -

Decoupling algorithms from particular sequence implementations (through iterators) allows a metaprogrammer to create her own sequence types and to retain the rest of the library at her disposal. For example, one can define a tiny_list for dealing with sequences of three types as follows:

- -
-template< typename TinyList, long Pos >
-struct tiny_list_item;
-
-template< typename TinyList, long Pos >
-struct tiny_list_iterator
-{
-    typedef typename tiny_list_item<TinyList,Pos>::type type;
-    typedef tiny_list_iterator<TinyList, Pos-1> prior;
-    typedef tiny_list_iterator<TinyList, Pos+1> next;
-};
-
-template< typename T0, typename T1, typename T2 >
-struct tiny_list
-{
-    typedef tiny_list_iterator<tiny_list, 0> begin;
-    typedef tiny_list_iterator<tiny_list, 3> end;
-    typedef T0 type0;
-    typedef T1 type1;
-    typedef T2 type2;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,0>
-{
-    typedef typename TinyList::type0 type;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,1>
-{
-    typedef typename TinyList::type1 type;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,2>
-{
-    typedef typename TinyList::type2 type;
-};
-
- -

and then use it with any of the library algorithms as if it were mpl::list:

- -
-typedef tiny_list< char,short,int > types;
-typedef mpl::transform<
-      types
-    , boost::add_pointer<_1>
-    >::type pointers;
-
- -

Note that tiny_list is a model of Bidirectional Sequence; it would be a Random Access Sequence if we added advance and distance members to tiny_list_iterator:

- -
-template< typename TinyList, long Pos >
-struct tiny_list_iterator
-{
-    static long const position = Pos;
-
-    typedef typename tiny_list_item<TinyList,Pos>::type type;
-    typedef tiny_list_iterator<TinyList, Pos-1> prior;
-    typedef tiny_list_iterator<TinyList, Pos+1> next;
-
-    template< typename N > struct advance
-    {
-        typedef tiny_list_iterator<
-              TinyList
-            , Pos + N::value
-            > type;
-    };
-
-    template< typename Other > struct distance
-    {
-        typedef mpl::integral_c<
-              long
-            , Other::position - position
-            > type;
-    };
-};
-
- -

While the tiny_list itself might be not that interesting (after all, it can hold only three elements), if the technique above could be automated so we would be able to define not-so-tiny sequences (with five, ten, twenty, etc. elements), it would be very valuable. 4

- -

External code generation is an option, but there exists a solution within the language. However, it is not a template metaprogramming, but rather preprocessor metaprogramming. In fact, MPL's vector - a fixed-size type sequence that provides random-access iterators - is implemented very much like the above tiny_list - using the Boost Preprocessor library [PRE].

-
- -
-
-
-

2.3.4. Ad hoc example revisited

-
-
- -

So, the library provides its users with almost complete compile-time equivalent of the STL framework. Does it help them to solve their metaprogramming tasks? Let's return to our earlier largest example to see if we can rewrite it in a better way with what MPL has to offer. Well, actually, there is not much to look at, because the MPL implementation is a one-liner (we'll spread it out here for readability) 5 :

- -
-template< typename Sequence >
-struct largest
-{
-    typedef typename mpl::max_element<
-          Sequence
-          mpl::less<
-              mpl::size_of<_1>
-            , mpl::size_of<_2>
-            >
-        >::type iter;
-
-    typedef typename iter::type type;
-};
-
- -

There are no more termination conditions with tricky pattern matching, no more partial specializations; and even more importantly, it's obvious what the above code does - even although it's all templates - something that one could not say about the original version.

-
- -
-
-
-

2.3.5. iter_fold as the main iteration algorithm

-
-
- -

For the purpose of examining a little bit more of the library's internal structure, let's look at how max_element from the above example is implemented. One might expect that now we will again see all these awkward partial specializations, esoteric pattern matching, etc. Well, let's see:

- -
-template<
-      typename Sequence
-    , typename Predicate
-    >
-struct max_element
-{
-    typedef typename mpl::iter_fold<    
-          Sequence
-        , typename mpl::begin<Sequence>::type
-        , if_< less< deref<_1>,deref<_2> >, _2, _1 >
-        >::type type;
-};
-
- -

The first thing to notice here is that this algorithm is implemented in terms of another one: iter_fold. In fact, this is probably the most important point of the example, because nearly all other generic sequence algorithms in the library are implemented in terms of iter_fold. If a user should ever need to implement her own sequence algorithm, she'll almost certainly be able to do so using this primitive, which means she won't have to resort to implementing hand-crafted iteration, pattern matching of special cases for loop termination, or workarounds for lack of partial specialization. It also means that her algorithm will automatically benefit from any optimizations the library has implemented, (e.g. recursion unrolling), and that it will work with any sequence that is a model of ForwardSequence, because iter_fold does not require anything more of its sequence argument.

- -

iter_fold algorithm is basically a compile-time equivalent of the fold or reduce functions that comprise the basic and well-known primitives of many functional programming languages. An analogy more familiar to a C++ programmer would be the std::accumulate algorithm from the C++ standard library ([ISO98], section 26.4.1 [lib.accumulate]). However, iter_fold is designed to take advantage of the natural characteristics of recursive traversal: it accepts two metafunction class arguments, the first of which is applied to the state "on the way in" and the second of which is applied "on the way out".

- -

The interface to iter_fold is defined in MPL as follows:

- -
-template<
-      typename Sequence
-    , typename InitialState
-    , typename ForwardOp
-    , typename BackwardOp = _1
-    >
-struct iter_fold
-{
-    typedef /*unspecified*/ type;
-};
-
- -

The algorithm ‘returns’ the result of two-way successive applications of binary ForwardOp and BackwardOp operations to iterators in range [begin<Sequence>::type, end<Sequence>::type) and previous result of an operation; the InitialState is logically placed before the sequence and included in the forward traversal. The result type is identical to InitialState if the sequence is empty.

- -

The library also provides iter_fold_backward, fold, and fold_backward algorithms which wrap iter_fold to accommodate its most common usage patterns.

-
- -
-
-
-

2.3.6. Sequences of numbers

-
-
- -

What we've seen so far were sequences (and algorithms on sequences) of types. It is both possible and easy to manipulate compile-time values using the library as well. The only thing to remember is that in C++, class template non-type template parameters give us one more example of non-polymorphic behavior. In other words, if one declared a metafunction to take a non-type template parameter (e.g. long) it's not possible to pass anything besides compile-time integral constants to it:

- -
-template< long N1, long N2 >
-struct equal_to
-{
-    static bool const value = (N1 == N2);
-};
-
-equal_to<5,5>::value; // ok
-equal_to<int,int>::value; // error!
-
- -

And of course this doesn't work the other way around either:

- -
-typedef mpl::list<1,2,3,4,5> numbers; // error!
-
- -

While this may be an obvious limitation, it imposes yet another dilemma on the library design: on the one hand, we don't want to restrict users to type manipulations only, and on the other hand, full support for integral manipulations would require at least duplication of most of the library facilities 6 - the same situation as we would have if we had chosen to represent metafunctions as ordinary class templates. The solution for this issue is the same as well: we represent integral values by wrapping them in types 7 . For example, to create a list of numbers one can write:

- -
-typedef mpl::list<
-      mpl::int_c<1>
-    , mpl::int_c<2>
-    , mpl::int_c<3>
-    , mpl::int_c<4>
-    , mpl::int_c<5>
-    > numbers;
-
- -

Wrapping integral constants into types to make them first-class citizens is important well inside metaprograms, where one often doesn't know (and doesn't care) if the metafunctions she is using operate on types, integral values, other metafunctions, or something else, like fixed-point or rational numbers (mpl::fixed_c and mpl::rational_c).

- -

But, from the user's perspective, the above example is much more verbose than the shorter, incorrect one. Thus, for the purpose of convenience, the library does provide users with a template that takes non-type template parameters, but offers a more compact notation:

- -
-typedef mpl::list_c<long,1,2,3,4,5> numbers;
-
- -

There is a similar vector counterpart as well:

- -
-typedef mpl::vector_c<long,1,2,3,4,5> numbers;
-
-
- -
-
-
-

2.3.7. A variety of sequences

-
-
- -

Previous efforts to provide generalized metaprogramming facilities for C++ have always concentrated on cons-style type lists and a few core algorithms like size and at, which are tied to the specific sequence implementation. Such systems have an elegant simplicity reminiscent of the analogous functionality in pure functional Lisp. It is much more time-consuming to implement even a basic set of the sequence algorithms provided by equivalent run-time libraries (the STL in particular), but if we have learned anything from the STL, it is that tying those algorithms' implementations to a specific sequence implementation is a misguided effort!

- -

The truth is that there is no single ‘best’ type sequence implementation for the same reasons that there will never be a single ‘best’ runtime sequence implementation. Furthermore, there are already quite a number of type list implementations in use today; and just as the STL algorithms can operate on sequences which don't come from STL containers, so the MPL algorithms are designed to work with foreign type sequences.

- -

It may be an eye-opening fact for some that type lists are not the only useful compile-time sequence. Again, the need for a variety of compile-time containers arises for the same reasons that we have lists, vectors, deques, and sets in the C++ standard library - different containers have different functional and performance characteristics which determine not only applicability and efficiency of particular algorithms, but also the expressiveness or verbosity of the code that uses them. While runtime performance is not an issue for C++ metaprograms, compilation speed is often a significant bottleneck to advanced C++ software development [Abr01].

- -

The MPL provides five built-in sequences: list, list_c (really just a list of value wrappers), vector, a randomly-accessible sequence of fixed maximum size, vector_c, and range_c, a randomly-accessible sequence of consecutive integral values. More important, however, is its ability to adapt to arbitrary sequence types. The only core operations that a sequence is required to provide in order to be used with the library algorithms are begin<> and end<> metafunctions which "return" iterators into the sequence. As with the STL, it is the iterators which are used to implement most of the general-purpose sequence algorithms the library provides. Also, as with the STL, algorithm specialization is used to take advantage of implementation knowledge about particular sequences: many of the "basic" sequence operations such as back<>, front<>, size<>, and at<> are specialized on sequence type to provide a more efficient implementation than the fully generic version.

-
- -
-
-
-

2.3.8. Loop/recursion unrolling

-
-
- -

Almost coincidentally, loop unrolling can be as important to compile-time iterative algorithms as it is to runtime algorithms. To see why, one must first remember that all "loops" in C++ metaprograms, are in fact, implemented with recursion, and that the template instantiation depth can be a valuable resource in a compiler implementation. In fact, Annex B of the C++ standard ([ISO98], annex B [limits]) recommends a minimum depth of 17 recursively nested template instantiations; but this is far too low for many serious metaprograms, some of which easily exceed the hard-coded instantiation limits of some otherwise excellent compilers. To see how this works in action, let's examine a straightforward implementation of the fold metafunction, which combines some algorithm state with each element of a sequence:

- -
-namespace aux {
-
-// unspecialized version combines the initial state and first element
-// and recurses to process the rest
-template<
-      typename Start
-    , typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl
-  : fold_impl<
-        typename Start::next
-      , Finish
-      , typename apply<
-              BinaryFunction
-            , State
-            , typename Start::type
-            >::type
-      , BinaryFunction
-      >
-{
-};
-
-// specialization for loop termination
-template<
-      typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl<Finish,Finish,State,BinaryFunction>
-{
-    typedef State type;
-};
-
-} // namespace aux
-
-// public interface
-template<
-      typename Sequence
-    , typename State
-    , typename ForwardOp
-    >
-struct fold
-    : aux::fold_impl<
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , typename lambda<ForwardOp>::type
-        >
-{
-};
-
- -

Although simple and elegant, this implementation will always incur at least as many levels of recursive template instantiation as there are elements in the input sequence. 8 The library addresses this problem by explicitly "unrolling" the recursion. To apply the technique to our fold example, we begin by factoring out a single step of the algorithm. Our fold_impl_step metafunction has two results: type (the next state), and iterator (the next sequence position).

- -
-template<
-      typename BinaryFunction
-    , typename State
-    , typename Start
-    , typename Finish
-    >
-struct fold_impl_step
-{
-    typedef typename apply<
-          BinaryFunction
-        , State
-        , typename Start::type
-        >::type type;
-
-    typedef typename Start::next iterator;
-};
-
- -

As with our main algorithm implementation, we specialize for the loop termination condition so that the step becomes a no-op:

- -
-template<
-      typename BinaryFunction
-    , typename State
-    , typename Finish
-    >
-struct fold_impl_step<BinaryFunction,State,Finish,Finish>
-{
-    typedef State type;
-    typedef Finish iterator;
-};
-
- -

Now we can now reduce fold's instantiation depth by any constant factor N simply by inserting N invocations of fold_impl_step. Here we've chosen a factor of 4:

- -
-template<
-      typename Start
-    , typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl
-{
- private:
-    typedef fold_impl_step<
-        BinaryFunction
-      , State
-      , Start
-      , Finish
-      > next1;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next1::type
-      , typename next1::iterator
-      , Finish
-      > next2;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next2::type
-      , typename next2::iterator
-      , Finish
-      > next3;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next3::type
-      , typename next3::iterator
-      , Finish
-      > next4;
-    
-    typedef fold_impl_step<
-          typename next4::iterator
-        , Finish
-        , typename next4::type
-        , BinaryFunction
-        > recursion;
-
- public:
-    typedef typename recursion::type type;
-};
-
- -

The MPL applies this unrolling technique across all algorithms with an unrolling factor tuned according to the demands of the C++ implementation in use, and with an option for the user to override the value. 9 This fact enables users to push beyond the metaprogramming limits they would usually encounter with more naive algorithm implementations. Experiments also show a small (up to 10%) increase in metaprogram instantiation speed on some compilers when loop unrolling is used.

-
-
-
- - - - - diff --git a/doc/paper/html/xsltproc_build.bat b/doc/paper/html/xsltproc_build.bat deleted file mode 100755 index 7e91c0b..0000000 --- a/doc/paper/html/xsltproc_build.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off - -if "%4" == "" goto build -f:\msxsl\msxsl.exe f:\home\depot\xml\stylesheets\docbook-xsl-1.50.0\html\titlepage.templates.xml f:\home\depot\xml\stylesheets\docbook-1.50.0\template\titlepage.xsl | f:\msxsl\msxsl.exe - f:\msxsl\to_utf8.xsl -o f:\home\depot\xml\stylesheets\docbook-xsl-1.50.0\html\titlepage.templates.xsl - -:build -sx -x lower -x empty %2 >%3.xml -xsltproc -o %3 f:\home\depot\xml\stylesheets\docbook-xsl-1.50.0\html\my\%1 %3.xml -del %3.xml -f:\tidy\tidy.exe -config f:\tidy\config.txt -m %3 -f:\tidy\tidy_attr.py %3 diff --git a/doc/paper/mpl_paper.html b/doc/paper/mpl_paper.html deleted file mode 100644 index 9ca186d..0000000 --- a/doc/paper/mpl_paper.html +++ /dev/null @@ -1,1957 +0,0 @@ - - - - -The Boost C++ Metaprogramming Library - - - - - -
-
-
-
-

The Boost C++ Metaprogramming Library

-
-
- -
-
-

Aleksey Gurtovoyi and David Abrahamsii

- -
i MetaCommunications, agurtovoy@meta-comm.com
- -
ii Boost Consulting, david.abrahams@rcn.com
-
-
- -
-
-

Abstract

- -

This paper describes the Boost C++ template metaprogramming library (MPL), an extensible compile-time framework of algorithms, sequences and metafunction classes. The library brings together important abstractions from the generic and functional programming worlds to build a powerful and easy-to-use toolset which makes template metaprogramming practical enough for the real-world environments. The MPL is heavily influenced by its run-time equivalent - the Standard Template Library (STL), a part of the C++ standard library [STL94], [ISO98]. Like the STL, it defines an open conceptual and implementation framework which can serve as a foundation for future contributions in the domain. The library's fundamental concepts and idioms enable the user to focus on solutions without navigating the universe of possible ad-hoc approaches to a given metaprogramming problem, even if no actual MPL code is used. The library also provides a compile-time lambda expression facility enabling arbitrary currying and composition of class templates, a feature whose runtime counterpart is often cited as missing from the STL. This paper explains the motivation, usage, design, and implementation of the MPL with examples of its real-life applications, and offers some lessons learned about C++ template metaprogramming.

-
-
- -
-
-

Keywords: template metaprogramming, generic programming, programming languages, C++, STL, type systems, polymorphism, compile-time

-
-
-
- - - -
-
-
-

1. Introduction

-
-
- -

Metaprogramming is usually defined as the creation of programs which generate other programs. Parser generators such as YACC [Joh79] are examples of one kind of program-generating program. The input language to YACC is a context-free grammar in Extended Backus-Naur Form [EBNF], and its output is a program which parses that grammar. Note that in this case the metaprogram (YACC) is written in a language (C) which does not directly support the description of generated programs. These specifications, which we'll call metadata, are not written in C, but in a meta-language. Because the the rest of the user's program typically requires a general-purpose programming system and must interact with the generated parser, the metadata is translated into C, which is then compiled and linked together with the rest of the system. The metadata thus undergoes two translation steps, and the user is always very conscious of the boundary between her metadata and the rest of her program.

- -
-
-
-

1.1. Native language metaprogramming

-
-
- -

A more interesting form of metaprogramming is available in languages such as Scheme [SS75], where the generated program specification is given in the same language as the metaprogram itself. The metaprogrammer defines her meta-language as a subset of the expressible forms of the underlying language, and program generation can take place in the same translation step used to process the rest of the user's program. This allows users to switch transparently between ordinary programming, generated program specification, and metaprogramming, often without being aware of the transition.

-
- -
-
-
-

1.2. Metaprogramming in C++

-
-
- -

In C++, it was discovered almost by accident [Unr], [Vel95a] that the template mechanism provides a rich facility for computation at compile-time. In this section, we'll explore the basic mechanisms and some common idioms used for metaprogramming in C++.

- -
-
-
-

1.2.1. Numeric computations

-
-
- -

The availability of non-type template parameters makes it possible to perform integer computations at compile-time. For example, the following template computes the factorial of its argument:

- -
-template< unsigned n >
-struct factorial
-{
-    static const unsigned value = n * factorial<n-1>::value;
-};
-
-template<>
-struct factorial<0>
-{
-    static const unsigned value = 1;
-};
-
- -

The program fragment above is called a metafunction, and it is easy to see its relationship to a function designed to be evaluated at runtime: the “metafunction argument” is passed as a template parameter, and its “return value” is defined as a nested static constant. Because of the hard line between the expression of compile-time and runtime computation in C++, metaprograms look different from their runtime counterparts. Thus, although as in Scheme the C++ metaprogrammer writes her code in the same language as the ordinary program, only a subset of the full C++ language is available to her: those expressions which can be evaluated at compile-time. Compare the above with a straightforward runtime definition of the factorial function:

- -
-unsigned factorial(unsigned N)
-{
-    return N == 0 ? 1 : N * factorial(N - 1);
-}
-
- -

While it is easy to see the analogy between the two recursive definitions, recursion is in general more important to C++ metaprograms than it is to runtime C++. In contrast to languages such as Lisp where recursion is idiomatic, C++ programmers will typically avoid recursion when possible. This is done not only for efficiency reasons, but also because of “cultural momentum”: recursive programs are simply harder (for C++ programmers) to think about. Like pure Lisp, though, the C++ template mechanism is a functional programming language: as such it rules out the use of data mutation required to maintain loop variables.

- -

A key difference between the runtime and compile-time factorial functions is the expression of the termination condition: our meta-factorial uses template specialization as a kind of pattern-matching mechanism to describe the behavior when N is zero. The syntactic analogue in the runtime world would require two separate definitions of the same function. In this case the impact of the second definition is minimal, but in large metaprograms the cost of maintaining and understanding the terminating definitions can become significant.

- -

Note also that a C++ metafunction's return value must be named. The name chosen here, value, is the same one used for all numeric returns in the MPL. As we'll see, establishing a consistent naming convention for metafunction returns is crucial to the power of the library.

-
- -
-
-
-

1.2.2. Type computations

-
-
- -

How could we apply our factorial metafunction? We might, for example, produce an array type of an appropriate size to hold all permutations of instances of another type:

- -
-// permutation_holder<T>::type is an array type which can contain 
-// all permutations of a given T.
-
-// unspecialized template for scalars
-template< typename T >
-struct permutation_holder
-{
-    typedef T type[1][1];
-};
-
-// specialization for array types
-template< typename T, unsigned N >
-struct permutation_holder<T[N]>
-{
-    typedef T type[factorial<N>::value][N];
-};
-
- -

Here we have introduced the notion of a type computation. Like factorial above, permutation_holder template is a metafunction. However, where factorial manipulates unsigned integer values, permutation_holder accepts and “returns” a type (as the nested typedef type). Because the C++ type system provides a much richer set of expressions than anything we can use as a nontype template argument (e.g. the integers), C++ metaprograms tend to be composed mostly of type computations.

-
- -
-
-
-

1.2.3. Type sequences

-
-
- -

The ability to programmatically manipulate collections of types is a central tool of most interesting C++ metaprograms. Because this capability is so well-supported by the MPL, we'll provide just a brief introduction to the basics here. Later on, we'll revisit the example below to show how it can be implemented using MPL.

- -

First, we'd need a way to represent the collection. One idea might be to store the types in a structure:

- -
-struct types
-{
-    int t1;
-    long t2;
-    std::vector<double> t3;
-};
-
- -

Unfortunately, this arrangement is not susceptible to the compile-time type introspection power that C++ gives us: there's no way to find out what the names of the members are, and even if we assume that they're named according to some convention as above, there's no way to know how many members there are. The key to solving this problem is to increase the uniformity of the representation. If we have a consistent way to get the first type of any sequence and the rest of the sequence, we can easily access all members:

- -
-template< typename First, typename Rest >
-struct cons
-{
-    typedef First first;
-    typedef Rest rest;
-};
-
-struct nil {};
-
-typedef
-      cons<int
-    , cons<long
-    , cons<std::vector<double>
-    , nil
-    > > > my_types;
-
- -

The structure described by types above is the compile-time analogue of a singly-linked list; it has been first introduced by Czarnecki and Eisenecker in [CE98]. Now that we've adjusted the structure so that the C++ template machinery can “peel it apart”, let's examine a simple metafunction which does so. Suppose a user wished to find the largest of an arbitrary collection of types. We can apply the recursive metafunction formula which should by now be familiar:

- -
-

Example 1. 'largest' metafunction

- -
-// choose the larger of two types
-template<
-      typename T1
-    , typename T2
-    , bool choose1 = (sizeof(T1) > sizeof(T2)) // hands off!
-    >
-struct choose_larger
-{
-    typedef T1 type;
-};
-
-// specialization for the case where sizeof(T2) >= sizeof(T1)
-template< typename T1, typename T2 >
-struct choose_larger< T1,T2,false >
-{
-    typedef T2 type;
-};
-
-// get the largest of a cons-list
-template< typename T > struct largest;
-
-// specialization to peel apart the cons list
-template< typename First, typename Rest >
-struct largest< cons<First,Rest> >
-    : choose_larger< First, typename largest<Rest>::type >
-{
-    // type inherited from base
-};
-
-// specialization for loop termination
-template< typename First >
-struct largest< cons<First,nil> >
-{
-    typedef First type;
-};
-
-int main()
-{
-    // print the name of the largest of my_types
-    std::cout
-        << typeid(largest<my_types>::type).name()
-        << std::endl
-        ;
-}
-
-
- -

There are several things worth noticing about this code:

- -
-
    -
  • -

    It uses a few ad-hoc, esoteric techniques, or “hacks”. The default template argument choose1 (labeled “hands off!”) is one example. Without it, we would have needed yet another template to provide the implementation of choose_larger, or we would have had to provide the computation explicitly as a parameter to the template - perhaps not bad for this example, but it would make choose_larger much less useful and more error-prone. The other hack is the derivation of a specialization of largest from choose_larger. This is a code-saving device which allows the programmer to avoid writing “typedef typename ...::type type” in the template body.

    -
  • - -
  • -

    Even this simple metaprogram uses three separate partial specializations. The largest metafunction uses two specializations. One might expect that this indicates there are two termination conditions, but there are not: one specialization is needed simply to deal with access to the sequence elements. These specializations make the code difficult to read by spreading the definition of a single metafunction over several C++ template definitions. Also, because they are partial specializations, they make the code unusable for a large community of C++ programmers whose compilers don't support that feature.

    -
  • -
-
- -

While these techniques are, of course, a valuable part of the arsenal of any good C++ metaprogrammer, their use tends to make programs written in what is already an unusual style harder-to-read and harder-to-write. By encapsulating commonly-used structures and dealing with loop terminations internally, the MPL reduces the need for both tricky hacks and for template specializations.

-
-
- -
-
-
-

1.3. Why metaprogramming?

-
-
- -

It's worth asking why anyone would want to do this. After all, even a simple toy example like the factorial metafunction is somewhat esoteric. To show how the type computation can be put to work, let's examine a simple example. The following code produces an array containing all possible permutations of another array:

- -
-// can't return an array in C++, so we need this wrapper
-template< typename T >
-struct wrapper
-{
-    T x;
-};
-
-// return an array of the N! permutations of 'in'
-template< typename T >
-wrapper< typename permutation_holder<T>::type >
-all_permutations(T const& in)
-{
-    wrapper<typename permutation_holder<T>::type> result;
-
-    // copy the unpermutated array to the first result element
-    unsigned const N = sizeof(T) / sizeof(**result.x);
-    std::copy(&*in, &*in + N, result.x[0]);
-
-    // enumerate the permutations
-    unsigned const result_size = sizeof(result.x) / sizeof(T);
-    for (T* dst = result.x + 1; dst != result.x + result_size; ++dst)
-    {
-        T* src = dst - 1;
-        std::copy(*src, *src + N, *dst);
-        std::next_permutation(*dst, *dst + N);
-    }
-    return result;
-}
-
- -

The runtime definition of factorial would be useless in all_permutations above, since in C++ the sizes of array members must be computed at compile-time. However, there are alternative approaches; how could we avoid metaprogramming, and what would the consequences be?

- -
-
    -
  1. -

    We could write programs to interpret the metadata directly. In our factorial example, the array size could have been a runtime quantity; then we'd have been able to use the straightforward factorial function. However, that would imply the use of dynamic allocation, which is often expensive.

    - -

    To carry this further, YACC might be rewritten to accept a pointer-to-function returning tokens from the stream to be parsed, and a string containing the grammar description. This approach, however, would impose unacceptable runtime costs for most applications: either the parser would have to treat the grammar nondeterministically, exploring the grammar for each parse, or it would have to begin by replicating at runtime the substantial table-generation and optimization work of the existing YACC for each input grammar.

    -
  2. - -
  3. -

    We could replace the compile-time computation with our own analysis. After all, the size of arrays passed to all_permutations are always known at compile-time, and thus can be known to its user. We could ask the user to supply the result type explicitly:

    - -
    -template< typename Result, typename T >
    -Result all_permutations(T const& input);
    -
    - -

    The costs to this approach are obvious: we give up expressivity (by requiring the user to explicitly specify implementation details), and correctness (by allowing the user to specify them incorrectly). Anyone who has had to write parser tables by hand will tell you that the impracticality of this approach is the very reason of YACC's existence.

    - -

    In a language such as C++, where the metadata can be expressed in the same language as the rest of the user's program, expressivity is further enhanced: the user can invoke metaprograms directly, without learning a foreign syntax or interrupting the flow of her code.

    -
  4. -
-
- -

So, the motivation for metaprogramming comes down to the combination of three factors: efficiency, expressivity, and correctness. While in classical programming there is always a tension between expressivity and correctness on one hand and efficiency on the other, in the metaprogramming world we wield new power: we can move the computation required for expressivity from runtime to compile-time.

-
- -
-
-
-

1.4. Why a metaprogramming library?

-
-
- -

One might just as well ask why we need any generic library:

- -
-
    -
  • -

    Quality. Code that is appropriate for a general-purpose library is usually incidental to the purpose of its users. To a library developer, it is the central mission. On average, the containers and algorithms provided by any given C++ standard library implementation are more-flexible and better-implemented than the project-specific implementations which abound, because library development was treated as an end in itself rather than a task incidental to the development of some other application. With a centralized implementation for any given function, optimizations and improvements are more likely to have been applied.

    -
  • - -
  • -

    Re-use. More important even than the re-use of code which all libraries provide, a well-designed generic library establishes a framework of concepts and idioms which establishes a reusable mental model for approaching problems. Just as the C++ Standard Template Library gave us iterator concepts and a function object protocol, the Boost Metaprogramming Library provides type-iterators and metafunction class protocol. A well-considered framework of idioms saves the metaprogrammer from considering irrelevant implementation details and allows her to concentrate on the problem at hand.

    -
  • - -
  • -

    Portability. A good library can smooth over the ugly realities of platform differences. While in theory a metaprogramming library is fully generic and shouldn't be concerned with these issues, in practice support for templates remains inconsistent even four years after standardization. This should perhaps not be surprising: C++ templates are the language's furthest-reaching and most complicated feature, which largely accounts for the power of metaprogramming in C++.

    -
  • - -
  • -

    Fun. Repeating the same idioms over and over is tedious. It makes programmers tired and reduces productivity. Furthermore, when programmers get bored they get sloppy, and buggy code is even more costly than slowly-written code. Often the most useful libraries are simply patterns that have been “plucked” by an astute programmer from a sea of repetition. The MPL helps to reduce boredom by eliminating the need for the most commonly-repeated boilerplate coding patterns.

    -
  • -
-
- -

As one can see, the MPL's development is motivated primarily by the same practical, real-world considerations that justify the development of any other library. Perhaps this is an indication that template metaprogramming is finally ready to leave the realm of the esoteric and enter the lingua franca of every day programmers.

-
-
- -
-
-
-

2. Basic usage

-
-
- -
-
-
-

2.1. Conditional type selection

-
-
- -

Conditional type selection is the simplest basic construct of C++ template metaprogramming. Veldhuizen [Vel95a] was the first to show how to implement it, and Czarnecki and Eisenecker [CE00] first presented it as a standalone library primitive. The MPL defines the corresponding facility as follows:

- -
-template<
-      typename Condition
-    , typename T1
-    , typename T2
-    >
-struct if_
-{
-    typedef /*unspecified*/ type;
-};
-
- -

Note that the first template parameter of the template is a type.

- -
-// usage/semantics
-typedef mpl::if_<mpl::true_c,char,long>::type t1;
-typedef mpl::if_<mpl::false_c,char,long>::type t2;
-
-BOOST_MPL_ASSERT_IS_SAME(t1, char);
-BOOST_MPL_ASSERT_IS_SAME(t2, long);
-
- -

The construct is important because template metaprograms often contain a lot of decision-making code, and, as we will show, spelling it manually every time via (partial) class template specialization quickly becomes impractical. The template is also important from the point of encapsulating the compiler workarounds.

- -
-
-
-

2.1.1. Delayed evaluation

-
-
- -

The way the C++ template instantiation mechanism works imposes some subtle limitations on applicability of the type selection primitive (if_), compared to a manually implemented equivalent of the selection code. For example, suppose we are implementing a pointed_type traits template such that pointed_type<T>::type instantiated for a T that is either a plain pointer (U*), std::auto_ptr<U>, or any of the Boost smart pointers [SPL], e.g. boost::scoped_ptr<U>, will give us the pointed type (U):

- -
-BOOST_MPL_ASSERT_IS_SAME(pointed_type<my*>::type, my);
-BOOST_MPL_ASSERT_IS_SAME(pointed_type< std::auto_ptr<my> >::type, my);
-BOOST_MPL_ASSERT_IS_SAME(pointed_type< boost::scoped_ptr<my> >::type, my);
-
- -

Unfortunately, the straightforward application of if_ to this problem does not work: 1

- -
-template< typename T >
-struct pointed_type
-    : mpl::if_<
-          boost::is_pointer<T>
-        , typename boost::remove_pointer<T>::type
-        , typename T::element_type // #1
-        >
-{
-};
-
-// the following code causes compilation error in line #1:
-// name followed by "::" must be a class or namespace name
-typedef pointed_type<char*>::type result;
-
- -

Clearly, the expression typename T::element_type is not valid in the case of T == char*, and that's what the compiler is complaining about. Implementing the selection code manually solves the problem:

- -
-namespace aux {
-// general case
-template< typename T, bool is_pointer = false >
-struct select_pointed_type
-{
-    typedef typename T::element_type type;
-};
-
-// specialization for plain pointers
-template< typename  T >
-struct select_pointed_type<T,true>
-{
-    typedef typename boost::remove_pointer<T>::type type;
-};
-}
-
-template< typename T >
-struct pointed_type
-   : aux::select_pointed_type<
-          T, boost::is_pointer<T>::value
-        >
-{
-};
-
- -

But this quickly becomes awkward if needs to be done repeatedly, and this awkwardness is compounded when partial specialization is not available. We can try to work around the problem as follows:

- -
-namespace aux {
-template< typename T >
-struct element_type
-{
-     typedef typename T::element_type type;
-};
-}
-
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , typename boost::remove_pointer<T>::type
-        , typename aux::element_type<T>::type
-        >::type type;
-};
-
- -

but this doesn't work either - the access to the aux::element_type<T>'s nested type member still forces the compiler to instantiate element_type<T> with T == char*, and that instantiation is, of course, invalid. Also, although in our case this does not lead to a compile error, the boost::remove_pointer<T> template always gets instantiated as well, and for the same reason (because we are accessing its nested type member). Unnecessary instantiation that is not fatal may or may be not a problem, depending on the “weight” of the template (how much the instantiation taxes the compiler), but a general rule of thumb would be to avoid such code.

- -

Returning to our error, to make the above code compile, we need to factor the act of “asking” aux::element_type<T> for its nested type out of the if_ invocation. The fact that both the boost::remove_pointer<T> trait template and aux::element_type<T> use the same naming convention for their result types makes the refactoring easier:

- -
-template< typename T >
-struct pointed_type
-{
- private:
-    typedef typename mpl::if_<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type func_;
-
- public:
-    typedef typename func_::type type;
-};
-
- -

Now the compiler is guaranteed not to instantiate both boost::remove_pointer<T> and aux::element_type<T>, even although they are used as actual parameters to the if_ template, so we are allowed to get away with aux::element_type<char*> so long as it won't end up being selected as func_.

- -

The above technique is so common in template metaprograms, that it even makes sense to facilitate the selection of a nested type member by introducing a high-level equivalent to if_ - the one that will do the func_::type operation (that is called [nullary] metafunction class application) as a part of its invocation. The MPL provides such template - it's called apply_if. Using it, we can re-write the above code as simple as:

- -
-template< typename T >
-struct pointed_type
-{
-    typedef typename mpl::apply_if<
-          boost::is_pointer<T>
-        , boost::remove_pointer<T>
-        , aux::element_type<T>
-        >::type type;
-};
-
- -

To make our techniques review complete, let's consider a slightly different example - suppose we want to define a high-level wrapper around boost::remove_pointer traits template [TTL], which will strip the pointer qualification conditionally. We will call it remove_pointer_if:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::if_<
-          Condition
-        , typename boost::remove_pointer<T>::type
-        , T
-        >::type type;
-};
-
- -

Now the above works the first time, but it suffers from the problem we mentioned earlier - boost::remove_pointer<T> gets instantiated even if its result is never used. In the metaprogramming world compilation time is an important resource [Abr01], and it is wasted by unnecessary template instantiations. We've just seen how to deal with the problem when both arguments to if_ are the results of nullary metafunction class applications, but in this example one of the arguments (T) is just a simple type, so the refactoring just doesn't seem possible.

- -

The easiest way out of this situation would be to pass to if_ a real nullary metafunction instead of T - the one that returns T on its invocation. The MPL provides a simple way to do it - we just substitute identity<T> and apply_if for T and if_:

- -
-template<
-      typename Condition
-    , typename T
-    >
-struct remove_pointer_if
-{
-    typedef typename mpl::apply_if<
-          Condition
-        , boost::remove_pointer<T>
-        , mpl::identity<T>
-        >::type type;
-};
-
- -

which gives us exactly what we wanted.

-
-
- -
-
-
-

2.2. Metafunctions

-
-
- -
-
-
-

2.2.1. The simple form

-
-
- -

In C++, the basic underlying language construct which allows parameterized compile-time computation is the class template ([ISO98], section 14.5.1 [temp.class]). A bare class template is the simplest possible model we could choose for metafunctions: it can take types and/or non-type arguments as actual template parameters, and instantiation “returns” a new type. For example, the following produces a type derived from its arguments:

- -
-template< typename T1, typename T2 >
-struct derive : T1, T2
-{
-};
-
- -

However, this model is far too limiting: it restricts the metafunction result not only to class types, but to instantiations of a given class template, to say nothing of the fact that every metafunction invocation introduces an additional level of template nesting. While that might be acceptable for this particular metafunction, any model which prevented us from “returning”, say, int is obviously not general enough. To meet this basic requirement, we must rely on a nested type to provide our return value:

- -
-template< typename T1, typename T2 >
-struct derive
-{
-    struct type : N1, N2 {};
-};
-
-// silly specialization, but demonstrates "returning" int
-template<>
-struct derive<void,void>
-{
-    typedef int type;
-};
-
- -

Veldhuizen [Vel95a] was first to talk about class templates of this form as “compile-time functions”, and Czarnecki and Eisenecker [CE00] have introduced “template metafunction” as an equivalent term (they also use the simpler term “metafunction”, as do we). Czarnecki and Eisenecker have also recognized the limitations of the simple metafunction representation and suggested the form that we discuss in Section 2.2.3.

-
- -
-
-
-

2.2.2. Higher-order metafunctions

-
-
- -

While syntactically simple, the simple template metafunction form does not always interact optimally with the rest of C++. In particular, the simple metafunction form makes it unnecessarily awkward and tedious to define and work with higher-order metafunctions (metafunctions that operate on other metafunctions). In order to pass a simple metafunction to another template, we need to use template template parameters:

- -
-// returns F(T1,F(T2,T3))
-template<
-      template<typename> class F
-    , typename T1
-    , typename T2
-    , typename T3
-    >
-struct apply_twice
-{
-  typedef typename F<
-        T1
-      , typename F<T2,T3>::type
-      >::type type;
-};
-
-// a new metafunction returning a type derived from T1, T2, and T3
-template<
-      typename T1
-    , typename T2
-    , typename T3
-    >
-struct derive3
-    : apply_twice<derive,T1,T2,T3>
-{
-};
-
- -

This looks different, but it seems to work. 2 However, things begin to break down noticeably when we want to “return” a metafunction from our metafunction:

- -
-// returns G s.t. G(T1,T2,T3) == F(T1,F(T2,T3))
-template< template<typename> class F >
-struct compose_self
-{
-    template<
-          typename T1
-        , typename T2
-        , typename T3
-        > 
-    struct type
-        : apply_twice<F,T1,T2,T3>
-    {
-    };
-};
-
- -

The first and most obvious problem is that the result of applying compose_self is not itself a type, but a template, so it can't be passed in the usual ways to other metafunctions. A more subtle issue, however, is that the metafunction “returned” is not exactly what we intended. Although it acts just like apply_twice, it differs in one important respect: its identity. In the C++ type system, compose_self<F>::template type<T,U,V> is not a synonym for apply_twice<F,T,U,V>, and any metaprogram which compared metafunctions would discover that fact.

- -

Because C++ makes a strict distinction between type and class template template parameters, reliance on simple metafunctions creates a “wall” between metafunctions and metadata, relegating metafunctions to the status of second-class citizens. For example, recalling our introduction to type sequences, there's no way to make a cons list of metafunctions:

- -
-typedef cons<derive, cons<derive3, nil> > derive_functions; // error!
-
- -

We might consider redefining our cons cell so we can pass derive as the head element:

- -
-template <
-      template< template<typename T, typename U> class F
-    , typename Tail
-    >
-struct cons;
-
- -

However, now we have another problem: C++ templates are polymorphic with respect to their type arguments, but not with respect to template template parameters. The arity (number of parameters) of any template template parameter is strictly enforced, so we still can't embed derive3 in a cons list. Moreover, polymorphism between types and metafunctions is not supported (the compiler expects one or the other), and as we've seen, the syntax and semantics of “returned” metafunctions is different from that of returned types. Trying to accomplish everything with the simple template metafunction form would seriously limit the applicability of higher-order metafunctions and would have an overall negative effect on the both conceptual and implementation clarity, simplicity and size of the library.

-
- -
-
-
-

2.2.3. Metafunction classes

-
-
- -

Fortunately, the truism that “there is no problem in software which can't be solved by adding yet another level of indirection” applies here. To elevate metafunctions to the status of first-class objects, the MPL introduces the concept of a “metafunction class”:

- -
-// metafunction class form of derive
-struct derive
-{
-    template< typename N1, typename N2 >
-    struct apply
-    {
-        struct type : N1, N2 {};
-    };
-};
-
- -

This form should look familiar to anyone acquainted with function objects in STL, with the nested apply template taking the same role as the runtime function-call operator. In fact, compile-time metafunction classes have the same relationship to metafunctions that runtime function objects have to functions:

- -
-// function form of add
-template< typename T > T add(T x, T y) { return x + y; }
-
-// function object form of add
-struct add
-{
-    template< typename T >
-    T operator()(T x, T y) { return x + y; }
-};
-
-
- -
-
-
-

2.2.4. One size fits all?

-
-
- -

The metafunction class form solves all the problems with ordinary template metafunction mentioned earlier: since it is a regular class, it can be placed in compile-time metadata sequences and manipulated by other metafunctions using the same protocols as for any other metadata. We thereby avoid the code-duplication needed to provide versions of each library component to operate on ordinary metadata and on metafunctions with each distinct supported arity.

- -

On the other hand, it seems that accepting metafunction classes as the representation for compile-time function entities imposes code duplication danger as well: if the library's own primitives, algorithms, etc. are represented as class templates, that means that one either cannot reuse these algorithms in the context of higher-order functions, or she have to duplicate all algorithms in the second form, so, for instance, there would be two versions of find:

- -
-// user-friendly form
-template<
-      typename Sequence
-    , typename T
-    >
-struct find
-{
-    typedef /* ... */ type;
-};
-
-// "metafunction class" form
-struct find_func
-{
-    template< typename Sequence, typename T >
-    struct apply
-    {
-        typedef /* ... */ type;
-    };
-};
-
- -

Of course, the third option is to eliminate “user-friendly form” completely so one would always have to write:

- -
-typedef mpl::find::apply<list,long>::type iter;
-// or, if one prefers,
-// typedef mpl::apply< mpl::find,list,long >::type iter;
-
- -

instead of

- -
-typedef mpl::find<list,long>::type iter;
-
- -

That too would hurt usability, considering that the direct invocations of library's algorithms are far more often-used than passing algorithms as arguments to other algorithms/metafunctions.

-
- -
-
-
-

2.2.5. From metafunction to metafunction class

-
-
- -

The MPL's answer to this dilemma is lambda expressions. Lambda is the mechanism that enables the library to curry metafunctions and convert them into metafunction classes, so when one wants to pass the find algorithm as an argument to a higher-order metafunction, she just write:

- -
-using namespace mpl::placeholder;
-typedef mpl::apply< my_f, mpl::find<_1,_2> >::type result;
-
- -

where _1 and _2 are placeholders for the first and second arguments to the resulting metafunction class. This preserves the intuitive syntax below for when the user wants to use find directly in her code:

- -
-typedef mpl::find<list,long>::type iter;
-
- -

Lambda facility is described in more details in Section 3.

-
-
- -
-
-
-

2.3. Sequences, algorithms, and iterators

-
-
- -
-
-
-

2.3.1. Introduction

-
-
- -

Compile-time iteration over a sequence (of types) is one of the basic concepts of template metaprogramming. Differences in types of objects being manipulated is the most common point of variability of similar but not identical code/design, and such designs are the direct target for some metaprogramming. Templates were originally designed to solve this exact problem (e.g. std::vector). However, without predefined abstractions/constructs for manipulating/iterating over sequences of types (as opposed to standalone types), and without known techniques for emulating these constructs using the current language facilities, their effect on helping high-level metaprogramming happen has been limited.

- -

Czarnecki and Eisenecker [CE98], [CE00] were the first to introduce compile-time sequences of types and some simple algorithms on them, although the idea of representing common data structures like trees, lists, etc. at compile time, using class template composition has been around for a while (e.g. most of the expression template libraries build such trees as a part of their expression "parsing" process [Vel95b]). Alexandrescu [Ale01] used lists of types and some algorithms on them to implement several design patterns; the accompanying code is known as the Loki library [Loki].

-
- -
-
-
-

2.3.2. Algorithms and sequences

-
-
- -

Most of the algorithms in the Boost Metaprogramming Library operate on sequences. For example, searching for a type in a list looks like this:

- -
-typedef mpl::list<char,short,int,long,float,double> types;
-typedef mpl::find<types,long>::type iter;
-
- -

Here, find accepts two parameters - a sequence to search (types) and the type to search for (long) - and returns an iterator iter pointing to the first element of the sequence such that iter::type is identical to long. If no such element exists, iter is identical to end<types>::type. Basically, this is how one would search for a value in a std::list or std::vector, except that mpl::find accepts the sequence as a single parameter, while std::find takes two iterators. Everything else is pretty much the same - the names are the same, the semantics are very close, there are iterators, and one can search not only by type, but also by using a predicate:

- -
-typedef mpl::find_if< types,boost::is_float<_> >::type iter;
-
- -

This conceptual/syntactical similarity with the STL is not coincidental. Reusing the conceptual framework of the STL in the compile-time world allows us to apply familiar and sound approaches for dealing with sequential data structures. The algorithms and idioms which programmers already know from the STL can be applied again at compile-time. We consider this to be one of MPL's greatest strengths, distinguishing it from earlier attempts to build a template metaprogramming library.

-
- -
-
-
-

2.3.3. Sequence concepts

-
-
- -

In the find example above, we searched for the type in a sequence built using the mpl::list template; but list is not the only sequence that the library provides. Neither is mpl::find or any other algorithm hard-coded to work only with list sequences. list is just one model of MPL's Forward Sequence concept, and find works with anything that satisfies this concept's requirements. The hierarchy of sequence concepts in MPL is quite simple - a Sequence is any compile-time entity for which begin<> and end<> produce iterators to the range of its elements; a Forward Sequence is a Sequence whose iterators satisfy Forward Iterator requirements; a Bidirectional Sequence is a Forward Sequence whose iterators satisfy Bidirectional Iterator requirements; finally, a Random Access Sequence is a Bidirectional Sequence whose iterators satisfy Random Access Iterator requirements. 3

- -

Decoupling algorithms from particular sequence implementations (through iterators) allows a metaprogrammer to create her own sequence types and to retain the rest of the library at her disposal. For example, one can define a tiny_list for dealing with sequences of three types as follows:

- -
-template< typename TinyList, long Pos >
-struct tiny_list_item;
-
-template< typename TinyList, long Pos >
-struct tiny_list_iterator
-{
-    typedef typename tiny_list_item<TinyList,Pos>::type type;
-    typedef tiny_list_iterator<TinyList, Pos-1> prior;
-    typedef tiny_list_iterator<TinyList, Pos+1> next;
-};
-
-template< typename T0, typename T1, typename T2 >
-struct tiny_list
-{
-    typedef tiny_list_iterator<tiny_list, 0> begin;
-    typedef tiny_list_iterator<tiny_list, 3> end;
-    typedef T0 type0;
-    typedef T1 type1;
-    typedef T2 type2;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,0>
-{
-    typedef typename TinyList::type0 type;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,1>
-{
-    typedef typename TinyList::type1 type;
-};
-
-template< typename TinyList >
-struct tiny_list_item<TinyList,2>
-{
-    typedef typename TinyList::type2 type;
-};
-
- -

and then use it with any of the library algorithms as if it were mpl::list:

- -
-typedef tiny_list< char,short,int > types;
-typedef mpl::transform<
-      types
-    , boost::add_pointer<_1>
-    >::type pointers;
-
- -

Note that tiny_list is a model of Bidirectional Sequence; it would be a Random Access Sequence if we added advance and distance members to tiny_list_iterator:

- -
-template< typename TinyList, long Pos >
-struct tiny_list_iterator
-{
-    static long const position = Pos;
-
-    typedef typename tiny_list_item<TinyList,Pos>::type type;
-    typedef tiny_list_iterator<TinyList, Pos-1> prior;
-    typedef tiny_list_iterator<TinyList, Pos+1> next;
-
-    template< typename N > struct advance
-    {
-        typedef tiny_list_iterator<
-              TinyList
-            , Pos + N::value
-            > type;
-    };
-
-    template< typename Other > struct distance
-    {
-        typedef mpl::integral_c<
-              long
-            , Other::position - position
-            > type;
-    };
-};
-
- -

While the tiny_list itself might be not that interesting (after all, it can hold only three elements), if the technique above could be automated so we would be able to define not-so-tiny sequences (with five, ten, twenty, etc. elements), it would be very valuable. 4

- -

External code generation is an option, but there exists a solution within the language. However, it is not a template metaprogramming, but rather preprocessor metaprogramming. In fact, MPL's vector - a fixed-size type sequence that provides random-access iterators - is implemented very much like the above tiny_list - using the Boost Preprocessor library [PRE].

-
- -
-
-
-

2.3.4. Ad hoc example revisited

-
-
- -

So, the library provides its users with almost complete compile-time equivalent of the STL framework. Does it help them to solve their metaprogramming tasks? Let's return to our earlier largest example to see if we can rewrite it in a better way with what MPL has to offer. Well, actually, there is not much to look at, because the MPL implementation is a one-liner (we'll spread it out here for readability) 5 :

- -
-template< typename Sequence >
-struct largest
-{
-    typedef typename mpl::max_element<
-          Sequence
-          mpl::less<
-              mpl::size_of<_1>
-            , mpl::size_of<_2>
-            >
-        >::type iter;
-
-    typedef typename iter::type type;
-};
-
- -

There are no more termination conditions with tricky pattern matching, no more partial specializations; and even more importantly, it's obvious what the above code does - even although it's all templates - something that one could not say about the original version.

-
- -
-
-
-

2.3.5. iter_fold as the main iteration algorithm

-
-
- -

For the purpose of examining a little bit more of the library's internal structure, let's look at how max_element from the above example is implemented. One might expect that now we will again see all these awkward partial specializations, esoteric pattern matching, etc. Well, let's see:

- -
-template<
-      typename Sequence
-    , typename Predicate
-    >
-struct max_element
-{
-    typedef typename mpl::iter_fold<    
-          Sequence
-        , typename mpl::begin<Sequence>::type
-        , if_< less< deref<_1>,deref<_2> >, _2, _1 >
-        >::type type;
-};
-
- -

The first thing to notice here is that this algorithm is implemented in terms of another one: iter_fold. In fact, this is probably the most important point of the example, because nearly all other generic sequence algorithms in the library are implemented in terms of iter_fold. If a user should ever need to implement her own sequence algorithm, she'll almost certainly be able to do so using this primitive, which means she won't have to resort to implementing hand-crafted iteration, pattern matching of special cases for loop termination, or workarounds for lack of partial specialization. It also means that her algorithm will automatically benefit from any optimizations the library has implemented, (e.g. recursion unrolling), and that it will work with any sequence that is a model of ForwardSequence, because iter_fold does not require anything more of its sequence argument.

- -

iter_fold algorithm is basically a compile-time equivalent of the fold or reduce functions that comprise the basic and well-known primitives of many functional programming languages. An analogy more familiar to a C++ programmer would be the std::accumulate algorithm from the C++ standard library ([ISO98], section 26.4.1 [lib.accumulate]). However, iter_fold is designed to take advantage of the natural characteristics of recursive traversal: it accepts two metafunction class arguments, the first of which is applied to the state "on the way in" and the second of which is applied "on the way out".

- -

The interface to iter_fold is defined in MPL as follows:

- -
-template<
-      typename Sequence
-    , typename InitialState
-    , typename ForwardOp
-    , typename BackwardOp = _1
-    >
-struct iter_fold
-{
-    typedef /*unspecified*/ type;
-};
-
- -

The algorithm “returns” the result of two-way successive applications of binary ForwardOp and BackwardOp operations to iterators in range [begin<Sequence>::type, end<Sequence>::type) and previous result of an operation; the InitialState is logically placed before the sequence and included in the forward traversal. The result type is identical to InitialState if the sequence is empty.

- -

The library also provides iter_fold_backward, fold, and fold_backward algorithms which wrap iter_fold to accommodate its most common usage patterns.

-
- -
-
-
-

2.3.6. Sequences of numbers

-
-
- -

What we've seen so far were sequences (and algorithms on sequences) of types. It is both possible and easy to manipulate compile-time values using the library as well. The only thing to remember is that in C++, class template non-type template parameters give us one more example of non-polymorphic behavior. In other words, if one declared a metafunction to take a non-type template parameter (e.g. long) it's not possible to pass anything besides compile-time integral constants to it:

- -
-template< long N1, long N2 >
-struct equal_to
-{
-    static bool const value = (N1 == N2);
-};
-
-equal_to<5,5>::value; // ok
-equal_to<int,int>::value; // error!
-
- -

And of course this doesn't work the other way around either:

- -
-typedef mpl::list<1,2,3,4,5> numbers; // error!
-
- -

While this may be an obvious limitation, it imposes yet another dilemma on the library design: on the one hand, we don't want to restrict users to type manipulations only, and on the other hand, full support for integral manipulations would require at least duplication of most of the library facilities 6 - the same situation as we would have if we had chosen to represent metafunctions as ordinary class templates. The solution for this issue is the same as well: we represent integral values by wrapping them in types 7 . For example, to create a list of numbers one can write:

- -
-typedef mpl::list<
-      mpl::int_c<1>
-    , mpl::int_c<2>
-    , mpl::int_c<3>
-    , mpl::int_c<4>
-    , mpl::int_c<5>
-    > numbers;
-
- -

Wrapping integral constants into types to make them first-class citizens is important well inside metaprograms, where one often doesn't know (and doesn't care) if the metafunctions she is using operate on types, integral values, other metafunctions, or something else, like fixed-point or rational numbers (mpl::fixed_c and mpl::rational_c).

- -

But, from the user's perspective, the above example is much more verbose than the shorter, incorrect one. Thus, for the purpose of convenience, the library does provide users with a template that takes non-type template parameters, but offers a more compact notation:

- -
-typedef mpl::list_c<long,1,2,3,4,5> numbers;
-
- -

There is a similar vector counterpart as well:

- -
-typedef mpl::vector_c<long,1,2,3,4,5> numbers;
-
-
- -
-
-
-

2.3.7. A variety of sequences

-
-
- -

Previous efforts to provide generalized metaprogramming facilities for C++ have always concentrated on cons-style type lists and a few core algorithms like size and at, which are tied to the specific sequence implementation. Such systems have an elegant simplicity reminiscent of the analogous functionality in pure functional Lisp. It is much more time-consuming to implement even a basic set of the sequence algorithms provided by equivalent run-time libraries (the STL in particular), but if we have learned anything from the STL, it is that tying those algorithms' implementations to a specific sequence implementation is a misguided effort!

- -

The truth is that there is no single “best” type sequence implementation for the same reasons that there will never be a single “best” runtime sequence implementation. Furthermore, there are already quite a number of type list implementations in use today; and just as the STL algorithms can operate on sequences which don't come from STL containers, so the MPL algorithms are designed to work with foreign type sequences.

- -

It may be an eye-opening fact for some that type lists are not the only useful compile-time sequence. Again, the need for a variety of compile-time containers arises for the same reasons that we have lists, vectors, deques, and sets in the C++ standard library - different containers have different functional and performance characteristics which determine not only applicability and efficiency of particular algorithms, but also the expressiveness or verbosity of the code that uses them. While runtime performance is not an issue for C++ metaprograms, compilation speed is often a significant bottleneck to advanced C++ software development [Abr01].

- -

The MPL provides five built-in sequences: list, list_c (really just a list of value wrappers), vector, a randomly-accessible sequence of fixed maximum size, vector_c, and range_c, a randomly-accessible sequence of consecutive integral values. More important, however, is its ability to adapt to arbitrary sequence types. The only core operations that a sequence is required to provide in order to be used with the library algorithms are begin<> and end<> metafunctions which "return" iterators into the sequence. As with the STL, it is the iterators which are used to implement most of the general-purpose sequence algorithms the library provides. Also, as with the STL, algorithm specialization is used to take advantage of implementation knowledge about particular sequences: many of the "basic" sequence operations such as back<>, front<>, size<>, and at<> are specialized on sequence type to provide a more efficient implementation than the fully generic version.

-
- -
-
-
-

2.3.8. Loop/recursion unrolling

-
-
- -

Almost coincidentally, loop unrolling can be as important to compile-time iterative algorithms as it is to runtime algorithms. To see why, one must first remember that all "loops" in C++ metaprograms, are in fact, implemented with recursion, and that the template instantiation depth can be a valuable resource in a compiler implementation. In fact, Annex B of the C++ standard ([ISO98], annex B [limits]) recommends a minimum depth of 17 recursively nested template instantiations; but this is far too low for many serious metaprograms, some of which easily exceed the hard-coded instantiation limits of some otherwise excellent compilers. To see how this works in action, let's examine a straightforward implementation of the fold metafunction, which combines some algorithm state with each element of a sequence:

- -
-namespace aux {
-
-// unspecialized version combines the initial state and first element
-// and recurses to process the rest
-template<
-      typename Start
-    , typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl
-  : fold_impl<
-        typename Start::next
-      , Finish
-      , typename apply<
-              BinaryFunction
-            , State
-            , typename Start::type
-            >::type
-      , BinaryFunction
-      >
-{
-};
-
-// specialization for loop termination
-template<
-      typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl<Finish,Finish,State,BinaryFunction>
-{
-    typedef State type;
-};
-
-} // namespace aux
-
-// public interface
-template<
-      typename Sequence
-    , typename State
-    , typename ForwardOp
-    >
-struct fold
-    : aux::fold_impl<
-        , typename begin<Sequence>::type
-        , typename end<Sequence>::type
-        , State
-        , typename lambda<ForwardOp>::type
-        >
-{
-};
-
- -

Although simple and elegant, this implementation will always incur at least as many levels of recursive template instantiation as there are elements in the input sequence. 8 The library addresses this problem by explicitly "unrolling" the recursion. To apply the technique to our fold example, we begin by factoring out a single step of the algorithm. Our fold_impl_step metafunction has two results: type (the next state), and iterator (the next sequence position).

- -
-template<
-      typename BinaryFunction
-    , typename State
-    , typename Start
-    , typename Finish
-    >
-struct fold_impl_step
-{
-    typedef typename apply<
-          BinaryFunction
-        , State
-        , typename Start::type
-        >::type type;
-
-    typedef typename Start::next iterator;
-};
-
- -

As with our main algorithm implementation, we specialize for the loop termination condition so that the step becomes a no-op:

- -
-template<
-      typename BinaryFunction
-    , typename State
-    , typename Finish
-    >
-struct fold_impl_step<BinaryFunction,State,Finish,Finish>
-{
-    typedef State type;
-    typedef Finish iterator;
-};
-
- -

Now we can now reduce fold's instantiation depth by any constant factor N simply by inserting N invocations of fold_impl_step. Here we've chosen a factor of 4:

- -
-template<
-      typename Start
-    , typename Finish
-    , typename State
-    , typename BinaryFunction
-    >
-struct fold_impl
-{
- private:
-    typedef fold_impl_step<
-        BinaryFunction
-      , State
-      , Start
-      , Finish
-      > next1;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next1::type
-      , typename next1::iterator
-      , Finish
-      > next2;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next2::type
-      , typename next2::iterator
-      , Finish
-      > next3;
-    
-    typedef fold_impl_step<
-        BinaryFunction
-      , typename next3::type
-      , typename next3::iterator
-      , Finish
-      > next4;
-    
-    typedef fold_impl_step<
-          typename next4::iterator
-        , Finish
-        , typename next4::type
-        , BinaryFunction
-        > recursion;
-
- public:
-    typedef typename recursion::type type;
-};
-
- -

The MPL applies this unrolling technique across all algorithms with an unrolling factor tuned according to the demands of the C++ implementation in use, and with an option for the user to override the value. 9 This fact enables users to push beyond the metaprogramming limits they would usually encounter with more naive algorithm implementations. Experiments also show a small (up to 10%) increase in metaprogram instantiation speed on some compilers when loop unrolling is used.

-
-
-
- -
-
-
-

3. Lambda facility

-
-
- -

The MPL's lambda facility allows the inline composition of class templates into “lambda expressions”, which are classes and can therefore be passed around as ordinary metafunction classes, or transformed into metafunction classes before application using the expression:

- -
-typedef mpl::lambda<expr>::type func;
-
- -

For example, boost::remove_const traits template from Boost type_traits library [TTL] is a class template (obviously), or a metafunction in MPL terminology. The simplest example of an “inline composition” of it would be something like:

- -
-typedef boost::remove_const<_1> expr;
-
- -

This forms a so called “lambda expression”, which is neither a metafunction class, nor a metafunction, yet can be passed around everywhere because it's an ordinary C++ class, because all MPL facilities are polymorphic with respect to their arguments. Now, that lambda expression can be transformed into a metafunction class using the MPL's lambda facility:

- -
-typedef boost::remove_const<_1> expr;
-typedef mpl::lambda<expr>::type func;
-
- -

The func is a unary metafunction class and can be used as such. In particular, it can be pass around or invoked (applied):

- -
-typedef mpl::apply<func,int const>::type res;
-BOOST_MPL_ASSERT_IS_SAME(res, int);
-
- -

or even

- -
-typedef func::apply<int const>::type res;
-BOOST_MPL_ASSERT_IS_SAME(res, int);
-
- -

Inline composition is very appealing syntactically when one deals with metafunctions, because it makes the expression obvious:

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_1>, mpl::int_c<16> >
-    , boost::is_same<_1,_2>
-    > expr;
-
-typedef mpl::lambda<expr>::type func;
-
- -

And one does not have to specify the last part (typedef lambda<expr>::type func), because all the algorithms do this to any of their metafunction class operands internally (a lambda<T>::type expression applied to a metafunction class gives back the same metafunction class, so it's safe to apply the expression unconditionally).

- -

The alternative way to write an equivalent of the above metafunction class would be:

- -
-typedef bind<
-      mpl::meta_fun2<mpl::logical_or>
-    , mpl::bind< mpl::meta_fun2<mpl::less>
-        , mpl::bind< mpl::meta_fun1<mpl::size_of>,_1 >
-        , mpl::int_c<16>
-        >
-    , mpl::bind< mpl::meta_fun2<boost::is_same>,_1,_2 >
-    > func;
-
- -

Or to use mpl::compose_ family of templates in a similar way. Here, we use mpl::meta_fun templates to convert metafunctions into metafunction classes and then combine them using mpl::bind. The transformation from this form to the above inline lambda expression and vice-versa is mechanical, and that is essentially what the typedef mpl::lambda<expr>::type expression does.

- -

For its own metafunctions (algorithms, primitives, etc.), MPL enables one to write the above in a less cumbersome way:

- -
-typedef mpl::bind<
-      mpl::logical_or<>
-    , mpl::bind< mpl::less<>, mpl::bind<mpl::size_of<>,_1>, mpl::int_c<16> >
-    , mpl::bind< mpl::make_f2<boost::is_same>, _1,_2 >
-    > func;
-
- -

Note that we still have to wrap is_same into make_f2, because it's a foreign template.

- -

Now, about combining class template metafunctions and metafunction classes in the single lambda expression - it can be done like this:

- -
-struct my_predicate
-{
-    template< typename T1, typename T2 > struct apply
-    {
-        //...
-    };
-};
-
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , mpl::bind< my_predicate,_,_ > // here
-    > expr;
-
- -

To bind something to one of its arguments (or change the order of parameters), then use either:

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , mpl::bind<my_predicate,int,_>::type // here
-    > expr;
-
- -

or

- -
-typedef mpl::logical_or<
-      mpl::less< mpl::size_of<_>,mpl::int_c<16> >
-    , my_predicate::apply<int,_> // here
-    > expr;
-
-
- -
-
-
-

4. Code generation facilities

-
-
- -

There are cases, especially in the domain of numeric computation, when one wants to perform some part of the calculations at compile-time, and then pass the results to a run-time part of the program for further processing. For example, suppose one has implemented a complex compile-time algorithm that works with fixed-point arithmetic:

- -
-// fixed-point algorithm input
-typedef mpl::vector<
-      mpl::fixed_c<-1,2345678>
-    , mpl::fixed_c<9,0001>
-    // ..
-    , mpl::fixed_c<3,14159>
-    > input_data;
-
-/*
-  complex compile-time algorithm 
-*/
-typedef /*...*/ result_data;
-
- -

Suppose the result_data here is a sequence of mpl::fixed_c types that keeps the results of the algorithm, and now one wishes to feed that result to the run-time part of the algorithm. With MPL she can do this:

- -
-double my_algorithm()
-{
-    // passing the results to the run-time part of the program
-    std::vector<double> results;
-    results.reserve(mpl::size<result_data>::value);
-    mpl::for_each<numbers,_>(
-          boost::bind(&std::vector<double>::push_back, &results, _1)
-        );
-    // ...
-}
-
- -

The for_each<numbers,_>(...) call is what actually transfers the compile-time result_data into run-time results. for_each is a function template declared as:

- -
-template<
-      typename Seq
-    , typename TransformOp
-    , typename F
-    >
-void for_each(F f)
-{
-    // ...
-}
-
- -

To call the function, one is required to explicitly provide two actual template parameters, a compile-time sequence Seq and a unary transformation metafunction TransformOp, plus a run-time function argument f (in our example, numbers, _, and boost::bind(...) correspondingly). f is a function object which operator() is called for every element in the Seq tranfromed by TransformOp.

- -

Applying this to our example, the

- -
-mpl::for_each<numbers,_>(
-      boost::bind(&std::vector<double>::push_back, &results, _1)
-    );
-
- -

call is roughly equivalent to this:

- -
-f(mpl::apply< _,mpl::at_c<result_data,0>::type >::type());
-f(mpl::apply< _,mpl::at_c<result_data,1>::type >::type());
-// ...
-f(mpl::apply< _,mpl::at_c<result_data,n>::type >::type());
-
- -

where n == mpl::size<result_data>::type::value.

-
- -
-
-
-

5. Example: a compile-time FSM generator

-
-
- -

Finite state machines (FSMs) are an important tool for describing and implementing program behavior [HU79], [Mar98]. They also are a good example of a domain in which metaprogramming can be applied to reduce the amount of repetitive and boilerplate operations one must perform in order to implement these simple mathematical models in code. Below we present a simple state machine generator that has been implemented using Boost Metaprogramming Library facilities. The generator takes a compile-time automata description, and converts it into C++ code that implements the FSM at run-time.

- -

The FSM description is basically a combination of states and events plus a state transition table (STT), which ties them all together. The generator walks through the table and generates the state machine's process_event method that is the essence of an FSM.

- -

Suppose we want to implement a simple music player using a finite state machine model. The state transition table for the FSM is shown in Table 1. The STT format reflects the way one usually describes the behavior of an FSM in plain English. For example, the first line of the table can be read as follows: “If the model is in the stopped state and the play_event is received, then the do_play transition function is called, and the model transitions to the playing state”.

- -
- ----- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StateEventNext stateTransition function
stoppedplay_eventplayingdo_play
playingstop_eventstoppeddo_stop
playingpause_eventpauseddo_pause
pausedplay_eventplayingdo_resume
pausedstop_eventstoppeddo_stop
- -

Table 1. Player's state transition table with actions

-
- -

The transition table provides us with a complete formal definition of the target FSM, and there are several ways to transform that definition into code. For instance, if we define states as members of an enumeration type, and events as classes derived from some base event class 10 , like so:

- -
-class player
-{
- public:
-    // event declarations
-    struct event;
-    struct play_event;
-    struct stop_event;
-    struct pause_event;
-
-    // "input" function
-    void process_event(event const&); // throws
-
- private:
-    // states
-    enum state_t { stopped, playing, paused };
-
-    // transition functions
-    void do_play(play_event const&);
-    void do_stop(stop_event const&);
-    void do_pause(pause_event const&);
-    void do_resume(play_event const&);
-
- private:
-    state_t m_state;
-};
-
- -

then the most straightforward way to derive the FSM implementation from the above table would be something like this:

- -
-void player::process_event(event const& e)
-{
-    if (m_state == stopped)
-    {
-        if (typeid(e) == typeid(play_event))
-        {
-            do_play(static_cast<play_event const&>(e));
-            m_state = playing;
-            return;
-        }
-    }
-    else if (m_state == playing)
-    {
-        if (typeid(e) == typeid(stop_event))
-        {
-            do_stop(static_cast<stop_event const&>(e));
-            m_state = stopped;
-            return;
-        }
-
-        if (typeid(e) == typeid(pause_event))
-        {
-            do_pause(static_cast<pause_event const&>(e));
-            m_state = paused;
-            return;
-        }
-    }
-    else if (m_state == paused)
-    {
-        if (typeid(e) == typeid(stop_event))
-        {
-            do_stop(static_cast<stop_event const&>(e));
-            m_state = stopped;
-            return;
-        }
-
-        if (typeid(e) == typeid(play_event))
-        {
-            do_play(static_cast<play_event const&>(e));
-            m_state = playing;
-            return;
-        }
-    }
-    else
-    {
-        throw logic_error(
-            boost::format("unknown state: %d")
-                % static_cast<int>(m_state)
-            );
-    }
-
-    throw std::logic_error(
-        "unexpected event: " + typeid(e).name()
-        );
-}
-
- -

Although there is nothing particularly wrong with implementing an FSM's structure using nested if (or switch-case) statements, the obvious weakness of this approach is that most of the above code is boilerplate. What one tends to do with boilerplate code is to copy and paste it, then change names etc. to adjust it to its new location; and that's where the errors are most likely to creep in. Since all the lines of event processing look alike (structurally), it's very easy to overlook or forget something that needs to be changed, and many such errors won't appear until the runtime.

- -

The transition table of our FSM is just five lines long; ideally, we would like the skeleton implementation of the automata's controlling logic to be equally short (or, at least, to look equally short, i.e. to be encapsulated in some form so we never worry about it).

- -
-
-
-

5.1. Implementation

-
-
- -

To represent the STT in a C++ program, we define a transition class template that represents a single line of the table. Then the table itself can be represented as a sequence of such lines:

- -
-typedef mpl::list<
-      transition<stopped, play_event,  playing, &player::do_play>
-    , transition<playing, stop_event,  stopped, &player::do_stop>
-    , transition<playing, pause_event, paused,  &player::do_pause>
-    , transition<paused,  play_event,  playing, &player::do_resume>
-    , transition<paused,  stop_event,  stopped, &player::do_stop>
-    >::type transition_table;
-
- -

Now, the complete FSM will look like this:

- -
-class player
-    : state_machine<player>
-{
- private:
-    typedef player self_t;
-
-    // state invariants
-    void stopped_state_invariant();
-    void playing_state_invariant();
-    void paused_state_invariant();
-
-    // states (invariants are passed as non-type template arguments,
-    // and are called then the FSM enters the corresponding state)
-    typedef state<0, &self_t::stopped_state_invariant> stopped;
-    typedef state<1, &self_t::playing_state_invariant> playing;
-    typedef state<2, &self_t::paused_state_invariant> paused;
-
- private:
-    // event declarations; events are represented as types, 
-    // and can carry a specific data for each event;
-    // but it's not needed for generator, so we define them later
-    struct play_event;
-    struct stop_event;
-    struct pause_event;
-
-    // transition functions
-    void do_play(play_event const&);
-    void do_stop(stop_event const&);
-    void do_pause(pause_event const&);
-    void do_resume(play_event const&);
-
-    // STT
-    friend class state_machine<player>;
-    typedef mpl::list<
-          transition<stopped, play_event,  playing, &player::do_play>
-        , transition<playing, stop_event,  stopped, &player::do_stop>
-        , transition<playing, pause_event, paused,  &player::do_pause>
-        , transition<paused,  play_event,  playing, &player::do_resume>
-        , transition<paused,  stop_event,  stopped, &player::do_stop>
-        >::type transition_table;
-};
-
- -

That's all - the above will generate a complete FSM implementation according to our specification. The only thing we need before using it is the definition of the event types (that were just forward declared before):

- -
-// event definitions
-struct player::play_event
-    : player::event
-{
-};
-
-// ...
-
- -

The usage is simple as well:

- -
-int main()
-{
-    // usage example
-    player p;
-    p.process_event(player::play_event());
-    p.process_event(player::pause_event());
-    p.process_event(player::play_event());
-    p.process_event(player::stop_event());
-    return 0;
-}
-
-
- -
-
-
-

5.2. Related work

-
-
- -

A notable prior work in the field of automation of general-purpose state machine implementation in C++ is the Robert Martin's State Machine Compiler [SMC]. The SMC takes an ASCII description of the machine's state transition table and produces C++ code that implements the FSM using a variation of State design pattern [Hun91], [GHJ+95]. Lafreniere [Laf00] presents another approach, where no external tools are used, and the FSMs are table driven.

-
-
- -
-
-
-

6. Acknowledgements

-
-
- -

Peter Dimov contributed the bind functionality without which compile-time lambda expressions wouldn't have been possible. The MPL implementation would have been much more difficult without Vesa Karvonen's wonderful Boost Preprocessor Metaprogramming Library. Authors are also greatly indebted to David B. Held who kindly volunteered to thoroughly edit this document. Of course, any remaining errors are exclusively ours.

-
- -
-
-
-

References

-
-
- -
-

[Abr01] David Abrahams and Carlos Pinto Coelho, Effects of Metaprogramming Style on Compilation Time, 2001

-
- -
-

[Ale01] Andrei Alexandrescu, Modern C++ Design: Generic Programming and Design Patterns Applied, Addison-Wesley, ISBN 0-201-70431-5, 2001

-
- -
-

[CE98] Krzysztof Czarnecki and Ulrich Eisenecker, Metalisp, http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm

-
- -
-

[CE00] Krzysztof Czarnecki and Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, ISBN 0-201-30977-7, 2000

-
- -
-

[EBNF] ISO/IEC 14977:1996(E), Information technology — Syntactic metalanguage — Extended BNF, ISO/IEC, 1996

-
- -
-

[GHJ+95] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, ISBN 0-201-63361-2, 1995

-
- -
-

[HU79] Hopcroft and Ullman, Introduction to automata theory, languages and computations, Addison-Wesley, 1979

-
- -
-

[Hud89] Paul Hudak, Conception, Evolution, and Application of Functional Programming Languages, ACM Computing Surveys, Association for Computing Machinery (ACM), ISSN 0360-0300, Vol. 21, No. 3, pp. 359-411, September, 1989

-
- -
-

[Hun91] Immo Huneke, Finite State Machines: A Model of Behavior for C++, C++ Report, SIGS Publications Inc., ISSN 1040-6042, 1991

-
- -
-

[ISO98] ISO/IEC 14882:1998(E), Programming languages — C++, ISO/IEC, 1998

-
- -
-

[Joh79] Stephen C. Johnson, Yacc: Yet Another Compiler Compiler, UNIX Programmer's Manual, Vol. 2b, pp. 353-387, 1979

-
- -
-

[Laf00] David Lafreniere, State Machine Design in C++, C/C++ User Journal, CMP Media LCC, ISSN 1075-2838, Vol. 18, No. 5, May 1998

-
- -
-

[Loki] The Loki library, http://sourceforge.net/projects/loki-lib/

-
- -
-

[Mar98] Robert C. Martin, UML Tutorial: Finite State Machines, C++ Report, SIGS Publications Inc., ISSN 1040-6042, June 1998

-
- -
-

[MPLR] Boost MPL Library Reference Documentation, http://www.mywikinet.com/mpl/ref/Table_of_Content.html

-
- -
-

[PRE] Vesa Karvonen, Boost Preprocessor Metaprogramming library, http://www.boost.org/libs/preprocessor/doc/

-
- -
-

[SMC] Robert C. Martin, SMC - Finite State Machine Compiler (C++), http://www.objectmentor.com/resources/downloads/index

-
- -
-

[STL94] A. A. Stepanov and M. Lee, The Standard Template Library, Hewlett-Packard Laboratories, 1994

-
- -
-

[SPL] Boost Smart Pointer library, http://www.boost.org/libs/smart_ptr/

-
- -
-

[SS75] Gerald J. Sussman and Guy L. Steele Jr., Scheme: An interpreter for extended lambda calculus, MIT AI Memo 349, Massachusetts Institute of Technology, May 1975

-
- -
-

[TTL] Boost Type Traits library, http://www.boost.org/libs/type_traits/

-
- -
-

[Vel95a] Todd Veldhuizen, Using C++ template metaprograms, C++ Report, SIGS Publications Inc., ISSN 1040-6042, Vol. 7, No. 4, pp. 36-43, May 1995

-
- -
-

[Vel95b] Todd Veldhuizen, Expression templates, C++ Report, SIGS Publications Inc., ISSN 1040-6042, Vol. 7, No. 5, pp. 26-31, Jun 1995

-
- -
-

[Unr] Erwin Unruh, Prime number computation, ANSI X3J16-94-0075/ISO WG21-462

-
-
- -

-
-
-

1 Although it would be easy to implement pointed_type using partial specialization to distinguish the case where T is a pointer, if_ is likely to be the right tool for dealing with more complex conditionals. For the purposes of exposition, please suspend disbelief!

-
- -
-

2 In fact it's already broken: apply_twice doesn't even fit the metafunction concept since it requires a template (rather than a type) as its first parameter, which breaks the metafunction protocol.

-
- -
-

3 A more precise definition of these concepts can be found in the library reference documentation [MPLR].

-
- -
-

4 Random access is almost as important at compile-time as it is at run-time. For example, searching for an item in a sorted random-access sequence using lower_bound can be much faster than performing the same operation on a forward-access-only list.

-
- -
-

5 Here is another, even more elegant implementation:

- -
-template< typename Sequence >
-struct largest
-{
-    typedef typename mpl::max_element<
-          mpl::transform_view<
-              Sequence
-            , mpl::size_of<_>
-            >
-        >::type type;
-};
-
-
- -
-

6 Ideally, if going this route, all the templates should be re-implemented for every integral type - char, int, short, long, etc.

-
- -
-

7 The same technique was suggested by Czarnecki and Eisenecker in [CE00].

-
- -
-

8 It could be much more, depending on the complexity of the apply<...> expression, whose depth is added to the overall recursion depth.

-
- -
-

9 This implementation detail is made relatively painless through heavy reliance on the Boost Preprocessor Library, so only one copy of the code needs to be maintained.

-
- -
-

10 The events need to be passed to action functions, as they may contain some event-specific information for an action.

-
-
-
- - - diff --git a/doc/paper/mpl_paper.pdf b/doc/paper/mpl_paper.pdf index 21e2676..a43757b 100644 --- a/doc/paper/mpl_paper.pdf +++ b/doc/paper/mpl_paper.pdf @@ -5,10 +5,10 @@ /Producer (FOP 0.20.4) >> endobj 5 0 obj -<< /Length 1777 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1528 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -GasIh966U_&AJ$CE*Ks6;1N)"ggXo[Cpr\Qb3$"kjIcN.W!m??&pF3A[m:'%%>i8.A,;D=mr#P9o<\1`[pBoGD&.DBFljq+bDS164.HJG%tB.sD,D3a?K)2<::FQdHB77b?_8s`9pd1S9B%Z!cEH^)*qCWLn_Lf'E;M*!qK@A_jo4Q=p?OqM0"`94rq@rjgr1\#68))C'P3u$F7])$rp'Ji^%M?eSJME]L=LZ&$%\*]5lI67F4H@"6!afL]>:$/00PZgRD$mNia6X2A!B\mDMc:R=kiWj/[2%P'D(b092U"]3f$V@:"3m)cn[hm^h6RG,6U5Lfs/^ePYO@?`6YeI#PY&PuKZ=9/r.%,)pdhn<9-O^%])"RV^dWYG:k'^c`,VOU["8UG9X,R,-`'2U^c!Jg0/.nU<(>'-0<<,SCN'sr+S,(VaD6(b'`73^c7U%.kV8ZaF?A;$KYR,Y:C&:Qs')f0pIAXMZsPT">WMS'15kS:r&ZTM_#I'*=)e1)hbXi`[1&KV2*>Am*im`)f?(m%''TKY>$GS/XcFkpU%2M@Z(tJ+h[*0?UuPH]P]"LoRb_c=X/a07+\fE%GB_g@Oj43k)(6iJ+gcP_PRA+"#+qqW$PkjY=n1W%733'')ELY6["F25=hhTD)pVS-k9=cA`mD`tM^p3i@1clD.m[=gWGT6k"4TfC6$Yrn>ZY"f(`XMqP69/(R6l"'Y.iEcsoNW*d\$T^W"G("L8g6Io1c6gtJIG=]iCZpT0ftn`Z=OB4#RH"[kRPgGF^a6MYmi\5#c2'/[!=?F1%XQP(X'ob[FK$_k7`T/YKnZJ*KU.F?@'"T;2=phFm!qYOd%0GL\<(lCM4461""f]j9FOe0>V>XM+,GP8f$]2_;+KIC-hj(;VLngeIEZLBR"jd-L'J%EpRKKAV1EX?CM;f8K^RC+!4gf^[u#C"N4i?TUMmh&'Z$dV3iJ_Ue*/bgTW?G!Hic"jLijd-s@h8+j"!Kc);!:nXGgJ_olF5PlN[@RQR~> +Gat%#9lm'h&A@sBE8.1#bQ'P/h^6HWZIqi.ZO)u#bT(.)=;;u6P&McJIN+5?$c?Sb;O%BHqW%87Vq,E7qt+IY"G,l!8Nua75O$C5MOEpXnDcUrfF?G*-X+D#Ds8ODo6cl%EII9!K6RRCcRp:\Ss'*ClGJDViVkmKq"jc)o6>8)J,@jB\b"WKr]HVZ_V"P[aGHYD%DpEahE*O`p]YYbtBX&ZgiF2@+!VJhIOYY!g?VH-1SjP/'S1h"?6h"Y:=Sf2VqbH_m7-&,!bO4s[>2a#p`H1&g^mrstioD,p"47a-p\a\pu4@0#t51oY$lr_hOENrAO91o.h(1FRlUP"P!.CJDW>X98c2bXqS,SPo`)hn:J8Cdq'P0X)?PmT%.f^XU!35!%4KgAe(NAcZi"p!KLQPoU,CJ=s!GQYSm\d"J.Vul()4PSeR<#8Pp$3/J92LX[o*`(_^):7,DZ==O,+KL:rUk>":rTdNgMV'=9+Y"D`CFs/!3u0C+=9*Q[4nKq!\._d+J62D"4RhlM@r*k_83a-9M&)Z@4"PI?%L.Zo%?p&&!#;[7*]#"+qGXjh4WT((1#sZTX"!41k>@;7l\JPq\B>)7%-n:cAX.c6?47WGGi.SPRMj[l]XZ?3^hL\0@]N;*KXT/83[D[N2,u`&+46k6aCPh%%NJp*kI%:SV:&gXNP/=&P^sLG*[hj=':$jR8XO`m<.DehfS&#]`(sd3&p0Eo=e^sV&F8hj+p(oaD(dV#BoT3%e?n;SP[ED%)$OdVoAL94=X,*s&:oEM9;h./"PZe-FVD5\-2$1q-/!YrnL7:c(6Wc4-Sui`UB"(<_>hkZ#qem#)V!K^:k/VZ9(uUFK$Pq3nZ`caPo31(lR*AuqrO$0E%S0p?ui%&*ATgEE)LR/[#4ja'F!j*4sDH9bTOAHlR_CYg+[$WQI\[AoqSDo9H[h=l7c5R^a'SOD$AZInqO3ES0K?W8+%Eh\l!([OHaRF75T9;::kY.&S(85_n0H`aE39\]SYZ-]_U4cP4N?rlMn&jU4Z!Slb+75>?J#Q\a$b-a)f4PVsBo4tIm-iV=E_LK3/`8df\ErXcIW+CV endstream endobj 6 0 obj @@ -24,14 +24,12 @@ endobj [ 8 0 R 10 0 R -11 0 R -13 0 R ] endobj 8 0 obj << /Type /Annot /Subtype /Link -/Rect [ 424.36 456.11 455.47 446.11 ] +/Rect [ 417.66 436.992 452.1 426.992 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A 9 0 R @@ -41,1367 +39,1369 @@ endobj 10 0 obj << /Type /Annot /Subtype /Link -/Rect [ 455.47 456.11 458.8 446.11 ] +/Rect [ 457.1 436.992 489.87 426.992 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 9 0 R +/A 11 0 R /H /I >> endobj -11 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 464.755 456.11 494.195 446.11 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> -endobj -13 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 494.195 456.11 497.525 446.11 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> -endobj -14 0 obj -<< /Length 1341 /Filter [ /ASCII85Decode /FlateDecode ] +12 0 obj +<< /Length 1922 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gat=k>Ar7S'Z],&.J0"%%4g;3]bJ-`gX'h'CS23W0JGD%'9ttHQI:)OI['6Pk9MtM'n*>(om_EOGJ9JM]tEG1eV$rAA:@MoM^qtqnK0?M+D%6]8Lc$E8R$SUSs[.04tCNrkIZMp_TOh)Zaq(M@NN,S`+mDaeP#4T,mp5tEotet/C%$Fn&5c4kW2)fe/Ai,jCGd#q!ZHc)s"M-u\&[[OFGmsd^e&N8S*ZJ9%h"5hFp$HMXbo!s5$:QG]/$+."$DSFA3bYg%g&KAA.&d@c(3tpbN&^T8Nj\guYhdeU+]q0DNE&mggJj;X%2g;)Qf[@G`kG(-#:E\`AX2AU.``dYEL9-+*U:o*"VWdc7TIJuKWXNET96B7*SuN2o>[k?ndau&Z(LJD,'p-+E`L[V8jVLAH=EM:\M6NIF$/e2j\KB-D34:T5M/_gC6uh98rNqihV#nbm-Jt)mnGU**/B@#>[ca,H\?nhO'CIgkbbm7VKJt+NKkp:H[p0R)1#\rKL'SEWWCFe+516f-rC?;?c'\tk(18AeLd(Fh"WS0!E[\q*b%1=>D4Y66:<7Lib+tfqJKfolZBUo778HQVYT(%b7_.s:@i+RU@g0uPoKIZ6PjL+F9dcbJ7De"Y_fC"C_Eu.#2c#4(oV_PHXlBn"?C*,JR]=]*?mgO&0-H!o>BL4!PPu3_=bte*Hn)O\D@G=qiFRmMD/j-8\4Z$dMVX)p-hHi\1]&*92&!49uFhqIIP>rQX$luk`SJf%:'#^,R-=F5e%KHa&S`acB;-@$WEGui<"YIid;3*Z1MGZg)gOneR7k%3i:7T\H(i5a<6Bt[AE3r)97E77)uD-HgVgQC-Xb*3"&ml([bSCUImZ`8[;M'd1esqe/G[n#g2X,W)EkH4PF)aG/(Y_]sHt7N)u:U_FA3fOUrhX:`@@Qq"*>FBD]qf\r2G6DMK(78*_]JY=m)@!PT*$Y?hDp*Pr]uETi!mR`l3o?9@3$Jb5-ggKg%Zd%Om]IPC0F$uF%,1NeZr*Hlo%M$+/916r)?T^`ArNQse\05UA.[J*3E*Mu_n[g6N!V.SqO8qNWCC\.M-8c3W"-8FBJ>[q\uf)kU!cQAd,LC]eDEfRA6hBs6a1YTPB\l8C`I'QhPpG&B[MCJZ'XbOC!T=Q*g2%>>FJl93VqjnFt>rrDfg58j~> +Gb"/l>Ar7S(l%MX.s)XRM^fcigGS?BCU;P`qmJEo5D?B\5YlY"8=`FE04$DlpbiS_l!i^Ub7V"LnisC,C-.aEKm(OCCRSA?+&'XJ/B?+0QTJ!WFtlV6o',+A'aQhL!!7^8=\5;g.>bR3P#TIjSs1:Re)Z(!'E75q/1W]4I:-Pfka4kgU5TnGCW"BO.'94"e;`O,@iN2+P[7k5=Z45i]Z3GkFs0\-W\K*W%\s7@brHe@f(-9pV5Eo5/jnip5#R#Gpe6'fX[?+1+$h=)VrP3Too&&"dD*XK-S[G@B>JT"8(*Fd*6\h-Q(e6Nqa<*U/A3`_"HU4Q5jZpg*gDe:R(^'p=.i5b19s"N4f0u:[53)L8d"tlhPKN2kZNfi,J-H(+^/8W+G!W<*H)SonRpL3*V=UXS#KG3/24K-V[r\RA+:])D*Zs9GV'j.&/WFj+:r5<3$7Gl;-u8B)HWq%.TQK/@\(e&q#uEVqec]G"9L`O#jL`)&^PQ-G??i1I50Z&[(M\";3oO>4uT\loWB2*Oq)qO`2HPC87+OK_Tbt;if/SJPG6=6VCN/H?1/1ZX&p%0[XiP&M#!eH(rRh_I]L37&Iig[sPY2C:DAl`fUR2M).`$VCa%Hd4F>"(lnq1&Y$=q1Ts>M@88SdHE8SA663>df%f[mC2.WU8sN>&L1M+H[nJ'GHi0[`?Q]_^o;VBI.d_&h[5OMIL$R@AB]X?,grOdVKp)L@PsM(HSMh,q@BW`6DL0:*X(]BSZZn.o8/@a`YEWS)S1r2V1o(s>J3[I'21l8$oP2BYVIfm0V656/AToeJ3EtYs,@Q"kk#iZ_YA>\,0US_h5bQF=Kpoa2&Oi6]<\8uB7A2B#>_qHQ0&#k_bb@(sHQnF;]hKU\#kW3hp:f^M\QX<]>0tZXWge2B+BZccRr$Ub-;`!HRb'JXR/[2<5bIEp27#\thqq9+Aa:mq5L,[#?iId!L_d$M>",\Y.\]>>d?iIOD5"4=lP+;!aN[$f##VAgpH3a-^48mtW2_W0>(1j^=fq6KE-esQUKrB_&$1be2r)\'3fBjXfn6nW#a:!I4i@fV'FTUL%7>.k3lG:fFg")2>ql0G[\Rd2UWS6T?*:YXmniF,s#4I[Dl4Lobq3PN-gJ+K\RE,g=^3M-0"I+6hkoPW_lb>Bj/O5%n endstream endobj -15 0 obj +13 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 14 0 R -/Annots 16 0 R +/Contents 12 0 R +/Annots 14 0 R >> endobj -16 0 obj +14 0 obj [ +15 0 R 17 0 R -19 0 R +18 0 R 20 0 R +21 0 R 22 0 R 23 0 R -24 0 R 25 0 R +26 0 R 27 0 R 28 0 R -29 0 R 30 0 R +31 0 R 32 0 R -33 0 R 34 0 R +35 0 R 36 0 R -37 0 R 38 0 R +39 0 R 40 0 R -41 0 R 42 0 R +43 0 R 44 0 R -45 0 R 46 0 R +47 0 R 48 0 R 49 0 R 50 0 R 51 0 R -52 0 R +53 0 R 54 0 R 55 0 R -56 0 R +57 0 R 58 0 R 59 0 R 60 0 R -61 0 R +62 0 R 63 0 R 64 0 R -65 0 R +66 0 R 67 0 R -68 0 R +69 0 R 70 0 R 71 0 R 72 0 R -73 0 R +74 0 R 75 0 R 76 0 R -77 0 R +78 0 R 79 0 R 80 0 R -81 0 R +82 0 R 83 0 R 84 0 R 85 0 R 86 0 R -87 0 R +88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R -94 0 R +95 0 R 96 0 R 97 0 R 98 0 R 99 0 R -100 0 R +101 0 R 102 0 R -103 0 R +104 0 R 105 0 R 106 0 R 107 0 R -108 0 R +109 0 R 110 0 R 111 0 R -112 0 R +113 0 R 114 0 R 115 0 R 116 0 R 117 0 R -118 0 R +119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R -126 0 R +127 0 R 128 0 R 129 0 R 130 0 R -131 0 R +132 0 R 133 0 R 134 0 R 135 0 R 136 0 R -137 0 R +138 0 R 139 0 R 140 0 R -141 0 R +142 0 R 143 0 R 144 0 R -145 0 R +146 0 R 147 0 R 148 0 R 149 0 R -150 0 R +151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R -157 0 R +158 0 R 159 0 R -160 0 R +161 0 R 162 0 R 163 0 R -164 0 R +165 0 R 166 0 R -167 0 R +168 0 R ] endobj +15 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 72.0 655.001 79.5 645.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 16 0 R +/H /I +>> +endobj 17 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 672.281 79.5 662.281 ] +/Rect [ 78.25 655.001 127.69 645.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 18 0 R +/A 16 0 R /H /I >> endobj -19 0 obj +18 0 obj << /Type /Annot /Subtype /Link -/Rect [ 79.5 672.281 128.94 662.281 ] +/Rect [ 72.0 644.001 87.0 634.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 18 0 R +/A 19 0 R /H /I >> endobj 20 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 661.281 111.0 651.281 ] +/Rect [ 88.667 644.001 115.327 634.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 21 0 R +/A 19 0 R +/H /I +>> +endobj +21 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 116.994 644.001 153.094 634.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 19 0 R /H /I >> endobj 22 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 661.281 140.16 651.281 ] +/Rect [ 152.261 644.001 226.141 634.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 21 0 R +/A 19 0 R /H /I >> endobj 23 0 obj << /Type /Annot /Subtype /Link -/Rect [ 142.66 661.281 178.76 651.281 ] +/Rect [ 72.0 633.001 87.0 623.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 21 0 R -/H /I ->> -endobj -24 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 178.76 661.281 252.64 651.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 21 0 R +/A 24 0 R /H /I >> endobj 25 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 650.281 111.0 640.281 ] +/Rect [ 88.667 633.001 163.657 623.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 26 0 R +/A 24 0 R +/H /I +>> +endobj +26 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 165.324 633.001 173.104 623.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 24 0 R /H /I >> endobj 27 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 650.281 188.49 640.281 ] +/Rect [ 172.271 633.001 190.221 623.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 26 0 R +/A 24 0 R /H /I >> endobj 28 0 obj << /Type /Annot /Subtype /Link -/Rect [ 190.99 650.281 198.77 640.281 ] +/Rect [ 96.0 622.001 118.5 612.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 26 0 R -/H /I ->> -endobj -29 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 198.77 650.281 216.72 640.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 26 0 R +/A 29 0 R /H /I >> endobj 30 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 639.281 142.5 629.281 ] +/Rect [ 120.0 622.001 154.99 612.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 31 0 R +/A 29 0 R +/H /I +>> +endobj +31 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 153.99 622.001 207.88 612.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 29 0 R /H /I >> endobj 32 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 639.281 179.99 629.281 ] +/Rect [ 96.0 611.001 118.5 601.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 31 0 R -/H /I ->> -endobj -33 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 179.99 639.281 233.88 629.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 31 0 R +/A 33 0 R /H /I >> endobj 34 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 628.281 142.5 618.281 ] +/Rect [ 120.0 611.001 140.55 601.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 35 0 R +/A 33 0 R +/H /I +>> +endobj +35 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 139.55 611.001 193.44 601.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 33 0 R /H /I >> endobj 36 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 628.281 165.55 618.281 ] +/Rect [ 96.0 600.001 118.5 590.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 35 0 R -/H /I ->> -endobj -37 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 165.55 628.281 219.44 618.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 35 0 R +/A 37 0 R /H /I >> endobj 38 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 617.281 142.5 607.281 ] +/Rect [ 120.0 600.001 140.55 590.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 39 0 R +/A 37 0 R +/H /I +>> +endobj +39 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 139.55 600.001 180.09 590.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 37 0 R /H /I >> endobj 40 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 617.281 165.55 607.281 ] +/Rect [ 72.0 589.001 87.0 579.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 39 0 R -/H /I ->> -endobj -41 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 165.55 617.281 206.09 607.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 39 0 R +/A 41 0 R /H /I >> endobj 42 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 606.281 111.0 596.281 ] +/Rect [ 88.5 589.001 107.94 579.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 43 0 R +/A 41 0 R +/H /I +>> +endobj +43 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 106.94 589.001 185.26 579.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 41 0 R /H /I >> endobj 44 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 606.281 132.94 596.281 ] +/Rect [ 72.0 578.001 87.0 568.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 43 0 R -/H /I ->> -endobj -45 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 132.94 606.281 211.26 596.281 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 43 0 R +/A 45 0 R /H /I >> endobj 46 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 595.281 111.0 585.281 ] +/Rect [ 88.786 578.001 108.226 568.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 47 0 R +/A 45 0 R +/H /I +>> +endobj +47 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 110.012 578.001 114.452 568.001 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 45 0 R /H /I >> endobj 48 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 595.281 132.94 585.281 ] +/Rect [ 116.238 578.001 190.118 568.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 47 0 R +/A 45 0 R /H /I >> endobj 49 0 obj << /Type /Annot /Subtype /Link -/Rect [ 135.44 595.281 139.88 585.281 ] +/Rect [ 189.404 578.001 217.184 568.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 47 0 R +/A 45 0 R /H /I >> endobj 50 0 obj << /Type /Annot /Subtype /Link -/Rect [ 142.38 595.281 216.26 585.281 ] +/Rect [ 217.184 578.001 221.624 568.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 47 0 R +/A 45 0 R /H /I >> endobj 51 0 obj << /Type /Annot /Subtype /Link -/Rect [ 216.26 595.281 247.36 585.281 ] +/Rect [ 72.0 567.001 79.5 557.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 47 0 R +/A 52 0 R /H /I >> endobj -52 0 obj +53 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 584.281 79.5 574.281 ] +/Rect [ 81.0 567.001 103.22 557.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 53 0 R +/A 52 0 R /H /I >> endobj 54 0 obj << /Type /Annot /Subtype /Link -/Rect [ 82.0 584.281 104.22 574.281 ] +/Rect [ 102.22 567.001 124.99 557.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 53 0 R +/A 52 0 R /H /I >> endobj 55 0 obj << /Type /Annot /Subtype /Link -/Rect [ 104.22 584.281 126.99 574.281 ] +/Rect [ 72.0 556.001 87.0 546.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 53 0 R +/A 56 0 R /H /I >> endobj -56 0 obj +57 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 573.281 111.0 563.281 ] +/Rect [ 88.667 556.001 135.897 546.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 57 0 R +/A 56 0 R /H /I >> endobj 58 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 573.281 160.73 563.281 ] +/Rect [ 137.564 556.001 154.784 546.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 57 0 R +/A 56 0 R /H /I >> endobj 59 0 obj << /Type /Annot /Subtype /Link -/Rect [ 163.23 573.281 180.45 563.281 ] +/Rect [ 153.951 556.001 189.501 546.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 57 0 R +/A 56 0 R /H /I >> endobj 60 0 obj << /Type /Annot /Subtype /Link -/Rect [ 180.45 573.281 216.0 563.281 ] +/Rect [ 96.0 545.001 118.5 535.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 57 0 R +/A 61 0 R /H /I >> endobj -61 0 obj +62 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 562.281 142.5 552.281 ] +/Rect [ 120.0 545.001 153.32 535.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 62 0 R +/A 61 0 R /H /I >> endobj 63 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 562.281 178.32 552.281 ] +/Rect [ 152.32 545.001 193.98 535.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 62 0 R +/A 61 0 R /H /I >> endobj 64 0 obj << /Type /Annot /Subtype /Link -/Rect [ 178.32 562.281 219.98 552.281 ] +/Rect [ 72.0 534.001 87.0 524.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 62 0 R +/A 65 0 R /H /I >> endobj -65 0 obj +66 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 551.281 111.0 541.281 ] +/Rect [ 85.75 534.001 143.52 524.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 66 0 R +/A 65 0 R /H /I >> endobj 67 0 obj << /Type /Annot /Subtype /Link -/Rect [ 111.0 551.281 168.77 541.281 ] +/Rect [ 96.0 523.001 118.5 513.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 66 0 R +/A 68 0 R /H /I >> endobj -68 0 obj +69 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 540.281 142.5 530.281 ] +/Rect [ 120.167 523.001 135.717 513.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 69 0 R +/A 68 0 R /H /I >> endobj 70 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 540.281 160.55 530.281 ] +/Rect [ 137.384 523.001 164.054 513.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 69 0 R +/A 68 0 R /H /I >> endobj 71 0 obj << /Type /Annot /Subtype /Link -/Rect [ 163.05 540.281 189.72 530.281 ] +/Rect [ 163.221 523.001 182.661 513.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 69 0 R +/A 68 0 R /H /I >> endobj 72 0 obj << /Type /Annot /Subtype /Link -/Rect [ 189.72 540.281 209.16 530.281 ] +/Rect [ 96.0 512.001 118.5 502.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 69 0 R +/A 73 0 R /H /I >> endobj -73 0 obj +74 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 529.281 142.5 519.281 ] +/Rect [ 120.0 512.001 172.2 502.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 74 0 R +/A 73 0 R /H /I >> endobj 75 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 529.281 197.2 519.281 ] +/Rect [ 171.2 512.001 227.86 502.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 74 0 R +/A 73 0 R /H /I >> endobj 76 0 obj << /Type /Annot /Subtype /Link -/Rect [ 197.2 529.281 253.86 519.281 ] +/Rect [ 96.0 501.001 118.5 491.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 74 0 R +/A 77 0 R /H /I >> endobj -77 0 obj +78 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 518.281 142.5 508.281 ] +/Rect [ 120.0 501.001 173.88 491.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 78 0 R +/A 77 0 R /H /I >> endobj 79 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 518.281 198.88 508.281 ] +/Rect [ 172.88 501.001 200.65 491.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 78 0 R +/A 77 0 R /H /I >> endobj 80 0 obj << /Type /Annot /Subtype /Link -/Rect [ 198.88 518.281 226.65 508.281 ] +/Rect [ 96.0 490.001 118.5 480.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 78 0 R +/A 81 0 R /H /I >> endobj -81 0 obj +82 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 507.281 142.5 497.281 ] +/Rect [ 120.286 490.001 136.946 480.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 82 0 R +/A 81 0 R /H /I >> endobj 83 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 507.281 161.66 497.281 ] +/Rect [ 138.732 490.001 154.282 480.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 82 0 R +/A 81 0 R /H /I >> endobj 84 0 obj << /Type /Annot /Subtype /Link -/Rect [ 164.16 507.281 179.71 497.281 ] +/Rect [ 156.068 490.001 168.848 480.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 82 0 R +/A 81 0 R /H /I >> endobj 85 0 obj << /Type /Annot /Subtype /Link -/Rect [ 182.21 507.281 194.99 497.281 ] +/Rect [ 168.134 490.001 182.574 480.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 82 0 R +/A 81 0 R /H /I >> endobj 86 0 obj << /Type /Annot /Subtype /Link -/Rect [ 194.99 507.281 209.43 497.281 ] +/Rect [ 96.0 479.001 118.5 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 82 0 R +/A 87 0 R /H /I >> endobj -87 0 obj +88 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 496.281 142.5 486.281 ] +/Rect [ 120.375 479.001 142.045 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 87 0 R /H /I >> endobj 89 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 496.281 166.67 486.281 ] +/Rect [ 143.92 479.001 196.69 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 87 0 R /H /I >> endobj 90 0 obj << /Type /Annot /Subtype /Link -/Rect [ 169.17 496.281 221.94 486.281 ] +/Rect [ 198.565 479.001 206.345 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 87 0 R /H /I >> endobj 91 0 obj << /Type /Annot /Subtype /Link -/Rect [ 224.44 496.281 232.22 486.281 ] +/Rect [ 208.22 479.001 260.99 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 87 0 R /H /I >> endobj 92 0 obj << /Type /Annot /Subtype /Link -/Rect [ 234.72 496.281 287.49 486.281 ] +/Rect [ 260.365 479.001 279.805 469.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 87 0 R /H /I >> endobj 93 0 obj << /Type /Annot /Subtype /Link -/Rect [ 287.49 496.281 306.93 486.281 ] +/Rect [ 72.0 468.001 87.0 458.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 88 0 R +/A 94 0 R /H /I >> endobj -94 0 obj +95 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 485.281 111.0 475.281 ] +/Rect [ 88.786 468.001 133.496 458.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 95 0 R +/A 94 0 R /H /I >> endobj 96 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 485.281 158.21 475.281 ] +/Rect [ 135.282 468.001 180.562 458.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 95 0 R +/A 94 0 R /H /I >> endobj 97 0 obj << /Type /Annot /Subtype /Link -/Rect [ 160.71 485.281 205.99 475.281 ] +/Rect [ 182.348 468.001 196.788 458.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 95 0 R +/A 94 0 R /H /I >> endobj 98 0 obj << /Type /Annot /Subtype /Link -/Rect [ 208.49 485.281 222.93 475.281 ] +/Rect [ 196.074 468.001 228.844 458.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 95 0 R +/A 94 0 R /H /I >> endobj 99 0 obj << /Type /Annot /Subtype /Link -/Rect [ 222.93 485.281 255.7 475.281 ] +/Rect [ 96.0 457.001 118.5 447.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 95 0 R +/A 100 0 R /H /I >> endobj -100 0 obj +101 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 474.281 142.5 464.281 ] +/Rect [ 117.25 457.001 166.69 447.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 101 0 R +/A 100 0 R /H /I >> endobj 102 0 obj << /Type /Annot /Subtype /Link -/Rect [ 142.5 474.281 191.94 464.281 ] +/Rect [ 96.0 446.001 118.5 436.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 101 0 R +/A 103 0 R /H /I >> endobj -103 0 obj +104 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 463.281 142.5 453.281 ] +/Rect [ 120.167 446.001 165.727 436.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 104 0 R +/A 103 0 R /H /I >> endobj 105 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 463.281 190.56 453.281 ] +/Rect [ 167.394 446.001 181.834 436.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 104 0 R +/A 103 0 R /H /I >> endobj 106 0 obj << /Type /Annot /Subtype /Link -/Rect [ 193.06 463.281 207.5 453.281 ] +/Rect [ 181.001 446.001 221.541 436.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 104 0 R +/A 103 0 R /H /I >> endobj 107 0 obj << /Type /Annot /Subtype /Link -/Rect [ 207.5 463.281 248.04 453.281 ] +/Rect [ 96.0 435.001 118.5 425.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 104 0 R +/A 108 0 R /H /I >> endobj -108 0 obj +109 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 452.281 142.5 442.281 ] +/Rect [ 120.0 435.001 158.32 425.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 109 0 R +/A 108 0 R /H /I >> endobj 110 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 452.281 183.32 442.281 ] +/Rect [ 157.32 435.001 192.31 425.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 109 0 R +/A 108 0 R /H /I >> endobj 111 0 obj << /Type /Annot /Subtype /Link -/Rect [ 183.32 452.281 218.31 442.281 ] +/Rect [ 96.0 424.001 118.5 414.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 109 0 R +/A 112 0 R /H /I >> endobj -112 0 obj +113 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 441.281 142.5 431.281 ] +/Rect [ 120.286 424.001 132.506 414.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 113 0 R +/A 112 0 R /H /I >> endobj 114 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 441.281 157.22 431.281 ] +/Rect [ 134.292 424.001 148.732 414.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 113 0 R +/A 112 0 R /H /I >> endobj 115 0 obj << /Type /Annot /Subtype /Link -/Rect [ 159.72 441.281 174.16 431.281 ] +/Rect [ 150.518 424.001 184.398 414.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 113 0 R +/A 112 0 R /H /I >> endobj 116 0 obj << /Type /Annot /Subtype /Link -/Rect [ 176.66 441.281 210.54 431.281 ] +/Rect [ 183.684 424.001 218.124 414.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 113 0 R +/A 112 0 R /H /I >> endobj 117 0 obj << /Type /Annot /Subtype /Link -/Rect [ 210.54 441.281 244.98 431.281 ] +/Rect [ 96.0 413.001 118.5 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 113 0 R +/A 118 0 R /H /I >> endobj -118 0 obj +119 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 430.281 142.5 420.281 ] +/Rect [ 120.445 413.001 154.885 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 120 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 430.281 179.44 420.281 ] +/Rect [ 156.83 413.001 165.16 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 121 0 obj << /Type /Annot /Subtype /Link -/Rect [ 181.94 430.281 190.27 420.281 ] +/Rect [ 167.105 413.001 179.325 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 122 0 obj << /Type /Annot /Subtype /Link -/Rect [ 192.77 430.281 204.99 420.281 ] +/Rect [ 181.27 413.001 201.27 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 123 0 obj << /Type /Annot /Subtype /Link -/Rect [ 207.49 430.281 227.49 420.281 ] +/Rect [ 203.215 413.001 236.545 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 124 0 obj << /Type /Annot /Subtype /Link -/Rect [ 229.99 430.281 263.32 420.281 ] +/Rect [ 235.99 413.001 274.88 403.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 118 0 R /H /I >> endobj 125 0 obj << /Type /Annot /Subtype /Link -/Rect [ 263.32 430.281 302.21 420.281 ] +/Rect [ 96.0 402.001 118.5 392.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 119 0 R +/A 126 0 R /H /I >> endobj -126 0 obj +127 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 419.281 142.5 409.281 ] +/Rect [ 120.167 402.001 162.377 392.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 127 0 R +/A 126 0 R /H /I >> endobj 128 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 419.281 187.21 409.281 ] +/Rect [ 164.044 402.001 172.374 392.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 127 0 R +/A 126 0 R /H /I >> endobj 129 0 obj << /Type /Annot /Subtype /Link -/Rect [ 189.71 419.281 198.04 409.281 ] +/Rect [ 171.541 402.001 205.981 392.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 127 0 R +/A 126 0 R /H /I >> endobj 130 0 obj << /Type /Annot /Subtype /Link -/Rect [ 198.04 419.281 232.48 409.281 ] +/Rect [ 96.0 391.001 118.5 381.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 127 0 R +/A 131 0 R /H /I >> endobj -131 0 obj +132 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 408.281 142.5 398.281 ] +/Rect [ 120.286 391.001 127.506 381.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 132 0 R +/A 131 0 R /H /I >> endobj 133 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 408.281 152.22 398.281 ] +/Rect [ 129.292 391.001 157.062 381.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 132 0 R +/A 131 0 R /H /I >> endobj 134 0 obj << /Type /Annot /Subtype /Link -/Rect [ 154.72 408.281 182.49 398.281 ] +/Rect [ 158.848 391.001 167.178 381.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 132 0 R +/A 131 0 R /H /I >> endobj 135 0 obj << /Type /Annot /Subtype /Link -/Rect [ 184.99 408.281 193.32 398.281 ] +/Rect [ 166.464 391.001 207.004 381.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 132 0 R +/A 131 0 R /H /I >> endobj 136 0 obj << /Type /Annot /Subtype /Link -/Rect [ 193.32 408.281 233.86 398.281 ] +/Rect [ 96.0 380.001 118.5 370.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 132 0 R +/A 137 0 R /H /I >> endobj -137 0 obj +138 0 obj << /Type /Annot /Subtype /Link -/Rect [ 120.0 397.281 142.5 387.281 ] +/Rect [ 120.0 380.001 181.1 370.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 138 0 R +/A 137 0 R /H /I >> endobj 139 0 obj << /Type /Annot /Subtype /Link -/Rect [ 145.0 397.281 206.1 387.281 ] +/Rect [ 180.1 380.001 216.77 370.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 138 0 R +/A 137 0 R /H /I >> endobj 140 0 obj << /Type /Annot /Subtype /Link -/Rect [ 206.1 397.281 242.77 387.281 ] +/Rect [ 72.0 369.001 79.5 359.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 138 0 R +/A 141 0 R /H /I >> endobj -141 0 obj +142 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 386.281 79.5 376.281 ] +/Rect [ 81.0 369.001 113.77 359.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 142 0 R +/A 141 0 R /H /I >> endobj 143 0 obj << /Type /Annot /Subtype /Link -/Rect [ 82.0 386.281 114.77 376.281 ] +/Rect [ 112.77 369.001 141.1 359.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 142 0 R +/A 141 0 R /H /I >> endobj 144 0 obj << /Type /Annot /Subtype /Link -/Rect [ 114.77 386.281 143.1 376.281 ] +/Rect [ 72.0 358.001 79.5 348.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 142 0 R +/A 145 0 R /H /I >> endobj -145 0 obj +146 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 375.281 79.5 365.281 ] +/Rect [ 81.167 358.001 102.277 348.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 146 0 R +/A 145 0 R /H /I >> endobj 147 0 obj << /Type /Annot /Subtype /Link -/Rect [ 82.0 375.281 103.11 365.281 ] +/Rect [ 103.944 358.001 146.154 348.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 146 0 R +/A 145 0 R /H /I >> endobj 148 0 obj << /Type /Annot /Subtype /Link -/Rect [ 105.61 375.281 147.82 365.281 ] +/Rect [ 145.321 358.001 179.761 348.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 146 0 R +/A 145 0 R /H /I >> endobj 149 0 obj << /Type /Annot /Subtype /Link -/Rect [ 147.82 375.281 182.26 365.281 ] +/Rect [ 72.0 347.001 79.5 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 146 0 R +/A 150 0 R /H /I >> endobj -150 0 obj +151 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 364.281 79.5 354.281 ] +/Rect [ 81.375 347.001 119.705 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 150 0 R /H /I >> endobj 152 0 obj << /Type /Annot /Subtype /Link -/Rect [ 82.0 364.281 120.33 354.281 ] +/Rect [ 121.58 347.001 126.02 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 150 0 R /H /I >> endobj 153 0 obj << /Type /Annot /Subtype /Link -/Rect [ 122.83 364.281 127.27 354.281 ] +/Rect [ 127.895 347.001 181.225 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 150 0 R /H /I >> endobj 154 0 obj << /Type /Annot /Subtype /Link -/Rect [ 129.77 364.281 183.1 354.281 ] +/Rect [ 183.1 347.001 203.11 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 150 0 R /H /I >> endobj 155 0 obj << /Type /Annot /Subtype /Link -/Rect [ 185.6 364.281 205.61 354.281 ] +/Rect [ 202.485 347.001 240.245 337.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 150 0 R /H /I >> endobj 156 0 obj << /Type /Annot /Subtype /Link -/Rect [ 205.61 364.281 243.37 354.281 ] +/Rect [ 72.0 336.001 87.0 326.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 151 0 R +/A 157 0 R /H /I >> endobj -157 0 obj +158 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 353.281 111.0 343.281 ] +/Rect [ 85.75 336.001 149.08 326.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 158 0 R +/A 157 0 R /H /I >> endobj 159 0 obj << /Type /Annot /Subtype /Link -/Rect [ 111.0 353.281 174.33 343.281 ] +/Rect [ 72.0 325.001 87.0 315.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 158 0 R +/A 160 0 R /H /I >> endobj -160 0 obj +161 0 obj << /Type /Annot /Subtype /Link -/Rect [ 96.0 342.281 111.0 332.281 ] +/Rect [ 88.5 325.001 119.05 315.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 161 0 R +/A 160 0 R /H /I >> endobj 162 0 obj << /Type /Annot /Subtype /Link -/Rect [ 113.5 342.281 144.05 332.281 ] +/Rect [ 118.05 325.001 138.6 315.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 161 0 R +/A 160 0 R /H /I >> endobj 163 0 obj << /Type /Annot /Subtype /Link -/Rect [ 144.05 342.281 164.6 332.281 ] +/Rect [ 72.0 314.001 79.5 304.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 161 0 R +/A 164 0 R /H /I >> endobj -164 0 obj +165 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 331.281 79.5 321.281 ] +/Rect [ 78.25 314.001 157.68 304.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 165 0 R +/A 164 0 R /H /I >> endobj 166 0 obj << /Type /Annot /Subtype /Link -/Rect [ 79.5 331.281 158.93 321.281 ] +/Rect [ 72.0 303.001 79.5 293.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 165 0 R +/A 167 0 R /H /I >> endobj -167 0 obj +168 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 320.281 116.42 310.281 ] +/Rect [ 78.25 303.001 122.67 293.001 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 168 0 R +/A 167 0 R /H /I >> endobj 169 0 obj -<< /Length 3180 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 3301 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gatm=?Z4u7&V&\6iO;I+[]7*NQ*sc\#.qYld%J1O"cD@^(n%ghPse]LiXHCrm\Ma-EG3fr+,U%QB>bYtLVr!Xa\Rs>rqIe/--I^.4`3L&Ze^CI(7W'L[Rq!I\PAnT8S=+/m-,jRDJ+lL[5RrPYH@6RVQ[@gmHs8Lg#K8*;)(^Q:uj-0`_j#C*Im+<*BLas=OW(LB,"rt&XB[ATj5324fdm-a4Tm`B_fY&)!S0sg_!Q,);&I[EpMF=1(c_<7C@@#NjlZ2ROFCiInPT+.*G'41VoJ6o:pJ;YMUn[is3SF7N3Pd\T31d"=,R=7T87uZ?/p!t5(@nRimqT:Sbl\pH_Oh[jYLGNd9EEq8K[)Yk^K.<_jC'9_XU$ZhD9TJX$tCcl"Y7HETXdb71h+a2\0ra(J%\o5_59h(RPM*'iU\<+W?+>NqkfW`q(e09sbp&U!B8:N+=(pEknr1bbPT&?H\'^,sEbC&(>iHr+`Ro-P1O7@?rCZ]LPD#(2j\)uu3WGi#]_E/m9R*JMc=Jo264NI]X*0*o)'S]4U(CWBUYqtc77dS]a,Ys[8e7=.9GTISV76qrqmo<1U[SUT'D#fXbDS,BbU[LO1LEcMai=98MSiIqtR9VN?W^oIFq9,hsn?od5H;4$ZNpi@#"`N^^Uu+Z2Ia8c]Ar#oV>F3a"a<@J,br&c.c:DaEQSs.j1%Q&n-or0X`ta$JH,V3-"bAnnDo,93kI*-9EHJ;$7?`YWT5W<9a!`]lDu;s=W@`$SEUk5eC0Z=R"rCKm=Xo)-=KrfoS!X2``ADJrNCsQ\_4a-\`S'<'LXOjr3GnneZQ0uo*83K\G4ZG^j"rXV+YmD4ijAh-MRXG^4MYT;Q&Q?$Y7Tr*P]q?NN9WN(rH%9\B(r19Y!S%VkOKNFI;Amed(s'Q0:t#n'"O?%6ORK&=O[nNVX0@#pUq:>>gW>ns+&&1".\;%0>E/@_foTkfPTrP=)pn`@,DQ9Igi:$mh!=/@hSpnJ(c"@H?lnPZ\!gJY,^9XgY-m*%Zp3HBSEA"TGUMuUQ5^hm#".:m13mV,luL6(.EO@.QT=gA@M[\l5QCXfElm>e>%4Z63r0sn:iu+RTj@O$=96?0W(NL>!*0>LXDXgX!\\KQ>?-N>M%%FMqFB9Dnpp]8:L9@k,PNkd!RJOp`!i@i=1;)GA.NQtpkiJcfc2.T$Qo/9S6RT%mu:DVQT7GkO%,BWiF'N(c4>]+1]5?"hXTaK`LCme/IJPi@sfDWKHF-'AIbCKhJ51i&,i$WEd?jQ$q/!`i)VS8>]JD*qq[2F:;=^peiDjZ\I^[OONC-;qU8%`$,2[L.p%1KNnlFj<^Omh,Y(HD\59rcUR]4Pok13$L[T(9m346?)?9m"N,;;6(:q8td'2PR.L/9b2@Nssp$P>ejGK>_pU/BBun(E+'6P<-I/SQe*"/h^NnT>b]-\[nTSS9JNl=<5Cr]J%4p7(4raeEXZfqrOmfKM#FNU-'r76I)<&a.J@&ANVkt"8k6j9LhkDR_OLq2-_(9b6%.6Fk;[eFd+")#tPOfY=q4PpQHY0Ai=L@P4a.4%j)RoEk7$IS%`M1/$"$baM.l@oS9*Eeh,6qO^RJkr4T]]FoNmMX/.h%jr)hLT5^,ZO-6fYZkc_jSJ@9p4$G%,j^uP?tEK4GjcgV-:@8;9+M'HKNsR!`jTBh#4afqfSb,'&s15.4^=.93K.7I!,$$Vg?YR,D&JMW[Vt&M!DD$VY@]/fF#%W+N"A$d/8+7m;1OnXNJoGCLjGo.Z"Cq>EPk'PTh\[5lJi3sFU72gIQ>!S64IOiAh06fIEALk.Cr:lQQGf;`-Qh'/cG6J'F%p`:f!O2=D35mK/Sd4hXeWAUB+KK\53;077o\)l^)`BkY^iN4K$-&7$r+lT?M$5j"2g7VoQr6ii&G?u8!Y36Fp!FH1HD,GUG#E#WCU9#C`@YWo.lKlAn,p[ih+T:$epM9.iC:Y]7#:_KVocnZ>HWOm;si6HYd*JG5I7de`VYdY*-H1,Qgg/Spla\a!;\-@#pJHm5Hd+5!K,:;%N+kq!`@E<9r7h_Q2M&-U;_<:Y?bFCra?"@Q-`V&ro51]=1Kcf!D$bQcHl4Q/MV6E@jCR!>oAbW+!`Z2VBE~> +Gatm>h2g=#&V&,6@GK&fHFp1@/LtZKa9Kal%aF.)\-3@6*k3tB'9OT58F:"doRH=#1DGVMm-R0F&'Od2*"IbAq4N,AIeMq`aWammiF9KK(+sdVU.#?;d3=VP>HV!m&]K\$@I`T-'`>2FNq4"Dcemoe&lLt_d8UT8+'n>>@AAd#2$D_*!-BD-q>6Kf-EI"NSbO3AA)VL?ON"\4jm8J"AjGV8Q3/4aXsanAOi9Q;$%b0g^TN=andO%jC:3h&..3$-].86r[hBO0FL$$,@sY\cPV`^-3b63o47E*,NnUFaqrQ%KIp=0?%TP=3R^X3-R$kc+0bcG;/'M'mdk#odt7nQPM#@\+5iqA-lBU"kdX5:9;(Qp^2K2i9`j>W\-5.nl0q5uDl*d7o8$(.A7AogY7A_[G]o\s+"]'J7U+JQ:Fm[?%T9c=T6]Omgbm`'p4n4>J&lMB/@a(Dn75I"T:qGA2WR(ZF,3,6`"nMgMmH0A'*81=g-XXG(XTZl7iU^SODeK\aHdI#JP$19R-lY/8a't(2lINVF-n]$,SkGbr&Mr&:c"j>C;c\-Eqk>\rSqIZPGk&=97(Y$oJVR23+1!Xfhm]l47/sV;M]LOhVAZdBGa$j7=LYj2"HIZ'PUOhS8b%]RoO8>;*B_*7c2D_EE7@HT=dfLs]!=a202$1KoCp\\?8B*tEdN8pEp]%/8WZjKo*Z1YJ+$\nUQcUHN!6;p1d2=.ESD&qL7Id<&kOK:bqhdsCiF"K[D"$cGr>!@h%D:d:nSX.:CPh$:\];pLEhi;)f>+q2mf\;tr+!qMiXEpZd*&/u''pB#R'bXc*"(9;@3nOH`"XB!$3h+SIs``GoVKfqK(Re`#B<.1Y8jBtCHnJq5[pL1fg#UhVh:A8%ZP'6mN,M<=fMp5L-n0'ZYk$gYjfD<H>V.t"qH+*L>1l!UpM\T4VM;*>p@,N<]9lR4AHC)S^=BYjJW^"![UIG>]Z!uZj4;Y[8@C*MB;.a5=lG]p#FK-M8`qZ@Yl+mSTcUD)3[ek1glT[>N)Da*J?u=2?N5IoM_)"8R/i&%uXRG6uu%Qa=&Un?h(IV:R$HH-utA]h:1%QE\bYYEX;cu$Gj^&p6)e&%X)$O*qKKP2spAg_g"(LBX[4bXB2hg6_p]C7.)HD*WTQ&UJd%8K%]jV=i@H[Gf.dXhMeY`GfssQLFUVV4Iq2oN28_Y"3T`&\>,J@NXa%i&ifkT`HW't>D7dD4eG^ojkJ_`kKUC5:[S#cV,$Vhq,P`c7+F=cq(;]P5!Oe>F1#-SmP[=V/WLj*sio6t$Eo:n217C)L1:E2'1=hUcH'P3DY7lD,[)2S5qQbt;dEJtoLoCAgR#?b@5#s(-@XOP?X$L,/dAIRon4q(asS(`/F-5\aE^:Fb,Z'OKi;(I=EV(CqZ=K&ncb^E5d!Y8csOED]EZGLcpe]b0?VcNf%lcb0Q?"LbGb*AEcm,4:nH2?RG,[ej,a9S$pA"kOV>b?u&"^+=^-fQQpdTD@JHYQ)`"/%0??KMZ8e==Nm;UX3(O>>)[p_re<=.fd7aa8*8tWG^LI73F=i#L0-;qU$]eh7i;2?KZ`C/pkL?:NHe=nhIN+Y3p`0$]!A>@3E;UeN7doDtolU-p\a)8"m?"+R9\W-0DH!6jds9CdQB+O_RItN(b0N>F@n&`9GNq_O^MX.9mNYCVtpe=-`".Wf#N7YEAa>qrGYliL_UoU1LDV`P7DKI_p3V-Ft@]))Th.@5CnNgARBIXu=_@f*#pJalYeOMN4]7ju$SVi'/D0,1Y:l/q8M!`?9A^g+U*hHC<<&)YlSBJ*;`D*4Gm+KS9f^Heqm`)sJbuYeiJ8Vk`+-Ls2<&JFVkNN"GZ0A*;b!tl'uSloXZiFfgE's:6]H/hRbVn-k,^&PQ;HJ%BKQNRb8RG+=X(T_81hf=NpQ]3^>5=$JbY=qLBn]B!$>?MB(2lR#gIK_ER;7%N%_M2/C$@RT#c<3"j\hU2kEZCcrHNOTS"*l#8(h]1J!/AN_2;\)ND]1DL[LFQZ-.53tKXP2Lc#uRrT4^3'qp4,s)%T.74IfqiZX59\31DMje5[j]?XC>bgq8.:EU?<(8L!$)?GHF*_u$&j]R9JAmHr6&j6po)5.pg_4"^>UrToU(VbH^r'$1(K-R2_8jD`rrV2t&U"~> endstream endobj 170 0 obj @@ -1417,20 +1417,15 @@ endobj [ 172 0 R 174 0 R -175 0 R -177 0 R +176 0 R 178 0 R 180 0 R -181 0 R -183 0 R -184 0 R -186 0 R ] endobj 172 0 obj << /Type /Annot /Subtype /Link -/Rect [ 132.184 656.0 159.404 646.0 ] +/Rect [ 132.184 662.0 162.734 652.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A 173 0 R @@ -1440,37 +1435,27 @@ endobj 174 0 obj << /Type /Annot /Subtype /Link -/Rect [ 159.404 656.0 162.734 646.0 ] +/Rect [ 291.188 651.0 323.408 641.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 173 0 R +/A 175 0 R /H /I >> endobj -175 0 obj +176 0 obj << /Type /Annot /Subtype /Link -/Rect [ 291.188 645.0 320.078 635.0 ] +/Rect [ 423.878 530.25 451.658 520.25 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 176 0 R -/H /I ->> -endobj -177 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 320.078 645.0 323.408 635.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 176 0 R +/A 177 0 R /H /I >> endobj 178 0 obj << /Type /Annot /Subtype /Link -/Rect [ 423.878 521.25 448.328 511.25 ] +/Rect [ 258.38 420.5 280.59 410.5 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A 179 0 R @@ -1480,73 +1465,64 @@ endobj 180 0 obj << /Type /Annot /Subtype /Link -/Rect [ 448.328 521.25 451.658 511.25 ] +/Rect [ 286.3 420.5 321.84 410.5 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 179 0 R +/A 181 0 R /H /I >> endobj -181 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 258.38 408.5 277.26 398.5 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 182 0 R -/H /I ->> -endobj -183 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 277.26 408.5 280.59 398.5 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 182 0 R -/H /I ->> -endobj -184 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 286.3 408.5 318.51 398.5 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 185 0 R -/H /I ->> -endobj -186 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 318.51 408.5 321.84 398.5 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 185 0 R -/H /I ->> -endobj -187 0 obj -<< /Length 3490 /Filter [ /ASCII85Decode /FlateDecode ] +182 0 obj +<< /Length 3482 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gat5sc>@3*@sppu>s823=("nFZNC1!p"(l\9fF7$HHOBOf,ctu15*&*fap!?GT-0V/WIBVZ217%!P8VhrlW;^D.>YACm\$NRmSh>MX=pMl:@"I?f#R>?5**S<#oJ"CHB8FhWsk\Xfg5@NIa,,)CoijXBq[1:9$+'I*m(2OM.0,-0tCo./DZ`4b4Yi8E-QbFDd)c]35M-4WZK8OcT6RUBkU<90h6N/tUdW!;5u[/$59*_YK?!bnVtFh?MM/Pd>[HD'hb$#+ql*D\OAK-Q7J.P-jLigOiK>p=,[5A,?pec/'%Yku,L%Hp\b(Z-NUoU:q1dPhfYgCjXY3K'llld_iVEHp_Sj7'fD>Ht$=Kg>7^[G4P%%SbMuEZcQ0_@@+]<&D?LXg1/kZNZNdHT)@/f;';jFm.3eKi3h:/#_ghnN[=8lp4m+;ZP1Z!S;K/s\:3_4C5?-41#]_AH/JR$t+n:#@:c4+ZdCVU)WQtPm!Y(.kQKdL[!='HekYa@@SM!I&S&824Is^m?sV[fkCcLCVnYb'Jm5U%?!.+&@k$)$NYVQoE<"3W>+;n2KB';eH$A8&L!W,!EFJ-6f*4[V``)D[_QY&:jDJa:tj^W;Z1e,PaQQ[_`9"J-t6I,DJV[^u]"^^^?$]iU0'8F&j#,f"Y!cZ>XbL62KLe4_gI-piOjBZ;_O;-g"Q8:f6fa.B,@ghK.07Z5KPeW=CnquUT0`#nWOn`lc`]243&LH:](XLl[^T4LP"?njQ*+1DWSRBDOTj2<`ZUpqdin3hPXHZ#mg90:RYid,u$:\h_$R]!)=a"Il%`>;56B5BiRCUms?Db%QN5SUE&nr%K$+[2-d9(V;Yf.N40U4J0]puGP%TsOrl/Nc(G8;&"cFrsl,l;&'"]Gs\oL[Wkpt2hcnWkcJe?V.e\D[&IkJXH*'+cp<&mOWjVG,pr*JT'&]U49h-p\7Ul$I?/Q_rotaCk:&K#gQiU][GoHX^NE4u=183bSeNM'jsT$i&(0UBJ%G3-HSf6;[Ycp5Of/JiI.7m::BI)8^S)b.EDdB3FtFX&EpRnX[6qQUE#j4gl<6r;FjtJ?3MfRN@@B0hN$$9MG3VEB.Q@EpZ&QoaGH+h;"cFd5kn_F/Q2Uq*gSI>,YfFUdOpn@Xkb/&%Mg5so4=jf>q%Hm@<\>DN>,s%E5E&:m#_%"0b++o%dF/C2sH3H-O^DJ/c>-IUDuLXfooR7kt16qQC?j/;ZBgAbg*g.0bdZ8%8PG8$n(TdBX"f@o8Qb7M&E>;[!E2RgE(k5K,Sh8n9%O*iA>U%!g;L?W0i#W)K7kC1jTQQQYn.K6I3T#ZLnN?K;>^Arb^cFr=J]RU[RlG5"-6:T"Bc_Yr=Yl1^Z+-$`&AhldVUVZ%+!qJi@+p5h(iC)=++N@F97194K:4k7@N<;a&/s%"+j^;gWkT#*+TCOTB5U0+/JAM^O0-33P7p!MgVkAGLU=N2Gs=)8'Q(0a3KI@i.AA'D\u-=_l'*%@!q(Q0Q*c7FKjnEJN;692^_GLj`Auma3Yh_#^QW?HhN-1]"e=XS$AQ)0IE<0I.-2M8IGQZj"WEhY1VR=cfN!VZ5HjGCn(M!V=gHahINLA$;gB;7LQAgb@T!)qT;-Se^T'/KqF%-2-D5W`*&NN#>\bY[cK)me]$W>Ac+/@Q588R*f,msd-`;OPYG1SS&Y&B?uM[+4tM[O#QC"R-UBfoks`k-hGf6dU1'H&@[#Mg9`9?\eBMUQ3VXtT>Y(9CG%#/Db)J0\DcL8F"0t$"pL6'#`u&RiHlLsWY2Wsoc.2Ggeo7ARZM/>HiiUk1fT"GKGkBIB,eP +GatLkbn23"lpYP5tZ^9Q&AdapMQCDO'D#5cR"m.2&KgET8=WYR6aN\6Yqt3B*FPer7ZeI#:=>5)AO2GnM_/Y"Cmr0-'nBQC!T5_=!V/AB:Ws?5oQ5oU;oB2Ura4^$%7s^*?n;ml0bCbKppV3rljnGb5`b[FN:94!-^fb!JX=3H#?Zr^fk(Yk:=ZCaO2&Rna$a'sFkn_<3OR7?a!8d4Fh3)V*Tq@!O/hGUMjO?qhIAc-NR9tl3Co!A6UZQ1sgW!$u,l"KT7)pfGe87]YYP2n3H)"Y/*GJaRAN@p%Y?ucBXA;3LQii')ql\au]N0j=45M)j,n+:pWl8u02d4c6&`sj`cqi`4Z>F^(Q1c;!nRgPIXW[A:^>'mMaimtgp'g'S<>*a65`7"!G@TgjJfaEmB/NSU,-WsFTl,-hn]W)HtifC3H,O!JY8*gA0p8q55<=+DYj\CsXl$2#B!hlLA#db&;@afK+Ls8DT;DdKdd`'b4XVS8.[9#O`MXo_k)I>*IdQt)f;=\$"7'mmQ5;2oVpngod!EHV:BQRTG^I&tu-9r.p"Usk@ZnfWTZ3p)]GAGSLquFqCBV3d;H?dkn)anJYPhsOE'=iG>p6p71'.52q\+8!=@\+(<\aMT]%D"Vk;"*+e]5nNo0ouc!_Q_0?RBAtm/68bh;58TUQll9BG33-:^QBcofpf])#Hp"tdRD1rVZFuid+p]R;DqalIPU.L64on$b^6'gj1+D*5o-oB4qWiGr)&F&J/5"l,dLTea(qh<6?TKB[^HI/:Ai\d:95%;FTL'7fk<"[qPnE,#X*2A&WQ0-^OcS#;YY!;BYj8mMbi>_^fkV6`gJ]\5TIcf5YN(O!pG.8_4*:`AR"Ute@]pj*2>GY_:'o&8Tiuanb^$6$G756XHYl+[HNQM*9B;Fe_L"3PV,:ed<^bEG@QS)=h7]dMEr%>(GQ&u>KRMF1O>^!$o&oWdc"8WMf-'Q1'V?"2;?G59p7D1pEoR\3XJ7K^58HV'U00Zr2Le-SrP>8LTR*Km7ZAmaLpG]>:DVVgbDnI9:!sneXmN,G"a^T.^EA,0-s'*jMN-;=iUt(dfOr-ncra3la=&'S/MBk;kkku`s$"q8[pGl;Ho>pPh\1F,\&0bpP+V`-L(DUCGdQ$g#.U$l339kgGPD:+_7em)!!]Vb?#&@a/Ta07pblLWk)9mne9-0kT.l1]gtfm;4tpj^1na[\.X/!-K^PNBQs]PS8J7K1`OuOZ^$K_0J41i4k'3Y#oF2(?artk#dll"rAPUN+.\Wi)MqKgt%IIA$#W04d=%D]`#lAoT&N2q[A'eBe]_hLV6g,9pWPmmge]_.'X(nSp!P#,V0HM9;A`po/#Mk`GiohYSRQSM&E+]l>p6m,`>ebZ2S81FCWLVdJ_a;"Q5KZ1#HJD'LLYu0gZDM[8D#.,*Gl1,VP#j/BTbm,CR]&OFggFEOFTioGh9jd=qkNn(]1&JkVXVYjP0,>XQM:`sJLZ`!gI#/o9721\[I4juQ'P+ZE599b.%2iRb,9>EKa(((4;XJd"?G:YB87`1'Y0R-(9Ohbcf_GeCZdS7A<_pC_q)$bu/u5c/M9BPTkj;Eg,6+s%NMe_qqD!Fq#R=sJ;O#>q$ad/!Ie#>EkP$Z-f^=GW/9NDuXR7l'EJ*_=kk-(Vsk'?MKFq8&,MJX_IEq_qa)$[X`qb*Z-CkNmBM7\nRg;g6sFI9:1s-FHjH3*P(WeNiN"q2]Z0%&$pB(MNC>pTfSf02hA#opRBKte9K.MuW/l'K@#P!^/$&IBOkfH/dl"O&*>BsA/]s^p/16r'ON4-NCaO-WDGoRm3Zk7V7^+dduaAcZL&$^::Nh5L02'h>7Z4eS*gFg6BAmF68QA6E6QbFeR2U4ma4t1^n;[5[I_(Lq>@DZ`m;#oR!p8Hq?s?)L,g4"@eAKNNOe]EL1,G=Bb095m*P45SL!K[TAG(SuDAE*S:q''O>09bk_L(>".1uMp[2=q/%u\F%@^2lMDnWCJ_=dR?AgpqX6C9e]Jc0O6/#a&8YjGj\T"a%i?U^m=QZ`SH(?3KFWl4F;!?eN0_9k0MRQsHaS/`c.cbU?mW3,t&f$NN2o8H]eeV<3*+K%\15X'(4]jI-R.&'R)7^8F6]EeR;]2N30,d^DTVW<)g.D_XZZX668IM,Y'X8;ea"lCdIcE.SS\"8]OmcV(Ne)R*BK.([o0(Ro.M+98tjR,d'#p3^^&uR0?,)!@r+`t\g/5PkQ/,pkaq%!LnU%u>YH:IcdboD9ZUXPR@8#bi66VkT(=pWWn/)*!C[sbZZ1Cc[r5AB2A7DhiP;kkt?=&*P`G2>?u0U]dT(uNM3BpW=M@O(+4j=B@+5PQ,^`"2sB/*@KWg+dl)pC1\N/a2BGTkWPRJKms-s&R+n2[@ZJm!Et;ZK4m>IC@2$-s3'IW0o7RGf>9R`RRkb0F(!B$-@pn).'@?_St/7cA+&5:sghDI"Q7KIfKBh9*?DT!!RYSI.d)dpHO%Mp$UX3pHK4Qq!%I,=!.DJf=kBOqec6M0_ei\6Yqnp+X/V!F^he)p@i4'Q_^d?g!IBD;]?jqF8cDZ)*V7~> endstream endobj -188 0 obj +183 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 187 0 R +/Contents 182 0 R +>> +endobj +184 0 obj +<< /Length 2303 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gatm=?Z4[W&:`$(nG:Q:9j!PST5=bc,4.Fmm?W&8L:/LDR?"gMU.\)Jgg]/hPXpWYRa1Pf&R-TU=phoeqVZoNY5&M/mP`V7,`k&B@:CIVS1%,WFTXlK!s>A.kS_kat:t2X/[Tc1cKDpG@+)b"ZC%[$+],6krYUW`#tLSN5?9SBppBK7YJ3b3LM:\a!SWQ:TFf8&3"paQ3VGARH;A_aVe2<&boIcm?k5O1(%2[P^nulr0b&H)&dSYl\W\QG)M!YJQ+!)LG2`[-YltNdoEJ.A%TRpV]W1W>e1[UZpD0o7IDDNkQPH%>pP`T$-I\E^fVaIh)0;2VqdLn$$4Ps:F*Cj.1JBi4/QpSJ'g;D:k`m)H>#\.[G/Lr`iC(7U9%BW1?Xh>,ok?/bVZXXVL3Wb%^jD&77MGY@HI=mbY#$/)Gi*;KXjN"-uIW7:&0NPk*Rhj\'[UcFql^$m0`8/5Ha@GN%4.p6!_)C8tIN=.D+pjk5l`l6fU+f-oE@?*MM(])Ji!:WRlKEI_3(39foO8Mf`YffU&Jj?mH#l@t8/(&1-<"R+,`Pc:Cuj$,,Ug[s?$+jB/@k,c$LrfKSt.Kq/pW/4d_l:WdAURr_d`A6%<-G?n-XaIV,=&=RbL&`gHMVngdo4aZ7;&cTt@F=/Tuoq/oK!#'T?mNDB88)-j1Jbeo^<0g=/8PO)*tM"L]1#/SQi?)o0i;SXBXCXhe"m__;1SbV\BX*+-4R#L`6]_O\"N-l&7Q<7Xa/$!)fjh3Ci_DN]a\J^-+d&/A%JA>^3=0,3NG76B1V_,/X1"S^^_ltg]^U[X6HW5LR3_WDV%!T>B2/0:gXN>M)W[k,:^1)VUEd(UQ\dF/l@AS0-WP;c\?m\m0"=.`\r'%Q.J0nB^^No;06;OK!ASM>#Mo;XA%^NnlEs,X$gp*<"VnDcVo!A2D51F6r74IZU3NN;#B-6NM0Wn5D_Q]Vf-\6p?SG[Z$jFn=;UtT:&fp;a.oWF`u>%J@mst+tt0UFW"77jK%b)%MRCA8N??a8*l(f_XIQfdQ@9OB@sIm*DW.$a$?T,TQNR2J]BblVni]*g37`P*JKMA6/@p(qk`%r5N+H^T;ai#4kpeC5Wr`oQMT/pC)tD6AT+%$ELImX7k-K\s7J%*3PMnAO$5IX_Vo2Ih^RM_Dj9WL3EslN7`]Em#Z9[C@td4uX.2T:Tu%pr.1Ds?I[V<0$njn+MY@KG5F)gdB^e^uD_sKZm,osDF4nOtV3#rZn=lGb082ulN/u79j$\_l?Z?irE(M#HdI4N_*/Dg2pKe^W3Y[A%6a?@pFoK.gXDroUmiNtO+jX)"*%s&6c'9#nFP*lOD]C7^&t8s4\FU!eMUL4EaQ+H9Vtu;,:]p]MqrYf;Q?sA>L\>Qg?>*LC;$j8Ncs758NcUKEM.3f6]-g#'eCg_T>8rhc-WF7K<8)=4cai_+l0gGR&Q^f2lJVOM@n741fKk]O90a>u+tcIY^n]$7GLR;WogtbF#u5T7#pQ<\e%*]+5E(r`:da-J<3Xo)$Omq;@D(q;$fLe:2oSXe,OmgaG\-~> +endstream +endobj +185 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 184 0 R +/Annots 186 0 R +>> +endobj +186 0 obj +[ +187 0 R +] +endobj +187 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 227.878 440.796 257.318 430.796 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 188 0 R +/H /I >> endobj 189 0 obj -<< /Length 2098 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 3240 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau`Tc#2;p&AJ#je<=b!VF=)+O437<+9C1`&*X-Y`'M2hEkSP#ED&m[DM#TL.?P65>&'Vh;A`MWL?-QtAiTBZ^T9'Uh@U:qaS/`i$f?1[W5TXpPRa%JEK'^2380'%agO4W5YDtVl7R;mt`1OBq#%/F%lV;>3(Zr5)h7AUE1\>Z9P>0lE?Gh-N94:j!cXC`qVaM=t3Ju;3\VOZJ4;:92+"@Qd4ccg4Id$1ljc'CJs(C[B6n_F"fWf,31n"j,&XE91BouE0XD-;V_R)/`g=1MkKAmfceLpl;I+\UZ3/^NMDl!hd.P1;%`ZjSFj'>K,>#I%W,T)hCJ:o-\,lUH^4)sPauKLaTE(prD1L3(BuF!&:&=q`dj]4G!fS1]f-dA?")Ofl>*H8VD/cr`mjE\&.Dh,r5/9]rdg"B41)Rs8q[Ciq%,>m%Yd/7GjWhAkVE?05_0'McuM<_$S1XtD7!"`9XSp61XTqq?/R]riJ[cF_B82s45Sf8_Q7CSsZIN(?XLp:?B'%X)r>i7o$HJs9]Wl-!m3(91gY#9c^[HDCu(YjKYT9D3Z%asdNb.#YqG1"50*;4e6Df(q,lA)lKsSP)MBU+jB#03#Tg`0UW.M2t1_2fu>8q[n]J&nC#a@uU-M&F'0Yn*\u1,7"TP)ON57bTes,:l(;FTg_?map@tb&TtFj^OKj@,NNZQ,?e+8$o(O+XX5=7:QcAK]b_^4K,=d+ESTkOZ9!a%nPeW+qUKhg/A@LkUQ;sOC21NCG@eGuDCYa'_s1Lt[;NC@[6B184'-r2N05HRkif-0@oT*6R7qerXjq19%76*pBQ,TH4YPH)_b7eA'eR@6$TP`AR9=K8e\d:)D8E8#Geeq*QY"\'f^XLo;oTGfel@\DRl9_'SR-mr,NJ=F6Ub'RHh3ZJMWIXhZ3KgJ'5tGH>&'X#bN"j.IsCQC923][2#i]/r`oU29oP/`e+NWZCiQ#sc!RSfCE'c'9M]]HYf)^gaj)h0rWm,U)Er+4RdYL?jO*5"1`F&>HB,jh`4L=$JoK%<@6)!*A%JSD;+mW&b:?[N@VA39IqYh2Jj"9ZF(HVa.To-JD3YX!:id./T'n5@&IaK!"gZ&gm=$^'\$!.tOju44]c1B3!J$b8!'PmH]K7'tO/B*rL6rcZmEHo`JK8-l]@4jLIkH9S]&,kO0Z,)[.r5+m=E@PZDMRi;Jc[JYpth[/SS/C]Gh,.?J>MoA:pj:0:iIm9#"^os39k&hVQ,-Bg2Cn0hO*BN@PI;gV$Y*%dXf\qSOdJ8`,pdH44&\)6Dr-0Ap/^gf't0'nmI3Etm*A@A+-_Hif?P^(/dNN$i=ZufSLW"ZeDWH^IW1_r-R_QMZ&,+L59q]#E4>m(qt#1RU?pU9edW2DM)Rd*A+9P/:OqF3:IF)oE1m?@_#S6+-njqup]*gX]BVQ&3A(#=C+f10CkZ+bl(#V,5F=C2,=7S*cD*O^[DQCEW-nH%\&A]hR([.)'gWV1,[5Rq9]J:F7d44_2d9HN&%T*D$-Ij@muSYh<@D$sLVRCNk!bARchR!7?3CV+7ftf-H(j-8M^8fr?XQU';fmKCTf&`S"mO,/l+\[[m_UZ9PHiM`jFEoQs+[T$J21td^!16/&`V;N1HQg8F%mS5%#&r*8^@mU=HB_5>=[)o52CW?c\r8.%k?W6"3R[".sJ0j].[2@o3G/f:dI\4`R4H(P*j4, +Gatm>D/\2f')q<+Z-A&^SZER>^\E+<`'r+tTkSh`"bK*I"LLR"KXKf?0A^LUrU2ZX8T@::f/]K0&G$cZL;TG?.X'tkAOMXobrkJs*CsHFg_&./11$TFQ*L"iatO"+,aFa1j$#K&RALkUi$KSDU*/Q(:fULM*4XRrR^k/&!K\mSf(FHAOiQlI,m;OfX6^!,lA:6J64/3D\2SC!J6q*Xk#oeljrJTqGkeN<:%7i>D]$UsMY7GH3'IPbb*0^.^&D+Ui9IDqYe:?+KUqb"b\pFM(@8DNUn%E+=;F'd3DCH=eu37&#hpjN?.SgTo^NT(!M_KBubFJD&7,.^q*4e`aZ(!kL#5WdiOQK=R`e%BGJDZfB'2r']7?-(<.&W_HoWE17C;q2(('#Dk;qsI-F"c`*&D&X)m5WNHmlc!rYGn_UL<>T3,Gls!(\Fg*H#:=aN?^Kh8;cK@QrpO?p!T#AO]:+5l;E]2N8QfJr-CX/'C@Z#!A\GI9,Okh1Fa4QW1.KX\YIK8a3BY2tNJ?.\a[fHRu+(09SJ,\::UZ+:57S'\OACt0I+gU1I+ssrQOkFeQkL6/$l]u=JgSbWp@E@5@O3#cY"$j8;nL(T"m#7['k^-:WS9g"],f-6WS-_Jh2e$C\qHs3F.%"&^_*YG5;:d5Q>]P-PQX`"`[8m\3])Kk-aT3]4i:!Jm>'H;4QE;dfo_&()ddR>fLs==kQB#+72>\p#,,8+.=*6bFj9ZO`c>2h!3pMKMg6i(ZL#@=o)iV/'&Bj"O.-j7QQM][*61(EM1^K"@LtDk4n?]H*VuV#.HQth4)9in_-WL-knPQ8dF.@*".e#$Q_7MWU2JZl223YVUl.*MY1KJ"Q6M?LNnM*9'Yll$b"pR,=Lt&u^J$*;W))1cWc)rn:TrV/bb2*o\].d;6^+RpJYsdt`K(-jIcNoJnGSrN(g?\bNcb;tRD[DQf'A*GC9V8n(]YD@a?$CDB?$C6>?45>Cq83"FnR_T>F]4HuIVliQ9+E>hQXbgfEHW!&oZ<%r=p#\S38)Z09NP&()B.D5ap09II4@SX'j!b#NG!SR\$++?o5t<,^kAk3_bU<-23<4b#7?\r''a:@OTccYjG*p>B[Jh:@!FqW'RtUS/^dX(aq./8+=]r%8S5U\)A6dN"W@7TG\io8#[i<*(oICe0/=;a)@B.H`Zt]9"D1Y0,PT$f1.nVN\Li#HKk[UP6I/ia`dKJ*D[Q<5RnIYuh]^r`&\-UHlEkeG2)2(Lb>l,U:aqV$L=1nhDo,(5D`aEjW41b'4cZ?B71>/ab=?iXM$5D)Q\KHK_$q(u%Td.%S79)4IT!\m&4DKf2D?mD\V3EOOAh9I.#d@T>0"T4rLE0MRi&caPGNd=]4E@[[kY^j33P'n-L>@m!`iTA0W2-42g.,`?Zo\I0.[<4u9NWg(jFpWiiI%JpBb3"7NJ'Sc46JuciK$Ac+%SOC`sBg)7a#hJT@Im$e2R&@:XU4>\Dt6K8:!`*[#p!sf>^XgeSn\G$PlB3/_\\<"p.QArZm'\[L?;qjFF2t=TA'$d0,3XHg*fk"gO29bZkB@5\srK%jJ1_6J!;oUd[^U3*0AYr)0@\-)4T-1o_sB5c-3dBNWmhi".p$nL[EKVmn@AAT$G&:+-kkDsG4dfXK5gY&B)C%+@u#jDdkDEVD3kW=;OoRe*(>B`CQm=9EZ$TDGc]?0/KG"Q'1VUBW;%L)fMhF<,R3NFZ'%i0KFm/_D@9"`*#$r*EYE\DgbLQFM$n>f$"HM#6E"^KNoj*Lp^96'7Ko0@BmUO-0lsM5O9hX?9R)GHLgO,8T-qW:eQHcnkP-!r/`>.WMT(^B5eRjhsDF5$(pm1>JBg#DF/[JrM2r%lFpthf/,,iaj'?"l';9XqVr..t'>DmP]=F0_-Je3_3CQh^r&Zp;di#^HOZACHhq2B"XM2UBt2l*U"_koan\E)]#K(79^9&3%P8TC#TjpZgpD+bA+[HRusN5ib(NLi:V]^+3eNTEOIPkIRVLmhD)2r?cn6*H<@;Q#9i5Dl!c#Tc49JKLMZpT^#Nno$?3\1M>@+[_l0B4#H(ES]L37luj6kD-VthGq=VluqtPPc9!8eQSKAX^7j[V.V^X=`C.*h^o0F&gqZ^ou8rYHs`e5%i]9qSU/fX@114eq0\"jpp0\=k!RqDDK+n:eUn2`9t\LVr'*;eoU5?LDfj`k^]i+_P?Eqg;H0kgX96/S3LMAh;HDjqOaC,s+2'4nlrX@"]"8.Vo$RaTo]Pn,F8,2c(KkRe2fSMgYjS=o-5VZ^E>3C%,W(cK\b!'eSnj!K!si4\4cG&%73(7jaG4UZO[D#~> endstream endobj 190 0 obj @@ -1555,70 +1531,70 @@ endobj /MediaBox [ 0 0 612 792 ] /Resources 3 0 R /Contents 189 0 R -/Annots 191 0 R >> endobj 191 0 obj -[ -192 0 R -194 0 R -] +<< /Length 3770 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatCUf<;p`Ai3]pZcROf.\&W6MC'MEU.H&r5r)S28J!L^nhBm[l^b#X-9(NM%)U-Pqq(/[);2!r2pQJt8ZU25Hlg3T)9@6]!9;;+A'dAomMLjNYZdoP(-@f3VTMp/Jm`R2#>*G&G;;mtA\K*,=(?BHX^sn,?5>#I^l%7VTi=n1qmA)uQA2F_=q.oYbbLabJ")dmmYg,Gn#ii3W27)]A$dJ[FPMH(Lo'NARi(8#_3TsWIPD;aN%XIls8ipg\N%2:FSG%2:Jim*;nQlLB^`N-ONJ8skN8<^$`^H6>="MLB*7&"_']G@=m:Cq+`-b5[:K:_Z=d%YtVD^Q^9@3#;*.jR7Mqq,1>?*2nD"C83F`@m.omOqldo6a3pZYQO8KEfp)YaS&Dh\BU42,sd]lN8^pK7m%\(Qr;[aD[O/d5GaniRU-#nap1$8D/K91FJG@e30@[Uf`THYC3,;i!H`2ib_foZ/grlUp7Lq\fP68QC@>:Pja>b09[IJ5P;lFjus^Ni31fqD1oU4YRM9BFD6ubOeYJ=nIe;2afJVIp0dP't"PScYJXF`'&Hp97<\SD`]SW+TV*Id$!cESd;R__C![0=/CWdj_hZOo-#"=21llns3\$q=I\MH*t]meC)o4!kYeUljmr(\KVE8gHnU/L5-U,:t4KBYZ5bA@\D(<(P[VO2IjY[ZN2(5D6=JR"m)3WbZX+](*#B[o:jK%b9@)3ufER`A]GL7iar`80p-UE;0),4Nh:9%,poad$6X>lVmMCpUCS$O,a6Bn`mV;-QYZ,'eO^V66&4fd!JJ!R!^g^C?L!9_E,T\+VqgIWDoQD[eGXCEZ*S8W-Tph3O.t0h>A)ls!e3s.(J9i@!dT!r="a.,0:Dq<0BFY]&p7spJ`[m[g^d`7M*b-+LSbKTFG1;L//E%GqJ5FQ;@_nIah7D?Zi%rp6-2&1mL]IOTIK&.HtC\*o#h%3H)b!<_T*G]f5&C71KXkm0i[R9&UI.BtU6>^=JAp.@4\V<;q!i("81*j?o@jGHCkoQ^4^upm86@49[==,-(/$r./P%d)PK"3EL4M,ip*ch>.6A-]H_gHND5D%$mqnS8Fc47s\;ahBN5@M]3rYJT.'9c6H^*.c=5Y$qVLk`T.*)^32&lM#Rl,7WY/joD-OO6kaL'C(TVanf`>_cdU*T074^Uf,$pd`M.H6*j%Ht_#^ArLRT)8rA;a7$17V[T,p#t1H4b?@0>+qR*r$\=:>8oGcg2PTd5!a2Q6qBaOcYe?%3Tk4R/Lll9:rHr3I<=&]&;^Jhcg&boY#2s=)>!@.:4@?!n_,Sel[[1CRRGQfodGC*KK_K,<6.JSVjWg"bI@Ou3%A`MgU;:hSC1f42ARqK7=84OO%?>'NSNi@6C4p'!;klL.O*osV/i2LqqQ?8s5DAOe$G-B:LX-Y(^!&VpZQ3sZ`/B:[q8o:@0;uS+^qnOrA*:uHkDL]mcu2&;"=/0CfL9aP8K%%P(\khL9jS;HP/Yl78rNApEb]);@J"FBi=*B9=e&&ekHLIEFj+>r#K3Id(!)+_AE_oW1-)dT)7V2'lC9CsJ^S;EA?BX=WS#l^B(0H.s;1mij!MdXJjB*c545+\ds%eeJu$bF%gj7;*^o\:G*,S[H$5e>EPs!cR;-)Efu&P$ojea:P%a=@S5bbP.Xg"REd)"[50;N]_bK9@3Q5qP_'IW[ft.WGc;k_KANP+J!kKC:"KKdW'4*VliRLW^fH:`0CJKq5QY*SD69W_f,[/KG-mbF6."u]QQ7IReU@1h+6P8/6';]2f7W_C#qm0PJj&4'i<2E^J[VTLKRZ;hYAhqbM`o7MT,sPCb"=*C7Vok=%0=2EM9](71hrD#O++h%5E(Zn9G7hCGm7iGSQqs('_1,sH25mJ!Wgfja>"Yh)k*\0e*+a]_cU5&&Ur35Iq:q;SD^K@m(bO#@MeaR74'I=&9MEVtLmXG8@?)r$>hjY0%P_Y('4RElULo9AL!XD9CDK^__b3@XsXXOEb#cd=i7n6@53Hu:8KEM`\^qV"phI+%M5#j&bBK[$J0d!oh*W,X,1!b?0>0n'Ie!0J.KG&f/d2+H(M!'BrZ7/:KOB$m&gS79Z6X7PTL,'b7;Cou0"M>1Llklm)pFX42itJJYQls0-8[].S>Z6`^FIMbr4:2j4(j;Mk"PgCO#Vj[-:XCod?u$7)Xi?ue;;r6]d%C,i?"(:P&(4+qIj7bH9ft4=1$9Q,'.qOY"?ia@-MhsG*?5:kMfB2]Ts-t#rel`jnBJ4"d":6ujhNL?dEM)8@pD'Ncetc!ZGRKh)!NiA5fuKe/0q;+.APDj6)5T$,?j+4.*1K9R-BC5/llON/1ur8L/QAQ[EBGOFMBT1p5i'fplt84ZUrsmTJ"s-\qjMHfm=u3:XVjOY9u-Y0f5LY;pYjl=2t,XRs22<.n[IuEhS$JsR94mNIe@LRY8e8U\ElsBYclKt&3\hF0_/.#4;B>J]h$h+f,.K~> +endstream endobj 192 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 201.08 501.89 227.19 491.89 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 193 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 191 0 R >> endobj +193 0 obj +<< /Length 3201 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatTKCN&"$1J+&1(bt+/\52Zt6%*=prE1YQcDGU9(3`uX#kHD>5M8.c:"=kSnJlTA_gr9l<@'eQfX&#WuFmQONlG1sAeTi.1hI^oQT!(>][_Dm/ogm&!#i`o5icmecBN`<8ZMfY+A:`cGei@Y0b+RT7+Eg(PC1N_p?lQXM%-BT&#OnShLctDcs!!A23.?S7"55`c,&PFl!F-,=^Phc?""O3--Hg=e72p-hU!kR.H&H"SgG=.CEJ5pl9P,#joHm.]m>BJ]G,'=EQ!7qP#R=]5RJT4!VS2,?^Z@#37=N4?=gs$c8%bQT##[r_0!bEgAC@TeF3hH2@jU2`/+%"shRp=dW`eZ4pgkB$]+;<=g&A^CI+$_Gs-HIMR"Go%3+?*_r^m6)sHToLd@Y?-uGHYpD=V%rfJ]#0c4+p3_4+kUWNI\%)ljasU@Z>S%+h9:-;NcOa[@'P+V]rp^+@CUT%@A%3?jt4C-WeM?gd2l*MRF3NjY"V2((JG_J%XgE'2+=*3/2eN$)jT2_>,UccL4X2\"C?O^/2\8))&9AK)/C;*ce;R&ID"_!L[sB\u`/f5>3*r/TA7's_`i]'$.@"Ba&k1956h(Z2TTH8r5o#dV]g'B+\T#M+t?[3Y;[7GFA]gU';`/\aQHa[$^;^,Gn6e-9]2?B*P"`"jb(^$jXG5?!@gqKBBdmMoKJVGoKcb5qcF-9YHZQQV7.5od2+i2l6KIYO5p/9(OA4kI.,397X:l]-j4')dFONBD5:2n8*>4X=/elCiNk_G'/*,fkOo(F*"e#p5(1YBsaZ:hCtUQDLY2CYlkS/It8(\:Y%j$##26P7GF>i.W$6Z/8b0e9?eg0MT7!O!f^7RhN+-?C_l9)_]@2]4M:tdnSeYIH@fa@%*T[FJ@m/-dE#KqL!i#k8aW5d`?/hTQpLX8la$2\L4Ipb-lEgrLWB"Tu]Yn&FMGU=_NngmS[>9:ShLm7"Acm^R.r_"Dbb^/%X#Z__h!P,E%?8qdM>H8js1gY#Ha3&:_-#_0%%Dj+cOdOZ(uZ7I746)CJeM?mW/QOV+5Ta)#@W$MJj=Eom`4>Qh,'3cG1,bg7&1<>G)KKO&KW\V^aX@o]qD,0/OJ.Y*j(L3=s^X4Cn\*PY)9Sd2HDqFa-H!r*H+$DRWnu!Ia[H-XeclW5(oUAY&h%q'<\VeVq<^*O?DceF[NMCf$h4HBIO4H@\9p@t\Z6E*/7Nar!;(EW#'+CR1d3bEJNJIY.)atGr=IK:\R!tQZ^(7S@YF-,(#_^?W";%sH#Gb@2dYn^^%fT[VtgH/=i*?UGsSfo7_Ki8K3ANq(e-(Z'V[H&^s5Lk6ec]NBEHOlj"h!-F_:t^LG6NED[cKnr2Y'Qr^nS&bT!`?\50<2I/if5+u_+G]!W"%N^"[_:FRN>c`+!\^QmY%laE9Hl&t_7emm1uKXC5j#KA09OGGTn2>7NsB5&*3=#J"[0,gB`U1g_"Lf?Z/s_@R'.eB^iB7OQ>Z)+7!S6Rc!uX!gTRd*GsXi=&PHq"*jrcqo"W<JD!Ye(]lARV9GTqTll2M<[FLc>H4FmZFC-[ZQE;Gr,\"*IMR_uW&M6YnT"\\IQKicH.d:l,'QW6+Y#$Va[T:OValqRK*-JWH]?l[^%flJ!23S6-'O@pT/H1">a9Ar0+9,0b:Mu)r?$Y\6`s(4#4&qB+?+XAo3/s)=D+-MFa`>4^kQpE-kO+NT#Bq"XCEH@'^ZF%X)II5+1$P6I":@`ff(68*>'oDIbHZ3]d79@Do$'-SVF(i;AY_P7S[5Z*lL@j@#ABg6d53j;#/NBh#Z%F;]TRtjJhnsoB1OI/ut)FGth6;-%!$09kr5nFH[VPtg&WI\RF/O=K_/dJAX4#Mi5;@EU)#So0p4@ge#ubLd$9e!#?m`hod.=n//:]U1H[?6B)$2`>1qN>C$QEbGY,L:Opu,+BY3gO?F"oV5T0d?@qEuXkY;2X+?%>V'B>S'p6R:o:.GKkm:QN*(LCr35$Yl&q>0+,]/RM'N"^-e>[CcBs22.Ug7J59J!scZgC4 +endstream +endobj 194 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 227.19 501.89 230.52 491.89 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 193 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 193 0 R +/Annots 195 0 R >> endobj 195 0 obj -<< /Length 3223 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau/[fl#k/npS6HoM,6,Br6XinE[:b%rpqa$EX&p1=MIca+s6epnq'IKGk'm'MgH<1@2]hnmRlht<-M9_=L&'k[^\RQfj2^K1D;ogppZg,rVRKr?0afg[O!(]3R9%f1M08dfbl-dIIlah%HLonRr\$($]SOKtXG,s9o'WXl6U.()q_8C88KO'@p\!$SXuD742b5&nK9m*LQ>sc8#R,ZirnlO'm)(]CMEY9.>V@b$,p`*2eYSPhX=U0eVH4%I1ek?#$poU^/Y5$@7)\*R<=g+BA32j%4_D;je?h_E+LHkdC\l.Aq3d/80HbfU\4.kr+Zeamn8&4ni[)^jFqDlYXCgR!PGXl=V@:O)ELp9AZ.j[QeWhiue,bCb=5&(K//i+$p.@VP7P*[8mjmFG6ecN2E(%''1"<$'/,Fi]2N3n0I6B='P![)Qr*"b`EK(QRHt^J,0Cd'i!F.)sSO7`V)PlQaK"&,?Z?Yf;cROj[(EDQbnXNS3-V6ii#+lrP>FG"p.h.NI)Bn`E/$?o`EV$G%5U#iV_.p*7m.F2mB("uK`R,0T&U2qqo'9Gj]XY9`G*'`!/d>c'=gK)M>LA(,43`Sbnr*_n[F,uGBtJ(ebVg@p&\:Dq"(K0qGVZQ/p[jkZ#_2[,#/N69.LjP=B-Cb`2=<2!#s%ZiMB]rPB?/L3])sQCXnhDndkB>k8q$,b4k8h?$V*2`o#rE7[:4W"V%gQT,qdH/\ho!Bc\RG.n\2jU`+*=#=W23?qP&l3K'VF3nh/T'06A8a7ChD=IPaU]=r]U3O#bOnDW1s\n)!,%4[C4M(Vrb_]&gW)mi!@MaX'=N506,m>hLbrV3K5#2"b.c9jG0,+-C*RLCeL*M?ZmGB,%pYEu2QtBU4d*`^86DX$(B%bR.Kj3NY_68o%oXe;__J-r9G_Wk+l`n5d/pT3dnL6)L=1o=SI'H3i!!_WKi#>uTd1pOd1Z*/6&7;0P^2r-jA(>gHEZLo39q]d)rHQ$(Z+-oZP;lMpR4QhrFj@uN_8$-7I#L#"oP&ZhcWK-MW^HPb-Nr=8QpE'1&94UVcM0[.^2\a.0cM8TkiopS_hBH!Xt(l9n=ulGDOt,)?hkN@2dbLp4McWS95T`P2W9Fka!e0V%lY;g[W.N0/Q:6C-?I&l%9]BGd?At+MX>OD$VZ9R-f.9Va@J(VJ`Fh7BD#4NC[^:C*\6_h1MT0LIdF"n\YSW$0hcYicL)q99c/,b4g$+FFZ]/aE+6INFjATIm11B@>pQJL;U5$Q79(!7cA!qpno-[h_p^B#.q"l=#%:D@P+#fX?WOCdQ]Hj$H>2?pS`Uh4>;K\7:60",Qm%%d[nTa5CejYuh*,a\ZE.6%L65#"UV'YV&W6\k>jRfE4=TIn&0`%F!\ipS`M"mssm$I_MW(7EaZ#!Wt5(4]7HhE+Xcl(h_7X5h_Eq_?j+V(-R/uiME>-YNo*o>+ce![60!9qkpqq_K8a;aKq]i[&?=ieblkCm;[EoZ[R@a%2)$Se=DA#h!eor>,rJIGFbt=*?\6^]i0\]Qq7?@MFnP%f[&WJgN-GNA2fi]Zh7lo!oBUM5eLK(Z%dAOsYuUl5=6NDZ5SHp4/EZm6A;4rX&%_ZU\-BfT/T>qNmr!K2Z!EXr-/JD1rR9,HZU9rB*-+@"+E*^fu&/0>uhV&p-Js8qrPH/7a+46G;Drf?\$7Ydjs@QIR3gB`'eG*Ihh.!6/a%f!*&1;1diC1U.$pX/AI?r-85>k!f_J?6?>:%4bl@u*h=`H]`6B5/N8\TBNBb^5e*L9)cdIgi*FR-=d1>teg4jS?++KfS:CW$kBPoA#@bJIY\*ft0r3'0=I.a1%j->V=UNRQ"=`m3Pn]sBX5Usq-l@HuJT^>5@SoWcoNPD1-2u8CL#[);:dj1@Ih\5.c>kGOH_V9\>K;AePG<7=p=eP;r1N7dm$?7.$'3jhEB]]MV$U9id_M5s?AREZ\bPaY6!`4jo!"uo,\HUCp[A(`O@J*s~> -endstream +[ +196 0 R +197 0 R +] endobj 196 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 195 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 501.959 391.25 537.499 381.25 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 181 0 R +/H /I >> endobj 197 0 obj -<< /Length 4106 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gat=.DpR1J%=d82O]Q=Vk4.I/:N+mZ=)?M!45AD6J7;W95tR;/=51l#p62Ah^AB=@1+C7h$4M2)r[`m?78Y=q+!+eerm.(]-C]r8%kf9)j,8:AJR:TE9`\J[ZYVh[N#p0i^L$m5p#t;.`uea*@['Z-7+-FmR:Xjl&plj7o]soBFKrnfUK;SB25V)'?6;jP)Ik;;m%Ipn\RCT'QR.Rq(/(B'ub[J\h;`,q%^JRUmpO+MGmaVUrU^:R;/WuEFShDRl="t;W5oKeS[X[l$fb4Jo+eoWunTQABWB$;O:Tn3ru^k@1"lHm@>iTD56iaW$_IX$N8oW5@aIAp7e1$4_=iXYJmRm+c8b@'km21K'.2leaB5=3j7U=gPk2^%Xt]q5H'fHc:TO.UO^IkG6MM^VW/!+aX!jMiKd(ct,[a[%Ce_^mp17td!\R/lB"$VGg2q)S+R7sJeTaY4Ae+@t68mI632Pj+O\j"`Wl#f)\B(NUeX%&rLhUHl''\=mis&u8+D;Mi5fed_O`4Ol]Mm!O=<-LWUH]OslHRpJ^,VLgJc3=>3Bakt,.p^0mJXFjV:g^c=VQ#q]WX<$Q]p*n"=GQECNROkrc6ST")jA4M8.]E`'"oscXI[f%G9X)alYuB!d/0ln)D?Gr:AbApIpj$/"!+o.C8l=[e@rLd<1O>X.sg1ODI]cT%\*]4Sc"?n4XdGR>1AZ>kXdmbO+CK30pf5=ZZF(_q;52tuuL3/ghJPO(Z&W*AW,abTSJoP"oh8>mP*R4,1QQiaN#K8/gN19?Ho25YZZU?9Eb5(L.ZoKI8j'lDUmk0Bd(F93prm5:7Pgmc;@Alp_0\^1_Sfdk&ECN!R!"q+(.:CqM66?#>Ce3p&H*d+9qP/Z4^VeNZsW<12?$K>s6^"#U]`/)'H]@O>8;K=(NM!Z6cQ>?9F^Jmh0d3[r4EqQ]&YAaW'QGPBKnd$OchG>H>._3S#H#&'PCr)tMLjFVXY>OTJ2PPZ/iPf]rX]l6,Pm`%8P\GIUP>TB*Q,^MI!YbI1KKHnQd]b*?RNetYD9WgFJCTZGn8@O9\3'#I3V5R8%c67;7F&K"FKO%mk@1?YFZ/hG(^+]0qt,3Y(gU$1ltl&Fa,4Ub#^-TrrXdRdigKr^f,KN`Xn^"Y>HT94/"&.-0e]]%?>#53X0/lD$n`n^k=I[*oP4c3(J*IG]``oKZ[)0m0gQUP(RYR\h!m#9Jl2`"6;>VE9i:QFd=((jgKk[I@jFT@63qjP8.6ZU.F:]+[rA/iK2#-ZEM2B_mMehC#k,$M5h#u'&m,E-#5/$pq/-^jkjhWII3H,j`L+J(Da%=q:o[nSZCDOYC_j$3[d'e/E@lGEm-;+Zrlpoe;jUVT68G!M+HkGN5k$f[@Oo$Qf>-qr6Dh=MX[?0==*,m-1(ZE%9OY"^d*82uQYo?Z1J!qe6XUoA"/QaOqU5$KMYS-u.=2gt.^8c?hS3VML0K3ODa5"*'/XY#"DKL;U<4iC`_)O.e&R;'KX:jr>/^W5&1'`Qoq8da6$h>N6CXa+ak[[Ok81",C`O/a\ilt-GS37]$ES^5L@ci2OR2?5`o'2u5$KXAZT;5cL.5\3SgfLBVrH[jel2\c+),$,ZYj(7l[?HAe^!N0mSNOV@f%\AYoK!\mQ[;V\WK20Y,B90gY7b]b&7NT[;J'Xj./n2#h:MlJA$E[KfrAb(bsKq[c9:%ECfG(fem(H#aE?>=Kk9UkDJ"$@U]W!`qO)_)EC">`Z\<&6)$>Ba?NFrkQ&'\"R6f:[T>Io&3cNLh[HH^C!MUQkNNlZ"J:<(+@(4b8.9YO9j+>,EF:7MI%u.M"2e_sLKV[>U[L1>%"Dma+dCU.qiqOW]2WZ;&dji0Y'^!g5&/XjK0-+lp8ouiJ".Tg+*13m/HpAea-TR/!+36+T.Dl0-e.e]mXJpH__-/1L8_tJ-VWin\5YhdcJW>"G4'VE5g?p\kK>bAnQ@AXc[:%ZH-0_4oYN4r[%l`W$^.!h"PLA".!Hb-#61eVFmOdULqj`6V?E]&7;Sc^FBZ[$"cf?8InFF^S[CdrjU^H]r-`'HJ%WlVYoQLN8Q5W`)pO`cB^0KL-k!%u63#DAAN`e9X#Q(,a,Y%\V>jWV,;HT,@)2T[kOks>c@$tJ;?;0hOSn4]Zi=%/o*#QIYD5b+(s8ClZjE\eZ8U>1q*-p1P#72XRf;AEj6An%Nl_'q&QE57#mFAX!mY"T;I-pqfUq6>9H2D7TYt7-OVm@?c;Ub966uua!#hs;Aq0,WV!D?HaR(]cdEt9#"#.^=D;P$bU1s*Fb`+H,U7h;eVPVLaF2!h=en^,:4W-/oMd/fNX(G$Eq"?n-F'8>'/+#1tb8i^e0W^S&ob!b5*EFg?bfG4!&ni+9N&NJ428!%Hh,LcF#6Hmmj&\AYZWrtB#:%@BI6L<:\Pt])a)nWFF5EeS(bX=:J$XS@[_N")<`V40mJ%CL6kl\,Q!'2or&cYu'&/Qd7>Z2oXl#R9!7(H`H&]78K6;/73P@cJ\LEF&pFMFM:"!tf5P].-AN/'g9$Q*BBc=bLmWW$k%b2]s&1q$[.ShD8WM;:l$O71h$EK<*7.GV!d$:pLo3bN[m$=>30nYr;/+52mJP$=.bh"/"eD6q@Q?8d<-GKA?S?FBD`rJm@;C\LNE'PGP\73YuN/Hl`;L2450.P;tXmBI5/5Ss_=)#A"jN]h@9++ZA7g795,H1nuA/:S,/]_GOhr@e]W[jqPWQ\$\>P13aR:LnT7P@/C/#ZLMO::$_ZK;4_0B:rc&_?5fc_#'>_6$p\%CuCbgXhbB]DW:dHVsn>F;Crr`,38X'~> -endstream -endobj -198 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 197 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 365.356 380.25 394.796 370.25 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 198 0 R +/H /I >> endobj 199 0 obj -<< /Length 3196 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2660 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gath>^GVKA>!6_:HRP!:&tk$GV'+m6[ePMZ&'=4a(-7GrOl@^CFC0D;T$Kb+1eMf]E<[3'_2HEjFb?XL:L,-2P]MmqY+oN$n%XNl)CR#n\@(/#``D4r!==pplLBb:HQP8(,+8a:o7"oCb7j0`N$2@"uX`.<,D@GusL#L]7S2+RLZ.AH1_VIbA0q\tIknDfQFOL/ap+t7L.A$Pj!CQ2=0N7K+gcSpkbJ:B-]#Ui9Xn&V+"+=qE^[BN0B[k/p%!T_u]33rcY*N01hO[TYiCAdVphnXmWB]+1U67>bhm]D]e@EGlO!]Ymq[FnG-B,aq^aR;o7X&:.!(@GIP#%VU!&/\]AQcThrB"lSkZW^0/+jK@OD9AU"lkkeEVr[fT#E*J>hm1i=Bp>ZNCdVT'W.jrpp"lgn/UJZV+R=U7D[]917)`rn6_t!=6+p-:1HCOgW>%X/M3PS-g^'f)3064m#fE=e9Rm#a6`u:b\YmjW>HW(u+E0H6fdTPM1aaP@S]UBcp3T2qo7C/%+mHR;BrKW);[HTuYVr;#'KDDV\$L77etZN2/X')!_c12h5s5U)hDqVtPSKiaJVH3OG?nqAP&4FO1?CBI;ADb*JjJW\=h#WJ86ZHQN$/*)nqa6R'WVD*))Yul5L9HqA$c[O+GbORfh'+W]7/UAiYO40]/4AS[5!os_]JL]]5uX2RnoKY&H(<(NWH/oCsWWV4JB(8`C1U,`uH,[m]Y9iW)Vg[OnS)A>CP!tD*dosqjI'%H7E>,t(%-J3?>dWXi6((&sde9hp@Zc,,MifX8Q_4kZ-L#B8*=s-mdU]<]9EhX_*4p?JGIR$"&87e_+Q(CAXP+`="LJh_ZUei`O<00Er9,),f3[;rB'LPHb1?PB#g-K4%h]@&I+pl/3<7#e*B*;i&Vr!AddV-#7^H*OkDU9b(FZHhEjLbi!@UFPI)NjU)3*T50Ng"*1^Y&q9#\+.Who\/%?PiZ_!f+[X"K>qO.>sU^(S1ue5uNr\@qKPa`Y0dM:,_rj=q9F9eHJZ#*>$T0Wj89M),L!(_',7MDDA_FlK)2FY;;t#lXrHjmoiWPA6pUmZ:1Z>#QdiOoYr$u=p-@"LesCo!\XpJAXX0QRJ0+J6^UmU_^T15cS18#=d(g&bQ>`N!sc=0:+)t^a]!i(%kVLuio9=_UVstJA$*&[2tC$V"B?rlGp2q^5o!LuRCRd6E#`!XATHqKLWNp9LS:%=M5Gf.X&ZK1q7`'\'B1Qpqf3ZE?5fqX7c56LNE)b#1I&t.Jf\">T1Fp'*[)2@npg:Cj/*:"'$n4[71'N.sI8(aZ?Xa",C*hf5J6(1c/i,7Z04Wm]h50Q+6CuiFK5AdK\`"iH4BOZ1VQ//U/"cOgDlh`1DHpheb*SKSdF+!%(nFHDS/FC)g^&BTG=G7i0ljP.,#es&BrG0!gL@.);K$`^nMthk^C1h&#Z@4P\i7[0+Q@P`O3qLPX+n)[`R47Bjok+j(?'Al!J@s9il1SUgIdcb+U#'B-'t"EIM\+"!\33aMEIgE5&r1'",Q)>(DoJB*9jQhj4.h8,:eO(-siB,]gQ6qb>Lu6R%Y&UDb-0hNR%f=7SF7`2H3]d4YgJt]=nPA7`r=nMp+g<""Q+0ZsI2I98!$X@I";mVh10M3Z8o6p;0'^.<&j(B@Q3P#8OQ*'!RmrV$A(ucL^Q1i3]fA*F(^FEFrg^5,obIb?)L\Pg@73Fdg0Xc$]T"P(q96*qZO$_2`;Kh,J#43Q#S%Or2&`br#2dA9u+Rt=1DY4A-\\bS^+06SaN6;sIU/5'/-7U8Bc7]_PGXG;\&A1>W7CSO.K)6o.3SpDd&kaLpn4:8NZ]j(JS"/eYE!>Q81s1&o;*Pbf$\nJB_$ki0FnZgI[Ahi3Fl/N`7u3]pjr>+HrY(1$X/2*5LDJ;+\bbIrDSM&,6l!N8?-MIc>'W^'./2iJV:^XRl2DiocO39E?Fk;/KIh"Y8144],MPd@I'KqqrmrGUgm%!M4nKDKWg?)[@HYM)gPq$`gcRES-rIep0l-<9pV,MXf4K*m+9%hp8%lT[_.kH5UNAWT[b'[(7cYOYnJ@WGaJN4/W1C!29LF/]h\j%I=+6^hm^:,&(F(R?NXo!CLmXJ50'qh'R(8(+-)eYAFEs)pXk?dr,E[uMID/e:5k$pgR[JD^%E%hn!pp_JSbM^UQ6FOP^E@]/]7,^?HPqHi.dfa@]:9,o3U%>#IOn__L]XZfmhm-e/X-MY)rofk8_PRd~> +Gau0ElZ:f='*%C76J$[r\9/@7i)=jaN87'P\OeEQUJ.RaG68#81MaC`ZNFDCDZmEm6Xm4ZY)MuZ[b$A`TGC4h4;r]"+PD.\hFm',S&kf@Q42_#sFpZ0jFR^>p$'=LUFj$b6VU/>'l[ggUt)OT$Nu`-R(,6B2=[/;u=4!f6C[P0I:u:M!6t0NnP5IfSQ[nL_S0Eia\*U-RR=R/ZFUia_J)pXWIp*IMk(bLuWg4cDF4>4"N\6b<"T2*i]RPJt_8_]MA$6>kiG>eSn]U<0hjqXegO_Y:P"7'r;b^Xr$jY%P4"aj&bk>O&4G/:/YMDgq%=&\+4!u]hcHH,5]$tmC3-[o17d[$dc&c4:ie2]+o&N6);p\>TZY8or>c2pZ]],La\J!D2n;NWM)4qBo'.sla:?U"8enN)JYV*kh&lfIII7JAEuWeSu3;X_`qQ>Q=*-[(3q2U1Ql\#[s3GFp:Ld?,o+QS1gMusFP.R<+fUbO9uQ0I8GCWu7;Jr*a!ERlSt]JNKuAU:o1)0tGim'8^IL']ma#Z*SRbaF1Pgq6rRLC4XL:5aWZ>Q2QQI]aES'G@%oi?7SQdtp3^n.Zm#nqkK!o'I]I;3=`Ks/beEANeG4E8+SLoZ^5q+9T4E\Pt"<`@g`CaK2%i(oT,e6FGDOufB#RqZi>\*B/A#+#j)EYn)mC50k0^PSGnkuR6Ll)K2c->F3B+7X:kbsV2#0"3na!S@[Bq&291$+Vqo^0"T="KH$2TXSTW&<\h\Y14Qqp-=`)RaQ;=.g$RtUt$.7Jjrk&0Ed/SUBs6&tenp<)9;.L\cU/cNTJ5(XjYZ>=,#0ECg!m\gQPoK9G95iHD_ssga=PfqE(7J("FG^[:*4W*LbMDTVs;H@N_6)=jjsTZ6B_`[?od@cc;*-.*r!),kc@PIeDjJ]>a1'\$'[&hn=AV]sqdqHQ"lGW(D,9nJt4Ch8D]rffadCQs;8fmbOZ6rkX!=SDTk:Xd;VD`%I9n&E[>,ibiohS>Vab?<<_K=Vp7PS>b*Oo+J[gYYL/``U[kduC&ACe=f2mT[SII*E:+-=9t41m#3AFf5]Wr@nZo,"90#O0BR>Ll;4V.DW9>*oDL6]k2Lo0a4a)%Aq^+(dt[YDcjC;p""2ILrc9bfGn@oQl-!J><6/f`PG`-/=2hNfOp+"CGba!"_sFNsdOpdWTIA!lrohcORY'[*@$Sq@AIVlW#P#(#[ap_J/PL?uJ9(BCoD(>dBq#J*rXtd=d:H3^TtB8F8Bt5O=/%@lJFl#MJ\t.d\JCZ1_HlAfb@0HhgIkC$Bmha>HST1W=39rA.X7r@1o&.SRLfu5S6E<9*,Sr5Lq(Ym(5G2kj?m-6&..B^Nt[Y[GGM83.8%1?J;uHh)cB]4"*a!9bihVhnGp!\f4Me%Y4DM$7;D.IpK,_r#JC5%b'CG81@t@GkcT9](trSt+jrf/jKd3:?7IUXs/[IT4Zuo(67If$t+?:Xuo_>#jd@e[5W+O#IT((ef`:oLQb%1Mc?NNdEsA=gq+rP#i@puVCY__c]/mh;M!r`"3)S$U?cZpEO/0#+^ctC"_@Zn:Mk##!Yo!J9'8FOc4F1O&huQ_lpE!_=h6R'ngbNn[5[[2K_pm37Zi\I*nrn@uB:-lFsNSbRk.NDNtJ"!Sc(RY!h.4bqNB2fAM/fGFaF%;cX*Oe@4XT@7$f5"5Of"2/Q\(;M:nl;q/i7=aa,VU'?nb5Y[mdI/fo+.b-ei1#JB1CU@,bIbde&:PgMp&T]DgoF7I/Wp'^OA'SY?kO@?XEc0ftLRYI;FCu=-'77eTcZC/_,F;Z=Z`uOR^L6Perr~> endstream endobj 200 0 obj @@ -1633,157 +1609,155 @@ endobj 201 0 obj [ 202 0 R -203 0 R -204 0 R -206 0 R -207 0 R -209 0 R ] endobj 202 0 obj << /Type /Annot /Subtype /Link -/Rect [ 501.959 479.25 534.169 469.25 ] +/Rect [ 492.828 676.0 516.718 666.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 185 0 R -/H /I ->> -endobj -203 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 534.169 479.25 537.499 469.25 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 185 0 R +/A 203 0 R /H /I >> endobj 204 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 365.356 468.25 391.466 458.25 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I +<< /Length 2906 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gau/[CN%udo"0Cj,%'>7*EEmIoN_tu%dE$#1d0ai_kA[kY*SAgU6RW_G[h`]^YajC`$$`"3f]+".;)&oMo0hBh_*6hrB=M_,[;lZBAVYAN%R6fO"M%P\lRls[/RCr=8%cgO.)\lFm7hrB(U"U(/=-C&>GYqZZ57*0Yi@$[.G2HRQaY>[bU8O1]`hi>ipQ@GMP*5j+uCtcW#.PG#2T!`LT&jh6GW."Vt`!Lk!I6k3_bC"A@FL-f*8)R$=&l@s0X/]o<37HY2EGKW;Ye[(2e;jn>;XcEfL:oPnRH@G+?$.Mio90-g]UU[HAdhY6KKXoAmln?YpJe"u8dV9h_VG);4ZS1FduZV^r9a7;U,QQ]I#%*o%r_eg+:jk!)?^ZIJ^&?cFt;1K9q)rQNS7>h=E;]+[K?Zk83O"sqn,bt_%hU=qJ)Rf:!:^JD'b%>p!,'8Ht'j[+hUmh=em`OMj:*ZN_`\aESp<1d$$ep!;GZA^q]l&:BIteTj$qTHBa/fcW;=N>pD$B`1t>&%'t5)MhK(gS;q0F,XH+si++A@hi.a(Ll,cqYDD08>?Qhi2I>9:)P-`bl%^q8,BS``q?`0!jjOFbSnnrWhX\NQmJ+ASW9P$8!Zi7Yd%sE[Dc>*%d*aU8Vc&YK?.u?m0i+0k/9"@oEKYj^9%m*\m;b8]G-DF02N,tb3.sEO@H_WZOA;cLlVrNkk`h`6)q4Y"5GGG74DtsCDp&o"em;#+.75_PlVCq=0)u9F@lbCJ_+1mUMYuIJ.ZoUaHSi>`#J)`-/,LSeQjNO0[OSMLG^c?`ef[:r_]=A>6OF1"@<4a@UVg]'2^ocYGItB5LYpEKo;"TYe^M?h!2&kk\aPE[V#UOnP;/[j8&]%4+82NmCd#qog#=7)V(kj5Du0hJ#h`>"r^pAuunbSF1>i'GR=!d"Xu&G2#Ea=B6Naub\Q`la.:!X[A"DA,6U"P0=3$5>.?]hl*'"3Fg;XbD)p\hHrO-o5m@?d;kV2OslEopG^bPE14u"CB'r-6IdD[9YODq2d[?)Nr1nc18Tomm-54B;6B-YQXfk0RV^h$%kDf8^cc=Og$5\:g?/N<'9863g@IiBc'(-r2%`[Tc,1%:?h9la/1AnS&m)aA$@-+QJ6Va,0slh%18I.a70i;-2N,73<"1YXD*2;iH;*"],LTISs6bg*kJ9YlQgeoX2gt=je?4-j#&m1o)%9dC]VcjN5n)5U;!j%4OW,?olEi]o^M$K2J)B>ptJcP3[W[6uP&@.Gh%?fZmB%5n\l`"FV7tI@>e#iQssL_?4O*S-,dg`?ZI+5Aj/4W/Zn?U24'd*V#h8b)bIeFS>5-SI`::*@74N4"87/uI)0\#3e"KGAX0,t:A:]khLXXf1DluS,Y)MfA#=p;m-Hl.to$LFPR\`7D\h1Xfh*_[;ZC01IEc:0'km41dQG01S"bWU9$$cH9RZ],oPGW"?_s=Hum57I'JBq+lGF-6Dr/8/l'EL9LS''BHhHOd5FU-7jk2$W7n3'(qEbopCB@/uMa]35S$RU8]j7@aSWa!(:GVj1$hXq%rr^f1U2^~> +endstream +endobj +205 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 204 0 R >> endobj 206 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 391.466 468.25 394.796 458.25 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I ->> +<< /Length 2823 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatTJCN&5knp>h>cnA,?KG?p=dmJ\&Z#-u&FF.3oMaMZmTOlj.UP,og8:H?d0IRJcEFD,b*0=o^t9.+o[P'=d^4tIJQ5?rJsk2l8(U2?$2-`Ec0Lu!5KZ(E`(:3_^Q@-!qC08jsm@jH-gmF+psS9ID-_;6;4LWo(!J7MrOq>aNT[B]r:^$MB;Y0dgq(WVOROG0JAGa&d7?5f65b#S]0jl@7nt8lM]U9Q=thO7`$_)/&4.@]X(#P.<@hl-T!M,qjC-:P#__D?qX5EBjn*R6QF-:O-"XK,',K<6_V,sRR"BdY>Q9u[bq7BT"&1*9GbUE;Umq1omq.p22OjQEIs0Y#jLGY-89KY!/?\0IQGc7)rg+uCR7FQEnY1SSH$SHc_=.jQfYLfL77+Y/H42YObeB:a_f`R\uM+Us%=BUmH9j+DcAe=FIS'JXU]I95E&R3X4iSd!"_q,((5Dg6>P.cN&N\imE5u6U:CVE1`#F^Yp's2Kuf`OTRiZt32h2QnD17G2Kf-qTNn&1!`9M5iUV<(0?PFS0Ett$p\d@HKo=?6[4n6>.!GL!Oh,P[+EQ?tq1RDM`%#DurN\`d7p?[)AM_-bb&"7M;h-acVhfW]OW)(]R9P;et;qH`DB4m-3(a<2N.XuIoXT23mD#%=+6>BhC878F&cD*61Z/9Kk".[(6Oeh\Jq!(CJ>h:=QaK#E-u(lGO'Lg^Qkj*bSBX59N+?d@.n)'kP&EK@f#$X">mM!9Zg=%FORfpLi>1coL]=#QJ\OG_cgN-(%]o=V,n+nV;_ZDp>tI>nfr$+j+p'nYZCVWtTA^qe(6Q13Z\a4M+QREQpn+cP/)`.:-UT^L3dYrFU!2f54rkk_PH2Iu)Z7ahBC,*p5qeTa;\j>_5[ScKG!Xsfo]0q'Q?E40`/Xr0Q]K!5n;`/t]^XGh4PY?\K*41+'B,*LT7'&Z)bE6"qm'N\DId;EI0DO0t!!`1>9+M%KEr]lju!a<->*Qk8=23;P#>C"#NWAVg\!e^II/Ydk'6El,\<1-S7DCch-I:<](3ZpRD#\gdgp+eV"jSsJ$nRpSloEVPUX3fMqQW2omC\n"(nY#k@7fGbXWT/6L`EI)QP54R=>GAf<=SD`>>'ckIe)ca8\E3A9_f?#atEk9YII,)\\9e't@m7-p5eK8LP1!X%S'_c*tB0pnFMoNsmBt?AX\horY50-Y;!tWp&B"^-[OXa@58]D&$o!f0f:T'EBETA151:V(.l6i$SM)o'4$HeKck&h-i(RFM7CDXP)8;9W$.;WeL@L[`6a)"kl=\GgJ5j7X-cU+SXq1)7;1F8A:pXr1_.a@7Vq/LH]B\)OA[-m1UtXUuNL_(K6@Q\l],!1;Lo9!bg0Ni`<5V^qJ@\XhGs%$+%l%pgP(&Fe26T*^qrXG&UK3'q97sK9D)j]ukV9P6=^+i@*+,U#38!LR6Ig87l=UG5JDf1ul]*q7*i]59pk#D'K&j$YU=8gC@r:+\E?4an/LR"MX5Q_1.E+Tn5:URKSt![FR$]ff4iX\.)H247JCMMHhJJ/`/MQ0%BNK#Y#[F*X4O;!\j%I$fVim1*2KK +endstream endobj 207 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 494.148 156.64 514.708 146.64 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 208 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 206 0 R +/Annots 208 0 R >> endobj +208 0 obj +[ +209 0 R +211 0 R +213 0 R +] +endobj 209 0 obj << /Type /Annot /Subtype /Link -/Rect [ 514.708 156.64 518.038 146.64 ] +/Rect [ 363.476 719.0 388.466 709.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 208 0 R +/A 210 0 R /H /I >> endobj -210 0 obj -<< /Length 2365 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau`Uh2gU)&V%R1_G)+)=87%DnHjSqn`R.h8[JgoJ!W+kZ@1HA>J923,>"t;?Y9h6:1]om\79-WJdJ^-UZ!1*<@5Z5SGH63(;e?,nC0p7l^X/#7>iG%p^hG8+cB"lJAu)7tC:.g1SIgZhnl[N9eUcO;2Q/`^3"U+KpKf&dhYESL?m$C\[g\@ji#,Z8=E:((8]bqSt>TJiOiDE'G+3S:V"@;PpS.SPt*6q,6IY+)HI2<0XPUGtru!oPJ!+qeVP-?$nL@,>ME-e;[50UM=.><.FKA?hW:/^(_V3V>n7`T,HV)j>VV9G,!r!":]76*G%:j:8q"AImlMH[W$qs(4'ls']=Q&a:5MIb8J<6UU=eiPUE]A,D='HBesu[#`UV'I>,Yq`t'lEeG!S[,0QPIPWte(5oQW$oZ;""tr*)H![)tnag%u1.;:gVKI[Ur:P$QncGK^*+tX"9-9!g9)rlP8?^<^'bo3i)IhmaME>\_EV=:G_5q9Wr9gk05gje/=fB'\+3gRQ)8c$@#S40*oAq"9aYcX`Y`%1JD(hAPiRA($`Kk*6_S8(ao/H?\UhU-kT[2!_,HEg?6r7:3HXhG;qdu*sotRno0#1VVci\ZGM<,Ft5=sXU=mX?tO*GVKn*.Gli7HLVV`@TD'.\QfT"1)0T61LF+MQ!]A`KQ/s#:kS$I%60`L20o1QVNgm(9VWcSQA7tP?i'ZiXd\i&^]3O7!.ssrkA/UgJ`G3PIP*/7pf$f=.ATK*N?Q/XT_2#BS8B/T1kN1*SKK*0!%dp=EcJ?'TMLe/m3G15rhTr,)5K)C7iaa>j?QNQIrir=@%/)_tX6:?k&o;?WMZtH2GlF+1GoOp(ecrKH*[5(!D-k9b["_@Z=RUPh0BYP-0GQLBkcQN*Qm2Jf\,9kVWC3Q9-;%*GD4)3YK^g&02U5MjlV'`HLJmp>LdE2CgME.m@U\@-\S'3/:67n9CVhtJah#Ng*pXJd'?=6(FT(7mr?M'F&krk]ds(&*dTJPPqF5+`C*IK;?Z.6Z8QQjBg:1d#K2o!N*>+b1t/''`__%e:p/pK[`Yn_/3$i63$"5`h)Yi\m/$cPU5N%N5'WEjpJG(Cr7`ti89F)1n9'X$Ufmu=&sSi[jFPmb->fFDO4L98,j^C`lfq[Q%0uK_8<>1$2=n3<>,'k$'gPcIbmeJ1,"j#Ak(g#ife6Unh*rg$-l4*p)5dIAFk2.4r%b$rtWT]^8?!=m23o;Pr5sFX'Ye%]-VRFdWcY:7YQO;HMtIB2]D/C3k00%iZrW_M])D83_.j4Z^6L$brte`BSEJdS5Q!&_Y).bYF.iSi%2!Dq]'CB~> -endstream -endobj 211 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 210 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 243.988 533.742 276.198 523.742 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 212 0 R +/H /I >> endobj -212 0 obj -<< /Length 3222 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau/[?#Sc5nU5n@hfcJ"GTs-5>d6OuoRI^$78^S)LYY<_gN:ZB/9sZ5hOqCYINt!gLU-"%[OLbYcB+P6%YsX%s*=S*]-!1NNC^E[n)$O6LGs;i_&lro$ud(qKP%:XEV8jmWcTbk4%P^,9>0gNA))Y&-T'j@Jo!kbHn8`oZ-k0^,gJ'#-7.XPZNP`X*DE9"NF4M0!"][I6%BfUZ=YNs(hB/_alVp+A.QD,RG"Fm`co\,U"/oZ.0noUi-(Y0?VAaSE(OqaB?V#-/_Wg@[7.$C1Fo:WDSs#)jN$rk=J9T)@*(frr*i-S<>)@_B%0:]f",sGfFN?QO_[&b8b(+#hmeqiMH,!)bomcoqnm7H[")_,FIZmWE*"LRr>f:7LN#q%;<51:r[.fi-@Z8AMKpjHF$%6;B?&g?c)kRRZf-p!kOpl@QApR!A0<;Wl3<\FUN-Rl;:TkZi28r]I!^+C9?=hB,*!l`I(`_L\!WgW-n2/oT\8683NFY#lKk$!\2KZo@iG"YO=eb7$-f,@HBDcC@3=Vt"\n[cmc/<#cN1Mh]m6NRYG_&_2)M@.,Zo+#XXDrb).%Dc/S9%uL7A-`D%_<<+8qM;gi;hUJ/$*BfI/c3;YB_OsEFRN@+2-Gc>N*M^i/B1&3m$rO6q'u6^*#_?Q`>:5Z+YpDi:7@tKg&]Qs'XE;WGDlaG)^/J:X#:_/?9&iSG^f$JlT\RoXJ4ob9;ZhUu7qCcP/lG:*n@@[tpTg&e!3S`%qIOF]Ke$Hrj)l/3cXL0i8X?r.Cg)8k;WI$?]XY[6Dk4=.]7GZ5FTbE/S]M7BGtB$uISWZ`PeiDadg_.-5FjX0+!BoAn]f0B$aIh"oK)o%THs:WSIC$.:RRgSae0WThhBKTJ/*h0--O;;)>1YQ@9-enlSK:]L?4_QBdZeP8jFl@gi-eGY_BdlZl"*":\ucnHkpq:R)L.73U=#+t>6ref71LeW(*ch-*ULb5Vqh6o+W`sG^N2Y-Rs."%td8fZ[$Di`-J6`iU6_;'*3A.5%[b-J!as7\"+(HGn9s0aD?k67X``I&D7WXPIh,YhZPAXMK(?ga0dO_9n(3IQkoOf+.K;>,L<&:),acM8tlLcgFdO;-:s`5U/`K85EVjJA[j#F7g&>c)!d?Ut7OfT:6;mGg689Qme`2=aVdZ\SEMY*:QB[O;.5C:p:hi-c/BiJ5#2)uJ`\a6_<)0,kis*D1bqm\)YZ/L&Q4::3Q4B06rs9T)XTp8]Y\Lbtmd./#]k`;?M%D4MWMEL/p-KP9Z=C6;$F+lt]p8M:qEQ0rHSi]I^-Qr]sTU0u;a0d#$5++;Wps)67e%a'57E8Zg"(^N6]3[*2^7!=f=5^\.J:[Q\K>\Dti7Zk0DmjVWn44U)KOusm8s"j5NK3UV&KZ2&RYEYmeElL@p:ug0f&;Q]`])Od7cSBb.PV0NDcmQV?`[d7*ER^cprT[_o%F$nIep!Y49.r.A9kLiS3I#$%Nb0o)(F5a`Xi_qq:+1Yg`s_i<.g<9(s&X&)1!["\S]`@3tF21Q6%1&0>3P2lCl]RiH[US'QChl!?6Y7<@a-!f-sGB2Ss_1tGqS)\CDF;]cfX\<"p+*]2OTCp3n<)`X&r9rX'jF,8R$cGZ_/:;'h;mjh71nfeO"5=k+n+\rK8SNDlQCONg,O2cFNs*EZOd9Hi3)@uN^52sDn+nA"ZDZJ:]E1_U7"B[q"S$bI/HcO%W?EgX&@_uu5dT].rEV8,nMocIMa6TUF6/SHrb`LFm-cA4JC"#Il-6NL$FqY@'?$fk]Z`l"iN&/]^"F!il[o.!?M[&?6?NC`Hr#5c5_TAG3gW/!sT!I!aqELOZrOTYV*A+D0=NLJ,_?$flRG4?K\0!%7a>PWjFfoQ'dB>[Zg&ksF^;2j$1_3ml#^+41\P^3N65^0Wo1Z&-L1g`:A$ErGG3?fQ%g0r6IW])=A'\OJ9_nl%47if56dGEa./9-+TWs,W\pHPO,Te#!"&,?6NSB)n1^g"ifHP.HB)qXM+.C!VGGn=+Y'ssEKMiT.]tWXHMW/Z/m?"h&+kFpe#MK#oXKI=75VthhZJGDGj+SS#B=[ADWGV*M+=;HQS[kbVTrY3$4GNH6ruKAN.h:>_Y8l$]?A]1X_.[kmnT.-':Z?2M"Yk?[';gZ^"Y2!pa9G_KfY-H%-$qVOZ!5DPno>Og> -endstream -endobj 213 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 212 0 R -/Annots 214 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 111.603 208.234 144.373 198.234 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 11 0 R +/H /I >> endobj 214 0 obj -[ -215 0 R -217 0 R -218 0 R -220 0 R -] +<< /Length 2492 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gatm=l]9dY'*#[qKs4pq5oiE?ousfK,fSnC1ejGqmVp5O#HgbT`6+7<`u:GAs*I6[AIc,2f*;ut/2T_731Le76bcr6]Qb*9&b3QrqSMtb(Y&'8O*WM_?4rAW:;,c7qg?ASH!e5Gci*c0cTf\a]=FGN*pL6(MeCmfc@$=O=)3pUQ;YtO[A?8t8[3TGN8(AFPJt`*lAh,I`.be.t(0l)c>?Y7R&0jgW;QI)PZSEoL?dp1:<3I0NKZ71On4b-/SIj.,9%,WeY1hU+f2]A&3L?"Ig8[ugk&TF@eDamk+(rfQ3/^-o"'%0*'P<;fQn`g(8AF`h?BoAu5Ig'SCg=tL(:"R`bEPHKDRRJp/k_Pf8NDsaCr]`7MHXRDbJ`ENCcjK%6&mj:lXmf<43p;sq=J>+m!W;,$X"F@Rb32L79&N)be72R_6U0oTq-#aH]bf.6kr9Acqt5%/Mu#&k$0Rt#ET\r8"BuX!m=`p`Q;P#^]-;LN8?OO8XOP3ESXT2?QdUNQ)rKKS6QgVKJ?u`5=RH-*t[j/5m#T!:.mLb2:Tg;o3gtcq"#SkMXZi5BrH6DRDO=a8*5U\?tb5:BEaM#f^aON5s<=#D?D?%%HY1_a;%m\.C.&EA"t=I.6F7#UugjbVZs*A,ES;3+*UrYr,cok9dCHq:0@g5S!1c+)!?h-T46H)(5#`f&)!13B\%te-W"l8^*H/eG/@&kB]HiTcuf!8N$0<\#1*RYq:_KS%4)[MDOX,=m:_\(^9ao*U)!JVVpa%pNVh$Sq6N-pQd[77+b<$9"WP_71>ik%H]/bmN4i*eb=(Wi5QNI\3`56&kVAl\(U&d64/.'Wu4OZdH6a9Cp[!g'co_4`E_@tFZG!p&a%Q_86hp&KW!__FIb\kT.QB,k#qG9n/,'o1a35:kE*%YA>(Wr*`$5X7'h<-dmYj)4#MQO6+m:)%ba[0Ae'N`q?HG\maC=+J1_phI#\1b/Kd^npurb!Hq"*pqSp=7bl\K(!^51X:\+9h!8!4iqls0Yogt[tjKkG?F:]W[pC2Xr/l)p-?CDX5hbeZ%ieQBU>-DKp]GQCefk0FSd!%)'%R1T$$aml9pa%m@]u9WJ9cf:A1;#WP-P+$\H\cn-6/F[VfZb10$YaZ42eiOUoWR$5biJk""AAjA'=Sl'%^4p4>nTlMaPn>"ApQ-%TQQ)fMuB/p8KT"d-f.8]Ju:j8"i*lsn-kEJepc2G+_[N=%gG'sp5_H;^Aro_PU,ncBA($38;pnkVrET2P]XYF"Ng12Hhm*`ReucuO8iBe&m?/GI(3LsqX)bP\"?uTq!e:7[s$\rpTHfpqXe.$mIg&0C]>>Y+2^rW4+aDH4M)\R.d=&gI_U-@ZtRhT\uZIS9VW,0 +endstream endobj 215 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 366.626 311.772 388.286 301.772 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 216 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 214 0 R +/Annots 216 0 R >> endobj +216 0 obj +[ +217 0 R +218 0 R +219 0 R +220 0 R +] +endobj 217 0 obj << /Type /Annot /Subtype /Link -/Rect [ 388.286 311.772 391.616 301.772 ] +/Rect [ 118.424 555.742 153.964 545.742 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 216 0 R +/A 181 0 R /H /I >> endobj 218 0 obj << /Type /Annot /Subtype /Link -/Rect [ 243.988 142.284 272.868 132.284 ] +/Rect [ 134.91 544.742 164.35 534.742 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 219 0 R +/A 198 0 R +/H /I +>> +endobj +219 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 350.57 522.742 403.9 512.742 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 77 0 R /H /I >> endobj 220 0 obj << /Type /Annot /Subtype /Link -/Rect [ 272.868 142.284 276.198 132.284 ] +/Rect [ 403.9 522.742 432.23 512.742 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 219 0 R +/A 77 0 R /H /I >> endobj 221 0 obj -<< /Length 2810 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 3162 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -GauGb?'"$SnbmojOf(@4=!pl&:(a-^>`^J)1dI#n@4sTZA_L`t(0u?i],0PCB./q3OXt;><%P8s)9iT3q&\t][Vt#P+0Pb'o2j]F)h3!T'T,:L86=QplJ\l]D-'f`gXWL.mGEIH+4qQ+i%m%ZUCl+$TT?;@K>:-sCdbJ,\#XkALL.@!PAN[;l<+k7Q)aBd\NL9&If0!`#b5]'/9c[Oi4*Ual!+kH$\(I8<"mlVM=6rHV6Ts"YJGkSBI6PEkc9khhsuUHW;`0%Z@tF))3[g:)J;nR!e^q60rs7LgKMa/8^JZ'D`0#Sr\_ToctFHU+eOEXT/Udg@3C>,CKcF":gTjTbf)]j`ieDMP%73-%=245ug"GrI)NkcBYJo"S@raL3JVNf4)1pluDB'mUkA$=Z_HQ098FedBn$tZm`6r-hT%)S<^0Z;55Lt-%q]L-WVD*c(9OKi;5nC40`/($KuT$o;ZAYhOF=IaK0]*.5D0-#VVQ(.=+)A=-^#Vn`bBZD\\H.VN:F0k=K=%"#IF*!RuQ"K=E!*B)'mKO04S&=^ONlRrJ"Rh=N1dFjX?%^:2P!ca$DnYe7udZXMt3ad?ZGA\/]ce+@4QuFLq'uK7p9JRQCebM4^/V0TYnk5L$Qc+%=BI>ubRu2H1*S&JO9[UPYLk8@!rf!*C9N%&rRbR^SqIL@D\+qIGIc!\*X,_n1,.KN_TaHJjoEZ9YXpG+pTrA9C.Baf@eL%tpp4X1E8WW51FtjCP;C%Dlaa6PtCKb-,8E"eErE'_e^lM(uGS\Hs(-Pg,1,'I@[d3F@][Gm8D!2S>(nEJLU,cZdrc+$TYocTJPLYP.E'#ocaoUK@YD8F-Kc5A9#I4i^+9kI2Lqr=tZ[]I##2S.<1qWha!_jFcuc^>N5>=Z)1d/.'Qmm6lfhKl4!'E]:&13(2:37n?!8iI)G`^koZ&L7!no7_sp%>Q.$$ksRfG$O-/cQ!UHThI[Nn;'3@_Ub0_Wf1"HaP/p.!:-GjbO7jki#NpiC+Sfg]&k.b(Q$#rf90P-Ig("j`&UrZJXMb8CI5MPOn'0C<*2[Sb-IbPK\+WEaR#P$sJp)4e'f7+_7'K/&Z0"[I,8K+gg+BXmT\m4U@@c#DVQt4s:8T;+]sJ"ERRr2`LH\]?H*)@kWn\q$*Rk#kQR;e,7NmZnR1@&D@K\K=ZkO;p`YR/`Ul/ClD*p5sA5fQ?PC2OTdq@qk32=#D6Htd7Lu,bZ,r9lY]-_7@@Oc=9\@.0[Iii5n#jhL@FHVD(!?VUk0+)]:q'0H/-"W0K*8NlAY?P.O,psC+?#(XpH6G*tFq!U2'.:1'o<&g^W$$&Ieg*h+\C@pRB'g5.JM?\JNca\rj#?J!otj\L?k*R=Ge>h7Gp/<#HnY*EKS:C@4[)Nh25UI6-kig#3/C2VVG%n]W)Rt#HAL3'>b?Zl][f+Z)VR[`f&FH8KQ./07l4WMD(Ego:H3ZK`YgRc$u\U.m&6(*/M1Dk$>8DN'h8-3K*^"i6JL8>Q79,g1G:i[>0./Gnh<<-s-LA0l;AH'b9cVG9m8QoS1`%'/5*Z9].nAfLHJI+J"kQjM&cN(he0tp4k-;,ZtPIk'&UkGHc,UH;.LophQ\)G(5:hGr5r;'E5Q`U;TYo1=hm-/@_Wdip)?D/m#B=)_s].iAa8$I@M#@e\=lc4Wf`Z]-$O/'CJembJHm_hD(l1S?ukRIUVGrlo/[8P-$F2hYBMpVp9,l#jSokSmb#@kf1/i0HF`K3f"-3Y%scB=<2(HfVOL)o?IgH5+NhV\JU.&J`pcLK9pgZu:\_"+-YQH*$(9%_j@oM+52'sBTaS_Z\0_&j?lDW@O^pon7""dPlUhjeEm?j7(8J_UCC'_DfKRGIBJr^4mbu&Rh^<`ZkTfO8A.&he"qd`96[JleV.J9h4SDFO%_&T[XigelBClU'mD-ln(aZ1iV0"Z3NjrYW/\)7rE3YTir/q:^o'(4g$p\o"N*+6g&6H`bf@e8,m9oN7hg4T-+G;;58Bac=,lajK`Z>%er2HgMCtJEA%J(d>gakI_n0E>A/[WcuHd#()eejL^Z[!Ll/.%UF)do]g]&omrK^QZcsJn?m1o#WIp/YN-pb7"`#gg&e!a$gj0l&97kX&+K/,?c^:eS_6[i(8K0:`PuQ)aS'l=^ifZ&FmWR^Nf#RZRUiu=r:'-FLQHel1i)IWf8-dDAH;@?"&DE9K6;'EC&!l`q?Acp +Gat$;CQI5[nb`:mGJ>D]Eu7d(F0@!R'ZjVjg#SUn[4%IfTOiGO4'?Ur=N0C:L?O@%LT\'#LlY5G,\<$>klnIlN_o]#DgPQ]KLjhK\K?%RmL&j\RIo($Y-O<D[%o_I@So=53Be@ELNZr\$=Wt?H%C,\0BM):"Kplo8('r3TVUK;.n?+g0#>m/E$nO2QB6JeOR8db9X=CDhd<9X]2V4*Xb+pKOFnF=VYm/-*T!cPZ,*#,"!suo@CdklH)e)[JMKW'DpH(2<&Hc[Qlu-0^^(pJ4ikc]H).B5N/][D*hf'JGDa_.+(2oCT\"[d0#48oMn]nt\lB[cm\/$_E%jLYnSN_k2]iEY!8>>GW!?4nEH$^_Norb[^hI.hjYMXb`^*o&u6d;S2,?rHodLQEKj+/_KlRlEqDOn95H[BPg-cCPN"q??([JY1CpQ=@*4J+;SOmbo+,IR.R8-'_!Z`M7+l8eNS/%gVurfO*!SB*5[#hZMYik2/b6EpZ^h9]M==\b>cPX;+M+R'd&]suACZ>+=rK1"*X-Ds#g).%of]pHf-96\,>X]GOhG`=f^muh@mP!fOA4dcRkQNee)n?5lB,l0*ecibF+\g_8oFpT$?59DVS.;^(f2.s8hF09dNWI(jLi^`1b;K+#$m2:*j$/1[9=H?!+Q%$4O8YqQIQ%i(a6Et?6=Gi>e;tk$]D[%N_tfuGJdY!FO@="ER.jS3'<>2$@E[k*XRe\NlWRG@#u^9O&``9d3#H^UlaLtcgj!oO"aF2UY]%Z"X#A<,?e8E%9KnboEGc)l4=+eVn1T(rS983*Snum3)0o?ibKq"L,"VOTh/g%=J+=md83bh)8uO2IX:htW3^1*_!HbO+Jh\Tf$j0&CE[Pl`X``CCEkB-C\n&lB?d7@bKh#_9jKo[j3MAR_u+("D$WHpKLlS>-Z.8("82;\ZGL*(;4D8:*mI*kcD5(6g'(;S>D(JF4(cgPT:c4'JkZA`?DprSU\V7>^:(oCD#Ta$fF?/@+1acJu?3nHu$G&u=p=@e:Bs3VT1b_lbU:;3fi/jeAZ"Rl-'#fFj"Q9n,@0Aj?CPA42fIqm5aANa5W:_b@V^CH>rNPs#pSVr&V>NXq?FfH%d'DY2Y5#]9qgir'UN&]"V6tS9[^BsH@\>RRgWXJ!^oF2!tu>$\R4WSho.EtBihs/C+r+K'IAdLQX^R7V2LBhKhO:Y?1+kq7Fc_iNNsn`ln@Qa873BnU[K?<^6&.9,]P[oc*<\L6SR-9l,tcQ"CRX>Wf@u]jWh8g4pOL)*G"7b7P$b7EGn+aqCO?oi\4cZ2egm=Wc<-NQ=p#?QjG;4'bpidr0fkn'INCn3dLO*K5sL][qP`B7;V#U;i6T_`T`tRpac3WJ^o7c3RP5l^HEQ1AF8GT`.?nk(`u21sii*M,0KGqJd^Igl8Ip`i=,\>]Tk51QuIKpd-jpFsYq^6>mU5\C2h@Lq6OQhjq\i(NZ^9CDUWphZI+a/rUiR&5h]/9sni!I*?nMY?@*<8r.=GB$@<#0M`%!cH1e9An-]aM`Zb-A"3KBA-!aHE)Att2/I0YVtrUE%q_$W6Ck:EmXl*+A&4nE#cVQJ_,Y'e:mO6]#GVlD7""P=gEgD3T]jN8*=afU7K&R(IgK:mKjDQC+*SG9B@KV^k0qYROR*L5Jo^].:n,Ker=>H\"k&ggPTpJX(rrnPf9trHqYEI\7MCfFRrjDWOQo*$cg&B3tR;PCAsZ_3'ClDuT%`VNd5dU/-3,L3jX@b<7UGN0&K%ok-`/F"'/n[f1ab0i9Y7"ja/'.f9`:f+0lN=0kP563VrNolMYa`:]E7E]ieWh;~> endstream endobj 222 0 obj @@ -1792,247 +1766,189 @@ endobj /MediaBox [ 0 0 612 792 ] /Resources 3 0 R /Contents 221 0 R -/Annots 223 0 R >> endobj 223 0 obj +<< /Length 2263 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gb!"rCN%rcn9]VA@O_Q=40;3p%cI.O?J8MZ3@@6qTSi;UV6X0Eapk8)Ee(GYdF1EHM18T(jAs-B%PZ2n;*B-Q`3\P;E8El3G7'-]@BQf9;[&ac"p&a]X^;,b:IT)eOVXD@n-_NZ_Mb&BS3TF%j("(!E&(ibV3Xgn7*X,cubG#5,Pm<-28=%Cd,,P3;2UB"_b5mF\2?3NXccjP/$Cp7R;X9buVH2Y-e&7Zul?\Y7aHZD!3r_k,ApXK``[3jPHeJWO:S!_][MioUc[X:^4_o#!!TlfMCKo9\,U,B<>7SL--7i$;#f(2$7)o5iiOGjb5F7`_]_`7hj*eD+q4/23ObEmrf*R_f?NKkEZmrgbhPiaIBkG$[>$QhdFtXL#,gBK;JuB@k-:;p`qVTd/n_0cpHY7[9/=!1+8%2i/)-BfGgKM<.USlLdD!`/.!T660.Z5nC<>J9t4!A$DX0ROEdQEksBYdp_BuI#VmZ?[4=ln[I<>f-*R&Ra?ibdpD1@,T"r5sjk3DUFuRBTC-WMWC0e(s&,E`!;@m+d=]l]1o`iir]75dG@A"8?@)mm+TcX_"E@<^&gI-t7O[UK.*#,/rp$\t"WGO@+1ht!4'!Ll,:jL511E3j[G=M6!*;<_?B5E'XGEQrTR*ADf&)5HM$f*W/e1Qli@[sj2g>=R?QI.352q[/!a>Xo.<5p\"66R^Wj@P2leU5[oEHs3&F?0CNYAkPY9'rK:jY9RLjh%CrR\FXR[Iu;pWhrV7V\Wd!=Po$BN]>p(FmbAUV@<-SI6BdR7:<);YY;Ie`Ti#M"Z$?>\/*%n,@gp?=6)Ee9pSH8R@9?8[6".;4P[JGQ_PX&7d*nemrfL.D:pg3aBbSDN]P(lNn'gqTQq%L(]KG`Xh\ZOr!_<^-?KW.$Cfgh\F_DHT6grE0Te`\o$*^BZ%@H`mt%EH`dHc(2l1@RltV%;:]l-LXST?k'=%mB%u%hHRO(D8qQS)2>o$',+m+:H<8)]R];-q]\2(6L!Ps(uDqpSX)]de"]$#SID2s)WLN&EFT4oSl0b87YXajli$TdBZ]Xtc.Hg:L2Wf)J7@cs7M5.)K\S+%_c8jXoo6J6qYQ6K>UJL&?*t)XG:H>A`YrbuKU4j*e<"P%cXB#^!rW +endstream +endobj +224 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 223 0 R +>> +endobj +225 0 obj +<< /Length 3650 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gatm>h2g;K&qA57@J&Xoe7&"JYrrdlEn_p0Ep9EY!tO!,TOiGOXsCTQ[%#iXJ&$2,'inTcnchQD^.I"\`8*$m*X7\=EJab3$EE3dQei*`1Neil6!iIG'2Lj70muN,pZ&TD=/h;mLBqAJPskBQAG^GQt*OZk3D6Y!,p1&YYY0RF+I@1VBdR"X`X>]?sC(/l(Ef!!s_[Xrf6ihIG(`86hP'EOm;t5E;_(=t?r<<;'tM<*>B[aF'+'iL(QMJ;c7?HjP[jiR&?J*0LG"Tg)%hDN5tg7@DB^5g)-A`%VQj3*QXEh_VT-YffI!PML54gHeH[Z7Ln?YoI7TpLmk>[r.jG*PGkjIrqK0Y.`[12O?7]![EI(d08$NJZ$h$*!$Bnrdla&B:QiXT8@CMSlLEUlu(bfm'*<$hd-Ge1egN'L$,[O!AKsG%-rYk6Z2D%tGbB1(QA=Ie[ufni&LepMegW8Wf$^SLL7[6u#\F^$O;>?qEf"=iK#BHJn5<0H,_BjU,b6Y^3WEK:NNB1&7UUI>I.`j6":QIJL(523P"U*!RBr-26/lJddG/ZPU$(1Xh#$[^SKoqpZ10\i&!1Tk+6qEp:h4DuRBU;nLZq?"0!7\WeF]a]kOp@^3D,l2EVg.n(J&=sj?0D)lI\p1=,mCpXk7%n-R9Sb(-3RXM2@"Zht=?n!AKArq+&-Q5u+]gGY&lL:/[R]o$Lu/Xer4$k=B0?D/]E,1PIkKbeUV5>KDp;UGR+OFJJ@a/(UK+%PO9NGh[7L`duatY\_;]m;'9f2e$KOW8"nW4gK,sW]H/rH4,k8Y%Y0*Ypc,)-6_g]?p]:>Zaq?9<7RRe9o-(.4%bPKBWMCH9pjC;L+;7QSIe+*U.mU%Zg\`e/tE.$F(7rSZJ^jR'AsY`eUW/gnZgJX]BB^6HIa#r2O+Tj9HLtg*?H6E]`/OuIAM7TNWl;t];bIk[ndmP,H&FP"Mm6Y,0qAdCp0u_^l-W@V_b"T<]QAVI7F/!hsa,?d'35SNrXHQ4>L85[CXgQ_XZk[$pE.E[23emJK"4#6%dCa3ek@4Mg%+71tEQRRgM7U_B>;YIo2f<-^d<.djZP1j9TcsXNY/0\bn18!0P9X-`?K+:MUQ[OLOMg2;*(2E2!5?7W[/s"'cu&(sGD%DP+$O`s*>KTRG1Gqi3ma80"5d>n)]Y2Af5*K!c5bQG!^1F1X[>C_>`jlF%&^88h!-cT]I@"<%f3H2XBmN.uM",J?H39Sfmsj*O[%pPrbam1n'DiDR/ZX>tM0aN*Q:"qG\6GVcQhKBZgt+lG-AO9aLpbpSZWpAb"F^=_.TBQ0G&6J<]S1ln3LQo:Y-pRR7UG.mX]]24i;(V[Eq#opmuJ]%KHm^9i?2;CB/j,WNo3/2cJ/eGWHYhD-8>lj5KQlhoP`1HG,j$SQkLQ;APVlYrQ,Sm/Y;]tI.,2XYMZ,[,5od:B5)[^#T0,qU\o\q*+JdJ\Tk!mkF8R+FS(tn'AomSaDW&a!:]G$$R;OR/k]?gt^MG$2l*`9A29mJ@.gSB:bY\U,`)3H*_UA(a?Z:DVEcrB+FTK?iJXZ/5\)s*Q^O:[ALuPS>E5GX;NG=m[aFr2$FAh>d"!&NYk[[6s9n9=EjFs8_2k-=22$5ZgZID<^/M9f^IE,?l0N:t(LTJ;Qm'c1s,1@p=_!X"hoJi,bAGC-_TuZCjhr2Uoi:"dgoJB-2!b:\GF.n4gjl\_W[`(!jGe7g;Fa%^JIBuqYkDUZnO.);OTB")b?XQBBnkE$%gqK\PS4nUPKUQil_=XR#4ESj98`T5/q[4ZF$*dTM;!7>hRs$pZ^DqV2_'@:[@a`L%8mgl^:F^8-]R'?4VJuV[^Wlf'9_KqFJh#AM.E2mSYdjsI`(qqh?G><%#":/Mu3l6SJV@7YXiC^_Th@+;7"P.0nO%WS0Yg4[LD.CnGCFb!-kfqFVAE>.p7.`7DC^cFmgmd[J/seQ6FHgIn`&r;*P0,[S2LQBnJsF=:FS*OuWUdBJV."AYr/b>aq>]fAaa1f\]kNE:5!6J+W-GDC&"e5ld"j-Ak(IUR?:6'Ju,F7!jiU+fF&>6?q_kuY1?JP<8FV^>lm[7l8Q2qe[.(qQ-YUQX8YsoN2N>,7q0@<(8OO/)b+2rQ34VAF87?e7R$Nnoi3uk67+Ipli51Oj$#0S*Q9IGWgr'IA<`EtR#*un9<>VPfnQ=8,/?r(f`.iN?_8Z@!3UeFO"W`sa%Ui.oAhRtqaU0U.tE=!P:tqr>h-12m`E58]XgD5(.)@8kLJ2uVG>P=!*d)#Rf~> +endstream +endobj +226 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 225 0 R +/Annots 227 0 R +>> +endobj +227 0 obj [ -224 0 R -225 0 R -226 0 R -227 0 R 228 0 R 229 0 R 230 0 R 231 0 R +232 0 R +234 0 R +236 0 R ] endobj -224 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 111.603 471.262 141.043 461.262 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> -endobj -225 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 141.043 471.262 144.373 461.262 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> -endobj -226 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 118.379 203.278 150.589 193.278 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 185 0 R -/H /I ->> -endobj -227 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 150.589 203.278 153.919 193.278 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 185 0 R -/H /I ->> -endobj 228 0 obj << /Type /Annot /Subtype /Link -/Rect [ 134.814 192.278 160.924 182.278 ] +/Rect [ 282.82 536.67 315.6 526.67 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 205 0 R +/A 141 0 R /H /I >> endobj 229 0 obj << /Type /Annot /Subtype /Link -/Rect [ 160.924 192.278 164.254 182.278 ] +/Rect [ 315.6 536.67 343.38 526.67 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 205 0 R +/A 141 0 R /H /I >> endobj 230 0 obj << /Type /Annot /Subtype /Link -/Rect [ 335.85 170.278 365.85 160.278 ] +/Rect [ 179.468 363.42 208.908 353.42 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 78 0 R +/A 188 0 R /H /I >> endobj 231 0 obj << /Type /Annot /Subtype /Link -/Rect [ 365.85 170.278 385.85 160.278 ] +/Rect [ 215.114 363.42 244.554 353.42 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 78 0 R +/A 198 0 R /H /I >> endobj 232 0 obj -<< /Length 2533 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatTJ?'!_uniab)IEDb:(m,O*Z+UodMf/"[]PSa.%fn92CNX49Q)OJ*7K7^)+siC-j`R^3Yi1O#_r5RKrS?M'%hEKq:pPE&]noe9Dt#6.Is@4k'WnYL;$rp*X+0#hGH:bF*e,+%BCHB(:O?#nUX\&sYPR)?4m=[M>M\[kTj5*,Dd+%?=B*f:g2*)l[?k/**'a5-r!iOsidSc*\rA4og3\)Ak:tF\U[q`5C'[,@:+oanh,`^$G?1H*\c/La>adZT90fr*r3Hqm0?qQCoMD9,.6>T_BA3AAE,b<(4c1=30&,3<^L!^sb'/l4_`lZfO5W*c[9*a\X&->NeYG*^1qH/bCkjcS35HdHNSUXiCQA@W^8&VAfSl@=%1p4tWTZNfA5]R-hs#b#Sh*&PLCIH_IoXGO6.V9CIiX,-(kG-FqODKu/gD6j_!A]0Tp;1J8UEe!eDJs8@@A(HdN8.EWO"<9rpq:]2c=3gP=iV+,TWL:,[_D`'ouiAnmf\V*iE?fbW3fX_+#I>$VotiZt?b$B:IRt5UbPZl%1Dr45q6T32&-dmF+4Y!ne_$KdZ;\gdPFXtDHTiKOD:U573N`;tn.RG]'H/]NA"O)`K`068cY2^:1"QFB`@ZTZDncU73j+si2i+A!o)t@1a@;1M0lmP/kS;jpUn'&shjab&ggOX#UN)!1CucjT@o>#@h.:q#7$H?F\6IJ"N9P'\ikY@.F]/\'Fb%#juQ83-5A\'NNB&0=e;'9#gU_\s'II*J!D;%r,b&V;*2MnWA`R%c]S=.YL?>/Clc<\I9o3C;jS`F=@p]hr>1(nl_86=Zr0o/rN=%i;'`]Rr2bq%gO:<6DB:OjHm?.WOs?j_PV&:25fWM$,D6=3V92c"-/_@]4FH&2_-aKn;8+A,lN/*t'MM`[S8WM,-4J$:O@9?'T$f#s,[L=PVV#R2i_1+qF'/AjE#KRUd@"IHV07X*P8,T'q0h=$.oC6((0T.rQ.jFLH1,QiLk2mRlu-1qI&kC+EQpM:/W#=6hscTf_DN1BTNm96dhQ6UhU&E:m9Y4W`)Grg\87D4J4N.O):9KoU$aLES?6I4$ajTGcH)a(ltfdb"u-,8J,,r47CPknC+5(@NC1&T5a.:dd(GXCWZ<^[F,H?pm&ZrmZ'"'#>$'(YS\alP]Mh`I$5:c"TAHBK1&i1g-_*3OEGZC1$m[pcWo_Nb\aG("6mV47'_VLERii%Enf7m4+/h`KS=86B&i9-mf_9@4$1&-3Q0\*Fm9i+-s<^Ff/o=[iE(V;%*:>#'48)bn>]R,FFo[3pbZ"(WgV.aSKNZi/aO%Pp#J)dcAaF#Bsl0YdF&JNW3`HUX34i&=_`hTPLs6q:[Xl@1lZ=cGcefu/48H*qcEMnO7ISb"PmC'W!Su&7ap8/1a>qCg9I15HNa":I-$n*9b -endstream -endobj -233 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 232 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 326.897 330.42 362.997 320.42 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 233 0 R +/H /I >> endobj 234 0 obj -<< /Length 3065 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#^>E@gQ'n5%I@H;!4ZQ>.pQVGj//\4K2C_@ipqTpYuN^Sr]aJ)$oj)p"PpQ?^H*`B?mD-i)'(-J46GfW7DX65PU2\.#%9cTj?ZeN6O2U?=$9dKbXRkg+.)'p[`2nS,4mrr-F1O1-kqegJI7KlDZ-qZCA4Zg9kRCMki^N^%Pfl/(h"](XOFl`>67K<#Z]aG80Gj=c`KXW6$A=QbG3AQ%Ed)Of]*=a^=M)^W0nDl9a4qR#HGds:AKCS-p8GYVs3dM_+lMoN'rotuBW8g=W;C.JR.8!PjHSguCT)kh&c"!N0>K@+lHmAgQ!a0Jd!&H=,_o7e"GPuc6RVp1hC`cjKnQgADmP"UX%e#$2WhMpP8u>L&S>(CP7thtAJ^\5p/f#W/T(.QB>;1oeZ$N40Y_S:Yo(m"8EF#96E^Yh:G2:#uY?6st5Zs734:U`9%U_e)U[>?T]j=%*U5IbQ>/KM38T+l0irmmb'CDnuHp_;1`[K$c/[Jd=&scTI03r94'a(`C5;>pclm4K!9i2mKBK`EW8R/A^Ol8u)Iq(uo>bS0$6_lD3&GF=(p5]Tn0"qXtYg67ooA!3XX$mY44/'"(Vinp)R.2]O9^F*:_@ghZa4'HAYi#sXqQ3l]R=+r3=itpE6KC@$EEMMr)>/nBf.Wf!OK>TLcU3S[CW2Qf)DMZGHVgG?UhihdXWl:^\(EP/NAn0Fr;Fi1Q7PT0a"*O6,#9`./,iFkK=bE>[B4?UM[K"k="+?IgnXf8O^\%3M"B_jG='H&G+Y=H]R#E62[Bb-@S-lq6ubI?-gZPE_sYT`d$K`Lu^&!g+jXrJ9dd#M1gHY1;F[PFQ?"b:N,a9&e9>^[E6<\?TX9G)\RTeVj:7-$d(md22*:j[F(q'Snj/=EU-=/MmjT'jrUa4-KVs=!@(*bShP]hWYlsG!cJ#OSLN-oFZO87_L_iKG)o6]rSs8[T(TS6:C%VR!OQt1+cX^(>elp;8K3Y++NFO`Hh2;fa1i,lN_5^QVVr2fa*\25AMOY>M`Q6Y36kAF;oT^jobCJpo#soPXrI[aro[Y&$>r8oQ;qBN]:(K(5:^5CB;IQKWo)%k(fc^gaLd(JF(L4!\s=6''!3`0%Wf_"=NB'T*ZmSgTT$F>C2Zl^dS*qM$.CL9"X>E&DB#N`EV!B35r+r>7&\c"(>;,jE.\%d+^f6t1lAa8$o:L@DpW'!8jb5S/"u&3O3GA].(p3Ae%Cnds#8h3@,\1RF`%6rQos-rj5&b-s+_PXhCbi+Lj-8B8>B@[.^9.H"q$=X9WY4$AYZ4f2'HJ(Undh)COn:@.[6d[*'!UpP;T=AZ1;_SQR,).ck9k*A4lj7=gRj.JAE%:C(ZMFM/3PDMdb=Lo8*1\>8>ZX^ZIYYcBOt.f*b8+Q\>J?i15eK*86*[0V_ZWGLReE?5goll?cbuRUCM.TV.,O0#.EeTKsa1r#spomaeE]Nd]q@W@^o,"drXo%!*mmiC;AIp)FP7o;Fp@\-!>m2Z+TCZELTKK?h#,e/=Zqm@.dXLVftC%*%1>r4cVfN*cEFQ`:;_u!Wt>S)0mi:U'H"l%pNl[4=8M?1nV^3(4R@-Qd>$e(i*a#SeDfOtE"kVmho8`D48:]'j?lcSL%`U[20)-;YG4N_eT,Te/DhfDEdG5;rnWJ8uj)ODnQde$^gi\nq'l!$)dOi\#[/ne9sb7>qb$C*/^?H?m,XQb[Nnb7D:-O&>`s -endstream -endobj -235 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 234 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 430.041 330.42 461.141 320.42 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 235 0 R +/H /I >> endobj 236 0 obj -<< /Length 3058 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Type /Annot +/Subtype /Link +/Rect [ 93.1 308.42 118.65 298.42 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 237 0 R +/H /I +>> +endobj +238 0 obj +<< /Length 2878 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau_k?'!aMnNFY(\naS6Jekjb?a>H;Q>)g)8TZCqSScdShP#ZZLU(_$I;'JrquENiI.sZ=Km&(^'PRe2rPs2T5]o_JBPit-#p27WY_;arqgU'gZ%J$-]0*[fcgq>Q=_RDFJ:ru]G#LI!#E?Jj5&]Y$\i*aH4UOhKu,C_"[mJ2[-Qh%(d-QZ'P45%-I\0tm-'OJ:]&G,F3/"=fDUU?rGXG>\uCqF8TR[o.^[(d\)mD(DtgcuiBJ(\8KP/NgL"0iuFM/u33(i%+n#;*AN\'%q*6-Rb>5%d$.f#]AeoWTT2-@TZ)IJLAh%6%R\pk%MIVX4Map:.eUHYJdrpD:;Vn!gNJIlTaqi@iGPKVpsli?p)V[L.U/1'X_*`6"MiC>\@!WkRS1=ip)Sl/PFeZuRCu*;!%93St\Pg`\RRMfM-0Rho(Fj7KH>OM16--bL?WZ5&4)=WC[8HX$:[8G=I3(B(He)[D5j4-.^GHlO!KR.'0If%-#Zpm?fq9`'1Gol`dMRmUQThjKX?Z-lA=ZH7KS3R]+d,R0*!X$FaA-4?e52>GlEMQ(onAP*U2_P`bjm1Tf:8@RU>IbT:LJT8H[TVe=C]RB%iLne,B=%Jj'LsZ%3kFJ828]D@dNj'-1&CGH:adrM^)FPp,393lt,JGp:s=ad"[2Zom&"[WnL]+7Zo`A8U@cg\l9ugIbl^GDPl=;iUV'N;X^_C!eNdHFZ8o2&jd`XXAE`;@XZMXMLn,ro[eI#YA=f*OQGND?bqSIT'm92+BB1P2MnSRP2n18PK>.=SrA;dL#?&#mTPC"!o!_m_8[@l#Fi"AL)CB+!eLi3BiZ4!W=++D:=.cIC(bbBFpL.Q_,$FW`oC_emrraB-Nub6nKMYHVEP(_Ya:oV/O93eFSr1lf:l/5Y8\W[Au"/jB@G'96@Q1E!5^6e&4Zm[=%Z81,I#.$`hLQf/Db'T,`1Gc]i(lTc+"?Q9p"N5s0HU'1C,dVJg-:MO-df.U&64W-/.74[a]=L2Y5W>9?WI-j0EF_8UhJOhsn_[87$;&b_[FMWGc,Y1X/q9('1/sE4,7A8^GMK^S)0b%q@,j^J%2dCn-cVa:r1t3Z6#8INC#W7R<%6IA8IB$I&<(2a**h_gI<;rCnuKn,KsB/[3=kK@2`U*uP7M,WHdAE*RY@]Ws\ijcQ7&:-->e.cKB9fg?e\)(3p>t-s8D=b\oP+N1=]j*NB58k?2-DtQ&ifJnc%ei/'N>5)kFHF6KgD+64l=(FET,Du#pd\s#S"_p86'(.F/Z@_EZ">3j"VP]A;;M/p6![>"l$:48LYQ!Kd'm"[bEo.^47De[Ot%0-nET052S)%Jj6<2J2jh+Yt#(MW]rRr8NsGrB^YA;h0,5sZh.Y^4bgH%M+6jV3X!%B]H]os-SaC->k`l1DtnR=kA3#q2gbPj]LGO-(581&D%(jEHL\5\Tn5u9Kc%"4j"Z'dnC]]O\VfeOS\[M9;EDUmad-H\YdAPrA7b",-"Mb?*(=?Y,Q!F&q2/K4,KqPr:Pap%o>tGI2AnT'q*Z3g8N8VH2+pPZr,&q;#TNhiPS65b2qGjYNgVGV5mjlpXDd&,n&TfsWa6&W>:%%GrAlNHGrj6Z*JHp`1*V,/m;-ZN7elE'M0j,+_A=7eM]QOL,3g?PDi%$<(`V6s1_`*,`)ZS#",o/iN1YeCZi`"J7%t&Uf,T&WUiAj@sL[rdRnD=7*F,AdKpj"o9eGaE;ff^m?!s/\>[+4#iJSG7("U+gJ70L[DKUrX=Lj"Z=9Dr:Er!*mS^fTIlG]%hXZDWqKl\^WSERJ@3l2Z?!1Qro5i:N-4?q=RO\~> +Gau`VD3*F0')oV[_V^e)]8T;GFaGO@HVN3.8X%mI3#nB]d+YkOtkb^]__#,(c]l8A&j6`\r(`QS)X=r**&jFqqfbH3>d8i?ppH]lXn;.`7_pgO0Q&Qhi.)QZo($b=cf.YqS!Lj^kuon[9oWT1+\Hn1dforDT1*lRYSA3;^.N:ppeK6^(VFd.<_\dbo@gRTn69d@-'$]9k=,P.X+:UQtlkdaQ(ghp15*4a2m@@:215`);f2O<.Z9'$Ed9dE#ua\.a4(.;r7op-=?IbOtmd\(9Oj@qgo;]>9feP3GY2#Bnpg0lOeh)U*a&rt%k[=UBkChpsFgV=A@.2@=-[#p9+,@OknE9C8$=?o`?I!K[i?VC(QW)]\&NbYdY`j(i644On'fP'c.'Ze@CSP(dtDibO<]buJ0Jus[)O-2E&BhG,QZ[WAW$pe,ci)brff^3?$jdmRA4B5j"jdmV)I"CF`!NnoANT5QL7(I1nosNg3A_fV1lt*l8Tjmd0c*Pc#9&p`FKZq`27VkdW*&;pqc-EPG#@WP=*]>UN!5h\%(/*diH44Cl?@78kU6#*#*2'9=?;Ja'%l!23:%2&dAh4<&4+lf[$)G!G.IJ_5f+We8^+j/_:idF$`RW['UCGM0JE%[Fg:Na[]C@u*Dmgogll_IDt5uY&Qd5L)f*0OEXje"(fsF[1ee"n2eerEC/[3#N/9@L(K/?#:,b4US](@#sX7(heie>D.=)@QGk+m]?sG4eD'Xg[UiK(5U+@RoF&U;!&Iaa?*0TEC=ose1;jAl;4X*cNb*MHWtluf:Cg?5'!uog?_\EN&6R@'.8\%=UVkG#)+ts7:IL+,%eB$QW6iUM9ZQm,"S8$/``>7)"Hu5)EEm8uY-(nH1s4C^L9Qs(B^Q6fJP#oXIhZZ-@p;h._uB\d<#Q0TP%L;Aah[%"SYb1fTuUNC&3N=j-NK0WjaMb7!=r7WUFLqm/]&^]4W1!:b;CJ\$#.B.K=_:-n\L;t][Xj&?Z&TtQk@p^FqZ/4do7g\A,]]9V0;LsgnQJ2@ZDmGZc=-9Vj%;P&1I+(0kkp<:aq>JL8C48KTA_mX&Pm"q##AL=[LOX0Hk3em?K9/q#D$29*qrjP4us"3O8/>ZIG/YPE>ni"hb]nIror.1R"R`-OcZ@!dcq9/3LV;)a6HYh!al_/J`*9l`MWY]s4?5"3^$,:IFO?Wf`3f@BN01&"SuOdiNQ.AJl-S&X$S!p?N/+gUZY1F)4BkKk"ikL`96CXO%jZe.\N>=M($#mE,$[Lpo7GR;N<'<&t)aaDc6:<]ead%,#jI4]c$^7$;BSmp;GKE]m>.s+@b0b'!8iaqq`^g\KDK65386(kkI_MEdQGaQ#iYBPbB^hr,_tIRAX76?!.\PHX6CCN_%DH'j_e^Le;jgqfCT1*cmkMHA(*_KkdQT'6KQ,mL8bBmZhAd"&D^MmL`D!'`=@3i`kc'Y:2MCqn6thfHViOFRq_a0sWjqEjDM&=,&6-=_B*7u;]:#"+cS*4i/l.+bqA8b+<-DE$OBBOt%/_Ve\+:1h,rW;6,J6bORpP;1=lY,k*&H?<^FV]NBr(dsZ$*b:Ho6_bAB-Qb!*)pU:`#c%%\i(U%fVCAlf@5NZo9`l"TUKdI$cL_1.BgN-&HjXKn,mdBI7S.S0kE(mX?;`\?ili`hL6]&Q+A>sLV>f]1jYZl]b_$Y]Ec@.;b_N]?hXK`q57VLqdn<0tM*;]*MT6>SJbD[')8kJ6\C!OJAjm9R.s8Iea,QIT!Kd5HfRbrO endstream endobj -237 0 obj +239 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 236 0 R -/Annots 238 0 R ->> -endobj -238 0 obj -[ -239 0 R -240 0 R -241 0 R -242 0 R -243 0 R -244 0 R -245 0 R -247 0 R -248 0 R -250 0 R -251 0 R -253 0 R -] -endobj -239 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 260.31 368.264 290.31 358.264 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 142 0 R -/H /I +/Contents 238 0 R +/Annots 240 0 R >> endobj 240 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 290.31 368.264 295.31 358.264 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 142 0 R -/H /I ->> +[ +241 0 R +] endobj 241 0 obj << /Type /Annot /Subtype /Link -/Rect [ 179.468 192.014 205.578 182.014 ] +/Rect [ 382.032 719.2 409.144 711.2 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 193 0 R -/H /I ->> -endobj -242 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 205.578 192.014 208.908 182.014 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 193 0 R +/A 242 0 R /H /I >> endobj 243 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 215.114 192.014 241.224 182.014 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I ->> +<< /Length 2952 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gau/[CN%renp>h>^GSGsSg[I>m%K3qY.NFU]$7)V(5L-YTOg/".Z:GTa2oD!hfgKsi^8d6#@%?fRLqP9S/KUF\QYU'mDj/]+`FgES9_Gr1Hb9e#L?j$E(P`231VXFZes*Nle*AdjhKRCM-Sr?%E7$$"[OEchU6GhGHYY;+N+Q_iU!(H)67NdP?SSMG._]DN4jPHk>alBH\ho;I(.E0[V54PRip3S#[tEI%V89@RE-IqAV09*me-gRS%+p7.bj+IK8JC9qe0]e`%5K]elul$#;*0f-"a4D7:3kg>:>\<2N8"M:NlST?tC[LjbFni3^;,rfZMM(/4H7HB8f3BVS5Kni($i(YP=erO#mVB4;9dpZW7Q%kd1\SoeDd-OLW]3A\TX6Io[339#Pc4(-C1H!hUl:@t`;X8q$`UgTG#f.o8M63+L\FZ(S846;@lp0S>&e&`D-7B>RD/>gkN285(;:bI[?cY\4CDB'72aD]2[%V_1l)4KuFd`j"ALEt$ifK\.5bLHi2_*FH.i7e'3n,O4e!,G>Z1_Hl9h]OI;=44GGIM4MN)W7ZY3pYU&1rkTr1E!JR+V2]1V[gADh*]e;B+A!\.qR-f$Wms)aI]F.Ul`qHR\]C$is5S+Y*B_3ji+.rbr[7*B\4,,GBVcE,>.7up9DspZ-#]sf^nGAQk$D>`g,dus?Si)LRca'&Vq4EjbN0"`^-u1@hD'YnB7lkMK&GCd>]p0M8YK'>j%hj`I)D(C[.ngQi3EoWR2i"]PL@rLnq'&KUi'o2:Q]MI<4jB?-;)S,UrA_"uKXR3?'1EbUs+(O4:seP:.\,!_7O$cV1+=`t&j5b(e6rLWK!u%l5rZHJ:D*B@8neBj76\SN$N5*G*AZ[-S]Q51%U9i$iH0*mHogr-^ZXJt>j.*X084H^.oTM?!^qXF'Kd\>9e8g<^ORF[;JGoJ"Eu/&!9*2SQ+VPmDNB,GhA@WR\9OggJIN9F)B]<-qDGB8=EfE>e=)NJbLaQV,`.X*`;^p?_c&5e(Q:uG(aUmXp,IKn-`SI*J[)k,4EcdsicH&++>i+$m2>T/=SU>r+M>^6d$]2F4iB_+Ml1ro";lCeO8+)A6:ImI:sn8dF$pc*RZH-;@9Zm,j@,+T5"8Bh:3r`!6R/7arq5SMNHrKt\`F,1RhO$5Z.lNjh/q;M3)I+.XQ+Sh?U^#=LcE(n_0.)g*kB*KQ2i41r0fSeCqc,j/JLrP+)NrpCAm6uW,Z_,i/"?D'[7PW'BX._B[Oq)(]dP2o&OfkRFN#?V3C3cRf^h449Ge8A=9`O%/>7iRn#1!K27hp.Huue;^ObsUE%m8='Wsu53buN=Mjc;PD`AB/MRKt@GN[#Zg"Nr1r[9-6#4&_2YqS[%_R"l*9njW]0g(^,_GI;i[&7`\2cZN3?M&m@ZBKo#,SjEh2b$ke)3O>uM9\q[C?UsMlfG>I/SZ6ouALfmQn-c/g5bf2cL;U6Bm]UV6$Qoa^3?L4*7aOQuh&`D]7_iR#I-ub$t@*OTs?R"G/H.es2,77U<*9`"pNbS.3r5cYZNjs?jI:a?s`oY^\IDBiqJkU!OiH!FU[7X!S`%S:[@uRr&bpu3&#H3"V2q9D&cV.;Xc/T^rOh6[#1V"),:`DSf6M/(l,`0XBh;(_qo%4l&Z7$R.7dW7,E0NSV!2D.Rl:i::p\;1WQ]$`\uukR:4.dE=Msu;j5Yg_#4c^CR>R7>*PQgXFJ"lN2IZbCL`Ld6);4e7nc!6>Gfu!CO?`Qf13WKu!Hr2sT/'1(c,>1\InR_f/Eu/D$,2ga"D&u^nu$'1_(cWp,:CA`tcUa"o6/mO3W)P,b'Z&dq4r(gX&T'66k?D-PJUMe7T-0!n3$4O;FPcu3`(RNeTNjEb1">(HZ"r*_ru=[UPDm'<1*>n+;mUqY9U0;M5!so0rg(hCUC!DEn,BHhlXh-St;8$RKO4T!S+3JAIQ[hGmPEq@)n'q9'cIQb;HlJ!S1SQRB=:We<":$=8))X$;~> +endstream endobj 244 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 241.224 192.014 244.554 182.014 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 243 0 R +/Annots 245 0 R >> endobj 245 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 326.897 159.014 359.667 149.014 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 246 0 R -/H /I ->> +[ +246 0 R +248 0 R +250 0 R +251 0 R +] endobj -247 0 obj +246 0 obj << /Type /Annot /Subtype /Link -/Rect [ 359.667 159.014 362.997 149.014 ] +/Rect [ 178.65 308.752 203.65 298.752 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 246 0 R +/A 247 0 R /H /I >> endobj 248 0 obj << /Type /Annot /Subtype /Link -/Rect [ 430.041 159.014 457.811 149.014 ] +/Rect [ 355.302 245.252 395.202 235.252 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A 249 0 R @@ -2042,7 +1958,7 @@ endobj 250 0 obj << /Type /Annot /Subtype /Link -/Rect [ 457.811 159.014 461.141 149.014 ] +/Rect [ 355.302 245.252 395.202 235.252 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A 249 0 R @@ -2052,70 +1968,80 @@ endobj 251 0 obj << /Type /Annot /Subtype /Link -/Rect [ 93.1 137.014 115.32 127.014 ] +/Rect [ 397.994 245.252 431.874 235.252 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 252 0 R +/A 249 0 R /H /I >> endobj -253 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 115.32 137.014 118.65 127.014 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 252 0 R -/H /I ->> -endobj -254 0 obj -<< /Length 3478 /Filter [ /ASCII85Decode /FlateDecode ] +252 0 obj +<< /Length 3441 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau_k?'!aMnNFY(DjR,'Sj\!FM?>Kp"jJ2l"M"^(iGo462SE-m(0sMW`[L]@45s)r:o<;j>+jN'jU=/eq;Q@Jnsd6-hnMld#tn?D],/HS->sp?qCK"LXkiHUK=K\?@hR=RR^c](K*pmON";rEqYYXP;>r(fu;?AkAFB8H;&]SOfFLl&G(:qZ#rb0r&/RG-ZCAbmS4uZ^>fuiNM2.2)3jMU.AE*-S>j#34hc',6k'^+VC1uG-d8VT[K%0^elrJ+@11Vi5Q7\*ObM\V]e55,=Q66Ze8RXe&qp>U(HCTBVl6PTNW%:dX6@0,fO8+,hl6P9t4OHHDd3EC(MaQ/$b!k(aZL,`&YT.TdnjAB[b&jeC:TZW8i\Y\j+:K:Dq2l'O@ogX:AYE#rIZJ*^/=WJ:SNR+E_CY$4^_%lTX['8)kC"<-nEsu3/c-TfLJK,DnqmMlc-o<>DfpILP(^ql8fpFH*9X[96i^pCl,!tTL$+#Q)jn3kS+&UJr/0aKMDRRk(8?@%Gqc(e]JgZ&\"!Wl11?UNY;i\.qIX_.5cg-pd_%$oigS?&8ko?TkWo&NZf"BBLj1Wi7#PS./b$2-@%7TS*6"oZ\#k&D(fUG?5$cAN](F\=&0T.[C!`53`TAlNX7lm"l*-ITCF@=-QXRKd-%5Ji'UL1&Ant,1)Ku>(YP>;XPeM8nZlokKYq=..-%r-m,AL%Pn?=U'/hG0d)FdFTr9e'6N_G=^`1Z>#+=X`&D.S%ROZ'"5XkqR9(j*#M3VnB0(UR8[`8k]QCn65uXZB'T&W,qt\BhEjZhkE0&ll"1<2UL!j0Bs3s)0(HG4JhCOlQO9MssoLs1-q<]>A8)f(VeEh*l+HSdjtu&)_&4.Mg2=G[:>k8UCJ()W&X!D".4Ig^c`DNS5Dm&Uj*Fs=XuPM6ll4$Q"SZCA";c(%eIEPqG#Zu`,Q0ihcS*!fGR65nNER%Fe&PVG5TO=pYQSZ#I%8WYmWl,GYZg#h-O`+KA/`S"]9:igYo"tHqEO\D%-V.)@T'Q(0r9uVC:tjIOal(R)NCD6")b,X_1[cj>J)IAKlkrE,rC4gp2u=d444K]GEpmR&&m$is\Ot*P,CV;\a_!aPCL=j`DE=0ae2jhs$@+4]bDMNOLg"N8=5a%f+W[(HA'a7639rWrQ'i]:[UidJ2\?s,:`YIjU/(oJpG@[HgFqG?Cs*0S-h/R*Nf#R_Eel$p&XO8H`T/e*OP.er`O^75_V9+)`TOqjD>g$s#S)"=YBT"t%8iM8i#1$NXo0nR>uk:#M42Y]]0/+JjWOJ.lnVZ&ZGik;/La4<`43Y&&+m%(?:m1iGs"rF0gqcr@)Z[.b87k24nVktQNLdYmE%*GcjEtkQ:>K!-YjYu57l2K089pE+=hq[*sVs@iI.Z=f'*n[X9mGEmF&-`P+DLNV_5QfET:&hb%[kFM,?HY`U=-&Xj.\pRmS$B1b.V:`D&eSW=:T(ob.&spL>fs1rNX7Q)dKCHt8T]1b^(gAfKKSrn#lhDc9?EYeUHGjeTo,6C*;V!mLDRfPqN?:abiCq.U534h@:_rROF;YYKndq+:/2kVBnjYb?qCnF.J_sFKBcV!l5k3\pr0E>TN&B7Iut[m3Y$R\)IghPcs+L]G>l+GN[Z,!n;V($Wf8<>[2pModNh-CNc82!*Tcc+/Whqtf./+N+NMJeD0Ff%^58ipS%^0YdU(L1'2#[Pem,`ZAT/Ag")pB>Ti]WZ%f75GJ*Q[62#S!6FDpH%1[_Oiq7eFID<&%af0EFN2Q0E2ZVYq1^F+Yn]CicM[mc*'QQf_9^2>gsYuh'D/=J?lRRP,4NTT\7NO5-eGdca\KR)I,]fEk& +Gau_kCN&"`'$8rk:?Dd3tb-0:oiFI4r")$YQl\E*!PIF'#UO37!MNj2\4TCA%6gpi?%UFo0?QO=5]pE]?hfR@a[unpAc?Q`DViFPt?#U;\jjA[`>t-"=fFW"H$TV%fcYo"$'IWdQ^9qQQ!;=\\a2o^iOX6L46qN;![L^$R/)kTsbiK'/9HoeBHE5F(gbT!"oHQ6fFskQp%`#>bbo\ic[uk6NH4;fP=>D+J5.Z.V0g?.6.lD;!nBn->P!\!MqO$qM,F%d=e:VFt;d/jE4;^@#Z_'n;A.`I;LlQ0X2lp?e8(Eml2a>==5emr2E@],KUCq*;_hjoii'BG((F71V_r2DK$jDC>>KDSA./?4m9\\T*dV.kB!Vk=C<(>8Ukm_?kl-DEGN?(g:!]:,h`rHo'``mT>0IYf;=Gri&MQ9^,Pf@VMA[qt!]3Y(sa+\3e)YL`^_jM#R9.#j!^qOa\Z6b;]O6EkDSV-+jUJWG"_m8L;P#/<>%KYT&a%WVsF^e8"UJPHP<2ZBDWhSi!ECgF)7u9hemtm,oOI\M(%`q!V1G9&NAQdRDGpS6FO)u^+L&j?,#)qSVE7!pb,RE3D"?Lq/`C8&`qlqKsX!(VEFqDhX\hrm$KGr`@)<=(Vp6o[ZGcuPreM?2:Mr[,+3YZ-sG.Z:*XM@k5:!e`iUR$?jg`Ld),6EM+@C6o0WBEp;'T@chg0_6#%'.G\K,J7#!\gAdW\.cerC`A$q.P`6"<&G4e;8lf%(5BB:<]lZ>mMp\&9K#)0%LE.3jaSj54he9"lW>=EQmQD,P!#tAQe!p(6c]$Eke=AjZ+l6rT+OYfV*+bf4Ah2TBcPG#J.^hI<*^lG#fmVT'69.e74%KSoB$CH1J7+D^g8_27F0I\pb)2&u=JaCUb4T"#/Q\-iG+Y$.(e%KjQZRLS1V3$n-*(`C,h#8mMR88G>uM$+F'#D^9Yu$Jg]So?2`E"L1eibBUlfH,eD+/<)&gCPmG-fh8$^td%=im(KPf7+[%%MRj^:>o;:gpa-_;^4eJk1.=("j)59(9F"j#q%kGa.tX,GiM@]2h.)MHt07%`(l&2C2E;.G$(J;B/nWl\86\j=aEZmU3RaFsn&T?][Bk+4N;YOdqtH$4*6[\0!IQkVpU59-UMk4]r+5MU??k,#?q"\iX25guP[8@sPK_doZB\j\:dqG%M:Af8P.7msO()K#o!DVu/gr+<-fs^7Ib]^O@qXdo`.!%VfTm]9Lo`OZYSu'DN@[^VQu=VaTtX6!J5M_@M2[F?1^)u;^SuQ7_se6=)K$=W+<0?#XCNs)EltQ8pml5U-LAn^?Q1%L[+ICKI?WDgr>_\Cc)TIjK5$jdj]-'dh*8A9&(4pW=EKi>6/e=nN\d4S_JA#&(Eo7%?m_q&!V$h.7bD&PD*@AdV`2OERm=JFpK6F15"ef"P5bbkp1($F@uFfPD^SUWh'3@pce<$k>f@&8WY7k1=FH`7+bOZnGK21KMH66FK72\)s%]uOE$>CL+-*m6"TS]G6s3jPf=GKh\1,%uLf<#/j%=[2JrKUWQ5^k2)'eMf.l^Gu89=Z@=c'=i+LK?oIn-1Ts)f&n&rr&ae(,b)ZQXJn'^l1J]5&!O3bTmZL>Y'`4`1YS=uLJ,f4_4Ql6so>Q'%(ol?6F)"BO**=2QZI(8G(jn2_:J1KqfgY"9Z>O8u.cSuIA4igV=pObREqI>:L8Rt[tU>s8>D$dM2\*Zj;SWh(*:4bEYd"F)3*X&=HL%&'k'-5;`g[Era9U4P\u5%2W*7$d=FO-A>u3GKW4R^Z]25rZC*\^\+mND_HPYJ+0;kb_Eal+;u endstream endobj -255 0 obj +253 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 254 0 R -/Annots 256 0 R +/Contents 252 0 R +/Annots 254 0 R +>> +endobj +254 0 obj +[ +255 0 R +] +endobj +255 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 441.905 316.76 474.675 306.76 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 11 0 R +/H /I >> endobj 256 0 obj -[ -257 0 R -259 0 R -] +<< /Length 3376 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatlSCQI8\mJHm?l$Z-TbUS(_Y>+J9,Y5)m2O?=)i)!qpJ]=IQ&_:GPIUm?"k^P6saVO".b\kd:5HID>'LbkE7Et.fM\kiV781A5c/ulICbP^?#Cl^s#lp=3,YPG^c$o3YC%?*1gZ%A!4aj?p8(pM]L*R1;9maS9X=3M'cPDj5jMAm7@UmG_.E\argRW"/<6MH+L_8]U;N:akY6rj$`8']i=0+!d6KC#='YqNY]PKU&fuVkKr#;j.Ok)e/XVo^J^-XSnK>@]"rAdQqB_uY!3PODV%g5sfW$(Z#d:JX7Si.r@P4sN8l$/Zmj%$/KG`:^YY@dolUQm%KNa:"u[j5^>W9%)`+`XQa*JsbSTUFN0:;W83^SNbu]#pmtQb7/X/L@$!_b]foYg*+ss@DD0;>M_>W[mG!+jptLZ4MMQNm7TkE<]"'0k;@EW49#0?XloZVCs`@G['`gShunEY$mNB^i=$U\59&I1_=o1;/E/3,=_'(\%R@!0++$0"-OpM;F$A^Y-j^]0$9D^kh'^*^/EXMXX^K,G[T@*BPXjZE4[RX[=W^bZr_Uk_8N`0UrZgL:B)17*BYaR[LL9t)q6<_/AdnUdKV[LW3!tH`(kX_`h;tc(.U$/.fgljtAiOKiP1Z/nht,=7Tae?HmadhF7[NVXWDE:G,FQa)Ptf5=Yn;A3g6Vk*SX]!-XO[Cu?>(nhT9nccq;09R-dUJ);K]pV_q0[)F$Va]Z,;)trT$XL&-4/CGZ_9&L$j6UHo=Vl/[?I'^$E&tWZ(RM@5I]2DiaNO5%]cQGa12SgKgQ+lVi-;bQCF[3i`7$K5!G`&7Ps/>@-iu>7t`;^U0CE+0WFlToSl&b'<7Ken_(-u\G2OB2\`R(>GOk?@ii=s-d)LTc5l`d]Zp1"$![sFZAUT)eB7]f+HgAB!V1/&*GLT-":?dHEoMG"F$">a:ofFPL9d_j-aRE\d5:[;dHG1O0s3aCagGm!1hTZ$iB6gY>@JN')03e8TAW^/4u6SHS@6o&/^C'u(n]l',O(7Pu;Xlo!]9%20I@+2]jNku>?&8]$#Jj%b`.s"]]>--R]1M1iYQ5,nEO/1f9ic@UK&HoBS(\qS\/%mT'MhEIFrR"S9XVI;=GR(+D=6@@*]_62M&?:N-%k[rN6q9nQtie8D&ptP./1a,GXS=KuaC>$(f^LK0.fYF*fnB!Nc%]l1.FE"X,boqasHpZ@@\lq)23'9W4bat5#E+h_p:TBdc\gZ%P^bh5]Fqa]3Q<;XM,`CAuqT7#lR]`[e=!NJo:.4'jFE1)33tV42#7eZKT6e"E[f+ndh<`Mpf%P*E`A[kMh:TfV8985)a28Y[prd%n/_7M*7Vl0Z$IK3YW_OnK7gMBj,"31Z02.EK>`VL<0I$UXgr8U2aB>?ok:-Rj[[SgI^K0Uh!Kg+c$ABc%-oUZj4#VN"coXZZX),M&e)+5UOZnQKNb_t;WSm`s0dp9Z2AXQa)!Y/N@37158T1IC*fPrpR2^nc)Hh/L4fU6j8I'\b((DOXVW/N3KNP02rJ\VYnoKN$=ec.g2&\Bsab"E?_9KYMWnp9(H%"k&/.I"^(ZA:VX5Y=WJ#XkOphY8rB7i#aEU5=ASb)WZD`?l;(Difkc(4P8ZU:9HkK8C]aYA5qObfNmfJK>a&#O@Xb/5KPHn(b6:0$`sR:j[ASd"iWb;B+NX?TX[qIrVIHMiGA8m61?=ost"&j9E%G[=RDOOVGp/WH?g(8Z]4j7hS4d\??]BL]W[)4tN%$``eePHQ#_,?'O"C%k]:L3NMr??EenYOA<:@$i$Fs&O7t+/lZ0q:;ujdmWI#q[+$sjF93BQT=jD^J+"i#;2%D_&`(S*FJH7[rfFpqt2/WtLV*%ic2u2U7F&qn;M3eV[$9^;0UK"66Qi'N6,]54'u>q;W)YKVpV\q345,p14;.P1LF-8$!"aA0i'0HH#))>J,&Nt`e&-#5I\H*[l:MinaXNC+()^2J,RR:p;>dk?[mIrnR#n.[l5+1qqn=E#)q)@VQoDrHf1n]?Yh@oH1C_8]jCJ%[He,VqY6HnoO%QN.G+~> +endstream endobj 257 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 383.832 714.2 408.28 706.2 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 258 0 R -/H /I +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 256 0 R +/Annots 258 0 R >> endobj +258 0 obj +[ +259 0 R +] +endobj 259 0 obj << /Type /Annot /Subtype /Link -/Rect [ 408.28 714.2 410.944 706.2 ] +/Rect [ 290.28 710.4 313.832 702.4 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 258 0 R +/A 198 0 R /H /I >> endobj 260 0 obj -<< /Length 2716 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 4501 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau/Z?'"$Snbmojhm/$==crQ(g(ZR>K!r1dLYMrVa9;rTU2Ak"d?3M_DN"Mg%RjP@l>,2YKcdB6P4Qqd+o1QbboaY1=!Tc^kblZ"=_mnS$kLnBLN:c*gKK]3`rRj*-PAleeZH4uD]WlRi#T$C=[6$p/Zkm?b=/s2Xl9@9Ju_5eBZ^NVK%Te*W0YL-$MmUZi\NX`k!mp\5n>grglh4]Qe9aOO"*?h@>RmDcGXc*/*]$2`S,)db0L31_IfAIQ;F*?L7I<0quEaMd`"Cl('PMQcoaDPu[_mRt$KdtWO9PmooF=?4Y?knDF@34/&buFIm@!801n@c;i[Sj+Bja$iMP+[N/)UA>-S4cYHCd:Q'R[F')bg[eSGo4EClQOLqMbrHB+(X,K,[NmUY(F%hnNn[WrTb(]Sss:a+gjafkUtB`NTSFOk>CB9Zs^@5bkJ^n05?WK,0A5s:I=d_hcQ-2V"FCMT$,o@>;=7N[Y5Y!Y4#Lu-AVnim"1)V\]>SGW-nZuh@_r#iZ79/"&_SA>uWC1To`u@^g3(TP@!:5pe^)-AOgaq6tq,saBB#>Y'k"qeS@&>9`_mBd"\P*l6'?MfN"g,TRE2]9/r4[tTb:<0=pJ?b@M'@Z/f7ubdR&q^1C^)b+q_^.JB(Nsao2&(I/;f9+fP::uFS]E4Jsai*mWqJ*VbH7QmnWa-1ktZtNZ4d2k+gD>#-HP$,S6QL`cK&]8n6m\8Uoq`SuP=hT^f[V?.qs`TsEh;0M=m!!a%\o9a7c(V6[Z\u`uLE`8G2Fi3!]`(II*RJ?j3[@8MrP8DUdYN5"Us`N$mBFA[pjW7pD*gEFJjKGtnaa:=CM;[``>[qJe>HL;8YYm8Zta1(UGJXL42%CjA5c`KAQp@W70I#=()7_i+0HQn''-V\*)=2W"_7".%VS@%#MT(,Ko[\,3AZq)UWa@-*R#T^=W,((B%<[&`Ah'\4+$2ZUlaTEn^(D&P)+?*q^nEQChmu-0_A2=hAWF=;Nca`=)`qk\@&9FYqC5.9!,cL\@\_5[']Z]A%>i)I@6WX9SBk(/D*bEF/bMJ&'TS)Reli_5\VTVap\O8VG>U=u&I8k&sV9Y2'VpJg3ZmQoLQ1P$RXp5&nDH8'-E8j.R#,bptVm"!2"#\.cE&Z.+n#T%!ZK12/l5O5$D&.'=_?#/4l_1P9Ym_iBj:t@a^/.2/Ib#,(sbeME4ree"<%Z#iRH7JN4^^+VKCP7"L\GInfhZoQP^cYb&6nOu;B_=dm>/s(j=I*:dqBU3/8r8T:4[L83/J847_A;M=EGj!;Ldh!uZcD]VL'X[u!DCgt0bun]U(Q$i"dCuD%I!"kis"g64a_2\431L_,3po#`W&Ae[<:G\-r6%H6ka?S&4#'A0aM*3m7?k.PT8KuRA#6]C($'-Bg7Y;?^a2`pk*7pC+NJFp0:\J*9A%m&A0V'PklbjBc(tO7ufbZYP2LOT0fqp0\oldU3FHe!Y+AZHMr7XGk:?JeacTS/RC?6PN=2$C>.!XJ[-Xas5+o.>/J;%j?;,YYC["Nf@RFT4!"eMf0#/.c7=*GFB"S] +GatU7>Hcek&Ur'0E:_F%=?+m2)53f.3l?/;]o^p9;[44t(e.:h`bQX)bkmm*,0;u/hrD'q-Q*lo_<,mV)]e?EU=$i^a=I3"kOtouPg1+m.Del>)Z?eD(A[;6'X0c"JoL^?gWUC"`Lpf@-F9n+8DQh7CUl.n_CX`ukcM0M+N5DRLNJ]*M)j.QocaB^Q6]e*UpN:hN/]a-0_:FK1&pt%4KFs$Y?t!bjA5D,08nXCR"j(')G_"Js3)^Gp94VG^['SE[;qTTq-FskOT0@)jeB'NQ.O\4b>i\5@6kl[@Gjn/Job0t2l$af&(8:eFkIP7Bs;qNZV!c2ep77jLAdN!&*LDYN5GPn3fYOQ325GD*e4AA5j1Yn]Xu)QKpgtmRjV3I]"'MFpCZ/frj=VMZ$pFT'@9G:c]HmWPs/bjCG_@$&hcf)1]_s3"]NeW^nu3f^:j[(ksAH$c[O=^pB+YQ"XA20bmmm]F$FQm3m4iVdfYo,_32T@^A5bPp?FJr5ilX$)9`2kC9EM"C'D2.nlDT9S,gMAGQ\j23b`i1&%EB!"mP&S7CTdfGJ/Y"+H7mE3d8#j;Qi,WQ:kh$N%/g&h/f/lth@]Y\9>A&3L&Z[bDTr^.bRR&b7fX=GLkuD'Xn<+HlD2Yfa(iH@D2\Udno@IIS(jhV"8$V-ac)@(_3NJ#771/d`%uZ7LcEa46m%Egkm:saD=M3_'h403C%06c6MOQ+rj%^h%CG?+F7e?)Vm)A.=Ap!GW@UoX$K%WR`oP9qe<:3:[[9!hP\04%4TE.*0M%-9-4;.9h*+s?LQLC36D=#ur2.l.ih!sQ/;hc`WU&J86T>dW).7GDeWf$dnFm&&u&1,%I(MEGR:VeHams!g2Qoa7a&I6W'QL:?%pjc,hUBj=k#=@Kc^u38$o?!ZhOO^tO5:IV+DY=U9da)EhIS#Dj4,L!R_dXl_Hhb]tO!on9*d9/-DV(QA>kEBWdWP.d9OjVm3`H4+qa_0PU[Met`#S%bW(O+Z[cAr>ER+,[X93@Qi3Le+WglMpm6L-]&(%Q/_MR[s:,La)\qP;-YFQ5Km2gcPTrj:3`i;`N[;-qkF'I]-B9.H`X=9_e"7^G/fB.+kFiJmkq2m`GN)1bpEYAOSVE8:$V8\EAb![V0Ko]EB3!l"XHfH7$Nid<#nDC$S69'(acr\Kf0(;D6'q,IUX)I0l<*AUsu?O!:1(:`jj'\LEFQ67BqE`)M/uiNZYGfZ$o-#;W$p$Httd$RAE2F]9COrhjtWij_1p=s4uk)Ij^lB=gK6,A@M2AbAJgP_^Of(L+dR0p!r>CFEt:FH)tb52N#8KG3JEIL%8u?!Ld6>oGY_BmnBQY_e&C')E,CRqaa2k(nSW[Yk`5GQ_JWeg#U)/qg5/I3>j<:-@`;(AV@7E"fZsmUE&(OMNf\Z%.q,FR6R-r=0=^oEjB.esk'XnO9O=g5=R+FFJ[WDW,C@e@NA`<09M5kW=nB\/H%S=Fj=!'7t*6Z+ocDW-6Bi"]..n5uej?jcZ#3s%)nYYYk)m487JV1DM;H0EpfV?/VNEV^HEbIY"7t"9:=o[dTm90hN&OWe,#b@BUgUX[cC"&BTL2Y#-1.@cbU/iun9O%,o/LK'j1Il=c>+[E9nkYqU&>&eJqH*X2:-FMRL+D%;iM"MHgd15NbfhkN!O7+'s>L(D:?/W@&Y%@q2CSdYLEV:Pdr$K.[pW?5J7i8eB'X--_i3.%+j#+qe^CTY0T;r]KGmZD[1a&?WDRE$^lfJVe_=H+IS$.fppaBJI"kZCIYbc8T\:H=l.qVnJ`XbYJ3qD%:elXZ^ER=a'q_!uA5I5XhI8(3'JUsP;RFed5nZB3&o>A9>A?CD9JV^T4`]:p>B2,V$!dT-1f^kM8=AZ#'2t2?;CQ'KTB(benpnA)NS6"eZL"*.1c79:9E-f!3X[t"N`?W$Fk+Fm;;RDh$>28l6/6r#;J:::#@u<$WA!`,iRJUNI%@F"EHt+RH.Pta6(OBC6^Xj+V>ub5Q`-FQ]dQS6NZ;&&KM%+e.F"lC%puIjb]5A&nZP@;Mpr=Q(UK"0s!,F_$Wst9iQ/&T2b1(6:asj-rkaRDC($f9,Fp5lIH=p3c_05(El^IMhr@kUU-S[=0>!WWc"YW7V_+Wm*AJ@8O^?a$ZFl\o9/L]mJq).Ho8eAK(s;nE2PD+K+3+k(X]r\b24n_AD/N&&QH95eJITs>nktjh#O=EC+u\YAQo*,V's[#h@-;YWtJbG(iiM"\O[;<8fX"Fb@A(Pe2Wp.F6>66]fD$C9kDngh`Q*KV]allNiA>Xm;#X]W;8st!Id%2/6oG\aoq9BD._#EBK4&W(cM$GB]f$G2mn0joSUK]lhV;l054>%scc)rd=G,=8jfk8Sq_8?L/g;,oZV[X9#I'Z@2#2]omR(.o-D)Z]F3CjuK$NCgV]d/6LL'(-@%>cV"lUYa_edgu"_l%=\)Q?+rQKo#]I^U!CX'eCNuNUK=boiYHBUX0RoPWQi8i>@&g@4c?:QGja6SQEAlJ$Y%+#B*f;>8JnJi6glthq.+)Du"7)/^nd5s6=Z&8WPFLDHWBDmDMAt-s[W]@a[iUZ.%1G$)r#P[aj*j2EI'4E[5n5nuO.7!Y;acS*BTI!Y\]LNHrT?;p9cY4DLTB*ZLBJ,0$-er)&G_Ba,f!S^p%5U2b&5P0ik*(>e$*N>F>U`-]R49":JKoj"EAXOtqB(k+W$Upu9Mch^$nd<6egs08D6T=GZkqgKUb;;n'&C+tq9:>:I-\r's]qc3SoSA3USt[aYh[k(l@k@(T3BOOOgXk(8/5=C^m0?d*28'>t8Ze/f+QSZ.n/3ioa'_^im%n1_BirJ[\Qqr^E9@@mMF=Zq:pb^%Koht8`>)JR3Xja`C5bd[%!6NFKg!\pmjol.;kXh%2N3`rk/?IV@,'u&(SBK;LlDF9q=533/HV6\pkJ\uN*9?nV$`BE3"^";m5n*k!-^[Pk,`0Fk;k*qiKHgITfbT.q/"&i8$I^SGafX_g]U`M(T%Q,JZ>VOY:?!G-u$3Q6#2<:d@r#d3iB6#.N_!KD6i%]lDhkto^*Vb`$U^>=OW.V76WcL8olY"a30_+%OCu#L-#R"cP:@S*;GA[dI==9K1T#sj>5"INK)^GuBs[8t(09Q&l,,.4Oi>d#BK&0<*\3>`G,?NZUDrLVR7k/2tHQV9GY47BpkhZ*6<_iGo.hnO[Z2K.Im+:Yi\_o.2A'b(W`rt-\.'M'_mB_:)Ha=F$bRH]+'4igDGs\,NqB%XNES^~> endstream endobj 261 0 obj @@ -2130,554 +2056,520 @@ endobj 262 0 obj [ 263 0 R -265 0 R -266 0 R +264 0 R ] endobj 263 0 obj << /Type /Annot /Subtype /Link -/Rect [ 152.81 189.292 174.48 179.292 ] +/Rect [ 384.89 372.036 417.1 362.036 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 264 0 R +/A 212 0 R +/H /I +>> +endobj +264 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 198.286 177.536 231.056 167.536 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 11 0 R /H /I >> endobj 265 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 174.48 189.292 177.81 179.292 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 264 0 R -/H /I ->> -endobj -266 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 354.081 125.792 396.081 115.792 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 267 0 R -/H /I ->> -endobj -268 0 obj -<< /Length 3033 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1930 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau/Z?#Sc5nU5n@h_r;24AjU@[OBKm9^f=(t4`?^d-3Kl>N,gJ*(-qJGopo0ADR7j+0W-RA:Bs!4t]?/:3S!'>+0j4:kDm6TsD_h]++4/c&E;NtY:lP?b*Nhr[Bh==UHqL4SV?fa)3"pO"Bcnm[:[/t#e$ett^IfZE<0J(u1USrGa*9OD/BCBu=IV?5q)d9f&Kk9&XEE)M=W@0lGZ$VIeF2(OY'kL_]K1eKNl/72]@&"*tH),>6_(52IJ`;PQfKidg.t$@!=u,YC5%iWU"R*5P`6-[@3b'6*AqrHSF3A.aZ^mgmJbKcHIe$cjRo&#=\Q5ULJCnq^S4.C1f3ZR.[>h,6)SeUUAgJC$DJ,SspN?4FW%;8PZr?-sWuk88q!MUH;1S5;]7P[+f5fa9kQki'hH4=42J^\c<&7dnVLeQ"Oq:3;Oh?#(CU>g$0OS+)$*[-PK\!!'fd2YRU#l2L`=RuiuMc`9L>4RY92Dq9!nQQcdeL8%!??g>utn[0/SQVje19oFcF/1R^hl[R5LopEa%nId87cNr'$QM6V<"21dflUJWh`4*=\L*6oD@&bG/J7)VBG`9S7di?9n+]du1tSp`>?R2lq_V_Jh-`oBmBft?6IB8:;Q4:S,SK12:8g1?Rjq#Ja`H?A?M/]`a;K,B40>O!FX!`\"f*qF_)/P16$^F','LSD'Nc%h-2Nj?mDm%n4'WZK>3tK:L%fY_Bo/CePY*R"b2a@:,#ogn@[@$E%G-ON2oM0&;Vga8C\Ko6,/;_6m"oH*#";CD`+7d%%/Y@0/]JQ.hY+>]8E>EU]GP]`2*\2]FTj$T9\uRf'/^J^U2Y9@M!+%9c-1:&MNlO7Ong/@Rc^=ht(gXB`ja[KChbDbjp]H`kJV[7S3>H"3e'@7.D3`jj4UF$tbjmI&O\sr'p&M&FeCOa+%o#]s_tGd$0]XT(fs>pN/U3p^R%Th*T/+XlCK%Y8;DV/fG0`L;9LS64D5aK9B4`#t`/9hbff\OKOdkccU&0J>r:NOda/2.Ws3$E,%fmW8&:P$!ABC2#F.`g.krF19j7):t8kr74B<%CW$ZcE3t*CV^$!KY_>9l?5>T&GV"SsP'aW'_/dqr&VS;sNjr$&+DH&4B\.<(/6jOG@?UhHFqF)k[!>0D2LJH;qH-s#*MQHo)BEF)gh6PLS>2#TY;!FcHL53$U>T<5gKFufkJGqFLCP]>#qqo0*4^i3lp==^e4+-n`32EX9M3*XbBXBGTNS>1_`Rg_>"mlr9"bdHa$m7!&JGkM;F0FUXGULDL_9[NNFZR6UL5(%)#R[;#a$oHeF!H$)gO:@85cBV(]Z;\cQTkbCq(Y[Hgpom&&+JnKOibHN>OfClteZf:][%d\g8iXU]W/JYed`FJ(@AIOtV#4K.G1ahS62&75=qof^]\lUlX]8MU_`Zd"6MmEeJC.p$,d\W;@j/@3r67@KN=9/7J5abQ&P+YEQBg/2FI_l:Zi7%J5KA2c&8Q8@=j@CN!AUCIR7+e^_X+)CFQjlPiC<7P$"W?R6DZWS-QRh?OFYPY],4JE.b(V:m0>du0eXLKCdG>W[nD[$K>rs7*u;M\`"(N#:Y4l(:;E2JpcSCrRI;F=7X5mVES"-cm"iYbp75ht*T+WigFS*fCJ>$-O-Oo*l)@Kp=Ic`[)ME"Lp@^aob/mSG6Rm,eEH!:8uPk;_[:;9ZTeF*+p_h\6m"&<;#~> +GatlQgMYb(oK?P)oVk,^CQ@/ci_+.Mm!Zb/92C4+1(kT2P-W;^lmF`\ch)\[kQ"N?fN#88`VQ(obgd\+UgT"]:@tVd<&S$>99MlXH,Q+TDJ1X)48\T:sTrr.>dn46(AQ:9HBCB=\l5mFc$'I4FrXOO[eu;?fnYD_8-dA-ltd5KfMd;*N(Ju&(lrql=*M6"iN2Wo=0DKb4)7[i$qQ%j+L"6B*u]1PIhi2_0R8?=HO6B=$UP/5_*JZ;_bRfNEbcA.M%R^^!B:oF"p5hnq(^:*<0^YcB58Dtn=RaK+%ZuGT*pM^4uDB.,n)9$.->UqBK9RY`R\)i%%a+3@:F*FrJ/36=t1V'MDT\+ceL/f(aOO-MY0d\+jGVjS*-?9ZU@moD,EY*ji0?O6YK:%1`_P_Dc'-Y6`i>g@(?Xn\UrFpDBoqgnPk:TE+Ik_gt+=fCgL^>_#/XniO1S/NQ_'ie-)CNY)!g,csV8B84h9kk)ZE\^]-4<$AD=<4X;5f"sikquQ\(=coE,_75e?2u<"&r`iLu=>M=:2GhQ?'A'WioWl+##LJVGQkDV,)tOarttbUC)6Ch'U\CZ5f_D"YgMW7(?-n?]=RGE#kfK,RT5fW0ZA]Za0m0At'Vd<&A9FN_o7Lh5#<\iU8pKC^$Y3%OjQ\UoNY^T?7U6alkEu%D'3kJ2E$L3)JSS*,MigJd@pi7g*R4*79W66D1nU;X`H,VZ1QqLs@R$bY=miR+SkIkF#WmgRGX`LTu@q_.c$8*,PId$`HbT,e9MW*PFAkJ:UnZNQUps>1rl/eF`a+A9OHtqcGk#leZ:AesT-F%no*e9p4E2#J[7^qe@H/ZaR3[2btrj7@XoBHc@qo!]TMK7VH6bEL_\6:K8GmXcK[QN'6M8[eU*""Rag5]QINZBr5<$E0i4"0AHC$s*eEP;%@Z0?9>HAXt=e4!r@*Hq!g:N*_DiDer:XgKWAXOW,LP3`Aikk,,hH6hQHMp!PBaUf%.\d82Eo#1kjC9t@j%nRRaUNEfq2cCi;e:c3&gcbi(gVNt&X4p>"B+s-dd-A]DOBt?m&rklfZ>i[Ic[-V>SB\FNKBf=CHp4+3SMm7'$,r@M_g4YGcl=@CW$VXW9S15*-.op[mWQ`^0Ekq-]G-_k%etGJcoV\s+9J:XoP>?_D]+T/Ce$>VQih!p[*B+:K()W50B:A;(m8iceB?%Rk_'72N:DbM!+Uc#h0[<.UuGai/ip4nn47%tA<7d.k08=FU#V:(&FDOe2"G\]bVJD/_/o[J'gts endstream endobj -269 0 obj +266 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 268 0 R -/Annots 270 0 R +/Contents 265 0 R >> endobj +267 0 obj +<< /Length 1408 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatU4>>O9K'RnB3nCrO1cHcATX%H4)?hQoE%&Sph$19/t+S\G/au%I1;[u4UQcnIS+2R$-gFF4Er8l3H$5LsHAs@(J.#[#C[^/gr'O\YTO=G""@[#JSo:+]%eY/g]>(ZS*3R5Sbb\a6UhqIf7G*l'^dO%KJ(9hqe5mRNRd/-ZQu,4h;re-2A'PJN34tg1A]gt[dL'oSWaua=gE-0mS%N&$0u#iS0k;Cm1!s^Wd3Ji!MO)GAe%\pA5X.Abp]D$FcQ6%@olbdZip23^[m&-OF:qB,.F1d,cq:I+\"A@g(!J!a-56VloDta7OE;qHIABo0dRf2%E,J6Les?@Db,<5_LK;J@hd4Rb$iRnf#;!uPSS1nks-SQKgrg't/NJm6U')\r?;.RaV^D/G;)I9[I^j+)&9Si?7r`cn@7V;kc#SbZ],!rFT]h[Va.$6M6T4RDj8oBu/H@'Lm-.CNW19H.&J)MXe":o'R&"0gt-RW7YISblinL4CQGmBBM`JI4FVG)@S;HX +endstream +endobj +268 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 267 0 R +>> +endobj +269 0 obj +<< /Length 2646 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gau_jCN&5knp>h>YX$S=F]hR;.m5Gf3FmJ`aEI<`rc6XB$sKN<@3ne$,?Z+-s1KY>'Sit6pHsi_+/0Wn*ZWIh^0+b>oJUe8i]=-rL$Lj-:re8SlGOb%Q4Z^J`*!i#k=b)H3FA<,^B]@e,T&K7nBr\u+3Dd.IF_X`5C-a+Q>u+nAjr!VJsS')1K!.s/T4dX>C.sEJo*N&CRtWh-_;D6[UNC-o>[M@pU03+pDC=$m--4_QE`3Q,hVt$HY`.@Lo/.IO#=+UOb.CHA,KW@WEF'Equ$!`p&a;nC44RMD2f]#+hWG"KH#MA&_'JJI&f6)h#b9D=CH,g6^VV$p#!4Kjt'*SE15qnLEkIn&XG[b5ihi3I?YL>`J'q:_gjo-5*PZK(O#8EpjVi._c\ef@/?4>RSjeuaYq@',nc1%b"Ah8OVT6qMD4@8Ycb)a`^bM);+T]G4#OsXgjZ;KSb5X86*aa-C'cbEnVl&G66YAeJIe)QAY9fYT^I"7=%Jf9XZ:/V`gC[TBtU-R=kRCs3%,4chFI"=4i/H_m=F*,&I%aT<"r>u9D?eqZfc"K/jtC;!i6MMO,+Ji%2B?0U!\f/gC&Y`7"Z>p4b4\:guOIoY>9@f6]Vp,d-^/Hi2@"c:V4?lDDYc#U&Od!eE:W?J(g7^a$8=#"jrM.iDRgJ/%_*,l>n'I`qldNGc=D3^taLcA(*C1f@Ml5TT$'QnFQ>W*P?nh^J/P\E6YED8PO&-DOeI+L+7$&TDdX7QUPl/k.e_M#DAk7&V50$VX*br-k$c:PP)NHs;@8T96'bKZ"]oXWkKe:-hAi:;8F(_?^fT-4pXX]ur@+gPj!*Tco=%"Y^&&_jeThn!1F9cj?P8NCbkZg2k/gT`4R,&JYAbK3sj;F,U]-@JsYYn;rkNs?Za@l5-N9AkqIQ!i^&),<-A(>C;=Fn/_-EK()+7*VbfhZ!ho^$c(h[`731uST>RJ@j!0_Lu'6'cSLKMh]2#aq!R9@Xq>+g$%K*3n^`Hc4*rP2Wb*lN:Z>=e^(A8F0T3o:=*C)t02(f(XfIJpPC)kO@PjT(RT^rjUD^6eEb0Nh\%LGn:Wl3mG-IL:n?=R[/L*Otn)(HOmhfS+S)"8PT:pIUVdOo2*_B=VsHqmpXX#T6I$-P)sfTf7llhjlQ-%W>RK6f''5$XZM>q^AX:JV_m_4>mYLP[t_QJ:H98&VHKPb,*sRKH7lo,nDVi2%0=1loBF`krTXED@p!9d\euQ%/Tkeg5j:FCHQ5impgI-ZpPI>_MVYS_$L@7[,]6eO4#o2NEt.C=P1P*!I7\%i&:cqh.a_KfWN^VZHM6S$h6,5.9HNiFp-5ZZgrSq':mYtSZPe7/$6M68iTXu(YMgS6EUX/OY4@dRMeBOlM8A*W^oIHB=jQW# +endstream +endobj 270 0 obj -[ -271 0 R -272 0 R -] +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 269 0 R +/Annots 271 0 R +>> endobj 271 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 442.599 220.65 472.039 210.65 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> +[ +272 0 R +273 0 R +274 0 R +] endobj 272 0 obj << /Type /Annot /Subtype /Link -/Rect [ 472.039 220.65 475.369 210.65 ] +/Rect [ 438.777 719.2 458.777 711.2 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 12 0 R +/A 247 0 R /H /I >> endobj 273 0 obj -<< /Length 3306 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatlSCQI4.np>h>040lZ]o([-c*b>E8:V]J"a#TqF'6!:LYM@CmQ+(blT=7C>a5(:*'*L!hD8*ZBD`5@Jmf,>N:LOaa:MXGf2:d65PIrH=[l9d\5B:3&>C+ZV,GXp/KDgXM)J[sP'1<+Rn5=i<;Di%B'1CWHfMLun]L0kHE_Ct6<2Apg>'")R#07HlT97^/o[r;.KBEI/]U`l%fes.70OSXaV)[T(\eRTaF*rmT].P4JUY0\7pB#gtF5h,rmg$2\@,L[@KJ<3K$'@/N?8CpeWr`pc8`p/Pe*@AH&PK;c4?CTS85U^84;tE:a.CoEQ/RM;WM[E>#^+Ft;\$hmkmX3=+WpUN8)Dgmpe$[pf4aPAg(?ME>3qT%r8kgdf=fjrj'UpJfF"3cD/D+^k;uuo[aqoJG^YpFGJH%S>pj]!f*h.`:]d,b`>R+S#I8JimReaSaL:V.k5n@q$^3aM\rV`J/e8q?P)XBWVYD)U^oIPBjJg_BPe<./G5?/Wpi;5f5qOt#Q(l!@2a+Q&/L9fF8LmN/@RGH!k,nSl4cU6=3-S1ZUN[!Y;]N]!SUNOiqY15$DniIC"S$P7oaW_n0cSC,H8'==]nCUqJfEJIG*^YCO@L[%L*W%PXaTk.m\Wc,^Z2h5IKM"<1&N;=gt4D3_VCEc3`_E@#FtB@FsRA7:QLoZt^8FVDs&;$tW#\-h'"@rt_,]^2#?R[-+YgBRrI0'tmbY@_TARNBYmSW&c!b`Ke""rBW57/\NkN:g88\c>E?PAJXt01Psa8fZ^rB(B96[h*r39mhS:H?)*LJ]b23f]LE^NQ..k_/(oS?ZLL2"+s4Y4>L+m$`e9_&OqsV#8AuYqWaef,[_>(aBNR-lofsqMXhsiFt_DHNG'j*]W2MF68FC%37RUJ(BW+DhE;L1eP0nT##j3dMcHJH\E>;rRR(RA+K5J6CKPcr,cc&)N##6%6$!a^bsI%8VcP;%aT(L?<+";)n]8YTCRT.6[XKC6mdE`Ros7:`h?!6knoq<\B1^.Sq&;!!5u]+cigKG+pN-lHYm1`=.Rt+eX>%JR:*W&D$AMT+SCgr:"@p9V#)FJ8!-/`>(T8l=7-6m6S@1ZeC25V=]B)Fi-/7TGGr%bDBC#K2H<1gs/IHH8l*c]s62UF/^PDCr]PiED)G6I>hW@+a/,/f;B.K\chdSQ+/G!CO;j97,L:Q<"L&QdD',+$p]qWA#JO>p&CS(if:DDV8d64ek]A-N7_m>?AX)m+d,5?N7J+)f*mN0[YUKrbt_d_dif.:o(t6Mr>Y1g5/SX-pOLj$lS9&ilSYInb_6SQn0N3BB7AuhL3#\^/%?*Qmb!@>]![IVCd>J8Z+kh&@_'!'?R0qCr.*O3@3t*_[c&9!WY[LR24&lbCI9u)bQH&d7$)oU;1rHBZQZt0EQ(_i*RTsi=5>>`HNgBXcp_er;U!QRSE2m*K`9?1@H70ieV9EB5UeHt0@Su2D2Ato([F_#E7"ZV,q.mb7Bp89+_anCh,70n-@ps!U3]!-NZ6'%.7N0Oc.'@U^06;3*`1)61?0)i,j;*B7#P4"RX5(RMg`kXtiq^(4=--,5De-S!LmFWbuTT1N<0!O#WYY9&QOd`Q.jWrrm)33]I~> -endstream +<< /Type /Annot +/Subtype /Link +/Rect [ 448.553 475.188 473.543 465.188 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 210 0 R +/H /I +>> endobj 274 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 273 0 R -/Annots 275 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 112.148 464.188 164.368 454.188 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 65 0 R +/H /I >> endobj 275 0 obj -[ -276 0 R -277 0 R -] -endobj -276 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 292.08 695.4 312.968 687.4 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I ->> -endobj -277 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 312.968 695.4 315.632 687.4 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 205 0 R -/H /I ->> -endobj -278 0 obj -<< /Length 4622 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 2606 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -GatU7h2g;K&qA57Z'Ue&W)p5L9:"!nJb3mbH:W#Z]"gINMZ[hF2D;AslGJX/s83^=@X7nhh&+McN55A*Ad;&!irLU8WaBi\!)\SFXqOHZUIe)[unVgehiS&_;Z)OPOQ]o&P?P$lQkLGu;/f0HB"cBTMTFcs/8e7\$EXnj5#O2hIe3'AB8'A/_p'2f?rQ#&Me4MR_H]`4ZF%tn6<@^1a[V73PDZ23t+0`Lfmm$V/Pb`XO"ZGc'DG5imB,J^s^qjd![mP9^lYj_1qBPN%f]H!Dg5P/-`8Pqr;LpCk-Nl'77`6cX":$61L4l&uP7\8]-7Mi=E:5kEE">#9.M@FbHepBkD/SfQnmAfCrk9B114M-$jp9J7.;Y@V8>F;CBi:]X#HJ/lMQ[q=]'10m";/!mF9,[pfZq$Q*!mT;]f1g[V[?C2$V1bf!^J_+5Zkis\NPL9eS!2R1p3IrcrE8f?7g[1'K!b'"O).82..N_sWLN`]hth[%*(;C9D?Bj[H_2sWUPMs'@?p(5$52%?S<4SiBQkAoF`TO"2="C(]fGp2fTdn`DG3qrMmT;IJRrYnhM$?;9_9@*<7gI5A!"IRDq3@L=Zf>hl"i)t#lN!@,Xq7jSSO#YkFb;e*;Mg]Xe7PMl'6JXTIS@Gd028gSL!pL5/BO&g3["r!;.=R=uQQImhW?mM,pipSRkg7,iT688![f^7#[?,s+Qt,`6$L;Z4]'`es&R:Zo#7:=m/.8]&H;g9(j&+i/PZq-\!61FmNGgdO\ZnAWe1FT3HS=c(IK015Oqq/2PXd>>Q)`!;;CJ]*liuSZK[()4s_#E1nG8b,A4SHDBpC>V.M2F_7FQr8a!$-+1A*,H3]N<,JE[cZNJO:60espeVmt37H4]#@j%T'`d5,tu&n2OuY1(_knnH5:V@h84N:\,b[+5[!KSc_jGV$"?[3Ijjg;9!OIZE3+^(n]4Le[&(fAQ/nCXb:Jg3diS"B_2UrC"[ZS;)LGb'*MHV(G7ck=0[U4#9g!+9T!>oE8pYg\t`,R=g$$@O1d'-d4o4u>7kEuY+^/aOH96e%]!tnhQX9Wjr@2!"NcjaG_d!8\.Y@cE?[Kd3h[Ihnb83U)UF'WOl&LB8.9oh(_m6"?kMm,5KF2-V'PPUp@G4C-@)EIss=t0Y'O"Id>-h2CKSE3sd@i)HVfHW%U%S,/h(X8;.^flkS^?nLfFDoG;H0^C)q:3TS\F$%k^^&dI@Z&@`U_0uSW?XV;dmbZCn-XK%/[#'9k*ZBCCQ"d(l6V-B9ZFFNWJOUd_=.,7RE3N3s]!$],[,$43PF"_BL'hJ"\_OI"Mg65;IO@rd4m2*fkk[?/@RlrhNQ)C']q&QadruF`lF"=D838_BVKV'PU2!'fbsksPFYl-X7/U[_p/K#NZf/A:82jEs:Pg=)(6#q"6!8_<1.U.eekmT2dpV1Z%c&,W:h)!8Hco;&:s`A^-PbIerjRdlkG,RZGM5&f]N'?-O)sf7rIcrQHYsmZE**/YO]\812@-Q/-!!B/+&X%!`2"Pg/B4SX'p*+';+,`a*Ym]Z'j%:@E&nEYOEqWsYCNb`:1M^b(DPYMEc.I&1VLTm1/QiQ[/4\0N4l`PBfRt4P(+Im),Z0R6#):&)k^)/0g5V0)C`EO!I<)*)5)UTd#7#i%nPKoP%DY,VNa#)6!2rWEZ%J]'MG7M4>.B(q[MM'R?ligFa!NQY6dd7g112pE%EqrZ3;%0X"74!ILcF[-8ur^15.h4SMZ^a@K=D:A`lb(9O@@MLBN6(@6AZj+012[!Vm%s.sDr\8q7\o?8+($[U56mMS,cg&e7a_M=p#E'Ca/$:rUYeWNSu1,UaYF'-dlJUB:mg#uA?/J,nS1m#s+ju(,,=2fiEh+/-heF257;R*DnDR:TP<(+F5Vc'B/C1/Ir">14++At8aH8.QPlk/#Q0k8"aWfF!fl\Gc'0bb?Z1r)$gK"3BKs]%>/1].LI#g)!Kt(;F[S6ZmYgla9cO.o\-M2VfN=f5;X#*I/3'e6t>@hWbVspG`jYUmJp\inbMiDac_%l8E]g?V%GR?<@E&5tF(_T-`iQfSd(X72Y@:MK<6Njs;r+FXPd.O1.5W^kqS'lk.&=qoAe&;=9o7*0*`$/s1Dh->_S0Fcao\r18G]4X6Jf-NMW5<4NU]r^Ko";SDb5&E4R:lCbm]?o(=77g+,Zf.ot@K$/terk]p):#'I#@`6:,dDESl(1D4r&]M>h3q(_\.Aq_8=6>RQfX5=tBK$Y%?hIX./n";(ki6`&_&nhun0,?P:8/B@1*.+oVM$(s/:H3RjA&M*Hd_fZV:RO%*qGSW)Z!_oM>\Jnp\8K`Z1_kIcglh#r]I'^%`.?846Uf;qk:-!ql&fQ6##&G5?tA28*l!k,JXCM#(I%oK%kQh,g,7qZO5paKct=b@mUUlGken]A0Is9OHAqb#E#'1&icj%`NP8h.br(KIf7Vl=RO2__cO7Ji^1DdWe#^2'@i!/_^*?[s;'7@YB9p42Xd1TW&_c/bN-CC(jQGe_Qi'bO][bPBJF1(5ot'FZ,LaJs5$#E[R\.cMPf/;>;Fo&I/ZJOkQh$P:[b[qq?`095s-V-g5^#&?kc(G-;pZC0,ShUiJMW<0!"Af:DRB"`$'RWA1YW=s%-=ApNWO2BI)^=h?W!A]u5pQi*D5#ki,sP+LcW6Fp7YeOFd.O6DTTq=>I:/(S"9U(6gK%4bq9k3\V2?$k?R]@&u_=i9S",d,\AA,/Bqto-o_Oq7Bb[2)SN/VV(GCj>,,5OGl*Q,EIbN1u`MD4$i8mj?;cJ^!6:TPoSXb=(RF.a64J@OWGT3>mpUj_HD!^XQNhgc5lCK:Q([riD31`7gA#@c"8Y[G*F0H/\2WZPWCm1a1s+$Z6'&?12[g$FSX_E)=i%l`oHl$R-Q$!1)H$:AaTNPUnS^osUhXpO%/jlgi]s_G^k!a4u)=Bh6mN's,)Y9;@,teE@>1[F:D:!@^ZlPSALeH/guJ3*u*2E]8#$K>H/@jPdiF+a=D^\d8H5a.pn&%98Zi$lo]gq/TeK1~> +Gatm=lYkQ:'*%C76JjD5f8?N9gu*^Y8D5&PVO&oS.-b9XeT,LMP,RSQa*7R]%7Nl/lK+fnr5"gFkJ?+rk""j?rPe@eM3Z_E[6J"Xf'NXG*;CaZ9Rmp>SfKhJ[4eW=T='^p40eCRFVQrtm9%\l._i^CBlQ8_9<76g;#f53W`Gbl<<'/*KtJ0bG@gX,V=fVOrti0V=@@,ELV\H#!Zab8*QG@ks0`&Ech2)UdPPfbRV_G+X/VUILcT.(\9U!$**5:*,XH*66!tU"MiL+cnKUins4Sc[U12XlMtT9j:.Sp,E-&#WcPlcOUpC)+X=uKh6D)5Kn`jeT5(D2:lVs7DcS#h4L<((f14b`j,35]0-Zoh'm=kU*l"QPOis5k2)cOqo$m)4b*J1P3$E7nnaSu>2CVti_d/,1Nr'X<\-Rl?%#ZM3JjQk%T-3dD0F5:H)0[pV"fsaU7hbf,3:m3K07?2Il(9^RBJ*8?sRMk6uqKXB"9r1qFZ]3\;.^(H0qm75Q),<0;s8Y5u-DM/.9A-E:E#pE2:0Cl+&/TW;[VB=di6(]2sQfHhl'nBAJ+%T\L9i$_AFc/6n!EqDG7Sk!*fR5DFrgZQcA?s>VbP:le.20;qd2H%j#sI#dhQeY.eIE7.,hu^/i7Xg-2KpJ(^2LV'8fQ#nDi?)4IqFUlN$>&m]l0l?GY+c(YL32oYAU;Ur?o[b/`5,]agi/]Ib6_G2'PJ@$UTH)idU-,tjYt]#HWIVEJa3B#JSa;gPE7Co4Kou4SrhJaL?J+/dX`:R`DRTHP?9K8CU3MS4k<28"$A;,;!+kb%bd`uKr/6XB14.^Zn7dV@4s03`YC3q/rG.]H%BR!`&!?D6o9jB4:eD4C:,7l10:`DoDg*?g2(7kKoE\jm^&-02DdXYoSOe()PK$?E54JRI"`dW?*Ns]Q>f9.\8$:;tPNK%g!^]l<;[_.qQ4N^2TYJOL^@#D&K:L5V.Mqa1dmFTm_=9Eotp9ua7Ykb/r;2qXNcj7/NIYVrn-/gj>8ha"M?HHb'\>W8A5//7\5=dsr19OJVJ]PYlLB^!o$0):EX7jWP>>]m*:hK%!&8W"3L5^/U>elb.;`VS7Qf7$/03G%iqMOJdH];^)(/b;kp1OKeTBIZXNo7N(VH]X[U8^G(Y-L0_K',YJX1_"_k(k3Y#mhL;/)mYlc(d8"69p[B1iGZ["u3H`6fNdFu^S3WXE3ACdb>=`Tje"?+!fYc[hP5,:u?k6QCEP;O@,t9G;pe]=c+X*2u?t]!=8NQ.F#*[IUkZWogcJ/MuMC,E79dNTZ?Pb=[thGl-8s80YPoHh5V;;[fej4&FCYkR/F#G/PaoZKVB8YoP-$f&lim3LjbU^K]D0'#UdnR6.Pb(,8Y&cEgnEGm$r#=cCK[/961F%F8=,mX+pBLjao_aD<3P7=m9UQp\al`h!Pl+sh<"h4;IN"LH+`$K_WeqY!SJeTOAhfQ70?Y5oh7/Fn8?(=q;m59">&DO]O&<4mT\cK9OfRcart[*p^_8A+38=QnoO)oOaG:[g[R$[9D5Ig>W4>A,Ln@`O8*mI"0O]*T(&:[[ endstream endobj -279 0 obj +276 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 278 0 R -/Annots 280 0 R +/Contents 275 0 R >> endobj -280 0 obj +277 0 obj +<< /Length 3093 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gb!#^h/D)Y&V'O^Z09*U`bcPihf=&K`.`W+id>J#m6d"!(gJZEX%"TgqQS9tqS1oa6\uncQ/+>/7=^a],%lYJRGSEe?`hW1hB\#4"H1gubZR&ud=h]&k^kiZnJ2`0L_IVF_rB-jdr$fl+*lS+ou4ckcJnb_o&mIJ2E@,BpD8`HU!jNfhK4%tr8D,Tb@:-W>INRSa@T4:S4VWdY93T:r(uLAQVI0LDQ1L0pKQ3(V6Bn*[^!L*l\fJ"@06K+*ieP&n&kKuZZL,".([+@6kRStP\&d&X/#N(,^6(Wemln:QWb_>&)jYqZ.Z]$g\=qsH%i&`l1I>/BIokJql02mkp3.S.?A&KmoU9o*Ch](l.m;o[LXQD1SX/in"92+OZ([(79Jh\B+_E,%Ea&QRi=tO;+Ru,_eQg.TT\chu!25j-kJ^1(:ZYPbs-6>3/nU[69mJ?<*>QfiAd<5%uMYI'eqa`/"#eL(eG.0P\eZ+\E#Z$&#jNU^#q,X1:gR)Z4QYZmS46nh?q$]1k9HeDh5[.a?]n?*rW*J*U7_.I%DYsHS$&fnGg2mO?(]HS`J;YIj3qTI!(G\,[Yh6>J8:+Mcr99+,=_aLg<=Vu\M>io]suC2OYd?:4#M`ub615UJcSL[Cq'$,e&[+PA2i42#1D\]P%@uUmCh#Fbcc;;lDqPc5c).@E\\10VYH/[`2>c%k:YRF8N_&_U""SdSJqO[Y;3HJkT\9:!M`Bc4:I*Wii?1Om8rtZoqaCALNeL0mi1:lPq/ZY([QnM4UGMsg2":CN@"*ujc/8n.=K+?9G-M^K(>E^9^S&m4*ZVn6nJb=GF`j9C47Hl@C$'@D584T\@.C0.nm%",]ADFK)[It-_`\+Y7W_.+h?BjWhna'(q"nmIC>W!mBFNl>mAo77_9g2%(`n6N;0D0S1e0Oa)+uGpO`@nA0pjBWQDqAj:\`GenE<\dH/>H;Cdj2T;j]pGeeQNS-^45A9tCrjhO*'&)5E'/c.@4C_C1^<)3_&YREf^?9iL*=RC0d=kLL,5LL]PJ%p^E$5hik`k,/&KP>M)Jp*bn_.N[-dJ''Z,^'7-JNhokg&^),fQn.tbdhDRQ-*(ULH)!p-L.BQ432(*g%U*]j_J,k'HZ1%'aWRU6HV:F(a]`Q:5K$=,!Uf9K)ufKs\#RslEMPOB9YUT;-_NEpHYp?qAb'h>><0>k9O98`kUU/=;r(!dPD&',`PbCkN]4$Ol%JM.aC8li5)6_fbiOXS3::9['.;Up"C)FVgQIlk0ZRp_b`HB8N0K`&>IMY].I6T;eS9N;<1F!ZL\Vg+-N+^)b&7>V6k2TsM&jWV78:s"7U&&qQrXlaN?6[g7a`d['?`U!QGe3$Q*?[B]OARdD:fLAl/Y>AXG%ng.$b"-h`!>E%3aNJ'A)jnA:D[jk.X(6Qhi9@QX>Hei5S[,QcNaml`-tLV8agQ4

-Z9F6f=iNqb/7TooRAO0Lb)H`AsYf^lZ\e]o!/WAl&/8/=d76k(N$?KlM32\^g]eV^O*0'?s'SC$lGSeZfnP9d_Or!al+A5gfMM:.jc6/G@r=Y]$`7-iCNBB"3Y*VpZo6TF>kFn(Q+c(6?/%:U"ag<5Z?8G#/VQdpL7.*5`f.S+!;5-\k@/gP"HNPn<`:ij'F'K.aFDjeKTMW^1So=Oap[.VhJq4a;NbNt-in(q14aIBW>.__I#I\ZuNBO\*,3>9j?G;r\5OdLXsN%"55ck%OCiC08Z4V/Y>`^26FW3tb:LF^8cBc'a\dO`cW,sF2^Dp*K9g"^Xn#dA78`C(3cX?VC`7lMD0UR-&I*!dD^a8$?:;\kmJE1K38nJE#Z!eh;6O?O[.Yt"k:;'-p(RA/\"DS[Of@l!t2G4jn'ZL$koLV&fqNR%.hHM-\Z+$]\mn_NU"qk&@7++ANcp$pkY^IqSYX0XJXh[8@%T;`m*>TVG-t3qkQhk8F^Nk_#"m6\kVo6"~> +endstream +endobj +278 0 obj +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 277 0 R +/Annots 279 0 R +>> +endobj +279 0 obj [ -281 0 R +280 0 R 282 0 R -283 0 R -284 0 R ] endobj -281 0 obj +280 0 obj << /Type /Annot /Subtype /Link -/Rect [ 320.46 359.752 349.34 349.752 ] +/Rect [ 503.888 247.234 534.988 237.234 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 219 0 R +/A 281 0 R /H /I >> endobj 282 0 obj << /Type /Annot /Subtype /Link -/Rect [ 349.34 359.752 352.67 349.752 ] +/Rect [ 72.0 236.234 105.32 226.234 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 219 0 R -/H /I ->> -endobj -283 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 198.286 165.252 227.726 155.252 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R +/A 283 0 R /H /I >> endobj 284 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 227.726 165.252 231.056 155.252 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 12 0 R -/H /I ->> +<< /Length 2168 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +GatU5hf%7-&:Vr4+nT2Yd$,,lL_A0Z5VjZkLSaB9^C9]F-o.>!ZR&D1P6FDTpQ6Y2;A<]Q/b0I:^:WiYhs#A5T?iNm0;F&L0UOGQ_Vjhf#,1gE6&``gS,aD4@($REH4JnRn96S`X]7oV_G449@fdiJQ14.3*sXGr'T2kPr.,YYD:SmR$aXS?oD-tcg8&jS-C8==?5@.dg_T9PI:C<#Ls8)4195P4/[DZqdbM-.QYY4IQh?)Gq(g:?IU4SKC7RD'Pa-r0\GcOM^l-mn^MU&PN'df4J5@-#&>5]U_=HfNU[sm"#DE;7$m=,YYRnb"-Q!F%GDKc;XTeH._^#76TT"D'R=l.XpR"p3&5p:`PGaae!(/,R8/hT792snuC=7jKEPc.+TFW_bqjlr$+bL9qKk/n+-3tWJN'hn.1(Fs&q*"b]Z1?3W!J7Om4Wa+C=XPV\?e06Z#+JXhFOCdFAbu'&"uqDm5p6cO>=WF+%:61%BMR[7b/P_cn^%CE]B&]3LiRj*'3;TjOG5n(+2,L/.)l`d1Hip"6:"'Q/"3O&HU!>*)6TO%]>FHLGj7cXnc99Vr9Lie*reo(Oh=\cJTt'Q9k)gSHL:8;S3VpRAU%f1E%m4;"QBNZ#h(\"G%L?m&=Ccc"]rA5Yo`Nu]/JKoW\f-NO*Pg8p=6Q.QjanWf"joL\Og7k-9-qbF:c&INMr25WdMl(]J_iUla-:TY>XsH/(^7*D_+9C^p#T["^gDGK3^)]5C/?eeK&SPqXW+cM1o.bH?tjQRG*R&UePD^nX)LCVi`c9)p3X)87KHf7SFjlZB0kIM_UMgd'W'+oT!SOkCoAcbYD1k39Y9dW_(@a'"LnNr5@8pp=GA\j+Obj-=,Hb9:baEYA\^JCmGQ5lC*XZa&Wn._tO`G\C=s4[!1fRYNI1erlB:))ul>LTBH$8>k_,,pj,U&mkl5(tKVZpF^\6CSqn4mPZRi:!W*!$Cd=2V(Uei:ZUq=Q->Lr=a*F/+dE7hd3ToIHESBgeAF%"Q_2ZKVTaZr&%8-9M^lZb4q,RqH?N)0$ZQnqMhop^^rMY["-LN7YIX@dXkl#pRir_sl^KSI"?nc6SdV0I=I%WW4d^kWh)Op(@/8DbY"+l1r$Y@6p("-Q0dJD0IpA<21c>P;lWSZhadgo`1EDlp5(`STCZ@o0Y2Y/Fa)JKeV0.^,c<8gGm(8>3Ll[TDSDfiOH_h;pIXp@8\,5[!0_A9Ce($t,lpWbhaDaa'4MB']-U6%'^1.]\ZQ=#"q&(s2IgZ4Mgp`s4.W]R2G8Vt,C_!p7n"*tLM30Hq&6O7XNn)`H>IDGF?-;/RQr^m,SoR[%QHgp,_4>fTZ;pj_^*WKQd#M7"P'iER+f(#nfZ`T+9TF(o9D&:`"s5N3:bkWN;HU["cO*/D9WjY%hMA4Jd)G;5.3)dunVGKea%e4b>OL^3;;i";dE4diV`8D6HYkR:"?NM6oqi)k_YAVPX)R5Y7M#<60O642`Qo=sA_hV#DZi&q($a[@SR(`+kSdr!NM6@Q=:)Vb~> +endstream endobj 285 0 obj -<< /Length 1855 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gatm=n(mgC^;9Zp>)AEYg>D8aiWBo4QG$XlLOA.(Q1\%Lbn/.L0)so?Zhh6HG-M9gcb<\M3VQeY[&dZ3\[$hNa'<=DJ!iZGqsSc,Kkdg2[7Jo#]BqT)4AuX:KHcm:[FQ@%g)^m(?(1i_9*hJ,BT-').h/)c-+S:#fkIc.oh/b;IolI-afqnM\rI1#*Xf,c'XJ[K`7j>3"Em?m)\>0;O?Te\lI?6HGu"@&#r&>*!mU%&.#S&@4dtI*4e"1D0@aOYsbL%&K'JliJ&tL,Dg?&f`%e"X6-C79[I_+,[Jn4;sE;&^_*$:GI*j+G`l"^'&B\U63lifjZTUZ.`$H=1OOq;8H7fI`eVG_grHBnNN5l_*VFoHKDE5?tV%J:nA`k4B*EIHop2j>#`,7Z!&LeP01Y5\r.g+/*&sI%^r-^9_A]cY:)g;FSPqKpZ7(Tuob)cI118)AUFQP$"5[E8\UF]?>(P`\CBX&r]lR0e5_+`M7oF&Mpu0hiAA6Le@_*D;Fp:h'b]Q3R:gT>HR'2*+J&n"I5n^eKu:a%j(rkl\OMdc)!.p-"<%]>Y-bLLaQr%%GFFHi(0tDgMl5d?iE]9GNIegX5d3,incV2e/2!U'so2ZDB@9D0)^abon@lkFhE'"f]*G(k+Auob','$kO^Xm.\JC)5$L7s:"f_\)K>)mi\b!9AFeYohb3WPf2Xp:t_RCA0+#ELog@qZ`p'7:,ndj#O-cADX8pn9`N:Gsit;;bX.HPRiWM3^FD9HcDA1)VR57"QV!SQQo^,G'ZeUHDc2E!Z`GD)Q6dBElIh!./Erl9*,-M*_E$F#VGsaO[U08E!2"FN@otde;PE!oO_WV9kNhN`cZCUZ;CbM8da]SE1+9J,>LkU![DaO0=(rF'Vg;]Kk+u$gPI7oM^&??r%#$H3&p?^c8$mf86r0(q5OJqNqbA=gBr!*a5LM`ZkR21HphL>$)IhrJY;J^W7/:*H8D<5=3E%o/SZa2`qaPURIu3kLKY];N*ifMDb*?lY&7t@'Ehn`a1@n4e=!=udM7TRA,OOeejRM?3[u!kC:(X,53#`QQYpM&k+<[ZA"e -endstream +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 284 0 R +>> endobj 286 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 285 0 R ->> +<< /Length 2335 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gau/ZCN%udo"0C*&>8D/EEQ-Op"2HYjH-_t/kqfd:_^Bm5teRdBJ3p!c\F?6s>RGUQ<<@X9q5kq>SrJgX/fs8;]p1bF4KMhd6fQ:S86502MTgA;U6K?$1MWmfJ>_nj_dY%af/X(]SJT7)+C8C>YQKRt3)0?oZ/HTV&fUiITB+%?\nS.Vm3RfDR'.Lk/8eOU[;M[a_@5/^!W9(UT6!!:.O?bAhM+n4!^f?7a2qdugk`J3Deg<%/sc2Rokt+0O@1@)d3#<'OIDM[1L/q,GR8dZ0L6D:`*9=t+G:?CP%>8md)=f_5l<`XRM[]=%8H!e^(M)-)U]=.2VfsC:?JJsN<^k;YMj+1"G*2ZXY0@a4P9ean)B\d+NqOqof6ulrO_D"]I\MEG@r0S'LAH1Xfj8gJnP11o8q.m[YU^:pY[l]OgfRRNkY##ToqOo=Ub;0G$J0`05EGc'C!DQj9#H^R>GYG2_m$S"jL9Y@^/.YABOJMTkaUZ'*i_1;._kaBNKQ/Xu!F+'"*@RE/QQa)CV4dR``OCKm9"ghuN]eF&5qo`D2YRac;^3LpZO^8=iX,R?l.)IlCXQ"rYm3\O,XTEO7tS;eY$n*K)-ecJ@h5$$%g)7TV39`O>:5:81%F!s[t8/>D6ndc?OAMYpfEp1!ef]1sk"%Mm8]@Y#&8R3JN@-t[QMnkpT1]"IF\1aa(A67J^,2l?J>h,<*>.A3dH[mU#onW2GJ/#6tDWsP-4Z$#;`W&i*>oV2QgJO[:9_.\=#(lGBZPsX,<%)_GH'5EK,j^&?9*XU0sLG5P9\tJ2n\.N4QVfR#=`gYVcLcmCebc@59q-Y!I\RTVL=akOg,]kZT:TSGAmM)SMSS21aj^cR.U'Tk,^2JAH";P0j#HEdGh0iD)MO/JBeeQ'lRf\`9e2-EfZ2i*:$g>$of6sW6kVdoUgkNI"T^5Fl".)]g3I,0j8$r"=Rj,bOm]e(jX;\*;-u@Beiq_5/Cu'mNDl+Nr0][0Z7oc_H$Nre',?,tI_W7aeFsf6WlE&KNSWS4MIVW-I/Y_+D8m/BhoiDpikYhKsW33!doOYKW"DuCT2qOYL[7pCiDV@C@TtMc3$[$6Yp/F9@:-V!6'4%cDNOrM`d.&UX8QM\hFWaBG7ThF#X!APm/j>fV-]X[f$V+/Lcse/kg>]Wus5kS(QHuZi8r0,3Q)07$HhrFXgn>@'hl&V9hqpNR_e*BZm5M`@G573^cRf-6riY8X.uQD3G+#kb9/5E]G:<)mBEiG7(o`Pm^oYL=jF.f(2l6b^CLj3m&#YWJC9Ao=;GUKO:9ak;/k/>e/W*a?V]9Qd6%jkR\dV8%enAoe2:S3Oj'Q:A&i#=ZGA*3+q&ji^//geDoFFjejUJNREk'@[+Q2gXj/_VC.RtYNE.`grI/g@&Zf(1!l_"J/HHjfT-nUU.UGiZNpF1E0&_22ESnID$Hf@Xk4[t&&Pm[&M1V"/8`\8`U#29nO,,EQ6aL-#0StVC590Y[rViGJN?aVYmu@9Ud!FN6f9E;e?0D!'TkdQ9X@19h!]WN9UtL.ib*MnIGOI_3/81Kd#2[)J]_M$q]5QTAGl.3Z&)Z(Os*XG/rJUEb(pU8&(Vb*B&F+RLW*f>RC$%aKW.]5=n^GJ#NU>bDH[T?el2R(-7@)@$!;-"`fD~> +endstream endobj 287 0 obj -<< /Length 1592 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4>Ap;q'RnB3i,,gSM:YgfVcBRjC/e4#C8IK1W`g"SPIaoHk:i/0\@C`@.88j!iZ,q+:&5T%Okd/$[/H+O5'N=OF)7t+5DP]C4fQ\ifb?=?g>/&[p(0YXp8NAb;-6lo"4Y4T>BsI9*C:Jf2+.4$IhN>Y93?*JHZ=&8\)`!",o_*n/j/$KJ3fY#U'[q?def7C@ZH1.Sau`>YU_OjeXjt\a&fdAF_!G*S5#.2PWOcQ)d4uBq2%"N:_mQ'YZbk7V$dNN/#FEPc?XAq]X)35+S^SHlO?5Y6:tB3=>U2n%=PldK/_\5KO+Kbh?'VLS$'2bDYb!kq;)YqP"BdLmq;*)W&!TH*n-r*sG0Glt?rn&-tm_icAo&?DCK65+GX$J`:ofX#Is/J>)0HCp)9)PDmNc&c`6H_SnmBdd$&j!f5O%kt`VU)1]k`*ag#)jLSs7PL!,5kl))$2Lrfq=9_H09l[&E,Vfl180!(Rg>6@&s*T2,slU"b4[%R^.^2]8m1WM3Y,<@uF7Qc\]#$I2j!l&7FJ:D,tU!;66ZY2L/B7EDolfZ)Z7\0+=KHZKPt?:d)P(Ei__;bpBJV=*oae\mqg-pW4/NV@[+$UZl#p=f:P!d8R':o;%r&BWCl:!T%]k$$F(l\&U&DLkT>C0Q>YtZBU"6,2YOf@WK[CWP%#1_9BtppAJoUN>!2X.Ijld,(gkC36R.qs7PbE.O*,'CT)3Da(Q^uAS\epQ;2,s!K5;3(\\,gX!CJ$!Z^b7G,:o#F+de,=0EnpRV[YL+$%s=61q+/OhmhAdq:i6XZ&u1bV2@>'KF/'D?V-eE'Q,_KUDQfp;!h?.#J!6aTQYA)Aro2oHI"F`E-/&PRaSI#l67!*+"]h*9e7,B7WF;'4WHolpJ[h+M:C'9A?%RSdsI@L.XgO/L;U:Ot3RdrD/qGuhS7O#VNIhV*L!02mPFmMU=+X$Pbl[B6,O8oF2C=KM]!9<>1r)hn]e8`D,@FH5NlY-rRX;a:`e(q9Z3Y".U+nMF']VoM-WmS#RQf+G^P"Wp!0ah&L0R(d;*`"_c<3IS1-d)P7@ea%7hGurbT1lYToPU0#3,J9@pb_'';k@7DANe:!XQ&S_Su]ZK\#Q.l%G9UsDqMs3V_;>\Hf>ufUEO7WH'lESogq6rYGM]tgK]&m2Q[c$LC;&;eb[FebYm\Hpr'#u;#a%s?+t)!]+URI'eHl6[4S#@8Y>*V,RT`TSibJZ+!l!Bkp?A4HL0]D3OfEQ\+~> -endstream +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 286 0 R +>> endobj 288 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 287 0 R ->> -endobj -289 0 obj -<< /Length 2762 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1802 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau_jCQI4.np>h>^DtOW\u\Fc/8Yn$P!];H8?^"7^X\$(bOh6Z/F"M6>PH`n-rT&$/).V/7C,8')0-c)CI_PTI,VO5_gf(7:i2Lom2(aE0W^Tpg*/(=1Tg-Y9c0NOSTc3#an.\qMQBA5jS(qB$-eKm'PLg;\N6"XW"Fl&O]"\L,:uLt%cor^4KBBd+!%BQh6/1X*mh_MK6&uI40+aqg&1fPQ)LONC)iBQegie[3N*`NLF/%c0*eZCVoh:Wi]r-GX[&[^(?(-.G+Vp=/3AKc!mc\+C4\3(F2VN6^Mj'%cprd%]>`9G1'&]jNQ,_.MJA>/thUJ$eRdp(3cO;`?\4mbh=o'hPIL,i>YJ0Q>c8'ShRa)TjCqr)bmY&j;"2h5LDFW%T?/IiDCLS"%1D'G?6Xm=3KR^A&\`sCBsG,q:'QL`8U]j?5AoY,?BH'>1bj9_\m[&^u,^[Hq7S1!!\u[ip6#T'3E(+KM=h:p.9,9d;R8=7j67FBlgul?0BQRaoSr_]irV'&]"F!0"ms]mXP?_p1a@Mq-O&YifGE'rQFc(0+;lHg@o--6S"sJIBngYQ/h-YA<[3OodR8,S#;@23+b@6afJ="ls8*N:OVdfi&InYm*J:*Eg+u=*(LCK3nSM^l-Rj$qW="aL]]jc"r4=GR@agm0-!lu?QcNBFT50m+)^AS2Z*nO@A+[J'tt^,BqS%?9j%QV:`,XGo5V>8Z*&l^CLt3hnT'Ya/@Gl6@ACul08.r=.>7HS#<_[]O,IFKjt>8f+3*(2,%JB1#)SmQSEja3/d@!D;]k7ZYPP[2Slb?r]IfG.1$mj9C)_B7[L)_rNYfK=dg5!nbq;gc"i(PlV>5]?j"7BV\+Pr/nN3L(3B?_B$pPZMh)S.\Hu\^s?\fl(?1%2j&-16'DP\'$;3RU2,mDf(0hLRO->N`4kBTEm/S(IuS((mSs'38kGKJZHZ\2C6$0c+RJFcKE:]aq.)H@arL0D(#:^75aB/MI2Y<)g93mM1KqWpmd^DhlF:?!TJ8S*(RjWR#m4"`[!f*Q]>F:7biY*W&o]1duSl@0]!>ZhIA>o?Rp;hB5Nr)Ep;iB>-Vfkei\!jpp2?L`??/A_Vl"n":-q8uQd^Q"sGbR0H)q^.R83D:,N+O+gIM'/lUo9]D<9@B"?@Wo#uKh1G&:Y-e71)jZRsYaj;,??\-CO"O!BL-tX+Y^2Co/:QDtr)'LjFt:W8?+VjM_W5bDA1[\eDtnRoQsKZ>p#^Hi +Gau0DD/\2f%/ui*iD3[0VM\\2^KcWsaj>2OQ?Gq"A_7HCEi2RCqWt9M9,7s5n"X^BP'umIBeT\2R1_qOUe$WtH#dlpNdCmRlm8\7m+iWm&&TLZ64.3GVMKn3ZM+8Wr)h_r+*k%==3QHmXYdtj=Dort>9iT#?Pqcdbq_Xt7Ie?kdP'%7RT?a>mnYV4)1]\4N4?a$0gu6/+:M,kitg,g'3,5%"5L!8AE#n@SH-?\?lq*V#U72seh3G[,ulO3H*nEGgGB-\c.JNR=,UjM+%B^D0K_ghFr'qpal18g$:r@F.FUB2DWXFPA)t\CjfBO^E[b)%WqEl5[^rJ7h3'0P@F47bE\^PDOD0.kb#IGEjVC33@WA=$?'-aV6,a$.?FAAMjie7u7h^t<6^SIP/>ZL<#DchEiRsc#%O)E*S,)NaZ.@rJZO,MF@6/GWM3IZ9'X=WNF($8>0MV?3/uFYK!YYs(+2lL@7/(,1`e":j_`('7>[Epg-tM9M/h`5p`'UcqSaoOU9f9JGE+PB1:5cbG*H=dW<[fucEQT^XU.^nh.V]Y&k)VpT6KC%%Q4Fb+FTNMm86>&m;Ff6fr2QtRBF-,!UnIV7r>;;[`Oc\b\!H"$qYS*W@SPqs*+_,2j$r/Dls5jAVc8BG^6eQPXI:DJ`VnLelF(`r=Fbe`CsO%mBo,TDB]s0b3#t<=&&!*)OS%19n0+m(KHJL*GugHsMWB8sPTDEbi#]5"?RmGQeREe+UX#M\UR?epOY(ceF*gY.T8@;,DN&WF6^d-G60"RV,9(7)PKQdc*F_.prunFK;-q,:kWk`;jlaY"&N8]4Ea/j)C0EdTcAoc3-8\*n0O[BI0!pYpOgS]*iO6akD0W[-38c6_rU?K2%O:Z[GZGB78!c,AQh;'AIXI(s?[#gP_RHl?$Vn/?_#46^oS8sL"Q9<+^.sT,<4AdC3Se89e^qdrBW1C&qiNMmO-^?u6-nDKlFsqR8/7KV8jo!TD2AYa"hH>%#$hZ%@Ts89Y_\s?/4=gQjtYV<2]n*8!mg:+$K=N6DTF$Pt>mj!_Yt-5C6/%(8mD,XQ9BD1"<,3D^O;sP;6<9UX(Mp?Q;l[3b\aBR(^MsE0m._o<^o0lhkJZ:,m.=9hS4/lSuXd;nqY"3d;N>1[*_<@Z&hu9]$9$h8kRR3WXl\?LrMoY>Eh_9qdb9RI/T'`/SbERbB$3J:rp>sO8=(NjJTK,$-kb`qOADna&fGQEUbqIqt9O/qoc=(M[poeRu(K9S6qjnrn_Mh2ECQd]]:tW)RNdJ"J6N9Tp4F!i4"@1Udr?WJN;#;Y'Xkn"T8QcrFb^~> endstream endobj -290 0 obj +289 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 289 0 R -/Annots 291 0 R +/Contents 288 0 R >> endobj +290 0 obj +<< /Length 3088 /Filter [ /ASCII85Decode /FlateDecode ] + >> +stream +Gat%%>BAQ1&UsJXcs,is'#XUcI?J_`7laH5>#*dFSEW9aA?i!;'dW/p1]?cJ&g4HPBfR3IBKlKT`U74*!PGp(H%-]k,/YAUD,/=&_hg6+iFe-$dl!Xm?o`rZ5iZbSrH)uE3K%TKr/3bd]Y$JbBB2>Rq0>iCI>cpRh4OZ5D"M4ZpT^pFFH""oKJ$$CMW\WIM/Si;3BB%p@mUQ>nfo"83b$0[AWQSPcH($7&6R`]%W%5T0/*ITf/%4FPhSK+/&.nu.;>N,B>u#TD'%=gUs8E<0J3?[G=/+'t8nkI-QWl:]PL;!Z,29'rUak&XPUXe2gE1*(3QWWFMXO]!F;?/R;i*RKDpo[,l#*-@*JCDi*#gp8it'X9oW6Y2,huqBb"]?]9mPFefnT!e/dX2[r*@_Gg4/'sb6\S1eCCY]3]\k[3[?Ch]7$,FIO'TT',mJ0l$C+JQEqZGUF+q.V=&5ZF@-ijPiRrB8gLtD5@)ML$RI.,Lj?RuI[+:SZrRp56q6;ZdTu'P/ih%3F>E'"fTY-SjFj[Q)K'Dqa@n%G4Ac1Hh5#ptj[_dm=pcuWd)^6#8gSV*;rA^qqrMRlKW7T7#@rMaqa>[$FGh(Sao?51V$J\J+&LQP.8.eqnGP_>7ogSUnY!'Z)hn=W_oKj9$/i=r@7=$-N_Vg$%B"JD3S!ZgcsW;,FE#Q?+l.]G!i9cmsUqW^ASFt?^RnPQ]c`fE-,c=ldqk1oJnm5\j]2Yo5cYpUj;/2):[Y/F`k5ulRa;:q-]3.XDEMKN,"o(C.8>=JT_VD`$bj`-jd,YQ=5Ref#r\#_%kYYF.0[^R]-P;:rkKk=l):5G(tcT3-U:gY>>XNH_(*R_VI:W(#T;*A&\g(^bFKVS/RNgCrDQl?Bq`DQubRnlY$EOn]RYsaGcN)nBigJuM`>D[@L1J'Np1p4+sC$sb(JZlF'9)=J8-^N4dPhFWT4J@.$AV6SY:pmf@X:VCa3\,,.Q0bD/lm96=,m!dlPMJu54k]6GUbY&`@?98L9m7X*D%0r$<"G`/WT+,9j=27h\eC.M#2nBY+."dG#TFleK'Zg:P5"k.F,KPiG_m^lHnhJRS,\b*crbf3h3iO,:g^X)b/M_W;+]tfu4tFaFfVUM49\6NrhJWP>$%*GcffTVh-MWN!3Y]>$S9M;HK]b1@9OHHZ?SX7Z9.A1cTOlKBo&JtQ_[3Fa;eL?@(AkT7Z/^,`$7%M$/Aon;+F#t5L"t4[Er:fS9u=lo:-M_A4LiMDOej#IBB:nh>f;WUD#CD?F3H$<-@qb(k$Y?#>4[/knbMarZ-@.j7c:iRW5\&urF.s+4Q4dK%L[G\E"6^:^H\:HT8cjo,2Y)W0'r]kBtV\n`Z>Ts]=7/m8ZMs?-")J4Jp)8`P5M!t&+m8#\1:9m#$rfM&=a;<>lAufZIdT>)N71*,k8Z:@:loVS+=+`0X"hA/BdO*F_GRg?TZGT*8d4;W##Tk)[s01\]fg^5ubnYFaV(CpV[SY+*0,B8*+N>!kr3uNoW^rSEUm)):p!Z/SROcr:"%9]7`DWu!>gDAZHlX@X4&NI9"3#6ir8k)&+d,)b":Z]\#&2^bJ4R]+8.Q5N<#/NgNk.]PlA2=:.XnA7nAAij<%r@LtT;r?G5'2n0T?l(7DX[B:9H.ja"NCW*\CcfMDd>U?I:j")][g+Cc2-bej=b5*5@[ljRh$Cmbtk=6DR*U'74@;=tG_pGOm;qM\Zp.]EjejmNP1/kKB3$k5N\#UFbVRU.L$Q>PVJj%Nk2<V83IWJ43,MqdL`2`]Fdmc6UW#B94hW;^2lqXs+r?UpWH2CEu=\[^)i=+>NM>\T6>.7O7=W0(Z_~> +endstream +endobj 291 0 obj -[ -292 0 R -293 0 R -294 0 R -] +<< /Type /Page +/Parent 1 0 R +/MediaBox [ 0 0 612 792 ] +/Resources 3 0 R +/Contents 290 0 R +/Annots 292 0 R +>> endobj 292 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 451.325 573.126 472.985 563.126 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 216 0 R -/H /I ->> +[ +293 0 R +295 0 R +297 0 R +299 0 R +301 0 R +302 0 R +303 0 R +304 0 R +305 0 R +306 0 R +307 0 R +308 0 R +309 0 R +310 0 R +311 0 R +312 0 R +313 0 R +314 0 R +315 0 R +316 0 R +317 0 R +318 0 R +] endobj 293 0 obj << /Type /Annot /Subtype /Link -/Rect [ 472.985 573.126 476.315 563.126 ] +/Rect [ 236.025 631.402 263.805 621.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 216 0 R -/H /I ->> -endobj -294 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 165.104 562.126 217.874 552.126 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 66 0 R +/A 294 0 R /H /I >> endobj 295 0 obj -<< /Length 2221 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#]95iiK&AIV:d&fmu0HrqKQnA$YU5Pc0lel!V0PHl_L"-Qo*%*?7h`I&No-$QZD"k0T_3uN[31Lk81M"4,^U\j?4GJ6%]mo'hLH!lWi=C8d5`llC!7?=Blb`Pjk2!.`(\p6g^"K%#o^/dTQacr3j?jITK7Zr[-9t(oK!8o"rk/?sJ49fk2dN8p:T_.j@1td@;rlEC<`RZF_a@TBFk)AoJe=B(..jJj]]V_L5O8!C]j[6-e[uQtAn@hOWHLHF5h3-sk8>c*dO0M4C;CAfH#7HX:#FMAXDq732:fX4;$t/nmX'WObeDF,Ws[f-h\IsqTR$!]q/&\lG()4^X?'Go:>`+G`ZYU;Mi2PTtR\lE"_kjG*QagD"7^&9>7TUM"(egb$A:g1TGM11F(q]q@`LMCi@Y94FM;J9RA#0l-hh?6/)-g/O&qKC9c`I9@$t7L>([q:4KiG-^kVEV9(@b??a;c2JIt=Z#jsDBW,o-0:s@#d_%+#*igCXb>!RCChH]!FWBgfX>QjBkJFLk7&9B"17E,nXM@l!huplT=M:#P7US0g\pXV3@)&"r@&RDCV3gj[R"C#F>q#$=uJ;qG/Y%#j'^_aN'fuq)TB#\)5c3H,NL3?TIpt>^&C447X`]C4+\kIYoeIHX:<#`,sh$cASj[G34SIEK-GW;.K#RNhN'*UU"5*M'fOjZHn4/&X+-q0of84MI-VcaN(9\I34-OITlC:%_4f#']>#djW]pO+6*a^M!X*A4N":UIN#a0u2(htKeKXY[be8f2G@,PXK54(2\R/CPgIB1nL2iR8r^XWRMhMNU,Qlimrs"F!ZFOJZLghCBo%01_K3]/@^^mKL_l<\&JRVkFlE7(!0\7NV6@-I=CI(S[V,e=&<3UdCEK.mNd#mE8qCDO9U%p4^NHCR(aYc$fqN<\0>s7*9"gG9dkmIF.:8$C[Jb%4Y<4Z:?:<39Y!rIMqoAB!rrA*H?,?~> -endstream -endobj -296 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 295 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 501.108 620.402 534.988 610.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 296 0 R +/H /I >> endobj 297 0 obj -<< /Length 2967 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gb!#^h2gX*%=c.-_GBE6ZI.?kr3^5?1dqmCO[BN3'RdIt()i6Ga$#LNpga&q7K<*[Q=Ni6O*B(06a7/3dNV+WjH#P<5Ao>jI@#3sn\*3+NUK$E#s9=/!\Xk2QNWO,RX(Bdp[P+F2e"EM\)+U!n&*><[pKe8^4'i8XltMFJ(X@aIs:5WibeZ'g*89?Q$PrCS5Bo2Yu:O/BUZLGTS\C(M7f>W-mf,NKn:FX,\!n`2##/B!Ji!ujGG!IMl&*fqonG;-[m((Q(rp'@E$/=V'M`%4K#'h^HWF)`Vq#fZ&qL)Tkn>9FFK#D_g>%)&u+W&c81.E9BVbW30KVhF^+LYe"&DBh6/ZBf'mDbEa^fmH-7&'[a,1%O:JrF9duQujcml!i)"jV(FR.8G`)^F[4Vb\CF,;@GG$P\ri\OjU;O8sY:Qr&9Im]$'GK.tfZ04EEMVC"YD6C4D#TsM&!LGVS*fV&5"(@J=eHK,CGl5<-MCmaOYfVYLpncq)r>^+ok55c,u4#Sk\Y`bV"OS[H1\\FlGF@QVQCqEITeRs`[#%n);Xu_qthb'pN:iKNKV'.^W'b.n\^(Nh^ti<;rYh8L5Cr+Y@sQH<[D:cDL*dUtV-o>a7H7'[h7m;H.?ViV841m=[=Voinbpt&ps&[=7Sga#1+K(K@<(YZP4PuDQn+BMp\iGQ*(rM3CptCUpB-5B?#JQjW]P`F1Ub/BbK0!J;j9VHlrBB+b"*G+Y-kI6WfbUM2I4G!)Y!p_+^nl#PG?K^]jN,(:RJ^+'5h)/qQR99'No3)BQc,e#06CNdYoG-Yl[oiNf)^jjaC"$3mnDO$JqO5ZPRo/>?iHLMq',JPbauW+03i.Z^\A,C!;L.Q-,i:2Am7M_#?Xt\sUM=5Z4=t*J),)K$>..FaNsXZ`(r@8EeN(.!i?Jc8''u6B)L?/-QiB9js1XaAZC2X[]Xn>H)sY/lu>EqBS\bW\-pGP5#DbpBn:43$]rLYCngR6=NR>B$;bBQ?a.4-q^DO,#!sO=dEgJ1ne;I4h&en(+Rmo.Q!"Wglt66oEp*_%ncXrYt+*UB-a/N$b`ppD<*]6!hu$sMT!lY7aTSWCTu!p[(Z7b**-C@_;mHma\,B`/bB_=#cJf26@^h.RTM#N^5X]2fk^4_Ja-`X:;*SOO3BWoT*\OiOQT5,'a\S9jo?k[Q4CHn8(t?AQ]?$9*$S>;r;eoJ6uQT&$k@VKQn+S:`-JP.]!QK^u^(E^*AOZGFY)Qi@KZYS@J\6V[dQl_WL:3CWMaYKJH'<.tJ"AeP'qe!n&or#5k0/b-O-uU;QWo%=l;%j&Nl$"TurN>j@J#KLlqj?h0"2p/2U/geX^Fa!9=d&o8I'VNg6;s2qF@MeE+>7Ze8&k=u>'6$?_K"_2DpEVSGI&+?E3p:'7QVh3T2Qc^K^$Xphg9j]A!-uB(L0T*5:ko2+GOl0U*N]M5-+#'lW$.q)0J@t49,'4U[,Agip'$;XY54U+HTnJ@B1mNjRMJTPp$-F^sqR]]U2Aj3U9HJj6eLSgIM![Dn,7"]XPhSW)O4RdEb"ap:`&W@dM_bGUnoL`A)W>\1B,W=jC'ng.CK_*8Vk??J4N$eC8?]X5:/Y\h5S2$E5BGU%cjd>S(F@![o%Ek_6HiIi3F%9@I50pr-[=m]_-?PIPZbc8^ITRfV"/t=i-A0d`/9RWk!n7lN!*IdB(c(cqCJR9DBEM6_$h0,J:eo&;rHB^Rj'^bV28&L_,7("o+X?6*\VgUgqZhRL-L.YNU?aV*8tcHJ,5XX!&srQl^P%nqF20K1t;7p_,JPn7'V>bh@UH_8:uV\c0r4Vn&re'1Wk7M099T`9&\/MUB@p,$EtZ$Yo*4=29Z*E;$m6K5"!KKI.khHrI#[9NgG4bL9k'Wm&^A`)fh#\=WNtpc`<.I";fr*q@_Ac$o^k11JW~> -endstream -endobj -298 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 297 0 R -/Annots 299 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 72.0 609.402 106.99 599.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 298 0 R +/H /I >> endobj 299 0 obj -[ -300 0 R -302 0 R -303 0 R -305 0 R -] -endobj -300 0 obj << /Type /Annot /Subtype /Link -/Rect [ 503.888 210.402 531.658 200.402 ] +/Rect [ 155.514 609.402 186.054 599.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 301 0 R +/A 300 0 R +/H /I +>> +endobj +301 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 280.31 436.402 307.53 426.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> /H /I >> endobj 302 0 obj << /Type /Annot /Subtype /Link -/Rect [ 531.658 210.402 534.988 200.402 ] +/Rect [ 310.03 436.402 317.81 426.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 301 0 R +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> /H /I >> endobj 303 0 obj << /Type /Annot /Subtype /Link -/Rect [ 72.0 199.402 101.99 189.402 ] +/Rect [ 320.31 436.402 395.86 426.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 304 0 R +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> +/H /I +>> +endobj +304 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 398.36 436.402 417.8 426.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> /H /I >> endobj 305 0 obj << /Type /Annot /Subtype /Link -/Rect [ 101.99 199.402 105.32 189.402 ] +/Rect [ 420.3 436.402 430.3 426.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 304 0 R +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> /H /I >> endobj 306 0 obj -<< /Length 2095 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GatU4?Z4[W&:`$(&GiUg5g5=S8;cZCLB.jg!?26mDt=O]1*$ad,t!iZ(.H"8.$5-<''5o@!lVY`n)'2H];'gZ?esSFJ0>u8pK'>!]HRC-Ij>R>iBTrP6N-0dr:?64lepZ.rC84Hl^(d_==gi]\9NEuf>3>"XOk-c:TA)C7i+eb*7^;AGmgEC8R4!O9@>.;$V0[37E;BG^`$Uc3N18a3[TAJbG%Q`TW9]+;r:[L8Yt*(9-$5Ip18A?->o%_Y[:*&70#T)-O=m7'8hT"#[1Lg7UbJp,OReql%lEach3uZ0#0",]M>mq:dM7:c7]<$5SG6kCIaaW*F5XmY0s1RE:;JQCP]7rDpJ#9a`HrpVs:Y3[VACa3>m43-#N)ZIH]n6#*Xm`5fMJrk(02I#8o>9gtHTR;E,h3=g9HXIY2S5FktUD'W&;82GW&eBn`_ShI3oTEhi7k!Be86kWWkD/IJ?Z;$EJO2XmJejm%Co($p4fR8^aHPVkISiRHIdP:5f!Pl\;9A,VY<0cU=#M_kUsH;!,ei%mMHcs'10n9fjGH2i/rFN8sQF&8&(%N>dX$,8DW-\J5B$R1DV,Ta*-J,$b=A!K&#tT3XAaa>gIJp+&>"uf8TAcB?ajG:Xh&B'9"UjAIM)7&.:lQ(42X\BZX1Q5%V@/2d=QF4Bm:dQ+4lAe@ea;5Z'I)jGr)rI9'$XGQ"f@A)q<$4fZNL]$]C8]3QS$EYX[0+AqH!YFlPT8cd>H-#MLjR-l7&HlZ[5.,CDel\TFbBqoi.)E=M]!'_u-iH1Sh(L&_.fsq2Wl!,Z81N`]kIS;sVNtW15QZVnfQV?V<3c7qT@?qR:aWrWAki5bko8oHfVlA^bo`/EI3LI]+aj@j7Vti/fY6KN^;cVS@6/A]dj3g?1:$RXr>*m*^N/bS/44$MOT#c"K!Z>E70OgD?%PCqL1DI1#nE@%*>D'C@.MrL?6K%9qBE'CtruDAIH4!*:ePRqgT!,XS_5d'D&D,Bf%#rc'kmF-IK89iPLpR?]]ZmeTDR*#-^k4%m&W`;^GC/Y7pU/_<4/JK(R5RbWUF29s#gtZklC9aG?17]#(r]DJ`EZd@b>JcQ%K3T8htUbSLe&d-m(0@c'b2NW&LMSChIOUigq7WcaV6P^''jh$g>-NbZ>+G8!7!1*GLD>.le^nn*h!b_l/Bq6'6g:>/A<2L8%lVa*[<""fUjDfsLqc?$^%(OYRnDehO#GTrs) -endstream +<< /Type /Annot +/Subtype /Link +/Rect [ 432.8 436.402 482.81 426.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> +/H /I +>> endobj 307 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 306 0 R -/Annots 308 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 482.81 436.402 502.81 426.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) +/S /URI >> +/H /I >> endobj 308 0 obj -[ -309 0 R -311 0 R -] +<< /Type /Annot +/Subtype /Link +/Rect [ 280.27 383.402 315.27 373.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm) +/S /URI >> +/H /I +>> endobj 309 0 obj << /Type /Annot /Subtype /Link -/Rect [ 173.268 719.0 196.038 709.0 ] +/Rect [ 196.0 138.402 218.77 128.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 310 0 R +/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) +/S /URI >> +/H /I +>> +endobj +310 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 222.965 138.402 235.745 128.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) +/S /URI >> /H /I >> endobj 311 0 obj << /Type /Annot /Subtype /Link -/Rect [ 196.341 719.0 201.341 709.0 ] +/Rect [ 239.94 138.402 272.16 128.402 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 310 0 R +/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) +/S /URI >> /H /I >> endobj 312 0 obj -<< /Length 2283 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau_jCN&:Bnb`9B`;rQ]\.'[>e:X7!5[3l2'PP8:!r^It$sKC=WjUheU:`@8rqDF@8fXrS:?r$C"#adKSG*GI]K[B"I.s%I3:Sn^`t.%hl%?b@i5aaMIRo&blr1bLh]0q2^MeV7g\bQ&pp23=&P4mca%.&$L*T^l[8rXS[ame.l$Y$rICJ`srUr2DDu9K>^;ppNHlI>O/lh!upU0ts48\c^Q,gMsh=n7m,9E#(qaUAV^6L/ggY]SR/+k*m"YL,Zp1)":P.IX8$"<"W.#nUHe.DUlSg"sIJ3e_]:C%F-:4dFK1n9_B'6t2KTt`o+nq;7mFdO^pV!^4*;em`B9YtBe,b+uY?&2Zs8=4W5=T5H+E](:m5@Nml(5?W#'1N!/'E?[`lnG4\p>U9sG/tLl."+1*65i12n?pCKrIbfTa^Y\s>=X_681jJ!GGP-;9d<#(/QHEbk\V@h/,+OI(8+E?!$!%&:H'P;ocfS7[LqTGKkh(.tO#TLh\%c_'l;Xg@tTeVRQ;BH3-WYf;:HjM*?'eM;3)\i`KCqrj?[q0=Bm7E)T@AaMjDBaE2.7iiZ$(Uq]'L$cOjubk`]bQ:7t_iVF@028QO8jH0s1ZdO1tALU`-I6JN9L.UF.h=t*-ebr&t&T.bm\K8W3X7-W9p^\m14,dc-&PH4eul^^C0(`f7j??4TG%WRcn);Ks#l4NL0d2-f5<(`r6LV[?j8SA@"qM9o0MU*ZeNoqR*,pIXLcOZ>@W@PW@WE+C'-_;j"Hk-T9'2t.m%6ugLI&pB?*4dO;I1A?W"b]0CF[F]q@^EF<)c#COY:'JU=kZ(OaPQP-:Gj__2u*Et'#V3"%"f`#B)/+njtJ@5qM%Liib^E2ie8Cu-g;jR]Y3L@J$Wj=erTS:3Hcq)YF(ul,36ZH,>;@$Kd@6".VU`SQ2Fd>CU7flB#+\X>].B$f0*on.rl(%.\=Bc^SE>IYqH$.Rn+7+S&G9$%Nb&;0^K[(m_NR\K.4N4FF2k!cA3SUilKVD_tcYZIHTn7('5]ncn]+8+OM6bF]\jACH:`pC7H?S+D%Y.L*!VT@XepXM:kV7QQgkNJMT^'PUJP.?ESD6-K(%&]7VT:HlB5@l4X+oo()B1ORnmZDd[Vj#M2"M2q*uP9<.i;9?*=ZJ)LX;;9MLHJ"LI'RD-7d?pA>EAOIl4@u%T/itV&e20p,`KdoVm?Je@Tu,L:W2sinqTtMc3$[(d.G,h0W-hG\u@`m5BEB!1r3aRM(WQI,l%YU%Xd14CZ*_D+&Kl28r1N3O>K=_mT@UTU8S?1,l/Sh:KBa4Wj;+SWEW-C\)gnQRo\b(Lf,3b`$g'\n]_;0(*K0[3U1<5a;nT>>A!.kM5/+;B&E#MDVZ7b:<7#r5J$)L)e_\(8"gXd1@F>e\/V(mA^#5H$LQqi9#i/MuX5rOdff,^bZ%^L2"@bea79B)`RPhm]F>Vs/W]284S+P__>.;.>pl -endstream +<< /Type /Annot +/Subtype /Link +/Rect [ 276.355 138.402 314.135 128.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) +/S /URI >> +/H /I +>> endobj 313 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 312 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 315.83 138.402 353.61 128.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) +/S /URI >> +/H /I >> endobj 314 0 obj -<< /Length 1705 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gau0D95iiK&AI=/kg[U;_XK"3hF.qYRR;X4]"Y9S6]pV$XXtERS2;Yf^NV)g(*ugQZU#2=d?)9)2oBp'5Hh6XmT$%oN`NbB*'IVj#f@a@,_[t03T<_$X$cOP3npQT]ngQ9N+)#J\5-IS[>=g<Hh1BOr\N\uLds2t-:E"sa!uRnm?U%gEInm;*Fn\ee6BVU.X$QKpUa/k.4@^u7$Q6omV\h8:ZfW;>30JGe3POR,"A\HcXji`jci8c\*6S1(:1_]0>`5V6_)>].&0gL4T9P%PTq>S:fMb@hZF5+.%t]_nm#om0U*MN/+%7\_q*\?a&nSFXZ=XTUsTEDgHUP%H9<3)aM/$)'hTYra:r>lChE`Zl$i('C7]N%TR,VsbATNE(j&d(E+WZ]l2"Kt><&mM^"/)ancWE(ar-PSmPp"^I+-FA@)k<0?S6!HXq/j@Ig1s>,T'B@(M+a\j8u+ppROXVN+#8?5btB'5baSf"iDI5W9"s#C/^E0%#KYMS[&C]87FUP9`;';SrVT@8CLSmjCM2<)KF$@<2GZ6D8m`3!m=\\-=E3+$"IlV9U6GX;,se@UM'V%cLP84H.o'R2nplVXK8+SN:[K"3K52XeJ-u[aYR/Xr&@4mhGg2b9=?W)*d+0mg1BBV8R;&I0A8XZ?!I'9Ld1Nr8Q3H?.S,/1@^B_'<2Zf83rA&knlR&-89h7nh2?&'@SG)6CL$_Q@\-Ecl[[NT.P9r@\>Nue;j"Ht)jDTcP!juGd'h^HrR[VUr"N>a/f%aNcI=3_F-Q0%rIlh^RF[t7^2FB&OG\[5fk=fq\b;$ZI@G24YR4EIfE=M\.c8:+7298o:s?\U3jk68YGFR'#==jJd-`[>7a0R3o;ahAiVh(JOV",nP#<.4u.s*DC'5topmDumIRNZ.=AekM>lm.I1=0fM,4'r1uuaPRu\h7\W#&HWcr+hPiU/FM.l:MEn1)50SeqlnuP`,5P-[F:0#TmZRTQeYqY9=W=)IqC"f$gg`59tVcm1OH@7!3<$+YW4ue2"J)/GIYfp]0'(ViL6B>"R=$/^*7-nJ+[r#70a50/]67ND$r\L\X2Q[#7\A*2g_PdW0YXHn%8#&44@B-D/*<=[q"N;L=oQI2eUjeSm2A=l:o$,+5EKdg7&3&057ieEL=IaWni!+4T!b+SRZ%YWYC>1TV,"?CT$F,:U+@_P&.#GEcL6nhJ(rC#sjE0PBR\L3jc-G)h(f(AtDIq%VThf*f&O4Ku]"gJ\*R%kcGDm:c'Um>_il;.XffT5HES:CI-Fp`mj@$J/;Yjm(g1"`lF\=+oA]QHW_Wm#QjGL!K(30;O+VF;^a6fe.T2Ckd\[[1M2Ni7:Sq]IFB^qnM>UA>LG8JI'pGOKF7DGHI@S\RPc-<-_l4gKJt]+tKN!T-ch,1.`6."3Kb;jeKe^M@mhg\(_&AbFZ/pgBK)J-eGe+B2P4?WL8.!beQ-!!~> -endstream +<< /Type /Annot +/Subtype /Link +/Rect [ 179.274 106.402 199.274 96.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) +/S /URI >> +/H /I +>> endobj 315 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 314 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 201.992 106.402 236.982 96.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) +/S /URI >> +/H /I >> endobj 316 0 obj -<< /Length 1136 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -GarnW9iKe#&A@ZcI"Mo:CaY8',LB?BOss8_4jZT5AJ+5.(l,'`=65m9]!Jt!"W=U,HH9oIQY"_3`[N*F0U"nXr2+CWjE%-h9mm)D4j^m8H>&'e2%5S,f/1\4Q"L%)'.M1a53">HPr1%TeGL?H^ej$'4>,:+ZV*Au&b#jkKDT1JcMCHH^WHNGdGDi`[K17gnr-15!H#d&H,"!-+\OrH@d-OHWhS+1`&4d">9FBEAifdX,pNrGOM3,.,U/^2)>FN+eJ-AObW>-p#9Z((+H]/p\UTGBmc]qAjP-'+4sVFi1L(\B1iF0g'iA25eFTeL=m/9J0IBu.rVWg!i\OA&Jl)3nCm$G8n]MtU[7%B#^eFQYK^C_NoI]AG6]QY-HVV"eLt?u%aj-S&<\IL -endstream +<< /Type /Annot +/Subtype /Link +/Rect [ 239.7 106.402 268.03 96.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) +/S /URI >> +/H /I +>> endobj 317 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 316 0 R -/Annots 318 0 R +<< /Type /Annot +/Subtype /Link +/Rect [ 270.748 106.402 278.528 96.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) +/S /URI >> +/H /I >> endobj 318 0 obj -[ -319 0 R -321 0 R -322 0 R -324 0 R -325 0 R -327 0 R -328 0 R -330 0 R -] +<< /Type /Annot +/Subtype /Link +/Rect [ 278.746 106.402 298.916 96.402 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) +/S /URI >> +/H /I +>> endobj 319 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 236.025 698.0 260.475 688.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 320 0 R -/H /I ->> -endobj -321 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 260.475 698.0 263.805 688.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 320 0 R -/H /I ->> -endobj -322 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 501.108 687.0 531.658 677.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 323 0 R -/H /I ->> -endobj -324 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 531.658 687.0 534.988 677.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 323 0 R -/H /I ->> -endobj -325 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 72.0 676.0 109.3 666.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 326 0 R -/H /I ->> -endobj -327 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 109.3 676.0 112.63 666.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 326 0 R -/H /I ->> -endobj -328 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 160.45 676.0 187.66 666.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 329 0 R -/H /I ->> -endobj -330 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 187.66 676.0 190.99 666.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A 329 0 R -/H /I ->> -endobj -331 0 obj -<< /Length 2802 /Filter [ /ASCII85Decode /FlateDecode ] +<< /Length 1413 /Filter [ /ASCII85Decode /FlateDecode ] >> stream -Gau`U>BAQ1&Ur'0cs,O%6kS??Dml\@EhpW`d:pqFB/1#)=fb1]"-Rht?f*/XiIV2HV:/2[0,=k%(Z4Y0qZ/echp">h'B0jh6RUjdSN46/7j]S\OU8E)F5iUZ6+pY=As;]PYP=DVSk$FQRf##L04;(A+XRVMW@u^_$GTm(2I+RRReH]),>E28W<^0;lY&&M:@mr3fmOLB5@G8\Z)hW2YT1?J1RSUBnhS<[JR/_Um_m.Ia5!7re2IhpW3._\>99&CUo[8.o7#*!0Zj(qE/s2Tr;5-lVIkfr1L#Re[4p)Zf0OhTa-%h6GKPE@qH4D1A!iCo0mlL!YnAdXGfq0mTU>9o\]m@H%o.DqAJ1]Hkn$i=rNlct_9*BAU*q&NpM%M)&MS'@4:"p,&X^UYS.m0>FoWhc?R+j_G1&U"On)"!omD2YV>Xt#WC`tYBj5-5*"ji]TP2RdJ_q!h+7e#nnZ0U-3<-s.cD/!^!4(o)0]'4P(J2I/nQ_)U">r;;or1^_1b&,CfNQ5Z:&CkZP+(d"?!6S[c"9&"EMK%]4ABj6`4U@LHeO"tqE<$;&S"mS3Y\,-:f'!ns$)Bu:JKCB$f#f?idXisAgcR>V+rF,MLR-/2OPZ;r0!,'YX;^6lM..cOlQ?+OI*74.-W<>n@Y`u-G?AfQg:>a/Pa$-DSn>*4f3"><1SBMr]3,JbZg"D"s6$k+E28U05cfSa8&cWX9#>L=Rp-lMcAIq[a/h>oanMqjs>pX9NZE]VC]KafI\26[eO"r4Q\%gbpJ51a`e3Bfpi+fZd42Y3GppXhRXJCb<_5^Sm=H'rZQ7WV6WqHrY1N[+`FOA/X'jdB0=H.H^=*IoF%qI+c1q/\:395q?C2',V^sl.a7I?iM]s!l4M,&,39]gLRS)TY6q^0\K54;HLTP2^Ha#;^WH[[_]`?ED>D!.=APgt3)X$WdtJ8]2qP??18SXu`88n]hSb<0m+MjD+[6Y;8:pko9UKEC+'/Z._7"+E4>3OeX/Js=8>WSk'Mt#&^"mZOn_RVFD+Fn$TWkHe9a7tAgAnu&s2L_`A:Yat>\H!RIB[Q!2tXF+p,-MjZ78;q=#%<+`RY3h9%Bd$!d+1NhDJ'uH]_@"B1)&Q?O!.']EoBArb3,$Z44t_WtBuoWo%=`Cfmntrcl.Te?iPVfe*mQO:J9QYN.ir*-7>En(*6`.QBGG6:=BM2/"A;bjSY>Z"OB"7cMusmmc\:lSU;2b;H2pAX[;N2j##WUD!4aMa223oO>QooI/CkrEE#N[0^/X%JdrK9quT0:@\!k:44G5o0@B>36s@2dlcf;Ho0/4e*oMCmE\@qPc2p2U"">ujT6m0A+UOs-E02V:\YE[RlH.;5jLe]Yi:?m=[5qV`uA(+)m:6FY4u>EEibM,_!l[T?U6\:?))_J2FnLi![of.G`=,7$>1V=D0,!2G,NSuO"sadFNAZf/GLbP,4"M%"a.+?f(hM3AY%_DF]r\2Zj]s+]b+O`'kX,MU_RAF&RUHPLIE!b*F7i6Q[HR.q#$)N]%'Qn!((R#WnR<571lPU5<8#pa16^AgYo:\eNXqfL`2;K>"+6PIl[OA5=f&YXh^d&="GAh]$187B"9g31i$k%Se;lgPI>;/LmDkX4"ti\UL9>IH,AY^'F#:E<(*HHQ!q5:n\<\L/J,*.d^p:pK,4Dt78PYQ("$sI(DZ)!U%G2leo7\5jjcZ]m2K*!c92c65ktF2Tko5#mhX"-Ns:C?79%f-o4Nb?6?cIYMl#(o=2MkmK98;\,^5=oV#eWS=gh+=P&FuAIDGk+[Qi^><._g[3\f//A)RfqbH"(H.),3Q;;!$bhM[nb(P3#D7b+n.aB_CJFW5<[D]fZ6r9j&4GGuQ0'OA0Ubrl!RqT_snLK#P\[a^b/PSOMVkHT%r(ih#k,p:A5P.*F]P(=-OBD`q7AN@G7d@F`^aYlJk\uG0c=YOM[:moucj`SR^hHu-C-qF83m8A1:frC0eC:C-9s4EZ9>I;>GGe7`eErg[2,tmbK/P`(@!!E$^(7eK^lBc8ZEVtsk65lUJk5$sc/'b;m*R?]/kprJGi!%\05ZWp;]QY`qZ>:1!(6;Q9V+'_!QK$NkQ'U#@^H)nQ*mV1k6.Bglp`@D[K/'b>KBtjoYNXi;!%+cSW#S6O'P10C\3BFo8bi.QA6;0Fg:LuaYeU[bK8M0mG(=4KMCX)0,>U\K'"jV78ddJeh_B+IBpE*$8(lPD(71)s6[n'0i37ZQKd&uX#c$BbQ2Gqq4S[1o2.$ +Gat%#bBDVu&DcY&\?o$WKF`SYZBJ5+Te"fr8A"7\]RVE_iX$\6+%atc0.;CgJCib'.#/UX.(,Khm;bkQ5KAR9aW*\WLC,J"IamO>/oYY=!u>"lHrlOiGT-k=TsC!/3_a'a-Uh>jDii!FKEP_./$i)0qS`9+uqYru.[gb_$acD&hW_&V.E'X4p6YD2`/,DU"g=%-!:C)MR&jO+@1F0,-M06nUk]RDBj-KBB"fS*D'AG[k0j_FLfE#s8CPk@*gIhXmb(6@c*ChoEO@[8=tPsrotW[L/i]Oo%Z>d>nRo&p&1&#Q7^#T"RK&Z9N.p7WG:ARFm1O!('0p]=bF9[r+%$`)U$_.g#=(P"o2CmUq;m)%@Tl!H)N/!fr_-oRMm%*G-8o?UjiG:YCr-kFK[+?T)E3Tib6@bVBe[[)VjTS^8O%4_I(`3WaLD2)"EkcE,.B?KOdZ=NJa/U5Rl7EO7>BCH&?T&7k/XE?!Vf;Z\7?n7T8Tgkl65(sS3BnmRY6X$/_6ZH?mpHL0\6r;_c@Vo+Ej(]haK%A$)qZIU'C;E;Rhof/][rhM:u`TWX)SM@.oA.)EJcI#,'k/gp,e@D<3cYXn4&+A$Ds-pSl3F/N>(Y$Z+X#>fdKM+hJA\BT3(G$l6([a%Jd_!hBW`t3(-<4<[X(&AEj@;*)s/#>gLt:)S`M4RT-(M:+F]W9e+TG9e)_0d\MKniCW.)8AUGVJN#kp21S%&?L;nY`c3BYH!+tUXOo5#4_iT(b=Tn]j@$,WhFOd+2BL8-B>;AN;,rD9VF0Yt*Fd@g/7`6"C9.u,j@M_$-QS@4C%]Q2hN#7o4HS/t3_OK$,YLYNK<`tf4RZC3k(Ac:`G=RLk%M.q:sI1Y87=+=Q2ec`U.J$VRnHfD(8lur#HVS]M(m_T7RE_#B87[Z]ojm)8[2-hbbgM8Lc"BVYgl>O5_//iq$Hs=a3#36WRD(.@Hs!9Uq7XpB",'EI`(R;L@&=3,OV?6T1-?E8n~> endstream endobj -332 0 obj +320 0 obj << /Type /Page /Parent 1 0 R /MediaBox [ 0 0 612 792 ] /Resources 3 0 R -/Contents 331 0 R -/Annots 333 0 R +/Contents 319 0 R +/Annots 321 0 R >> endobj -333 0 obj +321 0 obj [ +322 0 R +323 0 R +324 0 R +325 0 R +328 0 R +331 0 R 334 0 R -335 0 R -336 0 R 337 0 R -338 0 R -339 0 R 340 0 R 341 0 R 342 0 R @@ -2694,245 +2586,26 @@ endobj 353 0 R 354 0 R 355 0 R +356 0 R +357 0 R 358 0 R +359 0 R +360 0 R 361 0 R +362 0 R +363 0 R 364 0 R +365 0 R +366 0 R 367 0 R -370 0 R -371 0 R -372 0 R -373 0 R -374 0 R -375 0 R -376 0 R -377 0 R -378 0 R +368 0 R +369 0 R ] endobj -334 0 obj +322 0 obj << /Type /Annot /Subtype /Link -/Rect [ 280.31 691.505 307.53 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -335 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 310.03 691.505 317.81 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -336 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 320.31 691.505 395.86 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -337 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 398.36 691.505 417.8 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -338 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 420.3 691.505 430.3 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -339 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 430.3 691.505 475.31 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -340 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 430.3 691.505 475.31 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -341 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 477.81 691.505 482.81 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -342 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 482.81 691.505 502.81 681.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://users.rcn.com/abrahams/instantiation_speed/index.html) -/S /URI >> -/H /I ->> -endobj -343 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 108.0 627.505 339.65 617.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm) -/S /URI >> -/H /I ->> -endobj -344 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 189.22 382.505 211.99 372.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) -/S /URI >> -/H /I ->> -endobj -345 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 214.49 382.505 227.27 372.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) -/S /URI >> -/H /I ->> -endobj -346 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 229.77 382.505 261.99 372.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) -/S /URI >> -/H /I ->> -endobj -347 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 264.49 382.505 302.27 372.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) -/S /URI >> -/H /I ->> -endobj -348 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 302.27 382.505 340.05 372.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://dinosaur.compilertools.net/yacc/index.html) -/S /URI >> -/H /I ->> -endobj -349 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 178.62 350.505 198.62 340.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) -/S /URI >> -/H /I ->> -endobj -350 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 201.12 350.505 236.11 340.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) -/S /URI >> -/H /I ->> -endobj -351 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 238.61 350.505 266.94 340.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) -/S /URI >> -/H /I ->> -endobj -352 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 269.44 350.505 277.22 340.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) -/S /URI >> -/H /I ->> -endobj -353 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 277.22 350.505 297.39 340.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles) -/S /URI >> -/H /I ->> -endobj -354 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 168.11 318.505 323.38 308.505 ] +/Rect [ 100.05 709.0 115.05 699.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://sourceforge.net/projects/loki-lib/) @@ -2940,125 +2613,147 @@ endobj /H /I >> endobj -355 0 obj +323 0 obj << /Type /Annot /Subtype /Link -/Rect [ 181.43 297.505 202.54 287.505 ] +/Rect [ 117.55 709.0 135.33 699.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 357 0 R +/A << /URI (http://sourceforge.net/projects/loki-lib/) +/S /URI >> /H /I >> endobj -356 0 obj +324 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 135.33 709.0 163.11 699.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://sourceforge.net/projects/loki-lib/) +/S /URI >> +/H /I +>> +endobj +325 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 190.81 688.0 211.92 678.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A 327 0 R +/H /I +>> +endobj +326 0 obj << /Type /FileSpec /F (http://www.objectmentor.com/resources/articles/umlfsm.pdf) >> endobj -357 0 obj +327 0 obj << /S /GoToR -/F 356 0 R +/F 326 0 R /D [ 0 /XYZ null null null ] >> endobj -358 0 obj +328 0 obj << /Type /Annot /Subtype /Link -/Rect [ 205.04 297.505 241.16 287.505 ] +/Rect [ 216.765 688.0 252.885 678.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 360 0 R +/A 330 0 R /H /I >> endobj -359 0 obj +329 0 obj << /Type /FileSpec /F (http://www.objectmentor.com/resources/articles/umlfsm.pdf) >> endobj -360 0 obj +330 0 obj << /S /GoToR -/F 359 0 R +/F 329 0 R /D [ 0 /XYZ null null null ] >> endobj -361 0 obj +331 0 obj << /Type /Annot /Subtype /Link -/Rect [ 243.66 297.505 267.55 287.505 ] +/Rect [ 257.73 688.0 281.62 678.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 363 0 R +/A 333 0 R /H /I >> endobj -362 0 obj +332 0 obj << /Type /FileSpec /F (http://www.objectmentor.com/resources/articles/umlfsm.pdf) >> endobj -363 0 obj +333 0 obj << /S /GoToR -/F 362 0 R +/F 332 0 R /D [ 0 /XYZ null null null ] >> endobj -364 0 obj +334 0 obj << /Type /Annot /Subtype /Link -/Rect [ 270.05 297.505 290.05 287.505 ] +/Rect [ 286.465 688.0 306.465 678.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 366 0 R +/A 336 0 R /H /I >> endobj -365 0 obj +335 0 obj << /Type /FileSpec /F (http://www.objectmentor.com/resources/articles/umlfsm.pdf) >> endobj -366 0 obj +336 0 obj << /S /GoToR -/F 365 0 R +/F 335 0 R /D [ 0 /XYZ null null null ] >> endobj -367 0 obj +337 0 obj << /Type /Annot /Subtype /Link -/Rect [ 290.05 297.505 328.93 287.505 ] +/Rect [ 308.81 688.0 347.69 678.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] -/A 369 0 R +/A 339 0 R /H /I >> endobj -368 0 obj +338 0 obj << /Type /FileSpec /F (http://www.objectmentor.com/resources/articles/umlfsm.pdf) >> endobj -369 0 obj +339 0 obj << /S /GoToR -/F 368 0 R +/F 338 0 R /D [ 0 /XYZ null null null ] >> endobj -370 0 obj +340 0 obj << /Type /Annot /Subtype /Link -/Rect [ 295.87 265.505 535.04 255.505 ] +/Rect [ 108.39 656.0 131.17 646.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://www.mywikinet.com/mpl/ref/Table_of_Content.html) @@ -3066,10 +2761,54 @@ endobj /H /I >> endobj -371 0 obj +341 0 obj << /Type /Annot /Subtype /Link -/Rect [ 356.41 244.505 533.07 234.505 ] +/Rect [ 133.67 656.0 153.67 646.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.mywikinet.com/mpl/ref/Table_of_Content.html) +/S /URI >> +/H /I +>> +endobj +342 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 156.17 656.0 186.73 646.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.mywikinet.com/mpl/ref/Table_of_Content.html) +/S /URI >> +/H /I +>> +endobj +343 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 189.23 656.0 229.21 646.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.mywikinet.com/mpl/ref/Table_of_Content.html) +/S /URI >> +/H /I +>> +endobj +344 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 229.21 656.0 290.87 646.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.mywikinet.com/mpl/ref/Table_of_Content.html) +/S /URI >> +/H /I +>> +endobj +345 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 166.42 635.0 189.2 625.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://www.boost.org/libs/preprocessor/doc/) @@ -3077,10 +2816,43 @@ endobj /H /I >> endobj -372 0 obj +346 0 obj << /Type /Annot /Subtype /Link -/Rect [ 108.0 212.505 340.2 202.505 ] +/Rect [ 191.7 635.0 245.58 625.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/preprocessor/doc/) +/S /URI >> +/H /I +>> +endobj +347 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 248.08 635.0 323.63 625.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/preprocessor/doc/) +/S /URI >> +/H /I +>> +endobj +348 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 323.63 635.0 351.41 625.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/preprocessor/doc/) +/S /URI >> +/H /I +>> +endobj +349 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 175.89 614.0 195.89 604.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://www.objectmentor.com/resources/downloads/index) @@ -3088,10 +2860,76 @@ endobj /H /I >> endobj -373 0 obj +350 0 obj << /Type /Annot /Subtype /Link -/Rect [ 212.84 170.505 359.52 160.505 ] +/Rect [ 198.39 614.0 201.72 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +351 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 204.22 614.0 228.11 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +352 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 230.61 614.0 250.61 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +353 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 253.11 614.0 288.1 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +354 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 290.6 614.0 328.38 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +355 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 328.38 614.0 355.21 604.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.objectmentor.com/resources/downloads/index) +/S /URI >> +/H /I +>> +endobj +356 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 98.39 572.0 121.17 562.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://www.boost.org/libs/smart_ptr/) @@ -3099,10 +2937,43 @@ endobj /H /I >> endobj -374 0 obj +357 0 obj << /Type /Annot /Subtype /Link -/Rect [ 203.39 117.505 353.96 107.505 ] +/Rect [ 123.67 572.0 147.56 562.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/smart_ptr/) +/S /URI >> +/H /I +>> +endobj +358 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 150.06 572.0 180.06 562.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/smart_ptr/) +/S /URI >> +/H /I +>> +endobj +359 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 180.06 572.0 207.84 562.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/smart_ptr/) +/S /URI >> +/H /I +>> +endobj +360 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 99.49 519.0 122.27 509.0 ] /C [ 0 0 0 ] /Border [ 0 0 0 ] /A << /URI (http://www.boost.org/libs/type_traits/) @@ -3110,1239 +2981,1231 @@ endobj /H /I >> endobj +361 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 124.77 519.0 144.21 509.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/type_traits/) +/S /URI >> +/H /I +>> +endobj +362 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 146.71 519.0 170.61 509.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/type_traits/) +/S /URI >> +/H /I +>> +endobj +363 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 170.61 519.0 198.39 509.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://www.boost.org/libs/type_traits/) +/S /URI >> +/H /I +>> +endobj +364 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 193.546 498.0 217.436 488.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) +/S /URI >> +/H /I +>> +endobj +365 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 222.868 498.0 243.038 488.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) +/S /URI >> +/H /I +>> +endobj +366 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 248.47 498.0 282.91 488.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) +/S /URI >> +/H /I +>> +endobj +367 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 285.842 498.0 344.172 488.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) +/S /URI >> +/H /I +>> +endobj +368 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 185.805 466.0 230.245 456.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html) +/S /URI >> +/H /I +>> +endobj +369 0 obj +<< /Type /Annot +/Subtype /Link +/Rect [ 230.41 466.0 268.74 456.0 ] +/C [ 0 0 0 ] +/Border [ 0 0 0 ] +/A << /URI (http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html) +/S /URI >> +/H /I +>> +endobj +371 0 obj +<< + /Title (\376\377\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) + /Parent 370 0 R + /First 372 0 R + /Last 378 0 R + /Next 379 0 R + /Count -7 + /A 16 0 R +>> endobj +372 0 obj +<< + /Title (\376\377\0\61\0\56\0\61\0\56\0\240\0\116\0\141\0\164\0\151\0\166\0\145\0\40\0\154\0\141\0\156\0\147\0\165\0\141\0\147\0\145\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147) + /Parent 371 0 R + /Next 373 0 R + /A 19 0 R +>> endobj +373 0 obj +<< + /Title (\376\377\0\61\0\56\0\62\0\56\0\240\0\115\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\40\0\151\0\156\0\40\0\103\0\53\0\53) + /Parent 371 0 R + /First 374 0 R + /Last 376 0 R + /Prev 372 0 R + /Next 377 0 R + /Count -3 + /A 24 0 R +>> endobj +374 0 obj +<< + /Title (\376\377\0\61\0\56\0\62\0\56\0\61\0\56\0\240\0\116\0\165\0\155\0\145\0\162\0\151\0\143\0\40\0\143\0\157\0\155\0\160\0\165\0\164\0\141\0\164\0\151\0\157\0\156\0\163) + /Parent 373 0 R + /Next 375 0 R + /A 29 0 R +>> endobj 375 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 184.75 96.505 208.64 86.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\61\0\56\0\62\0\56\0\62\0\56\0\240\0\124\0\171\0\160\0\145\0\40\0\143\0\157\0\155\0\160\0\165\0\164\0\141\0\164\0\151\0\157\0\156\0\163) + /Parent 373 0 R + /Prev 374 0 R + /Next 376 0 R + /A 33 0 R +>> endobj 376 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 211.14 96.505 231.31 86.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\61\0\56\0\62\0\56\0\63\0\56\0\240\0\124\0\171\0\160\0\145\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) + /Parent 373 0 R + /Prev 375 0 R + /A 37 0 R +>> endobj 377 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 233.81 96.505 268.25 86.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\61\0\56\0\63\0\56\0\240\0\127\0\150\0\171\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\77) + /Parent 371 0 R + /Prev 373 0 R + /Next 378 0 R + /A 41 0 R +>> endobj 378 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 268.25 96.505 326.58 86.505 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\61\0\56\0\64\0\56\0\240\0\127\0\150\0\171\0\40\0\141\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171\0\77) + /Parent 371 0 R + /Prev 377 0 R + /A 45 0 R +>> endobj 379 0 obj -<< /Length 437 /Filter [ /ASCII85Decode /FlateDecode ] - >> -stream -Gas2F8Pd5X&;BTK'gB&UEBT>Kjp7nbl(M'%'Vqaa/qujfn_7;1:Qo8uk_M-N6lqh&,NU[+#S[Fh#k.`j#ahrqsAV]7@L\='8gsU8%<#!o6$J,Aq\8881_=r6$kHY^ea5*o:CKB<[_n>o)/WeO?kJ:H^%+>]1?,ij!KWI`UW\jB':Q)*aUcPk!Jmn.1>jJNdX"Z6X]=.q%qTL6RnnAY!S'fuBK$+;aA`46r$\Pj'O8LNjOn/rThR]$~> -endstream -endobj +<< + /Title (\376\377\0\62\0\56\0\240\0\102\0\141\0\163\0\151\0\143\0\40\0\165\0\163\0\141\0\147\0\145) + /Parent 370 0 R + /First 380 0 R + /Last 388 0 R + /Prev 371 0 R + /Next 397 0 R + /Count -17 + /A 52 0 R +>> endobj 380 0 obj -<< /Type /Page -/Parent 1 0 R -/MediaBox [ 0 0 612 792 ] -/Resources 3 0 R -/Contents 379 0 R -/Annots 381 0 R ->> -endobj +<< + /Title (\376\377\0\62\0\56\0\61\0\56\0\240\0\103\0\157\0\156\0\144\0\151\0\164\0\151\0\157\0\156\0\141\0\154\0\40\0\164\0\171\0\160\0\145\0\40\0\163\0\145\0\154\0\145\0\143\0\164\0\151\0\157\0\156) + /Parent 379 0 R + /First 381 0 R + /Last 381 0 R + /Next 382 0 R + /Count -1 + /A 56 0 R +>> endobj 381 0 obj -[ -382 0 R -383 0 R -] -endobj +<< + /Title (\376\377\0\62\0\56\0\61\0\56\0\61\0\56\0\240\0\104\0\145\0\154\0\141\0\171\0\145\0\144\0\40\0\145\0\166\0\141\0\154\0\165\0\141\0\164\0\151\0\157\0\156) + /Parent 380 0 R + /A 61 0 R +>> endobj 382 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 185.31 709.0 229.75 699.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\62\0\56\0\62\0\56\0\240\0\115\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) + /Parent 379 0 R + /First 383 0 R + /Last 387 0 R + /Prev 380 0 R + /Next 388 0 R + /Count -5 + /A 65 0 R +>> endobj 383 0 obj -<< /Type /Annot -/Subtype /Link -/Rect [ 229.75 709.0 268.08 699.0 ] -/C [ 0 0 0 ] -/Border [ 0 0 0 ] -/A << /URI (http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html) -/S /URI >> -/H /I ->> -endobj +<< + /Title (\376\377\0\62\0\56\0\62\0\56\0\61\0\56\0\240\0\124\0\150\0\145\0\40\0\163\0\151\0\155\0\160\0\154\0\145\0\40\0\146\0\157\0\162\0\155) + /Parent 382 0 R + /Next 384 0 R + /A 68 0 R +>> endobj +384 0 obj +<< + /Title (\376\377\0\62\0\56\0\62\0\56\0\62\0\56\0\240\0\110\0\151\0\147\0\150\0\145\0\162\0\55\0\157\0\162\0\144\0\145\0\162\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) + /Parent 382 0 R + /Prev 383 0 R + /Next 385 0 R + /A 73 0 R +>> endobj +385 0 obj +<< + /Title (\376\377\0\62\0\56\0\62\0\56\0\63\0\56\0\240\0\115\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\154\0\141\0\163\0\163\0\145\0\163) + /Parent 382 0 R + /Prev 384 0 R + /Next 386 0 R + /A 77 0 R +>> endobj 386 0 obj << - /Title (\376\377\0\124\0\110\0\105\0\40\0\102\0\117\0\117\0\123\0\124\0\40\0\103\0\53\0\53\0\40\0\115\0\105\0\124\0\101\0\120\0\122\0\117\0\107\0\122\0\101\0\115\0\115\0\111\0\116\0\107\0\40\0\114\0\111\0\102\0\122\0\101\0\122\0\131) - /Parent 384 0 R - /Next 388 0 R - /A 385 0 R + /Title (\376\377\0\62\0\56\0\62\0\56\0\64\0\56\0\240\0\117\0\156\0\145\0\40\0\163\0\151\0\172\0\145\0\40\0\146\0\151\0\164\0\163\0\40\0\141\0\154\0\154\0\77) + /Parent 382 0 R + /Prev 385 0 R + /Next 387 0 R + /A 81 0 R +>> endobj +387 0 obj +<< + /Title (\376\377\0\62\0\56\0\62\0\56\0\65\0\56\0\240\0\106\0\162\0\157\0\155\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\164\0\157\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\154\0\141\0\163\0\163) + /Parent 382 0 R + /Prev 386 0 R + /A 87 0 R >> endobj 388 0 obj << - /Title (\376\377\0\124\0\141\0\142\0\154\0\145\0\40\0\157\0\146\0\40\0\103\0\157\0\156\0\164\0\145\0\156\0\164\0\163) - /Parent 384 0 R - /Prev 386 0 R - /Next 389 0 R - /A 387 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\240\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163\0\54\0\40\0\141\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155\0\163\0\54\0\40\0\141\0\156\0\144\0\40\0\151\0\164\0\145\0\162\0\141\0\164\0\157\0\162\0\163) + /Parent 379 0 R + /First 389 0 R + /Last 396 0 R + /Prev 382 0 R + /Count -8 + /A 94 0 R >> endobj 389 0 obj << - /Title (\376\377\0\61\0\56\0\40\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 384 0 R - /First 390 0 R - /Last 396 0 R - /Prev 388 0 R - /Next 397 0 R - /Count -7 - /A 18 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\61\0\56\0\240\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) + /Parent 388 0 R + /Next 390 0 R + /A 100 0 R >> endobj 390 0 obj << - /Title (\376\377\0\61\0\56\0\61\0\56\0\40\0\116\0\141\0\164\0\151\0\166\0\145\0\40\0\154\0\141\0\156\0\147\0\165\0\141\0\147\0\145\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147) - /Parent 389 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\62\0\56\0\240\0\101\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155\0\163\0\40\0\141\0\156\0\144\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) + /Parent 388 0 R + /Prev 389 0 R /Next 391 0 R - /A 21 0 R + /A 103 0 R >> endobj 391 0 obj << - /Title (\376\377\0\61\0\56\0\62\0\56\0\40\0\115\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\40\0\151\0\156\0\40\0\103\0\53\0\53) - /Parent 389 0 R - /First 392 0 R - /Last 394 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\63\0\56\0\240\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\40\0\143\0\157\0\156\0\143\0\145\0\160\0\164\0\163) + /Parent 388 0 R /Prev 390 0 R - /Next 395 0 R - /Count -3 - /A 26 0 R + /Next 392 0 R + /A 108 0 R >> endobj 392 0 obj << - /Title (\376\377\0\61\0\56\0\62\0\56\0\61\0\56\0\40\0\116\0\165\0\155\0\145\0\162\0\151\0\143\0\40\0\143\0\157\0\155\0\160\0\165\0\164\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 391 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\64\0\56\0\240\0\101\0\144\0\40\0\150\0\157\0\143\0\40\0\145\0\170\0\141\0\155\0\160\0\154\0\145\0\40\0\162\0\145\0\166\0\151\0\163\0\151\0\164\0\145\0\144) + /Parent 388 0 R + /Prev 391 0 R /Next 393 0 R - /A 31 0 R + /A 112 0 R >> endobj 393 0 obj << - /Title (\376\377\0\61\0\56\0\62\0\56\0\62\0\56\0\40\0\124\0\171\0\160\0\145\0\40\0\143\0\157\0\155\0\160\0\165\0\164\0\141\0\164\0\151\0\157\0\156\0\163) - /Parent 391 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\65\0\56\0\240\0\151\0\164\0\145\0\162\0\137\0\146\0\157\0\154\0\144\0\40\0\141\0\163\0\40\0\164\0\150\0\145\0\40\0\155\0\141\0\151\0\156\0\40\0\151\0\164\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\141\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155) + /Parent 388 0 R /Prev 392 0 R /Next 394 0 R - /A 35 0 R + /A 118 0 R >> endobj 394 0 obj << - /Title (\376\377\0\61\0\56\0\62\0\56\0\63\0\56\0\40\0\124\0\171\0\160\0\145\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) - /Parent 391 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\66\0\56\0\240\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163\0\40\0\157\0\146\0\40\0\156\0\165\0\155\0\142\0\145\0\162\0\163) + /Parent 388 0 R /Prev 393 0 R - /A 39 0 R + /Next 395 0 R + /A 126 0 R >> endobj 395 0 obj << - /Title (\376\377\0\61\0\56\0\63\0\56\0\40\0\127\0\150\0\171\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\77) - /Parent 389 0 R - /Prev 391 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\67\0\56\0\240\0\101\0\40\0\166\0\141\0\162\0\151\0\145\0\164\0\171\0\40\0\157\0\146\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) + /Parent 388 0 R + /Prev 394 0 R /Next 396 0 R - /A 43 0 R + /A 131 0 R >> endobj 396 0 obj << - /Title (\376\377\0\61\0\56\0\64\0\56\0\40\0\127\0\150\0\171\0\40\0\141\0\40\0\155\0\145\0\164\0\141\0\160\0\162\0\157\0\147\0\162\0\141\0\155\0\155\0\151\0\156\0\147\0\40\0\154\0\151\0\142\0\162\0\141\0\162\0\171\0\77) - /Parent 389 0 R + /Title (\376\377\0\62\0\56\0\63\0\56\0\70\0\56\0\240\0\114\0\157\0\157\0\160\0\57\0\162\0\145\0\143\0\165\0\162\0\163\0\151\0\157\0\156\0\40\0\165\0\156\0\162\0\157\0\154\0\154\0\151\0\156\0\147) + /Parent 388 0 R /Prev 395 0 R - /A 47 0 R + /A 137 0 R >> endobj 397 0 obj << - /Title (\376\377\0\62\0\56\0\40\0\102\0\141\0\163\0\151\0\143\0\40\0\165\0\163\0\141\0\147\0\145) - /Parent 384 0 R - /First 398 0 R - /Last 406 0 R - /Prev 389 0 R - /Next 415 0 R - /Count -17 - /A 53 0 R + /Title (\376\377\0\63\0\56\0\240\0\114\0\141\0\155\0\142\0\144\0\141\0\40\0\146\0\141\0\143\0\151\0\154\0\151\0\164\0\171) + /Parent 370 0 R + /Prev 379 0 R + /Next 398 0 R + /A 141 0 R >> endobj 398 0 obj << - /Title (\376\377\0\62\0\56\0\61\0\56\0\40\0\103\0\157\0\156\0\144\0\151\0\164\0\151\0\157\0\156\0\141\0\154\0\40\0\164\0\171\0\160\0\145\0\40\0\163\0\145\0\154\0\145\0\143\0\164\0\151\0\157\0\156) - /Parent 397 0 R - /First 399 0 R - /Last 399 0 R - /Next 400 0 R - /Count -1 - /A 57 0 R + /Title (\376\377\0\64\0\56\0\240\0\103\0\157\0\144\0\145\0\40\0\147\0\145\0\156\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\146\0\141\0\143\0\151\0\154\0\151\0\164\0\151\0\145\0\163) + /Parent 370 0 R + /Prev 397 0 R + /Next 399 0 R + /A 145 0 R >> endobj 399 0 obj << - /Title (\376\377\0\62\0\56\0\61\0\56\0\61\0\56\0\40\0\104\0\145\0\154\0\141\0\171\0\145\0\144\0\40\0\145\0\166\0\141\0\154\0\165\0\141\0\164\0\151\0\157\0\156) - /Parent 398 0 R - /A 62 0 R + /Title (\376\377\0\65\0\56\0\240\0\105\0\170\0\141\0\155\0\160\0\154\0\145\0\72\0\40\0\141\0\40\0\143\0\157\0\155\0\160\0\151\0\154\0\145\0\55\0\164\0\151\0\155\0\145\0\40\0\106\0\123\0\115\0\40\0\147\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) + /Parent 370 0 R + /First 400 0 R + /Last 401 0 R + /Prev 398 0 R + /Next 402 0 R + /Count -2 + /A 150 0 R >> endobj 400 0 obj << - /Title (\376\377\0\62\0\56\0\62\0\56\0\40\0\115\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 397 0 R - /First 401 0 R - /Last 405 0 R - /Prev 398 0 R - /Next 406 0 R - /Count -5 - /A 66 0 R + /Title (\376\377\0\65\0\56\0\61\0\56\0\240\0\111\0\155\0\160\0\154\0\145\0\155\0\145\0\156\0\164\0\141\0\164\0\151\0\157\0\156) + /Parent 399 0 R + /Next 401 0 R + /A 157 0 R >> endobj 401 0 obj << - /Title (\376\377\0\62\0\56\0\62\0\56\0\61\0\56\0\40\0\124\0\150\0\145\0\40\0\163\0\151\0\155\0\160\0\154\0\145\0\40\0\146\0\157\0\162\0\155) - /Parent 400 0 R - /Next 402 0 R - /A 69 0 R + /Title (\376\377\0\65\0\56\0\62\0\56\0\240\0\122\0\145\0\154\0\141\0\164\0\145\0\144\0\40\0\167\0\157\0\162\0\153) + /Parent 399 0 R + /Prev 400 0 R + /A 160 0 R >> endobj 402 0 obj << - /Title (\376\377\0\62\0\56\0\62\0\56\0\62\0\56\0\40\0\110\0\151\0\147\0\150\0\145\0\162\0\55\0\157\0\162\0\144\0\145\0\162\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\163) - /Parent 400 0 R - /Prev 401 0 R + /Title (\376\377\0\66\0\56\0\240\0\101\0\143\0\153\0\156\0\157\0\167\0\154\0\145\0\144\0\147\0\145\0\155\0\145\0\156\0\164\0\163) + /Parent 370 0 R + /Prev 399 0 R /Next 403 0 R - /A 74 0 R + /A 164 0 R >> endobj 403 0 obj << - /Title (\376\377\0\62\0\56\0\62\0\56\0\63\0\56\0\40\0\115\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\154\0\141\0\163\0\163\0\145\0\163) - /Parent 400 0 R + /Title (\376\377\0\67\0\56\0\240\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) + /Parent 370 0 R + /First 405 0 R + /Last 405 0 R /Prev 402 0 R - /Next 404 0 R - /A 78 0 R ->> endobj -404 0 obj -<< - /Title (\376\377\0\62\0\56\0\62\0\56\0\64\0\56\0\40\0\117\0\156\0\145\0\40\0\163\0\151\0\172\0\145\0\40\0\146\0\151\0\164\0\163\0\40\0\141\0\154\0\154\0\77) - /Parent 400 0 R - /Prev 403 0 R - /Next 405 0 R - /A 82 0 R + /Count -1 + /A 167 0 R >> endobj 405 0 obj << - /Title (\376\377\0\62\0\56\0\62\0\56\0\65\0\56\0\40\0\106\0\162\0\157\0\155\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\164\0\157\0\40\0\155\0\145\0\164\0\141\0\146\0\165\0\156\0\143\0\164\0\151\0\157\0\156\0\40\0\143\0\154\0\141\0\163\0\163) - /Parent 400 0 R - /Prev 404 0 R - /A 88 0 R + /Title (\376\377\0\102\0\151\0\142\0\154\0\151\0\157\0\147\0\162\0\141\0\160\0\150\0\171) + /Parent 403 0 R + /A 404 0 R >> endobj 406 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\40\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163\0\54\0\40\0\141\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155\0\163\0\54\0\40\0\141\0\156\0\144\0\40\0\151\0\164\0\145\0\162\0\141\0\164\0\157\0\162\0\163) - /Parent 397 0 R - /First 407 0 R - /Last 414 0 R - /Prev 400 0 R - /Count -8 - /A 95 0 R ->> endobj +<< /Type /Font +/Subtype /Type1 +/Name /F10 +/BaseFont /Courier-Oblique +/Encoding /WinAnsiEncoding >> +endobj 407 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\61\0\56\0\40\0\111\0\156\0\164\0\162\0\157\0\144\0\165\0\143\0\164\0\151\0\157\0\156) - /Parent 406 0 R - /Next 408 0 R - /A 101 0 R ->> endobj -408 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\62\0\56\0\40\0\101\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155\0\163\0\40\0\141\0\156\0\144\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) - /Parent 406 0 R - /Prev 407 0 R - /Next 409 0 R - /A 104 0 R ->> endobj -409 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\63\0\56\0\40\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\40\0\143\0\157\0\156\0\143\0\145\0\160\0\164\0\163) - /Parent 406 0 R - /Prev 408 0 R - /Next 410 0 R - /A 109 0 R ->> endobj -410 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\64\0\56\0\40\0\101\0\144\0\40\0\150\0\157\0\143\0\40\0\145\0\170\0\141\0\155\0\160\0\154\0\145\0\40\0\162\0\145\0\166\0\151\0\163\0\151\0\164\0\145\0\144) - /Parent 406 0 R - /Prev 409 0 R - /Next 411 0 R - /A 113 0 R ->> endobj -411 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\65\0\56\0\40\0\151\0\164\0\145\0\162\0\137\0\146\0\157\0\154\0\144\0\40\0\141\0\163\0\40\0\164\0\150\0\145\0\40\0\155\0\141\0\151\0\156\0\40\0\151\0\164\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\141\0\154\0\147\0\157\0\162\0\151\0\164\0\150\0\155) - /Parent 406 0 R - /Prev 410 0 R - /Next 412 0 R - /A 119 0 R ->> endobj -412 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\66\0\56\0\40\0\123\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163\0\40\0\157\0\146\0\40\0\156\0\165\0\155\0\142\0\145\0\162\0\163) - /Parent 406 0 R - /Prev 411 0 R - /Next 413 0 R - /A 127 0 R ->> endobj -413 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\67\0\56\0\40\0\101\0\40\0\166\0\141\0\162\0\151\0\145\0\164\0\171\0\40\0\157\0\146\0\40\0\163\0\145\0\161\0\165\0\145\0\156\0\143\0\145\0\163) - /Parent 406 0 R - /Prev 412 0 R - /Next 414 0 R - /A 132 0 R ->> endobj -414 0 obj -<< - /Title (\376\377\0\62\0\56\0\63\0\56\0\70\0\56\0\40\0\114\0\157\0\157\0\160\0\57\0\162\0\145\0\143\0\165\0\162\0\163\0\151\0\157\0\156\0\40\0\165\0\156\0\162\0\157\0\154\0\154\0\151\0\156\0\147) - /Parent 406 0 R - /Prev 413 0 R - /A 138 0 R ->> endobj -415 0 obj -<< - /Title (\376\377\0\63\0\56\0\40\0\114\0\141\0\155\0\142\0\144\0\141\0\40\0\146\0\141\0\143\0\151\0\154\0\151\0\164\0\171) - /Parent 384 0 R - /Prev 397 0 R - /Next 416 0 R - /A 142 0 R ->> endobj -416 0 obj -<< - /Title (\376\377\0\64\0\56\0\40\0\103\0\157\0\144\0\145\0\40\0\147\0\145\0\156\0\145\0\162\0\141\0\164\0\151\0\157\0\156\0\40\0\146\0\141\0\143\0\151\0\154\0\151\0\164\0\151\0\145\0\163) - /Parent 384 0 R - /Prev 415 0 R - /Next 417 0 R - /A 146 0 R ->> endobj -417 0 obj -<< - /Title (\376\377\0\65\0\56\0\40\0\105\0\170\0\141\0\155\0\160\0\154\0\145\0\72\0\40\0\141\0\40\0\143\0\157\0\155\0\160\0\151\0\154\0\145\0\55\0\164\0\151\0\155\0\145\0\40\0\106\0\123\0\115\0\40\0\147\0\145\0\156\0\145\0\162\0\141\0\164\0\157\0\162) - /Parent 384 0 R - /First 418 0 R - /Last 419 0 R - /Prev 416 0 R - /Next 420 0 R - /Count -2 - /A 151 0 R ->> endobj -418 0 obj -<< - /Title (\376\377\0\65\0\56\0\61\0\56\0\40\0\111\0\155\0\160\0\154\0\145\0\155\0\145\0\156\0\164\0\141\0\164\0\151\0\157\0\156) - /Parent 417 0 R - /Next 419 0 R - /A 158 0 R ->> endobj -419 0 obj -<< - /Title (\376\377\0\65\0\56\0\62\0\56\0\40\0\122\0\145\0\154\0\141\0\164\0\145\0\144\0\40\0\167\0\157\0\162\0\153) - /Parent 417 0 R - /Prev 418 0 R - /A 161 0 R ->> endobj -420 0 obj -<< - /Title (\376\377\0\66\0\56\0\40\0\101\0\143\0\153\0\156\0\157\0\167\0\154\0\145\0\144\0\147\0\145\0\155\0\145\0\156\0\164\0\163) - /Parent 384 0 R - /Prev 417 0 R - /Next 421 0 R - /A 165 0 R ->> endobj -421 0 obj -<< - /Title (\376\377\0\122\0\145\0\146\0\145\0\162\0\145\0\156\0\143\0\145\0\163) - /Parent 384 0 R - /Prev 420 0 R - /A 168 0 R ->> endobj -422 0 obj << /Type /Font /Subtype /Type1 /Name /F3 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >> endobj -423 0 obj +408 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >> endobj -424 0 obj +409 0 obj << /Type /Font /Subtype /Type1 /Name /F9 /BaseFont /Courier /Encoding /WinAnsiEncoding >> endobj -425 0 obj +410 0 obj << /Type /Font /Subtype /Type1 /Name /F7 /BaseFont /Times-Bold /Encoding /WinAnsiEncoding >> endobj -426 0 obj +411 0 obj << /Type /Font /Subtype /Type1 /Name /F6 /BaseFont /Times-Italic /Encoding /WinAnsiEncoding >> endobj -427 0 obj +412 0 obj << /Type /Font /Subtype /Type1 /Name /F5 /BaseFont /Times-Roman /Encoding /WinAnsiEncoding >> endobj +413 0 obj +<< /Type /Font +/Subtype /Type1 +/Name /F4 +/BaseFont /Helvetica-BoldOblique +/Encoding /WinAnsiEncoding >> +endobj 1 0 obj << /Type /Pages /Count 30 -/Kids [6 0 R 15 0 R 170 0 R 188 0 R 190 0 R 196 0 R 198 0 R 200 0 R 211 0 R 213 0 R 222 0 R 233 0 R 235 0 R 237 0 R 255 0 R 261 0 R 269 0 R 274 0 R 279 0 R 286 0 R 288 0 R 290 0 R 296 0 R 298 0 R 307 0 R 313 0 R 315 0 R 317 0 R 332 0 R 380 0 R ] >> +/Kids [6 0 R 13 0 R 170 0 R 183 0 R 185 0 R 190 0 R 192 0 R 194 0 R 200 0 R 205 0 R 207 0 R 215 0 R 222 0 R 224 0 R 226 0 R 239 0 R 244 0 R 253 0 R 257 0 R 261 0 R 266 0 R 268 0 R 270 0 R 276 0 R 278 0 R 285 0 R 287 0 R 289 0 R 291 0 R 320 0 R ] >> endobj 2 0 obj << /Type /Catalog /Pages 1 0 R - /Outlines 384 0 R + /Outlines 370 0 R /PageMode /UseOutlines >> endobj 3 0 obj << -/Font << /F3 422 0 R /F1 423 0 R /F9 424 0 R /F7 425 0 R /F6 426 0 R /F5 427 0 R >> +/Font << /F3 407 0 R /F10 406 0 R /F1 408 0 R /F9 409 0 R /F7 410 0 R /F6 411 0 R /F5 412 0 R /F4 413 0 R >> /ProcSet [ /PDF /ImageC /Text ] >> endobj 9 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 197.505 null] +/D [320 0 R /XYZ 67.0 599.0 null] >> endobj -12 0 obj +11 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 409.505 null] +/D [291 0 R /XYZ 67.0 165.402 null] >> endobj -18 0 obj +16 0 obj << /S /GoTo /D [170 0 R /XYZ 67.0 725.0 null] >> endobj -21 0 obj +19 0 obj << /S /GoTo -/D [170 0 R /XYZ 67.0 574.0 null] +/D [170 0 R /XYZ 67.0 580.0 null] >> endobj -26 0 obj +24 0 obj << /S /GoTo -/D [170 0 R /XYZ 67.0 461.25 null] +/D [170 0 R /XYZ 67.0 470.25 null] >> endobj -31 0 obj +29 0 obj << /S /GoTo -/D [170 0 R /XYZ 67.0 381.5 null] +/D [170 0 R /XYZ 67.0 393.5 null] >> endobj -35 0 obj +33 0 obj << /S /GoTo -/D [188 0 R /XYZ 67.0 541.0 null] +/D [183 0 R /XYZ 67.0 517.518 null] >> endobj -39 0 obj +37 0 obj << /S /GoTo -/D [188 0 R /XYZ 67.0 261.516 null] +/D [183 0 R /XYZ 67.0 220.296 null] >> endobj -43 0 obj +41 0 obj << /S /GoTo -/D [196 0 R /XYZ 67.0 413.756 null] +/D [190 0 R /XYZ 67.0 359.224 null] >> endobj -47 0 obj +45 0 obj << /S /GoTo -/D [198 0 R /XYZ 67.0 334.378 null] +/D [192 0 R /XYZ 67.0 242.724 null] >> endobj -53 0 obj +52 0 obj << /S /GoTo -/D [200 0 R /XYZ 67.0 574.0 null] +/D [194 0 R /XYZ 67.0 477.0 null] >> endobj -57 0 obj +56 0 obj << /S /GoTo -/D [200 0 R /XYZ 67.0 532.0 null] +/D [194 0 R /XYZ 67.0 441.0 null] >> endobj -62 0 obj +61 0 obj << /S /GoTo -/D [200 0 R /XYZ 67.0 237.14 null] +/D [194 0 R /XYZ 67.0 120.394 null] >> endobj -66 0 obj +65 0 obj << /S /GoTo -/D [222 0 R /XYZ 67.0 566.512 null] +/D [207 0 R /XYZ 67.0 300.484 null] >> endobj -69 0 obj +68 0 obj << /S /GoTo -/D [222 0 R /XYZ 67.0 529.762 null] +/D [207 0 R /XYZ 67.0 266.734 null] >> endobj -74 0 obj +73 0 obj << /S /GoTo -/D [222 0 R /XYZ 67.0 165.278 null] +/D [215 0 R /XYZ 67.0 517.742 null] >> endobj -78 0 obj +77 0 obj << /S /GoTo -/D [235 0 R /XYZ 67.0 638.0 null] +/D [222 0 R /XYZ 67.0 286.93 null] >> endobj -82 0 obj +81 0 obj << /S /GoTo -/D [235 0 R /XYZ 67.0 342.768 null] +/D [224 0 R /XYZ 67.0 599.84 null] >> endobj -88 0 obj +87 0 obj << /S /GoTo -/D [237 0 R /XYZ 67.0 535.386 null] +/D [226 0 R /XYZ 67.0 725.0 null] >> endobj -95 0 obj +94 0 obj << /S /GoTo -/D [237 0 R /XYZ 67.0 363.264 null] +/D [226 0 R /XYZ 67.0 531.67 null] >> endobj -101 0 obj +100 0 obj << /S /GoTo -/D [237 0 R /XYZ 67.0 326.514 null] +/D [226 0 R /XYZ 67.0 497.92 null] >> endobj -104 0 obj +103 0 obj << /S /GoTo -/D [237 0 R /XYZ 67.0 132.014 null] +/D [226 0 R /XYZ 67.0 303.42 null] >> endobj -109 0 obj +108 0 obj << /S /GoTo -/D [255 0 R /XYZ 67.0 518.378 null] +/D [239 0 R /XYZ 67.0 660.0 null] >> endobj -113 0 obj +112 0 obj << /S /GoTo -/D [261 0 R /XYZ 67.0 184.292 null] +/D [244 0 R /XYZ 67.0 303.752 null] >> endobj -119 0 obj +118 0 obj << /S /GoTo -/D [269 0 R /XYZ 67.0 546.638 null] +/D [253 0 R /XYZ 67.0 658.518 null] >> endobj -127 0 obj +126 0 obj << /S /GoTo -/D [274 0 R /XYZ 67.0 498.26 null] +/D [257 0 R /XYZ 67.0 535.84 null] >> endobj -132 0 obj +131 0 obj << /S /GoTo -/D [279 0 R /XYZ 67.0 592.252 null] +/D [261 0 R /XYZ 67.0 604.536 null] >> endobj -138 0 obj +137 0 obj << /S /GoTo -/D [279 0 R /XYZ 67.0 245.752 null] +/D [261 0 R /XYZ 67.0 258.036 null] >> endobj -142 0 obj +141 0 obj << /S /GoTo -/D [290 0 R /XYZ 67.0 692.0 null] +/D [270 0 R /XYZ 67.0 598.42 null] >> endobj -146 0 obj +145 0 obj << /S /GoTo -/D [296 0 R /XYZ 67.0 277.276 null] +/D [276 0 R /XYZ 67.0 360.028 null] >> endobj -151 0 obj +150 0 obj << /S /GoTo -/D [298 0 R /XYZ 67.0 268.402 null] +/D [278 0 R /XYZ 67.0 299.234 null] >> endobj -158 0 obj +157 0 obj << /S /GoTo -/D [313 0 R /XYZ 67.0 242.166 null] +/D [287 0 R /XYZ 67.0 235.976 null] >> endobj -161 0 obj +160 0 obj << /S /GoTo -/D [315 0 R /XYZ 67.0 130.308 null] +/D [291 0 R /XYZ 67.0 692.152 null] >> endobj -165 0 obj +164 0 obj << /S /GoTo -/D [317 0 R /XYZ 67.0 660.0 null] +/D [291 0 R /XYZ 67.0 593.402 null] >> endobj -168 0 obj +167 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 725.0 null] +/D [291 0 R /XYZ 67.0 503.402 null] >> endobj 173 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 388.505 null] +/D [291 0 R /XYZ 67.0 144.402 null] >> endobj -176 0 obj +175 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 580.505 null] +/D [291 0 R /XYZ 67.0 336.402 null] +>> +endobj +177 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 557.0 null] >> endobj 179 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 155.505 null] +/D [320 0 R /XYZ 67.0 440.0 null] >> endobj -182 0 obj +181 0 obj << /S /GoTo -/D [380 0 R /XYZ 67.0 683.0 null] +/D [320 0 R /XYZ 67.0 504.0 null] >> endobj -185 0 obj +188 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 102.505 null] +/D [291 0 R /XYZ 67.0 389.402 null] >> endobj -193 0 obj +198 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 644.505 null] +/D [291 0 R /XYZ 67.0 368.402 null] >> endobj -205 0 obj +203 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 612.505 null] +/D [320 0 R /XYZ 67.0 578.0 null] >> endobj -208 0 obj +210 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 176.505 null] +/D [320 0 R /XYZ 67.0 525.0 null] >> endobj -216 0 obj +212 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 123.505 null] +/D [291 0 R /XYZ 67.0 442.402 null] >> endobj -219 0 obj +233 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 697.505 null] +/D [320 0 R /XYZ 67.0 472.0 null] >> endobj -246 0 obj +235 0 obj << /S /GoTo -/D [380 0 R /XYZ 67.0 715.0 null] +/D [291 0 R /XYZ 67.0 421.402 null] +>> +endobj +237 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 715.0 null] +>> +endobj +242 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 662.0 null] +>> +endobj +247 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 641.0 null] >> endobj 249 0 obj << /S /GoTo -/D [332 0 R /XYZ 67.0 676.505 null] ->> -endobj -252 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 324.505 null] ->> -endobj -258 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 271.505 null] ->> -endobj -264 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 250.505 null] ->> -endobj -267 0 obj -<< -/S /GoTo -/D [190 0 R /XYZ 67.0 464.89 null] ->> -endobj -301 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 516.505 null] ->> -endobj -304 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 303.505 null] ->> -endobj -310 0 obj -<< -/S /GoTo -/D [307 0 R /XYZ 67.0 671.0 null] ->> -endobj -320 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 229.505 null] ->> -endobj -323 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 441.505 null] ->> -endobj -326 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 548.505 null] ->> -endobj -329 0 obj -<< -/S /GoTo -/D [332 0 R /XYZ 67.0 356.505 null] ->> -endobj -384 0 obj -<< - /First 386 0 R - /Last 421 0 R ->> endobj -385 0 obj -<< -/S /GoTo /D [null /XYZ 0.0 0.0 null] >> endobj -387 0 obj +281 0 obj << /S /GoTo -/D [15 0 R /XYZ 67.0 715.0 null] +/D [291 0 R /XYZ 67.0 272.402 null] +>> +endobj +283 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 694.0 null] +>> +endobj +294 0 obj +<< +/S /GoTo +/D [320 0 R /XYZ 67.0 620.0 null] +>> +endobj +296 0 obj +<< +/S /GoTo +/D [291 0 R /XYZ 67.0 197.402 null] +>> +endobj +298 0 obj +<< +/S /GoTo +/D [291 0 R /XYZ 67.0 304.402 null] +>> +endobj +300 0 obj +<< +/S /GoTo +/D [291 0 R /XYZ 67.0 112.402 null] +>> +endobj +370 0 obj +<< + /First 371 0 R + /Last 403 0 R +>> endobj +404 0 obj +<< +/S /GoTo +/D [291 0 R /XYZ 67.0 452.402 null] >> endobj xref -0 428 +0 414 0000000000 65535 f -0000131845 00000 n -0000132135 00000 n -0000132228 00000 n +0000134963 00000 n +0000135253 00000 n +0000135346 00000 n 0000000015 00000 n 0000000071 00000 n -0000001940 00000 n -0000002060 00000 n -0000002106 00000 n -0000132368 00000 n -0000002239 00000 n -0000002372 00000 n -0000132434 00000 n -0000002509 00000 n -0000002646 00000 n -0000004080 00000 n -0000004203 00000 n -0000005110 00000 n -0000132501 00000 n -0000005243 00000 n -0000005378 00000 n -0000132566 00000 n -0000005512 00000 n -0000005648 00000 n -0000005785 00000 n -0000005922 00000 n -0000132631 00000 n -0000006056 00000 n -0000006192 00000 n -0000006329 00000 n -0000006466 00000 n -0000132697 00000 n -0000006601 00000 n -0000006737 00000 n -0000006874 00000 n -0000132762 00000 n -0000007009 00000 n -0000007145 00000 n -0000007282 00000 n -0000132827 00000 n -0000007417 00000 n -0000007553 00000 n -0000007690 00000 n -0000132894 00000 n -0000007824 00000 n -0000007960 00000 n -0000008097 00000 n -0000132961 00000 n -0000008231 00000 n -0000008367 00000 n -0000008504 00000 n -0000008641 00000 n -0000008778 00000 n -0000133028 00000 n -0000008911 00000 n -0000009046 00000 n -0000009183 00000 n -0000133093 00000 n -0000009317 00000 n -0000009453 00000 n -0000009590 00000 n -0000009726 00000 n -0000133158 00000 n -0000009861 00000 n -0000009997 00000 n -0000010134 00000 n -0000133224 00000 n -0000010268 00000 n -0000010404 00000 n -0000133291 00000 n -0000010539 00000 n -0000010675 00000 n -0000010812 00000 n -0000010949 00000 n -0000133358 00000 n -0000011084 00000 n -0000011219 00000 n -0000011355 00000 n -0000133425 00000 n -0000011490 00000 n -0000011626 00000 n -0000011763 00000 n -0000133490 00000 n -0000011898 00000 n -0000012034 00000 n -0000012171 00000 n -0000012308 00000 n -0000012445 00000 n -0000133557 00000 n -0000012580 00000 n -0000012716 00000 n -0000012853 00000 n -0000012990 00000 n -0000013127 00000 n -0000013264 00000 n -0000133624 00000 n -0000013398 00000 n -0000013534 00000 n -0000013671 00000 n -0000013808 00000 n -0000013944 00000 n -0000133691 00000 n -0000014081 00000 n -0000014219 00000 n -0000133759 00000 n -0000014356 00000 n -0000014494 00000 n -0000014632 00000 n -0000014770 00000 n -0000133827 00000 n -0000014907 00000 n -0000015045 00000 n -0000015184 00000 n -0000133895 00000 n -0000015321 00000 n -0000015459 00000 n -0000015598 00000 n -0000015737 00000 n -0000015876 00000 n -0000133963 00000 n -0000016013 00000 n -0000016151 00000 n -0000016290 00000 n -0000016429 00000 n -0000016568 00000 n -0000016707 00000 n -0000016846 00000 n -0000134031 00000 n -0000016983 00000 n -0000017121 00000 n -0000017260 00000 n -0000017399 00000 n -0000134098 00000 n -0000017536 00000 n -0000017674 00000 n -0000017813 00000 n -0000017952 00000 n -0000018091 00000 n -0000134166 00000 n +0000001691 00000 n +0000001811 00000 n +0000001843 00000 n +0000135511 00000 n +0000001977 00000 n +0000135575 00000 n +0000002113 00000 n +0000004128 00000 n +0000004251 00000 n +0000005172 00000 n +0000135642 00000 n +0000005305 00000 n +0000005441 00000 n +0000135707 00000 n +0000005574 00000 n +0000005712 00000 n +0000005851 00000 n +0000005990 00000 n +0000135772 00000 n +0000006123 00000 n +0000006261 00000 n +0000006400 00000 n +0000006539 00000 n +0000135838 00000 n +0000006673 00000 n +0000006809 00000 n +0000006946 00000 n +0000135903 00000 n +0000007080 00000 n +0000007216 00000 n +0000007353 00000 n +0000135970 00000 n +0000007487 00000 n +0000007623 00000 n +0000007760 00000 n +0000136037 00000 n +0000007893 00000 n +0000008028 00000 n +0000008165 00000 n +0000136104 00000 n +0000008298 00000 n +0000008436 00000 n +0000008575 00000 n +0000008714 00000 n +0000008853 00000 n +0000008992 00000 n +0000136171 00000 n +0000009125 00000 n +0000009260 00000 n +0000009397 00000 n +0000136236 00000 n +0000009530 00000 n +0000009668 00000 n +0000009807 00000 n +0000009946 00000 n +0000136301 00000 n +0000010080 00000 n +0000010216 00000 n +0000010353 00000 n +0000136368 00000 n +0000010486 00000 n +0000010622 00000 n +0000136435 00000 n +0000010756 00000 n +0000010895 00000 n +0000011034 00000 n +0000011173 00000 n +0000136502 00000 n +0000011307 00000 n +0000011442 00000 n +0000011578 00000 n +0000136569 00000 n +0000011712 00000 n +0000011848 00000 n +0000011985 00000 n +0000136635 00000 n +0000012119 00000 n +0000012258 00000 n +0000012397 00000 n +0000012536 00000 n +0000012675 00000 n +0000136701 00000 n +0000012809 00000 n +0000012948 00000 n +0000013085 00000 n +0000013224 00000 n +0000013361 00000 n +0000013500 00000 n +0000136766 00000 n +0000013633 00000 n +0000013771 00000 n +0000013910 00000 n +0000014049 00000 n +0000014188 00000 n +0000136832 00000 n +0000014323 00000 n +0000014462 00000 n +0000136899 00000 n +0000014598 00000 n +0000014739 00000 n +0000014880 00000 n +0000015021 00000 n +0000136966 00000 n +0000015157 00000 n +0000015295 00000 n +0000015434 00000 n +0000137032 00000 n +0000015570 00000 n +0000015711 00000 n +0000015852 00000 n +0000015993 00000 n +0000016134 00000 n +0000137100 00000 n +0000016270 00000 n +0000016411 00000 n +0000016550 00000 n +0000016691 00000 n +0000016830 00000 n +0000016971 00000 n +0000017110 00000 n +0000137168 00000 n +0000017246 00000 n +0000017387 00000 n +0000017528 00000 n +0000017669 00000 n +0000137235 00000 n +0000017805 00000 n +0000017946 00000 n +0000018087 00000 n 0000018228 00000 n -0000018365 00000 n -0000018503 00000 n -0000134234 00000 n -0000018638 00000 n -0000018775 00000 n -0000018913 00000 n -0000134300 00000 n -0000019048 00000 n -0000019185 00000 n -0000019324 00000 n -0000019463 00000 n -0000134368 00000 n -0000019598 00000 n -0000019735 00000 n -0000019874 00000 n -0000020012 00000 n -0000020150 00000 n -0000020289 00000 n -0000134436 00000 n -0000020425 00000 n -0000020563 00000 n -0000134504 00000 n -0000020699 00000 n -0000020837 00000 n -0000020975 00000 n -0000134572 00000 n -0000021110 00000 n -0000021247 00000 n -0000134638 00000 n -0000021384 00000 n -0000024658 00000 n -0000024784 00000 n -0000024885 00000 n -0000134704 00000 n -0000025022 00000 n -0000025159 00000 n -0000134772 00000 n -0000025296 00000 n -0000025433 00000 n -0000134840 00000 n -0000025572 00000 n -0000025711 00000 n -0000134908 00000 n -0000025846 00000 n -0000025981 00000 n -0000134974 00000 n -0000026115 00000 n -0000026250 00000 n -0000029834 00000 n -0000029944 00000 n -0000032136 00000 n -0000032262 00000 n -0000032299 00000 n -0000135042 00000 n -0000032436 00000 n -0000032573 00000 n -0000035890 00000 n -0000036000 00000 n -0000040200 00000 n -0000040310 00000 n -0000043600 00000 n -0000043726 00000 n -0000043795 00000 n -0000043934 00000 n -0000044073 00000 n -0000135110 00000 n -0000044212 00000 n -0000044351 00000 n -0000135178 00000 n -0000044490 00000 n -0000044629 00000 n -0000047088 00000 n -0000047198 00000 n -0000050514 00000 n -0000050640 00000 n -0000050693 00000 n -0000135246 00000 n -0000050834 00000 n -0000050975 00000 n -0000135314 00000 n -0000051116 00000 n -0000051257 00000 n -0000054161 00000 n -0000054287 00000 n -0000054372 00000 n -0000054512 00000 n -0000054652 00000 n -0000054793 00000 n -0000054934 00000 n -0000055075 00000 n -0000055216 00000 n -0000055354 00000 n -0000055492 00000 n -0000058119 00000 n -0000058229 00000 n -0000061388 00000 n -0000061498 00000 n -0000064650 00000 n -0000064776 00000 n -0000064893 00000 n -0000065032 00000 n -0000065171 00000 n -0000065312 00000 n -0000065453 00000 n -0000065594 00000 n -0000065735 00000 n -0000135382 00000 n -0000065876 00000 n -0000066017 00000 n -0000135448 00000 n -0000066158 00000 n -0000066299 00000 n -0000135516 00000 n -0000066436 00000 n -0000066575 00000 n -0000070147 00000 n -0000070273 00000 n -0000070310 00000 n -0000135584 00000 n -0000070446 00000 n -0000070582 00000 n -0000073392 00000 n -0000073518 00000 n -0000073563 00000 n -0000135652 00000 n -0000073702 00000 n -0000073841 00000 n -0000135720 00000 n -0000073982 00000 n -0000077109 00000 n -0000077235 00000 n -0000077272 00000 n -0000077410 00000 n -0000077548 00000 n -0000080948 00000 n -0000081074 00000 n -0000081111 00000 n -0000081247 00000 n -0000081384 00000 n -0000086100 00000 n -0000086226 00000 n -0000086279 00000 n -0000086418 00000 n -0000086557 00000 n -0000086697 00000 n -0000086837 00000 n -0000088786 00000 n -0000088896 00000 n -0000090582 00000 n -0000090692 00000 n -0000093548 00000 n -0000093674 00000 n -0000093719 00000 n -0000093860 00000 n -0000094001 00000 n -0000094141 00000 n -0000096456 00000 n -0000096566 00000 n -0000099627 00000 n -0000099753 00000 n -0000099806 00000 n -0000135787 00000 n -0000099947 00000 n -0000100088 00000 n -0000135855 00000 n -0000100225 00000 n -0000100364 00000 n -0000102553 00000 n -0000102679 00000 n -0000102716 00000 n -0000135923 00000 n -0000102853 00000 n -0000102990 00000 n -0000105367 00000 n -0000105477 00000 n -0000107276 00000 n -0000107386 00000 n -0000108616 00000 n -0000108742 00000 n -0000108827 00000 n -0000135989 00000 n -0000108964 00000 n -0000109101 00000 n -0000136057 00000 n -0000109238 00000 n -0000109375 00000 n -0000136125 00000 n -0000109507 00000 n -0000109641 00000 n -0000136193 00000 n -0000109776 00000 n -0000109911 00000 n -0000112807 00000 n -0000112933 00000 n -0000113234 00000 n -0000113447 00000 n -0000113660 00000 n -0000113873 00000 n -0000114085 00000 n -0000114296 00000 n -0000114508 00000 n -0000114720 00000 n -0000114933 00000 n -0000115146 00000 n -0000115353 00000 n -0000115555 00000 n -0000115757 00000 n -0000115959 00000 n -0000116161 00000 n -0000116363 00000 n -0000116584 00000 n -0000116805 00000 n -0000117026 00000 n -0000117247 00000 n -0000117468 00000 n -0000117662 00000 n -0000117801 00000 n -0000117903 00000 n -0000117977 00000 n -0000118116 00000 n -0000118218 00000 n -0000118292 00000 n -0000118431 00000 n -0000118533 00000 n -0000118607 00000 n -0000118746 00000 n -0000118848 00000 n -0000118922 00000 n -0000119061 00000 n -0000119163 00000 n -0000119237 00000 n -0000119444 00000 n -0000119640 00000 n -0000119844 00000 n -0000120033 00000 n -0000120224 00000 n -0000120445 00000 n -0000120666 00000 n -0000120887 00000 n -0000121108 00000 n -0000121638 00000 n -0000121764 00000 n -0000121801 00000 n -0000122019 00000 n -0000136261 00000 n -0000136315 00000 n -0000122237 00000 n -0000136375 00000 n -0000122539 00000 n -0000122740 00000 n -0000122969 00000 n -0000123263 00000 n -0000123558 00000 n -0000123797 00000 n -0000124033 00000 n -0000124236 00000 n -0000124479 00000 n -0000124765 00000 n -0000124988 00000 n -0000125294 00000 n -0000125506 00000 n -0000125751 00000 n -0000125959 00000 n -0000126248 00000 n -0000126502 00000 n -0000126741 00000 n -0000127091 00000 n -0000127454 00000 n -0000127647 00000 n -0000127925 00000 n -0000128162 00000 n -0000128439 00000 n -0000128816 00000 n -0000129070 00000 n -0000129335 00000 n -0000129598 00000 n -0000129803 00000 n -0000130073 00000 n -0000130447 00000 n -0000130642 00000 n -0000130824 00000 n -0000131036 00000 n -0000131182 00000 n -0000131296 00000 n -0000131405 00000 n -0000131512 00000 n -0000131622 00000 n -0000131734 00000 n +0000018369 00000 n +0000137303 00000 n +0000018505 00000 n +0000018642 00000 n +0000018780 00000 n +0000137371 00000 n +0000018915 00000 n +0000019052 00000 n +0000019190 00000 n +0000137438 00000 n +0000019325 00000 n +0000019465 00000 n +0000019606 00000 n +0000019747 00000 n +0000137506 00000 n +0000019882 00000 n +0000020022 00000 n +0000020161 00000 n +0000020302 00000 n +0000020440 00000 n +0000020581 00000 n +0000137574 00000 n +0000020716 00000 n +0000020854 00000 n +0000137642 00000 n +0000020989 00000 n +0000021126 00000 n +0000021264 00000 n +0000137710 00000 n +0000021399 00000 n +0000021537 00000 n +0000137778 00000 n +0000021672 00000 n +0000021810 00000 n +0000025205 00000 n +0000025331 00000 n +0000025392 00000 n +0000137846 00000 n +0000025529 00000 n +0000137914 00000 n +0000025666 00000 n +0000137982 00000 n +0000025805 00000 n +0000138048 00000 n +0000025940 00000 n +0000138114 00000 n +0000026074 00000 n +0000029650 00000 n +0000029760 00000 n +0000032157 00000 n +0000032283 00000 n +0000032312 00000 n +0000138180 00000 n +0000032453 00000 n +0000035787 00000 n +0000035897 00000 n +0000039761 00000 n +0000039871 00000 n +0000043166 00000 n +0000043292 00000 n +0000043329 00000 n +0000043468 00000 n +0000138248 00000 n +0000043607 00000 n +0000046361 00000 n +0000046487 00000 n +0000046516 00000 n +0000138316 00000 n +0000046653 00000 n +0000049653 00000 n +0000049763 00000 n +0000052680 00000 n +0000052806 00000 n +0000052851 00000 n +0000138382 00000 n +0000052988 00000 n +0000138448 00000 n +0000053129 00000 n +0000053269 00000 n +0000055855 00000 n +0000055981 00000 n +0000056034 00000 n +0000056175 00000 n +0000056314 00000 n +0000056451 00000 n +0000056588 00000 n +0000059844 00000 n +0000059954 00000 n +0000062311 00000 n +0000062421 00000 n +0000066165 00000 n +0000066291 00000 n +0000066368 00000 n +0000066504 00000 n +0000066640 00000 n +0000066779 00000 n +0000066918 00000 n +0000138516 00000 n +0000067057 00000 n +0000138582 00000 n +0000067196 00000 n +0000138650 00000 n +0000067331 00000 n +0000070303 00000 n +0000070429 00000 n +0000070458 00000 n +0000138716 00000 n +0000070595 00000 n +0000073641 00000 n +0000073767 00000 n +0000073820 00000 n +0000138782 00000 n +0000073959 00000 n +0000138848 00000 n +0000074100 00000 n +0000074241 00000 n +0000074382 00000 n +0000077917 00000 n +0000078043 00000 n +0000078072 00000 n +0000078210 00000 n +0000081680 00000 n +0000081806 00000 n +0000081835 00000 n +0000081971 00000 n +0000086566 00000 n +0000086692 00000 n +0000086729 00000 n +0000086867 00000 n +0000087007 00000 n +0000089031 00000 n +0000089141 00000 n +0000090643 00000 n +0000090753 00000 n +0000093493 00000 n +0000093619 00000 n +0000093664 00000 n +0000093801 00000 n +0000093942 00000 n +0000094082 00000 n +0000096782 00000 n +0000096892 00000 n +0000100079 00000 n +0000100205 00000 n +0000100242 00000 n +0000138908 00000 n +0000100383 00000 n +0000138976 00000 n +0000100520 00000 n +0000102782 00000 n +0000102892 00000 n +0000105321 00000 n +0000105431 00000 n +0000107327 00000 n +0000107437 00000 n +0000110619 00000 n +0000110745 00000 n +0000110942 00000 n +0000139042 00000 n +0000111083 00000 n +0000139108 00000 n +0000111224 00000 n +0000139176 00000 n +0000111361 00000 n +0000139244 00000 n +0000111502 00000 n +0000111715 00000 n +0000111928 00000 n +0000112141 00000 n +0000112353 00000 n +0000112564 00000 n +0000112776 00000 n +0000112989 00000 n +0000113197 00000 n +0000113398 00000 n +0000113602 00000 n +0000113804 00000 n +0000114008 00000 n +0000114210 00000 n +0000114432 00000 n +0000114654 00000 n +0000114873 00000 n +0000115095 00000 n +0000115317 00000 n +0000116824 00000 n +0000116950 00000 n +0000117275 00000 n +0000117465 00000 n +0000117655 00000 n +0000117845 00000 n +0000117980 00000 n +0000118082 00000 n +0000118156 00000 n +0000118293 00000 n +0000118395 00000 n +0000118469 00000 n +0000118604 00000 n +0000118706 00000 n +0000118780 00000 n +0000118917 00000 n +0000119019 00000 n +0000119093 00000 n +0000119228 00000 n +0000119330 00000 n +0000119404 00000 n +0000119607 00000 n +0000119810 00000 n +0000120013 00000 n +0000120216 00000 n +0000120419 00000 n +0000120610 00000 n +0000120801 00000 n +0000120993 00000 n +0000121185 00000 n +0000121387 00000 n +0000121589 00000 n +0000121791 00000 n +0000121993 00000 n +0000122194 00000 n +0000122395 00000 n +0000122597 00000 n +0000122781 00000 n +0000122966 00000 n +0000123151 00000 n +0000123336 00000 n +0000123522 00000 n +0000123709 00000 n +0000123896 00000 n +0000124083 00000 n +0000124304 00000 n +0000124525 00000 n +0000124744 00000 n +0000124965 00000 n +0000125185 00000 n +0000139312 00000 n +0000125403 00000 n +0000125618 00000 n +0000125913 00000 n +0000126209 00000 n +0000126449 00000 n +0000126686 00000 n +0000126890 00000 n +0000127134 00000 n +0000127421 00000 n +0000127645 00000 n +0000127952 00000 n +0000128165 00000 n +0000128411 00000 n +0000128620 00000 n +0000128910 00000 n +0000129165 00000 n +0000129405 00000 n +0000129756 00000 n +0000130120 00000 n +0000130314 00000 n +0000130593 00000 n +0000130831 00000 n +0000131109 00000 n +0000131487 00000 n +0000131742 00000 n +0000132008 00000 n +0000132272 00000 n +0000132478 00000 n +0000132749 00000 n +0000133124 00000 n +0000133320 00000 n +0000133503 00000 n +0000133716 00000 n +0000139366 00000 n +0000133920 00000 n +0000134063 00000 n +0000134179 00000 n +0000134293 00000 n +0000134402 00000 n +0000134509 00000 n +0000134619 00000 n +0000134731 00000 n +0000134842 00000 n trailer << -/Size 428 +/Size 414 /Root 2 0 R /Info 4 0 R >> startxref -136440 +139434 %%EOF diff --git a/doc/paper/src/abstract.sgml b/doc/paper/src/abstract.sgml deleted file mode 100644 index 3c6dc1d..0000000 --- a/doc/paper/src/abstract.sgml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - AlekseyGurtovoy - - MetaCommunications -

agurtovoy@meta-comm.com - - - - - DavidAbrahams - - Boost Consulting -
david.abrahams@rcn.com - - - - - - -This paper describes the &Boost; &Cxx; template metaprogramming library (&MPL;), an extensible compile-time framework of algorithms, sequences and metafunction classes. The library brings together important abstractions from the generic and functional programming worlds to build a powerful and easy-to-use toolset which makes template metaprogramming practical enough for the real-world environments. The &MPL; is heavily influenced by its run-time equivalent - the Standard Template Library (STL), a part of the C++ standard library , . Like the STL, it defines an open conceptual and implementation framework which can serve as a foundation for future contributions in the domain. The library's fundamental concepts and idioms enable the user to focus on solutions without navigating the universe of possible ad-hoc approaches to a given metaprogramming problem, even if no actual &MPL; code is used. The library also provides a compile-time lambda expression facility enabling arbitrary currying and composition of class templates, a feature whose runtime counterpart is often cited as missing from the STL. This paper explains the motivation, usage, design, and implementation of the &MPL; with examples of its real-life applications, and offers some lessons learned about &Cxx; template metaprogramming. - - - - -template metaprogramming -generic programming -programming languages -C++ -STL -type systems -polymorphism -compile-time - - - diff --git a/doc/paper/src/acknowl.sgml b/doc/paper/src/acknowl.sgml deleted file mode 100644 index f91ab72..0000000 --- a/doc/paper/src/acknowl.sgml +++ /dev/null @@ -1,10 +0,0 @@ - - -
-Acknowledgements</> - -<para> -Peter Dimov contributed the <literal>bind</> functionality without which compile-time lambda expressions wouldn't have been possible. The &MPL; implementation would have been much more difficult without Vesa Karvonen's wonderful Boost Preprocessor Metaprogramming Library. Authors are also greatly indebted to David B. Held who kindly volunteered to thoroughly edit this document. Of course, any remaining errors are exclusively ours. -</> - -</section> diff --git a/doc/paper/src/body.sgml b/doc/paper/src/body.sgml deleted file mode 100644 index bde300a..0000000 --- a/doc/paper/src/body.sgml +++ /dev/null @@ -1,41 +0,0 @@ -<!doctype article public "-//OASIS//DTD DocBook V4.1//EN" -[ -<!-- abbreviations --> -<!entity mdash "-"> -<!entity Boost "<literal>Boost</>"> -<!entity Cxx "C++"> -<!entity C "C"> -<!entity MPL "MPL"> -<!entity BMPL "Boost Metaprogramming Library"> -<!entity mdat "metadata"> -<!entity mping "metaprogramming"> -<!entity mfn "metafunction"> -<!entity unspec "/*unspecified*/"> - -<!-- physical entities --> -<!entity abstract SYSTEM "abstract.sgml"> -<!entity introduction SYSTEM "introduction.sgml"> -<!entity usage SYSTEM "usage.sgml"> -<!entity typeselection SYSTEM "typeselection.sgml"> -<!entity metafunctions SYSTEM "metafunctions.sgml"> -<!entity sequences SYSTEM "sequences.sgml"> -<!entity lambda SYSTEM "lambda.sgml"> -<!entity codegeneration SYSTEM "codegeneration.sgml"> -<!entity example SYSTEM "example.sgml"> -<!entity acknowl SYSTEM "acknowl.sgml"> -<!entity references SYSTEM "references.sgml"> -]> - -<article> -<title>The Boost &Cxx; Metaprogramming Library</> - -&abstract; -&introduction; -&usage; -λ -&codegeneration; -&example; -&acknowl; -&references; - -</article> diff --git a/doc/paper/src/codegeneration.sgml b/doc/paper/src/codegeneration.sgml deleted file mode 100644 index 6a9227c..0000000 --- a/doc/paper/src/codegeneration.sgml +++ /dev/null @@ -1,96 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="codegeneration"> -<title>Code generation facilities</> - -<para> -There are cases, especially in the domain of numeric computation, when one wants to perform some part of the calculations at compile-time, and then pass the results to a run-time part of the program for further processing. For example, suppose one has implemented a complex compile-time algorithm that works with fixed-point arithmetic: -</> - -<programlisting> -<![CDATA[ -// fixed-point algorithm input -typedef mpl::vector< - mpl::fixed_c<-1,2345678> - , mpl::fixed_c<9,0001> - // .. - , mpl::fixed_c<3,14159> - > input_data; - -/* - complex compile-time algorithm -*/ -typedef /*...*/ result_data; -]]> -</> - -<para> -Suppose the <literal>result_data</> here is a sequence of <literal>mpl::fixed_c</> types that keeps the results of the algorithm, and now one wishes to feed that result to the run-time part of the algorithm. With &MPL; she can do this: -</> - -<programlisting> -<![CDATA[ -double my_algorithm() -{ - // passing the results to the run-time part of the program - std::vector<double> results; - results.reserve(mpl::size<result_data>::value); - mpl::for_each<numbers,_>( - boost::bind(&std::vector<double>::push_back, &results, _1) - ); - // ... -} -]]> -</> - -<para> -The <literal>for_each<numbers,_>(...)</> call is what actually transfers the compile-time <literal>result_data</> into run-time <literal>results</>. <literal>for_each</> is a function template declared as: -</> - -<programlisting> -<![CDATA[ -template< - typename Seq - , typename TransformOp - , typename F - > -void for_each(F f) -{ - // ... -} -]]> -</> - -<para>To call the function, one is required to explicitly provide two actual template parameters, a compile-time sequence <literal>Seq</> and a unary transformation metafunction <literal>TransformOp</>, plus a run-time function argument <literal>f</> (in our example, <literal>numbers</>, <literal>_</>, and <literal>boost::bind(...)</> correspondingly). <literal>f</> is a function object which <literal>operator()</> is called for every element in the <literal>Seq</> tranfromed by <literal>TransformOp</>. -</> - -<para> -Applying this to our example, the -</> - -<programlisting> -<![CDATA[ -mpl::for_each<numbers,_>( - boost::bind(&std::vector<double>::push_back, &results, _1) - ); -]]> -</> - -<para> -call is roughly equivalent to this: -</> - -<programlisting> -<![CDATA[ -f(mpl::apply< _,mpl::at_c<result_data,0>::type >::type()); -f(mpl::apply< _,mpl::at_c<result_data,1>::type >::type()); -// ... -f(mpl::apply< _,mpl::at_c<result_data,n>::type >::type()); -]]> -</> - -<para> -where <literal>n == mpl::size<result_data>::type::value</>. -</> - -</section> diff --git a/doc/paper/src/example.sgml b/doc/paper/src/example.sgml deleted file mode 100644 index 868a06f..0000000 --- a/doc/paper/src/example.sgml +++ /dev/null @@ -1,294 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="example"> -<title>Example: a compile-time FSM generator</> - -<para> -Finite state machines (<acronym>FSMs</>) are an important tool for describing and implementing program behavior <citation><xref linkend="ref.hu79"></>, <citation><xref linkend="ref.mar98"></>. They also are a good example of a domain in which &mping; can be applied to reduce the amount of repetitive and boilerplate operations one must perform in order to implement these simple mathematical models in code. Below we present a simple state machine generator that has been implemented using &BMPL; facilities. The generator takes a compile-time automata description, and converts it into &Cxx; code that implements the FSM at run-time. -</> - -<para> -The FSM description is basically a combination of states and events plus a state transition table (<acronym>STT</>), which ties them all together. The generator walks through the table and generates the state machine's <literal>process_event</> method that is the essence of an FSM. -</> - -<para> -Suppose we want to implement a simple music player using a finite state machine model. The state transition table -for the FSM is shown in <xref linkend="example.fsm.stt">. The STT format reflects the way one usually describes the behavior of an FSM in plain English. For example, the first line of the table can be read as follows: <quote>If the model is in the <literal>stopped</> state and the <literal>play_event</> is received, then the <literal>do_play</> transition function is called, and the model transitions to the <literal>playing</> state</>. -</> - -<table id="example.fsm.stt" frame="none"> -<title>Player's state transition table with actions</> - -<tgroup cols="4" align="left"> -<thead> -<row> - <entry>State</> - <entry>Event</> - <entry>Next state</> - <entry>Transition function</> -</> -</> - -<tbody> -<row> - <entry><literal>stopped</></> - <entry><literal>play_event</></> - <entry><literal>playing</></> - <entry><literal>do_play</></> -</> -<row> - <entry><literal>playing</></> - <entry><literal>stop_event</></> - <entry><literal>stopped</></> - <entry><literal>do_stop</></> -</> -<row> - <entry><literal>playing</></> - <entry><literal>pause_event</></> - <entry><literal>paused</></> - <entry><literal>do_pause</></> -</> -<row> - <entry><literal>paused</></> - <entry><literal>play_event</></> - <entry><literal>playing</></> - <entry><literal>do_resume</></> -</> -<row> - <entry><literal>paused</></> - <entry><literal>stop_event</></> - <entry><literal>stopped</></> - <entry><literal>do_stop</></> -</> -</> -</tgroup> - -</table> - -<para> -The transition table provides us with a complete formal definition of the target FSM, and there are several ways to -transform that definition into code. For instance, if we define states as members of an enumeration type, and events as classes derived from some base <literal>event</> class - -<footnote id="note.fsm"><para>The events need to be passed to action functions, as they may contain some event-specific information for an action.</></> - -, like so: -</> - -<programlisting> -<![CDATA[ -class player -{ - public: - // event declarations - struct event; - struct play_event; - struct stop_event; - struct pause_event; - - // "input" function - void process_event(event const&); // throws - - private: - // states - enum state_t { stopped, playing, paused }; - - // transition functions - void do_play(play_event const&); - void do_stop(stop_event const&); - void do_pause(pause_event const&); - void do_resume(play_event const&); - - private: - state_t m_state; -}; -]]> -</> - -<para> -then the most straightforward way to derive the FSM implementation from the above table would be something -like this: -</> - -<programlisting> -<![CDATA[ -void player::process_event(event const& e) -{ - if (m_state == stopped) - { - if (typeid(e) == typeid(play_event)) - { - do_play(static_cast<play_event const&>(e)); - m_state = playing; - return; - } - } - else if (m_state == playing) - { - if (typeid(e) == typeid(stop_event)) - { - do_stop(static_cast<stop_event const&>(e)); - m_state = stopped; - return; - } - - if (typeid(e) == typeid(pause_event)) - { - do_pause(static_cast<pause_event const&>(e)); - m_state = paused; - return; - } - } - else if (m_state == paused) - { - if (typeid(e) == typeid(stop_event)) - { - do_stop(static_cast<stop_event const&>(e)); - m_state = stopped; - return; - } - - if (typeid(e) == typeid(play_event)) - { - do_play(static_cast<play_event const&>(e)); - m_state = playing; - return; - } - } - else - { - throw logic_error( - boost::format("unknown state: %d") - % static_cast<int>(m_state) - ); - } - - throw std::logic_error( - "unexpected event: " + typeid(e).name() - ); -} -]]> -</> - -<para> -Although there is nothing particularly wrong with implementing an FSM's structure using nested <literal>if</> (or <literal>switch-case</>) statements, the obvious weakness of this approach is that most of the above code is boilerplate. What one tends to do with boilerplate code is to copy and paste it, then change names etc. to adjust it to its new location; and that's where the errors are most likely to creep in. Since all the lines of event processing look alike (structurally), it's very easy to overlook or forget something that needs to be changed, and many such errors won't appear until the runtime. -</> - -<para> -The transition table of our FSM is just five lines long; ideally, we would like the skeleton implementation of the automata's controlling logic to be equally short (or, at least, to look equally short, i.e. to be encapsulated in some form so we never worry about it). -</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="example.impl"> -<title>Implementation</> - -<para> -To represent the STT in a &Cxx; program, we define a <literal>transition</> class template that represents a single line of the table. Then the table itself can be represented as a sequence of such lines: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list< - transition<stopped, play_event, playing, &player::do_play> - , transition<playing, stop_event, stopped, &player::do_stop> - , transition<playing, pause_event, paused, &player::do_pause> - , transition<paused, play_event, playing, &player::do_resume> - , transition<paused, stop_event, stopped, &player::do_stop> - >::type transition_table; -]]></> - -<para> -Now, the complete FSM will look like this: -</> - -<programlisting> -<![CDATA[ -class player - : state_machine<player> -{ - private: - typedef player self_t; - - // state invariants - void stopped_state_invariant(); - void playing_state_invariant(); - void paused_state_invariant(); - - // states (invariants are passed as non-type template arguments, - // and are called then the FSM enters the corresponding state) - typedef state<0, &self_t::stopped_state_invariant> stopped; - typedef state<1, &self_t::playing_state_invariant> playing; - typedef state<2, &self_t::paused_state_invariant> paused; - - private: - // event declarations; events are represented as types, - // and can carry a specific data for each event; - // but it's not needed for generator, so we define them later - struct play_event; - struct stop_event; - struct pause_event; - - // transition functions - void do_play(play_event const&); - void do_stop(stop_event const&); - void do_pause(pause_event const&); - void do_resume(play_event const&); - - // STT - friend class state_machine<player>; - typedef mpl::list< - transition<stopped, play_event, playing, &player::do_play> - , transition<playing, stop_event, stopped, &player::do_stop> - , transition<playing, pause_event, paused, &player::do_pause> - , transition<paused, play_event, playing, &player::do_resume> - , transition<paused, stop_event, stopped, &player::do_stop> - >::type transition_table; -}; -]]> -</> - -<para> -That's all — the above will generate a complete FSM implementation according to our specification. The only thing we need before using it is the definition of the event types (that were just forward declared before): -</> - -<programlisting> -<![CDATA[ -// event definitions -struct player::play_event - : player::event -{ -}; - -// ... -]]> -</> - -<para> -The usage is simple as well: -</> - -<programlisting> -<![CDATA[ -int main() -{ - // usage example - player p; - p.process_event(player::play_event()); - p.process_event(player::pause_event()); - p.process_event(player::play_event()); - p.process_event(player::stop_event()); - return 0; -} -]]> -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="example.relatedwork"> -<title>Related work</> - -<para> -A notable prior work in the field of automation of general-purpose state machine implementation in &Cxx; is the Robert Martin's <emphasis>State Machine Compiler</> <citation><xref linkend="ref.smc"></>. The SMC takes an ASCII description of the machine's state transition table and produces &Cxx; code that implements the FSM using a variation of State design pattern <citation><xref linkend="ref.hun91"></>, <citation><xref linkend="ref.ghj95"></>. Lafreniere <citation><xref linkend="ref.laf00"></> presents another approach, where no external tools are used, and the FSMs are table driven. -</> -</section> - -</section> diff --git a/doc/paper/src/introduction.sgml b/doc/paper/src/introduction.sgml deleted file mode 100644 index 1dbfa81..0000000 --- a/doc/paper/src/introduction.sgml +++ /dev/null @@ -1,375 +0,0 @@ -<section id="intro"> -<title>Introduction</> - -<para> -Metaprogramming is usually defined as the creation of programs which generate other programs. Parser generators such as YACC <citation><xref linkend="ref.Joh79"></> are examples of one kind of program-generating program. The input language to YACC is a context-free grammar in Extended Backus-Naur Form <citation><xref linkend="ref.EBNF"></>, and its output is a program which parses that grammar. Note that in this case the metaprogram (YACC) is written in a language (&C;) which does not directly support the description of generated programs. These specifications, which we'll call <emphasis>&mdat;</>, are not written in &C;, but in a <emphasis>meta-language</>. Because the the rest of the user's program typically requires a general-purpose programming system and must interact with the generated parser, the &mdat; is translated into &C;, which is then compiled and linked together with the rest of the system. The &mdat; thus undergoes two translation steps, and the user is always very conscious of the boundary between her &mdat; and the rest of her program. -</> - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="intro.native"> -<title>Native language metaprogramming</> - -<para> -A more interesting form of &mping; is available in languages such as Scheme <citation><xref linkend="ref.SS75"></>, where the generated program specification is given in the same language as the metaprogram itself. The metaprogrammer defines her meta-language as a subset of the expressible forms of the underlying language, and program generation can take place in the same translation step used to process the rest of the user's program. This -allows users to switch transparently between ordinary programming, generated program specification, and &mping;, often without being aware of the transition. -</> -</section> - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="intro.cxx"> -<title>Metaprogramming in &Cxx;</> - -<para> -In &Cxx;, it was discovered almost by accident <citation><xref linkend="ref.Unr"></>, <citation><xref linkend="ref.Vel95a"></> that the template mechanism provides a rich facility for computation at compile-time. In this section, we'll explore the basic mechanisms and some common idioms used for metaprogramming in &Cxx;. -</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="intro.cxx.numeric"> -<title>Numeric computations</> - -<para> -The availability of <emphasis>non-type template parameters</> makes it possible to perform integer computations at compile-time. For example, the following template computes the factorial of its argument: -</> - -<programlisting> -<![CDATA[ -template< unsigned n > -struct factorial -{ - static const unsigned value = n * factorial<n-1>::value; -}; - -template<> -struct factorial<0> -{ - static const unsigned value = 1; -}; -]]> -</> - -<para> -The program fragment above is called a <emphasis>&mfn;</>, and it is easy to see its relationship to a function designed to be evaluated at runtime: the <quote>&mfn; argument</> is passed as a template parameter, and its <quote>return value</> is defined as a nested static constant. Because of the hard line between the expression of compile-time and runtime computation in &Cxx;, metaprograms look different from their runtime counterparts. Thus, although as in Scheme the &Cxx; metaprogrammer writes her code in the same language as the ordinary program, only a subset -of the full &Cxx; language is available to her: those expressions which can be evaluated at compile-time. Compare the above with a straightforward runtime definition of the factorial function: -</> - -<programlisting> -unsigned factorial(unsigned N) -{ - return N == 0 ? 1 : N * factorial(N - 1); -} -</> - -<para> -While it is easy to see the analogy between the two recursive definitions, recursion is in general more important to &Cxx; metaprograms than it is to runtime &Cxx;. In contrast to languages such as Lisp where recursion is idiomatic, &Cxx; programmers will typically avoid recursion when possible. This is done not only for efficiency reasons, but also because of <quote>cultural momentum</>: recursive programs are simply harder (for &Cxx; programmers) to think about. Like pure Lisp, though, the &Cxx; template mechanism is a <emphasis>functional</> programming language: as such it rules out the use of data mutation required to maintain loop variables. -</> - -<para> -A key difference between the runtime and compile-time factorial functions is the expression of the termination condition: our meta-factorial uses template specialization as a kind of <emphasis>pattern-matching</> mechanism to describe the behavior when <literal>N</> is zero. The syntactic analogue in the runtime world would require two separate definitions of the same function. In this case the impact of the second definition is minimal, but in large -metaprograms the cost of maintaining and understanding the terminating definitions can become significant. -</> - -<para> -Note also that a &Cxx; &mfn;'s return value must be <emphasis>named</>. The name chosen here, <literal>value</>, is the same one used for all numeric returns in the &MPL;. As we'll see, establishing a consistent naming -convention for &mfn; returns is crucial to the power of the library. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="intro.cxx.type"> -<title>Type computations</> - -<para> -How could we apply our <literal>factorial</> &mfn;? We might, for example, produce an array type of an appropriate size to hold all permutations of instances of another type: -</> - -<programlisting> -<![CDATA[ -// permutation_holder<T>::type is an array type which can contain -// all permutations of a given T. - -// unspecialized template for scalars -template< typename T > -struct permutation_holder -{ - typedef T type[1][1]; -}; - -// specialization for array types -template< typename T, unsigned N > -struct permutation_holder<T[N]> -{ - typedef T type[factorial<N>::value][N]; -}; -]]> -</> - -<para> -Here we have introduced the notion of a <emphasis>type computation</>. Like <literal>factorial</> above, <literal>permutation_holder</> template is a &mfn;. However, where <literal>factorial</> manipulates unsigned integer values, <literal>permutation_holder</> accepts and <quote>returns</> a type (as the nested typedef <literal>type</>). Because the &Cxx; type system provides a much richer set of expressions than anything we can use as a nontype template argument (e.g. the integers), &Cxx; metaprograms tend to be composed mostly of type computations. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="intro.cxx.seq"> -<title>Type sequences</> - -<para> -The ability to programmatically manipulate collections of types is a central tool of most interesting &Cxx; metaprograms. Because this capability is so well-supported by the &MPL;, we'll provide just a brief -introduction to the basics here. Later on, we'll revisit the example below to show how it can be implemented using &MPL;. -</> - -<para> -First, we'd need a way to represent the collection. One idea might be to store the types in a structure: -</> - -<programlisting> -<![CDATA[ -struct types -{ - int t1; - long t2; - std::vector<double> t3; -}; -]]> -</> - -<para> -Unfortunately, this arrangement is not susceptible to the compile-time type introspection power that &Cxx; gives us: there's no way to find out what the names of the members are, and even if we assume that they're named according to some convention as above, there's no way to know how many members there are. The key to solving this problem is to -increase the uniformity of the representation. If we have a consistent way to get the first type of any sequence and the rest of the sequence, we can easily access all members: -</> - -<programlisting> -<![CDATA[ -template< typename First, typename Rest > -struct cons -{ - typedef First first; - typedef Rest rest; -}; - -struct nil {}; - -typedef - cons<int - , cons<long - , cons<std::vector<double> - , nil - > > > my_types; -]]> -</> - -<para> -The structure described by <literal>types</> above is the compile-time analogue of a singly-linked list; it has been first introduced by Czarnecki and Eisenecker in <citation><xref linkend="ref.ce98"></>. Now that we've adjusted the structure so that the &Cxx; template machinery can <quote>peel it apart</>, let's examine a simple metafunction which does so. Suppose a user wished to find the largest of an arbitrary collection of types. We can apply the recursive &mfn; formula which should by now be familiar: -</> - -<example id="example.largest"> -<title>'largest' metafunction</> -<programlisting> -<![CDATA[ -// choose the larger of two types -template< - typename T1 - , typename T2 - , bool choose1 = (sizeof(T1) > sizeof(T2)) // hands off! - > -struct choose_larger -{ - typedef T1 type; -}; - -// specialization for the case where sizeof(T2) >= sizeof(T1) -template< typename T1, typename T2 > -struct choose_larger< T1,T2,false > -{ - typedef T2 type; -}; - -// get the largest of a cons-list -template< typename T > struct largest; - -// specialization to peel apart the cons list -template< typename First, typename Rest > -struct largest< cons<First,Rest> > - : choose_larger< First, typename largest<Rest>::type > -{ - // type inherited from base -}; - -// specialization for loop termination -template< typename First > -struct largest< cons<First,nil> > -{ - typedef First type; -}; - -int main() -{ - // print the name of the largest of my_types - std::cout - << typeid(largest<my_types>::type).name() - << std::endl - ; -} -]]> -</> -</> - -<para> -There are several things worth noticing about this code: -</> - -<itemizedlist mark="box"> - -<listitem><para> -It uses a few ad-hoc, esoteric techniques, or <quote>hacks</>. The default template argument <literal>choose1</> (labeled <quote>hands off!</>) is one example. Without it, we would have needed yet another template to provide the implementation of <literal>choose_larger</>, or we would have had to provide the computation explicitly as a parameter to the template - perhaps not bad for this example, but it would make <literal>choose_larger</> much less useful and more error-prone. The other hack is the derivation of a specialization of <literal>largest</> from <literal>choose_larger</>. This is a code-saving device which allows the programmer to avoid writing <quote><literal>typedef - typename </>...<literal>::type type</></> in the template body. -</></> - -<listitem><para> -Even this simple metaprogram uses three separate partial specializations. The <literal>largest</> &mfn; uses <emphasis>two</> specializations. One might expect that this indicates there are two termination conditions, but there are not: one specialization is needed simply to deal with access to the sequence elements. These specializations make the code difficult to read by spreading the definition of a single &mfn; over several &Cxx; template definitions. Also, because they are <emphasis>partial</> specializations, they make the code unusable for a large community of &Cxx; programmers whose compilers don't support that feature. -</></> - -</itemizedlist> - -<para> -While these techniques are, of course, a valuable part of the arsenal of any good &Cxx; metaprogrammer, their use tends to make programs written in what is already an unusual style harder-to-read and harder-to-write. By encapsulating commonly-used structures and dealing with loop terminations internally, the &MPL; reduces the need for both tricky hacks and for template specializations. -</> -</section> - -</section> - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="intro.whymetaprog"> -<title>Why metaprogramming?</> - -<!-- -maybe we don't need another example of a metaprogram given what -we've done above? We could rewrite and cut most of this section... ---> - -<para> -It's worth asking why anyone would want to do this. After all, even a simple toy example like the factorial &mfn; is somewhat esoteric. To show how the type computation can be put to work, let's examine a simple example. The following code produces an array containing all possible permutations of another array: -</> - -<programlisting> -<![CDATA[ -// can't return an array in C++, so we need this wrapper -template< typename T > -struct wrapper -{ - T x; -}; - -// return an array of the N! permutations of 'in' -template< typename T > -wrapper< typename permutation_holder<T>::type > -all_permutations(T const& in) -{ - wrapper<typename permutation_holder<T>::type> result; - - // copy the unpermutated array to the first result element - unsigned const N = sizeof(T) / sizeof(**result.x); - std::copy(&*in, &*in + N, result.x[0]); - - // enumerate the permutations - unsigned const result_size = sizeof(result.x) / sizeof(T); - for (T* dst = result.x + 1; dst != result.x + result_size; ++dst) - { - T* src = dst - 1; - std::copy(*src, *src + N, *dst); - std::next_permutation(*dst, *dst + N); - } - return result; -} -]]> -</> - -<!-- ...up to this point --> - -<para> -The runtime definition of <literal>factorial</> would be useless in <literal>all_permutations</> above, since in &Cxx; the sizes of array members must be computed at compile-time. However, there are alternative approaches; how could we avoid &mping;, and what would the consequences be? -</> - -<orderedlist> - -<listitem> -<para> -We could write programs to interpret the &mdat; directly. In our factorial example, the array size could have been a runtime quantity; then we'd have been able to use the straightforward factorial function. However, that would imply the use of dynamic allocation, which is often expensive. -</> -<para> -To carry this further, YACC might be rewritten to accept a pointer-to-function returning tokens from the stream to be parsed, and a string containing the grammar description. This approach, however, would impose unacceptable runtime costs for most applications: either the parser would have to treat the grammar nondeterministically, exploring the grammar for each parse, or it would have to begin by replicating at runtime the substantial table-generation and optimization work of the existing YACC for each input grammar. -</> -</> - -<listitem> -<para> -We could replace the compile-time computation with our own analysis. After all, the size of arrays passed to - <literal>all_permutations</> are always known at compile-time, and thus can be known to its user. We could ask the user to supply the result type explicitly: -</> - -<programlisting> -<![CDATA[ -template< typename Result, typename T > -Result all_permutations(T const& input); -]]> -</> - -<para> -The costs to this approach are obvious: we give up expressivity (by requiring the user to explicitly specify implementation details), and correctness (by allowing the user to specify them incorrectly). Anyone who has had to write parser tables by hand will tell you that the impracticality of this approach is the very reason of YACC's existence. -</> -<para> -In a language such as &Cxx;, where the &mdat; can be expressed in the same language as the rest of the user's program, expressivity is further enhanced: the user can invoke metaprograms directly, without learning a foreign syntax or interrupting the flow of her code. -</> -</> - -</orderedlist> - -<para> -So, the motivation for &mping; comes down to the combination of three factors: efficiency, expressivity, and correctness. While in classical programming there is always a tension between expressivity and correctness on one hand and efficiency on the other, in the &mping; world we wield new power: we can move the computation required for -expressivity from runtime to compile-time. -</> -</section> - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="intro.whylibrary"> -<title>Why a metaprogramming <emphasis>library</>?</> - -<para> -One might just as well ask why we need any generic library: -</> - -<itemizedlist mark="box"> - -<listitem> -<para> -Quality. Code that is appropriate for a general-purpose library is usually incidental to the purpose of its users. To a library developer, it is the central mission. On average, the containers and algorithms provided by any given &Cxx; standard library implementation are more-flexible and better-implemented than the project-specific implementations which abound, because library development was treated as an end in itself rather than a task incidental to the development of some other application. With a centralized implementation for any given function, optimizations and improvements are more likely to have been applied. -</> -</> - -<listitem> -<para> -Re-use. More important even than the re-use of code which all libraries provide, a well-designed generic library establishes a <emphasis>framework of concepts and idioms</> which establishes a reusable mental model for approaching problems. Just as the &Cxx; Standard Template Library gave us iterator concepts and a function object protocol, the &BMPL; provides type-iterators and metafunction class protocol. A well-considered framework of idioms saves the metaprogrammer from considering irrelevant implementation details and allows her to concentrate on the problem at hand. -</> -</> - -<listitem> -<para> -Portability. A good library can smooth over the ugly realities of platform differences. While in theory a &mping; library is fully generic and shouldn't be concerned with these issues, in practice support for templates remains inconsistent even four years after standardization. This should perhaps not be surprising: &Cxx; templates are the language's furthest-reaching and most complicated feature, which largely accounts for the power of &mping; in &Cxx;. -</> -</> - -<listitem> -<para> -Fun. Repeating the same idioms over and over is <emphasis>tedious</>. It makes programmers tired and reduces productivity. Furthermore, when programmers get bored they get sloppy, and buggy code is even more costly than slowly-written code. Often the most useful libraries are simply patterns that have been <quote>plucked</> by an astute programmer from a sea of repetition. The &MPL; helps to reduce boredom by eliminating the need for the most commonly-repeated boilerplate coding patterns. -</> -</> - -</itemizedlist> - -<para> -As one can see, the &MPL;'s development is motivated primarily by the same practical, real-world considerations that justify the development of any other library. Perhaps this is an indication that template &mping; is finally ready to leave the realm of the esoteric and enter the lingua franca of every day programmers. -</> - -<!-- probably this paragraph would be better in the conclusions --> -</section> - -</section> diff --git a/doc/paper/src/lambda.sgml b/doc/paper/src/lambda.sgml deleted file mode 100644 index 74765cd..0000000 --- a/doc/paper/src/lambda.sgml +++ /dev/null @@ -1,142 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="lambda"> -<title>Lambda facility</> - -<para> -The &MPL;'s lambda facility allows the <firstterm>inline composition</> of class templates into <quote>lambda expressions</>, which are classes and can therefore be passed around as ordinary metafunction classes, or transformed into metafunction classes before application using the expression: -</> - -<programlisting><![CDATA[ -typedef mpl::lambda<expr>::type func; -]]></> - -<para> -For example, <literal>boost::remove_const</> traits template from Boost <literal>type_traits</> library <citation><xref linkend="ref.TTL"></> is a class template (obviously), or a <link linkend="metafunctions">metafunction</> in &MPL; terminology. The simplest example of an <quote>inline composition</> of it would be something like: -</> - -<programlisting><![CDATA[ -typedef boost::remove_const<_1> expr; -]]></> - -<para> -This forms a so called <quote>lambda expression</>, which is neither a metafunction class, nor a metafunction, yet can be passed around everywhere because it's an ordinary &Cxx; class, because all &MPL; facilities are polymorphic with respect to their arguments. Now, that lambda expression can be <emphasis>transformed</> into a metafunction class using the &MPL;'s <literal>lambda</> facility: -</> - -<programlisting><![CDATA[ -typedef boost::remove_const<_1> expr; -typedef mpl::lambda<expr>::type func; -]]></> - -<para> -The <literal>func</> is a unary metafunction class and can be used as such. In particular, it can be pass around or invoked (applied): -</> - -<programlisting><![CDATA[ -typedef mpl::apply<func,int const>::type res; -BOOST_MPL_ASSERT_IS_SAME(res, int); -]]></> - -<para> -or even -</> - -<programlisting><![CDATA[ -typedef func::apply<int const>::type res; -BOOST_MPL_ASSERT_IS_SAME(res, int); -]]></> - -<para> -Inline composition is very appealing syntactically when one deals with metafunctions, because it makes the expression obvious: -</> - -<programlisting><![CDATA[ -typedef mpl::logical_or< - mpl::less< mpl::sizeof_<_1>, mpl::int_c<16> > - , boost::is_same<_1,_2> - > expr; - -typedef mpl::lambda<expr>::type func; -]]></> - -<para> -And one does not have to specify the last part (<literal>typedef lambda<expr>::type func</>), because all the algorithms do this to any of their metafunction class operands internally (a <literal>lambda<T>::type</> expression applied to a metafunction class gives back the same metafunction class, so it's safe to apply the expression unconditionally). -</> - -<para> -The alternative way to write an equivalent of the above metafunction class would be: -</> - -<programlisting><![CDATA[ -typedef bind< - mpl::meta_fun2<mpl::logical_or> - , mpl::bind< mpl::meta_fun2<mpl::less> - , mpl::bind< mpl::meta_fun1<mpl::sizeof_>,_1 > - , mpl::int_c<16> - > - , mpl::bind< mpl::meta_fun2<boost::is_same>,_1,_2 > - > func; -]]></> - -<para> -Or to use <literal>mpl::compose_</> family of templates in a similar way. Here, we use <literal>mpl::meta_fun</> templates to convert metafunctions into metafunction classes and then combine them using <literal>mpl::bind</>. The transformation from this form to the above inline lambda expression and vice-versa is mechanical, and that is essentially what the <literal>typedef mpl::lambda<expr>::type</> expression does. -</> - -<para> -For its own metafunctions (algorithms, primitives, etc.), &MPL; enables one to write the above in a less cumbersome way: -</> - -<programlisting><![CDATA[ -typedef mpl::bind< - mpl::logical_or<> - , mpl::bind< mpl::less<>, mpl::bind<mpl::sizeof_<>,_1>, mpl::int_c<16> > - , mpl::bind< mpl::make_f2<boost::is_same>, _1,_2 > - > func; -]]></> - -<para> -Note that we still have to wrap <literal>is_same</> into <literal>make_f2</>, because it's a foreign template. -</> - -<para> -Now, about combining class template metafunctions and metafunction classes in the single lambda expression - it can be done like this: -</> - -<programlisting><![CDATA[ -struct my_predicate -{ - template< typename T1, typename T2 > struct apply - { - //... - }; -}; - -typedef mpl::logical_or< - mpl::less< mpl::sizeof_<_>,mpl::int_c<16> > - , mpl::bind< my_predicate,_,_ > // here - > expr; -]]></> - -<para> -To bind something to one of its arguments (or change the order of parameters), then use either: -</> - -<programlisting><![CDATA[ -typedef mpl::logical_or< - mpl::less< mpl::sizeof_<_>,mpl::int_c<16> > - , mpl::bind<my_predicate,int,_>::type // here - > expr; -]]></> - -<para> -or -</> - -<programlisting><![CDATA[ -typedef mpl::logical_or< - mpl::less< mpl::sizeof_<_>,mpl::int_c<16> > - , my_predicate::apply<int,_> // here - > expr; -]]></> - -</section> diff --git a/doc/paper/src/metafunctions.sgml b/doc/paper/src/metafunctions.sgml deleted file mode 100644 index 4136b27..0000000 --- a/doc/paper/src/metafunctions.sgml +++ /dev/null @@ -1,282 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="metafunctions"> -<title>Metafunctions</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="metafunctions.simple"> -<title>The simple form</> - -<para> -In C++, the basic underlying language construct which allows parameterized compile-time computation is the <firstterm>class template</> (<citation><xref linkend="ref.ISO98"></>, section 14.5.1 [temp.class]). A bare class template is the simplest possible model we could choose for metafunctions: it can take types and/or non-type arguments as actual template parameters, and instantiation <quote>returns</> a new type. For example, the following produces a type derived from its arguments: -</> - -<programlisting> -<![CDATA[ -template< typename T1, typename T2 > -struct derive : T1, T2 -{ -}; -]]> -</> - -<para> -However, this model is far too limiting: it restricts the metafunction result not only to class types, but to instantiations of a given class template, to say nothing of the fact that every metafunction invocation introduces an additional level of template nesting. While that might be acceptable for this particular metafunction, any model which prevented us from <quote>returning</>, say, <literal>int</> is obviously not general enough. To meet this basic requirement, we must rely on a nested type to provide our return value: -</> - -<programlisting> -<![CDATA[ -template< typename T1, typename T2 > -struct derive -{ - struct type : T1, T2 {}; -}; - -// silly specialization, but demonstrates "returning" int -template<> -struct derive<void,void> -{ - typedef int type; -}; -]]> -</> - -<para> -Veldhuizen <citation><xref linkend="ref.Vel95a"></> was first to talk about class templates of this form as <quote>compile-time functions</>, and Czarnecki and Eisenecker <citation><xref linkend="ref.CE00"></> have introduced <quote>template metafunction</> as an equivalent term (they also use the simpler term <quote>metafunction</>, as do we). Czarnecki and Eisenecker have also recognized the limitations of the simple metafunction representation and suggested the form that we discuss in <xref linkend="metafunctions.classes">. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="metafunctions.higherorder"> -<title>Higher-order metafunctions</> - -<para> -While syntactically simple, the simple template metafunction form does not always interact optimally with the rest of &Cxx;. In particular, the simple metafunction form makes it unnecessarily awkward and tedious to define and work with higher-order metafunctions (metafunctions that operate on other metafunctions). In order to pass a simple metafunction to another template, we need to use <firstterm>template template parameters</>: -</> - -<programlisting> -<![CDATA[ -// returns F(T1,F(T2,T3)) -template< - template<typename,typename> class F - , typename T1 - , typename T2 - , typename T3 - > -struct apply_twice -{ - typedef typename F< - T1 - , typename F<T2,T3>::type - >::type type; -}; - -// a new metafunction returning a type derived from T1, T2, and T3 -template< - typename T1 - , typename T2 - , typename T3 - > -struct derive3 - : apply_twice<derive,T1,T2,T3> -{ -}; -]]> -</> - -<para> -This looks different, but it seems to work. -<footnote id="note.higherorder"><para>In fact it's already broken: <literal>apply_twice</> doesn't even fit the metafunction concept since it requires a template (rather than a type) as its first parameter, which breaks the metafunction protocol.</></> - -However, things begin to break down noticeably when we want to <quote>return</> a metafunction from our metafunction: -</> - -<programlisting> -<![CDATA[ -// returns G s.t. G(T1,T2,T3) == F(T1,F(T2,T3)) -template< template<typename,typename> class F > -struct compose_self -{ - template< - typename T1 - , typename T2 - , typename T3 - > - struct type - : apply_twice<F,T1,T2,T3> - { - }; -}; -]]> -</> - -<para> -The first and most obvious problem is that the result of applying <literal>compose_self</> is not itself a type, but a template, so it can't be passed in the usual ways to other metafunctions. A more subtle issue, however, is that the metafunction <quote>returned</> is not exactly what we intended. Although it acts just like <literal>apply_twice</>, it differs in one important respect: its identity. In the C++ type system, <literal>compose_self<F>::template type<T,U,V></> is not a synonym for <literal>apply_twice<F,T,U,V></>, and any metaprogram which compared metafunctions would discover that fact. -</> - -<para> -Because &Cxx; makes a strict distinction between type and class template template parameters, reliance on simple metafunctions creates a <quote>wall</> between metafunctions and metadata, relegating metafunctions to the status of second-class citizens. For example, recalling our introduction to type sequences, there's no way to make a <literal>cons</> list of metafunctions: -</> - -<programlisting> -<![CDATA[ -typedef cons<derive, cons<derive3, nil> > derive_functions; // error! -]]> -</> - -<para> -We might consider redefining our <literal>cons</> cell so we can pass <literal>derive</> as the head element: -</> - -<programlisting> -<![CDATA[ -template < - template< template<typename T, typename U> class F - , typename Tail - > -struct cons; -]]> -</> - -<para> -However, now we have another problem: &Cxx; templates are polymorphic with respect to their type arguments, but not with respect to template template parameters. The arity (number of parameters) of any template template parameter is strictly enforced, so we <emphasis>still</> can't embed <literal>derive3</> in a <literal>cons</> list. Moreover, polymorphism <emphasis>between</> types and metafunctions is not supported (the compiler expects one or the other), and as we've seen, the syntax and semantics of <quote>returned</> metafunctions is different from that of returned types. Trying to accomplish everything with the simple template metafunction form would seriously limit the applicability of higher-order metafunctions and would have an overall negative effect on the both conceptual and implementation clarity, simplicity and size of the library. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="metafunctions.classes"> -<title>Metafunction classes</> - -<para> -Fortunately, the truism that <quote>there is no problem in software which can't be solved by adding yet another level of indirection</> applies here. To elevate metafunctions to the status of first-class objects, the &MPL; introduces the concept of a <quote>metafunction class</>: -</> - -<programlisting> -<![CDATA[ -// metafunction class form of derive -struct derive -{ - template< typename N1, typename N2 > - struct apply - { - struct type : N1, N2 {}; - }; -}; -]]> -</> - -<para> -This form should look familiar to anyone acquainted with function objects in STL, with the nested <literal>apply</> template taking the same role as the runtime function-call operator. In fact, compile-time metafunction classes have the same relationship to metafunctions that runtime function objects have to functions: -</> - -<programlisting> -<![CDATA[ -// function form of add -template< typename T > T add(T x, T y) { return x + y; } - -// function object form of add -struct add -{ - template< typename T > - T operator()(T x, T y) { return x + y; } -}; -]]> -</> - -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="metafunctions.onesize"> -<title>One size fits all?</> - -<para> -The metafunction class form solves all the problems with ordinary template metafunction mentioned earlier: since it is a regular class, it can be placed in compile-time metadata sequences and manipulated by other metafunctions using the same protocols as for any other metadata. We thereby avoid the code-duplication needed to provide versions of each library component to operate on ordinary metadata and on metafunctions with each distinct supported arity. -</> - -<para> -On the other hand, it seems that accepting metafunction classes as <emphasis>the</> representation for compile-time function entities imposes code duplication danger as well: if the library's own primitives, algorithms, etc. are represented as class templates, that means that one either cannot reuse these algorithms in the context of higher-order functions, or she have to duplicate all algorithms in the second form, so, for instance, there would be two versions of <literal>find</>: -</> - -<programlisting> -<![CDATA[ -// user-friendly form -template< - typename Sequence - , typename T - > -struct find -{ - typedef /* ... */ type; -}; - -// "metafunction class" form -struct find_func -{ - template< typename Sequence, typename T > - struct apply - { - typedef /* ... */ type; - }; -}; -]]> -</> - -<para> -Of course, the third option is to eliminate <quote>user-friendly form</> completely so one would always have to write: -</> - -<programlisting> -<![CDATA[ -typedef mpl::find::apply<list,long>::type iter; -// or, if one prefers, -// typedef mpl::apply< mpl::find,list,long >::type iter; -]]> -</> - -<para> -instead of -</> - -<programlisting> -<![CDATA[ -typedef mpl::find<list,long>::type iter; -]]> -</> - -<para> -That too would hurt usability, considering that the direct invocations of library's algorithms are far more often-used than passing algorithms as arguments to other algorithms/metafunctions. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="metafunctions.lambda"> -<title>From metafunction to metafunction class</> - -<para> -The &MPL;'s answer to this dilemma is <firstterm>lambda expressions</>. Lambda is the mechanism that enables the library to curry metafunctions and convert them into metafunction classes, so when one wants to pass the <literal>find</> algorithm as an argument to a higher-order metafunction, she just write: -</> - -<programlisting> -<![CDATA[ -using namespace mpl::placeholder; -typedef mpl::apply< my_f, mpl::find<_1,_2> >::type result; -]]> -</> - -<para> -where <literal>_1</> and <literal>_2</> are placeholders for the first and second arguments to the resulting metafunction class. This preserves the intuitive syntax below for when the user wants to use <literal>find</> directly in her code: -</> - -<programlisting> -<![CDATA[ -typedef mpl::find<list,long>::type iter; -]]> -</> - -<para> -Lambda facility is described in more details in <xref linkend="lambda">. -</> - -</section> - -</section> diff --git a/doc/paper/src/references.sgml b/doc/paper/src/references.sgml deleted file mode 100644 index 0754a9c..0000000 --- a/doc/paper/src/references.sgml +++ /dev/null @@ -1,247 +0,0 @@ -<bibliography id="refs"> -<title>References</> - -<biblioentry id="ref.Abr01"> - <abbrev>Abr01</> - <authorgroup> - <author><firstname>David</><surname>Abrahams</></> - <author><firstname>Carlos Pinto</><surname>Coelho</></> - </> - <title><ulink url="http://users.rcn.com/abrahams/instantiation_speed/index.html">Effects of Metaprogramming Style on Compilation Time</></> - <date>2001</> -</biblioentry> - -<biblioentry id="ref.Ale01"> - <abbrev>Ale01</> - <author><firstname>Andrei</><surname>Alexandrescu</></> - <title>Modern C++ Design: Generic Programming and Design Patterns Applied</> - <publishername>Addison-Wesley</> - <isbn>0-201-70431-5</> - <date>2001</> -</biblioentry> - -<biblioentry id="ref.CE98"> - <abbrev>CE98</> - <authorgroup> - <author><firstname>Krzysztof</><surname>Czarnecki</></> - <author><firstname>Ulrich</><surname>Eisenecker</></> - </> - <title>Metalisp</> - <bibliomisc><ulink url="http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm"></></> -</biblioentry> - -<biblioentry id="ref.CE00"> - <abbrev>CE00</> - <authorgroup> - <author><firstname>Krzysztof</><surname>Czarnecki</></> - <author><firstname>Ulrich</><surname>Eisenecker</></> - </> - <title>Generative Programming: Methods, Tools, and Applications</> - <publishername>Addison-Wesley</> - <isbn>0-201-30977-7</> - <date>2000</> -</biblioentry> - -<biblioentry id="ref.EBNF"> - <abbrev>EBNF</> - <title>ISO/IEC 14977:1996(E), Information technology Syntactic metalanguage Extended BNF</> - <orgname>ISO/IEC</> - <date>1996</> -</biblioentry> - -<biblioentry id="ref.GHJ95"> - <abbrev>GHJ+95</> - <authorgroup> - <author><firstname>Erich</><surname>Gamma</></> - <author><firstname>Richard</><surname>Helm</></> - <author><firstname>Ralph</><surname>Johnson</></> - <author><firstname>John</><surname>Vlissides</></> - </> - <title>Design Patterns, Elements of Reusable Object-Oriented Software</> - <publishername>Addison-Wesley</> - <isbn>0-201-63361-2</> - <date>1995</> -</biblioentry> - -<biblioentry id="ref.HU79"> - <abbrev>HU79</> - <authorgroup> - <author><surname>Hopcroft</></> - <author><surname>Ullman</></> - </> - <title>Introduction to automata theory, languages and computations</> - <publishername>Addison-Wesley</> - <date>1979</> -</biblioentry> - -<biblioentry id="ref.Hud89"> - <abbrev>Hud89</> - <author><firstname>Paul</><surname>Hudak</></> - <title>Conception, Evolution, and Application of Functional Programming Languages</> - <biblioset relation='journal'> - <title>ACM Computing Surveys</> - <publishername>Association for Computing Machinery (ACM)</> - <issn>0360-0300</> - </> - <volumenum>21</> - <issuenum>3</> - <pagenums>359-411</> - <date>September, 1989</> -</biblioentry> - -<biblioentry id="ref.Hun91"> - <abbrev>Hun91</> - <author><firstname>Immo</><surname>Huneke</></> - <title>Finite State Machines: A Model of Behavior for C++</> - <biblioset relation='journal'> - <title>C++ Report</> - <publishername>SIGS Publications Inc.</> - <issn>1040-6042</> - </> - <date>1991</> -</biblioentry> - -<biblioentry id="ref.ISO98"> - <abbrev>ISO98</> - <title>ISO/IEC 14882:1998(E), Programming languages C++</> - <orgname>ISO/IEC</> - <date>1998</> -</biblioentry> - -<biblioentry id="ref.Joh79"> - <abbrev>Joh79</> - <author><firstname>Stephen C.</><surname>Johnson</></> - <title><ulink url="http://dinosaur.compilertools.net/yacc/index.html">Yacc: Yet Another Compiler Compiler</></> - <publishername>UNIX Programmer's Manual</> - <volumenum>2b</> - <pagenums>353-387</> - <date>1979</> -</biblioentry> - -<biblioentry id="ref.Laf00"> - <abbrev>Laf00</> - <author><firstname>David</><surname>Lafreniere</></> - <title><ulink url="http://www.cuj.com/articles/2000/0005/0005f/0005f.htm?topic=articles">State Machine Design in C++</></> - <biblioset relation='journal'> - <title>C/C++ User Journal</> - <publishername>CMP Media LCC</> - <issn>1075-2838</> - </> - <volumenum>18</> - <issuenum>5</> - <date>May 1998</> -</biblioentry> - -<biblioentry id="ref.Loki"> - <abbrev>Loki</> - <title>The Loki library</> - <bibliomisc><ulink url="http://sourceforge.net/projects/loki-lib/"></></> -</biblioentry> - -<biblioentry id="ref.Mar98"> - <abbrev>Mar98</> - <author><firstname>Robert C.</><surname>Martin</></> - <title><ulink url="http://www.objectmentor.com/resources/articles/umlfsm.pdf">UML Tutorial: Finite State Machines</></> - <biblioset relation='journal'> - <title>C++ Report</> - <publishername>SIGS Publications Inc.</> - <issn>1040-6042</> - </> - <date>June 1998</> -</biblioentry> - -<biblioentry id="ref.MPLR"> - <abbrev>MPLR</> - <title>Boost MPL Library Reference Documentation</> - <bibliomisc><ulink url="http://www.mywikinet.com/mpl/ref/Table_of_Content.html"></></> -</biblioentry> - -<biblioentry id="ref.PRE"> - <abbrev>PRE</> - <author><firstname>Vesa</><surname>Karvonen</></> - <title>Boost Preprocessor Metaprogramming library</> - <bibliomisc><ulink url="http://www.boost.org/libs/preprocessor/doc/"></></> -</biblioentry> - -<biblioentry id="ref.SMC"> - <abbrev>SMC</> - <author><firstname>Robert C.</><surname>Martin</></> - <title>SMC - Finite State Machine Compiler (C++)</> - <bibliomisc><ulink url="http://www.objectmentor.com/resources/downloads/index"></></> -</biblioentry> - -<biblioentry id="ref.STL94"> - <abbrev>STL94</> - <authorgroup> - <author><surname>A. A. Stepanov</></> - <author><surname>M. Lee</></> - </authorgroup> - <title>The Standard Template Library</> - <orgname>Hewlett-Packard Laboratories</> - <date>1994</> -</biblioentry> - -<biblioentry id="ref.SPL"> - <abbrev>SPL</> - <title>Boost Smart Pointer library</> - <bibliomisc><ulink url="http://www.boost.org/libs/smart_ptr/"></></> -</biblioentry> - -<biblioentry id="ref.SS75"> - <abbrev>SS75</> - <authorgroup> - <author><firstname>GeraldJ.</><surname>Sussman</></> - <author><firstname>GuyL.</><surname>Steele Jr.</></> - </> - <title>Scheme: An interpreter for extended lambda calculus</> - <biblioset relation='journal'> - <title>MIT AI Memo 349</> - <publishername>Massachusetts Institute of Technology</> - </> - <date>May 1975</> -</biblioentry> - -<biblioentry id="ref.TTL"> - <abbrev>TTL</> - <title>Boost Type Traits library</> - <bibliomisc><ulink url="http://www.boost.org/libs/type_traits/"></></> -</biblioentry> - -<biblioentry id="ref.vel95a"> - <abbrev>Vel95a</> - <author><firstname>Todd</><surname>Veldhuizen</></> - <title><ulink url="http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html">Using C++ template metaprograms</></> - <biblioset relation='journal'> - <title>C++ Report</> - <publishername>SIGS Publications Inc.</> - <issn>1040-6042</> - </> - <volumenum>7</> - <issuenum>4</> - <pagenums>36-43</> - <date>May 1995</> -</biblioentry> - -<biblioentry id="ref.Vel95b"> - <abbrev>Vel95b</> - <author><firstname>Todd</><surname>Veldhuizen</></> - <title><ulink url="http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html">Expression templates</></> - <biblioset relation='journal'> - <title>C++ Report</> - <publishername>SIGS Publications Inc.</> - <issn>1040-6042</> - </> - <volumenum>7</> - <issuenum>5</> - <pagenums>26-31</> - <date>Jun 1995</> -</biblioentry> - -<biblioentry id="ref.Unr"> - <abbrev>Unr</> - <author><firstname>Erwin</><surname>Unruh</></> - <title>Prime number computation</> - <publishername>ANSI X3J16-94-0075/ISO WG21-462</> -</biblioentry> - -</bibliography> diff --git a/doc/paper/src/sequences.sgml b/doc/paper/src/sequences.sgml deleted file mode 100644 index 826f329..0000000 --- a/doc/paper/src/sequences.sgml +++ /dev/null @@ -1,566 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="sequences"> -<title>Sequences, algorithms, and iterators</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.intro"> -<title>Introduction</> - -<para> -Compile-time iteration over a sequence (of types) is one of the basic concepts of template metaprogramming. Differences in types of objects being manipulated is the most common point of variability of similar but not identical code/design, and such designs are the direct target for some metaprogramming. Templates were originally designed to solve this exact problem (e.g. <literal>std::vector</>). However, without predefined abstractions/constructs for manipulating/iterating over <emphasis>sequences</> of types (as opposed to standalone types), and without known techniques for emulating these constructs using the current language facilities, their effect on helping high-level metaprogramming happen has been limited. -</> - -<para> -Czarnecki and Eisenecker <citation><xref linkend="ref.CE98"></>, <citation><xref linkend="ref.CE00"></> were the first to introduce compile-time sequences of types and some simple algorithms on them, although the idea of representing common data structures like trees, lists, etc. at compile time, using class template composition has been around for a while (e.g. most of the expression template libraries build such trees as a part of their expression "parsing" process <citation><xref linkend="ref.Vel95b"></>). Alexandrescu <citation><xref linkend="ref.Ale01"></> used lists of types and some algorithms on them to implement several design patterns; the accompanying code is known as the Loki library <citation><xref linkend="ref.Loki"></>. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.algo"> -<title>Algorithms and sequences</> - -<para> -Most of the algorithms in the &BMPL; operate on sequences. For example, searching for a type in a list looks like this: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list<char,short,int,long,float,double> types; -typedef mpl::find<types,long>::type iter; -]]> -</> - -<para> -Here, <literal>find</> accepts two parameters - a sequence to search (<literal>types</>) and the type to search for (<literal>long</>) - and returns an iterator <literal>iter</> pointing to the first element of the sequence such that <literal>iter::type</> is identical to <literal>long</>. If no such element exists, <literal>iter</> is identical to <literal>end<types>::type</>. Basically, this is how one would search for a value in a <literal>std::list</> or <literal>std::vector</>, except that <literal>mpl::find</> accepts the sequence as a single parameter, while <literal>std::find</> takes two iterators. Everything else is pretty much the same - the names are the same, the semantics are very close, there are iterators, and one can search not only by type, but also by using a predicate: -</> - -<programlisting> -<![CDATA[ -typedef mpl::find_if< types,boost::is_float<_> >::type iter; -]]></> - -<para> -This conceptual/syntactical similarity with the STL is not coincidental. Reusing the conceptual framework of the STL in the compile-time world allows us to apply familiar and sound approaches for dealing with sequential data structures. The algorithms and idioms which programmers already know from the STL can be applied again at compile-time. We consider this to be one of &MPL;'s greatest strengths, distinguishing it from earlier attempts to build a template metaprogramming library. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.concepts"> -<title>Sequence concepts</> - -<para> -In the <literal>find</> example above, we searched for the type in a sequence built using the <literal>mpl::list</> template; but <literal>list</> is not the only sequence that the library provides. Neither is <literal>mpl::find</> or any other algorithm hard-coded to work only with <literal>list</> sequences. <literal>list</> is just one model of &MPL;'s <phrase role="concept">Forward Sequence</> concept, and <literal>find</> works with anything that satisfies this concept's requirements. The hierarchy of sequence concepts in &MPL; is quite simple - a <phrase role="concept">Sequence</> is any compile-time entity for which <literal>begin<></> and <literal>end<></> produce iterators to the range of its elements; a <phrase role="concept">Forward Sequence</> is a Sequence whose iterators satisfy <phrase role="concept">Forward Iterator</> requirements; a <phrase role="concept">Bidirectional Sequence</> is a Forward Sequence whose iterators satisfy <phrase role="concept">Bidirectional Iterator</> requirements; finally, a <phrase role="concept">Random Access Sequence</> is a Bidirectional Sequence whose iterators satisfy <phrase role="concept">Random Access Iterator</> requirements. - -<footnote id="note.seqconcepts"><para> -A more precise definition of these concepts can be found in the library reference documentation <citation><xref linkend="ref.MPLR"></>. -</></> - -</> - -<para> -Decoupling algorithms from particular sequence implementations (through iterators) allows a metaprogrammer to create her own sequence types and to retain the rest of the library at her disposal. For example, one can define a <literal>tiny_list</> for dealing with sequences of three types as follows: -</> - -<programlisting> -<![CDATA[ -template< typename TinyList, long Pos > -struct tiny_list_item; - -template< typename TinyList, long Pos > -struct tiny_list_iterator -{ - typedef typename tiny_list_item<TinyList,Pos>::type type; - typedef tiny_list_iterator<TinyList, Pos-1> prior; - typedef tiny_list_iterator<TinyList, Pos+1> next; -}; - -template< typename T0, typename T1, typename T2 > -struct tiny_list -{ - typedef tiny_list_iterator<tiny_list, 0> begin; - typedef tiny_list_iterator<tiny_list, 3> end; - typedef T0 type0; - typedef T1 type1; - typedef T2 type2; -}; - -template< typename TinyList > -struct tiny_list_item<TinyList,0> -{ - typedef typename TinyList::type0 type; -}; - -template< typename TinyList > -struct tiny_list_item<TinyList,1> -{ - typedef typename TinyList::type1 type; -}; - -template< typename TinyList > -struct tiny_list_item<TinyList,2> -{ - typedef typename TinyList::type2 type; -}; -]]> -</> - -<para> -and then use it with any of the library algorithms as if it were <literal>mpl::list</>: -</> - -<programlisting> -<![CDATA[ -typedef tiny_list< char,short,int > types; -typedef mpl::transform< - types - , boost::add_pointer<_1> - >::type pointers; -]]> -</> - -<para> -Note that <literal>tiny_list</> is a model of Bidirectional Sequence; it would be a Random Access Sequence if we added <literal>advance</> and <literal>distance</> members to <literal>tiny_list_iterator</>: -</> - -<programlisting> -<![CDATA[ -template< typename TinyList, long Pos > -struct tiny_list_iterator -{ - static long const position = Pos; - - typedef typename tiny_list_item<TinyList,Pos>::type type; - typedef tiny_list_iterator<TinyList, Pos-1> prior; - typedef tiny_list_iterator<TinyList, Pos+1> next; - - template< typename N > struct advance - { - typedef tiny_list_iterator< - TinyList - , Pos + N::value - > type; - }; - - template< typename Other > struct distance - { - typedef mpl::integral_c< - long - , Other::position - position - > type; - }; -}; -]]> -</> - -<para> -While the <literal>tiny_list</> itself might be not that interesting (after all, it can hold only three elements), if the technique above could be automated so we would be able to define not-so-tiny sequences (with five, ten, twenty, etc. elements), it would be very valuable. - -<footnote id="note.tinylist"><para> -Random access is almost as important at compile-time as it is at run-time. For example, searching for an item in a sorted random-access sequence using <literal>lower_bound</> can be much faster than performing the same operation on a forward-access-only <literal>list</>. -</></> - -</> - -<para> -External code generation is an option, but there exists a solution within the language. However, it is not a template metaprogramming, but rather <emphasis>preprocessor metaprogramming</>. In fact, &MPL;'s <literal>vector</> - a fixed-size type sequence that provides random-access iterators - is implemented very much like the above <literal>tiny_list</> - using the Boost Preprocessor library <citation><xref linkend="ref.PRE"></>. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.revisited"> -<title>Ad hoc example revisited</> - -<para> -So, the library provides its users with almost complete compile-time equivalent of the STL framework. Does it help them to solve their metaprogramming tasks? Let's return to our earlier <link linkend="example.largest"><literal>largest</></> example to see if we can rewrite it in a better way with what &MPL; has to offer. Well, actually, there is not much to look at, because the &MPL; implementation is a one-liner (we'll spread it out here for readability) - -<footnote id="note.maxelement"><para>Here is another, even more elegant implementation:</> -<programlisting> -<![CDATA[ -template< typename Sequence > -struct largest -{ - typedef typename mpl::max_element< - mpl::transform_view< - Sequence - , mpl::sizeof_<_> - > - >::type type; -}; -]]></> -</> - -: -</> - -<programlisting> -<![CDATA[ -template< typename Sequence > -struct largest -{ - typedef typename mpl::max_element< - Sequence - mpl::less< - mpl::sizeof_<_1> - , mpl::sizeof_<_2> - > - >::type iter; - - typedef typename iter::type type; -}; -]]></> - -<para> -There are no more termination conditions with tricky pattern matching, no more partial specializations; and even more importantly, it's <emphasis>obvious</> what the above code does - even although it's all templates - something that one could not say about the original version. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.iterfold"> -<title>iter_fold as the main iteration algorithm</> - -<para> -For the purpose of examining a little bit more of the library's internal structure, let's look at how <literal>max_element</> from the above example is implemented. One might expect that <emphasis>now</> we will again see all these awkward partial specializations, esoteric pattern matching, etc. Well, let's see: -</> - -<programlisting> -<![CDATA[ -template< - typename Sequence - , typename Predicate - > -struct max_element -{ - typedef typename mpl::iter_fold< - Sequence - , typename mpl::begin<Sequence>::type - , if_< less< deref<_1>,deref<_2> >, _2, _1 > - >::type type; -}; -]]> -</> - -<para> -The first thing to notice here is that this algorithm is implemented in terms of another one: <literal>iter_fold</>. In fact, this is probably the most important point of the example, because nearly all other generic sequence algorithms in the library are implemented in terms of <literal>iter_fold</>. If a user should ever need to implement her own sequence algorithm, she'll almost certainly be able to do so using this primitive, which means she won't have to resort to implementing hand-crafted iteration, pattern matching of special cases for loop termination, or workarounds for lack of partial specialization. It also means that her algorithm will automatically benefit from any optimizations the library has implemented, (e.g. recursion unrolling), and that it will work with any sequence that is a model of ForwardSequence, because <literal>iter_fold</> does not require anything more of its sequence argument. -</> - -<para> -<literal>iter_fold</> algorithm is basically a compile-time equivalent of the <literal>fold</> or <literal>reduce</> functions that comprise the basic and well-known primitives of many functional programming languages. An analogy more familiar to a &Cxx; programmer would be the <literal>std::accumulate</> algorithm from the &Cxx; standard library (<citation><xref linkend="ref.ISO98"></>, section 26.4.1 [lib.accumulate]). However, <literal>iter_fold</> is designed to take advantage of the natural characteristics of recursive traversal: it accepts <emphasis>two</> metafunction class arguments, the first of which is applied to the state "on the way in" and the second of which is applied "on the -way out". -</> - -<para> -The interface to <literal>iter_fold</> is defined in &MPL; as follows: -</> - -<programlisting> -<![RCDATA[ -template< - typename Sequence - , typename InitialState - , typename ForwardOp - , typename BackwardOp = _1 - > -struct iter_fold -{ - typedef &unspec; type; -}; -]]> -</> - -<para> -The algorithm <quote>returns</> the result of two-way successive applications of binary <literal>ForwardOp</> and <literal>BackwardOp</> operations to iterators in range [<literal>begin<Sequence>::type</>, <literal>end<Sequence>::type</>) and previous result of an operation; the <literal>InitialState</> is logically placed before the sequence and included in the forward traversal. The result <literal>type</> is identical to <literal>InitialState</> if the sequence is empty. -</> - -<para> -The library also provides <literal>iter_fold_backward</>, <literal>fold</>, and <literal>fold_backward</> algorithms which wrap <literal>iter_fold</> to accommodate its most common usage patterns. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.numbers"> -<title>Sequences of numbers</> - -<para> -What we've seen so far were sequences (and algorithms on sequences) of types. It is both possible and easy to manipulate compile-time <emphasis>values</> using the library as well. The only thing to remember is that in &Cxx;, class template non-type template parameters give us one more example of non-polymorphic behavior. In other words, if one declared a metafunction to take a non-type template parameter (e.g. <literal>long</>) it's not possible to pass anything besides compile-time integral constants to it: -</> - -<programlisting> -<![CDATA[ -template< long N1, long N2 > -struct equal_to -{ - static bool const value = (N1 == N2); -}; - -equal_to<5,5>::value; // ok -equal_to<int,int>::value; // error! -]]> -</> - -<para> -And of course this doesn't work the other way around either: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list<1,2,3,4,5> numbers; // error! -]]> -</> - -<para> -While this may be an obvious limitation, it imposes yet another dilemma on the library design: on the one hand, we don't want to restrict users to type manipulations only, and on the other hand, full support for integral manipulations would require at least duplication of most of the library facilities - -<footnote id="note.nontype"><para>Ideally, if going this route, all the templates should be re-implemented for every integral type - <literal>char</>, <literal>int</>, <literal>short</>, <literal>long</>, etc. -</></> - -- the same situation as we would have if we had chosen to represent metafunctions as ordinary class templates. The solution for this issue is the same as well: we represent integral values by wrapping them in types - -<footnote id="note.valuewrapping"><para> -The same technique was suggested by Czarnecki and Eisenecker in <citation><xref linkend="ref.CE00"></>. -</></> - -. For example, to create a list of numbers one can write: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list< - mpl::int_c<1> - , mpl::int_c<2> - , mpl::int_c<3> - , mpl::int_c<4> - , mpl::int_c<5> - > numbers; -]]> -</> - -<para> -Wrapping integral constants into types to make them first-class citizens is important well inside metaprograms, -where one often doesn't know (and doesn't care) if the metafunctions she is using operate on types, integral values, other metafunctions, or something else, like fixed-point or rational numbers (<literal>mpl::fixed_c</> and <literal>mpl::rational_c</>). -</> - -<para> -But, from the user's perspective, the above example is much more verbose than the shorter, incorrect one. Thus, for the purpose of convenience, the library does provide users with a template that takes non-type template parameters, but offers a more compact notation: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list_c<long,1,2,3,4,5> numbers; -]]></> - -<para> -There is a similar <literal>vector</> counterpart as well: -</> - -<programlisting> -<![CDATA[ -typedef mpl::vector_c<long,1,2,3,4,5> numbers; -]]> -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.variety"> -<title>A variety of sequences</> - -<para> -Previous efforts to provide generalized metaprogramming facilities for &Cxx; have always concentrated on <literal>cons</>-style type lists and a few core algorithms like <literal>size</> and <literal>at</>, which are tied to the specific sequence implementation. Such systems have an elegant simplicity reminiscent of the analogous functionality in pure functional Lisp. It is much more time-consuming to implement even a basic set of the sequence algorithms provided by equivalent run-time libraries (the STL in particular), but if we have learned anything from the STL, it is that tying those algorithms' implementations to a specific sequence implementation is a misguided effort! -</> - -<para> -The truth is that there is no single <quote>best</> type sequence implementation for the same reasons that there will never be a single <quote>best</> runtime sequence implementation. Furthermore, there are <emphasis>already</> quite a number of type list implementations in use today; and just as the STL algorithms can operate on sequences which don't come from STL containers, so the MPL algorithms are designed to work with foreign type sequences. -</> - -<para> -It may be an eye-opening fact for some that type lists are not the only useful compile-time sequence. Again, the need for a variety of compile-time containers arises for the same reasons that we have lists, vectors, deques, and sets in the &Cxx; standard library — different containers have different functional and performance characteristics which determine not only applicability and efficiency of particular algorithms, but also the expressiveness or verbosity of the code that uses them. While runtime performance is not an issue for &Cxx; metaprograms, compilation speed is often a significant bottleneck to advanced &Cxx; software development <citation><xref linkend="ref.Abr01"></>. -</> - -<para> -The &MPL; provides five built-in sequences: <literal>list</>, <literal>list_c</> (really just a <literal>list</> of value wrappers), <literal>vector</>, a randomly-accessible sequence of fixed maximum size, <literal>vector_c</>, and <literal>range_c</>, a randomly-accessible sequence of consecutive integral values. More important, however, is its ability to adapt to arbitrary sequence types. The only core operations that a sequence is required to provide in order to be used with the library algorithms are <literal>begin<></> and <literal>end<></> metafunctions which "return" iterators into the sequence. As with the STL, it is the iterators which are used to implement most of the general-purpose sequence algorithms the library provides. Also, as with the STL, algorithm specialization is used to take advantage of implementation knowledge about particular sequences: many of the "basic" sequence operations such as <literal>back<></>, <literal>front<></>, <literal>size<></>, and <literal>at<></> are specialized on sequence type to provide a more efficient implementation than the fully generic version. -</> -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="sequences.unrolling"> -<title>Loop/recursion unrolling</> - -<para> -Almost coincidentally, loop unrolling can be as important to compile-time iterative algorithms as it is to runtime algorithms. To see why, one must first remember that all "loops" in &Cxx; metaprograms, are in fact, implemented with recursion, and that the template instantiation depth can be a valuable resource in a compiler implementation. In fact, Annex B of the &Cxx; standard (<citation><xref linkend="ref.ISO98"></>, annex B [limits]) <emphasis>recommends</> a minimum depth of 17 recursively nested template instantiations; but this is far too low for many serious metaprograms, some of which easily exceed the hard-coded instantiation limits of some otherwise excellent compilers. To see how this works in action, let's examine a straightforward implementation of the <literal>fold</> metafunction, which combines some algorithm state with each element of a sequence: -</> - -<programlisting> -<![CDATA[ -namespace aux { - -// unspecialized version combines the initial state and first element -// and recurses to process the rest -template< - typename Start - , typename Finish - , typename State - , typename BinaryFunction - > -struct fold_impl - : fold_impl< - typename Start::next - , Finish - , typename apply< - BinaryFunction - , State - , typename Start::type - >::type - , BinaryFunction - > -{ -}; - -// specialization for loop termination -template< - typename Finish - , typename State - , typename BinaryFunction - > -struct fold_impl<Finish,Finish,State,BinaryFunction> -{ - typedef State type; -}; - -} // namespace aux - -// public interface -template< - typename Sequence - , typename State - , typename ForwardOp - > -struct fold - : aux::fold_impl< - , typename begin<Sequence>::type - , typename end<Sequence>::type - , State - , typename lambda<ForwardOp>::type - > -{ -}; - -]]> -</> - -<para> -Although simple and elegant, this implementation will always incur at least as many levels of recursive template instantiation as there are elements in the input sequence. - -<footnote id="note.unrolling1"><para>It could be much more, depending on the complexity of the <literal>apply<...></> expression, whose depth is added to the overall recursion depth. -</></> - -The library addresses this problem by explicitly "unrolling" the recursion. To apply the technique to our <literal>fold</> example, we begin by factoring out a single step of the algorithm. Our <literal>fold_impl_step</> metafunction has two results: <literal>type</> (the next state), and <literal>iterator</> (the next sequence position). -</> - -<programlisting> -<![CDATA[ -template< - typename BinaryFunction - , typename State - , typename Start - , typename Finish - > -struct fold_impl_step -{ - typedef typename apply< - BinaryFunction - , State - , typename Start::type - >::type type; - - typedef typename Start::next iterator; -}; -]]> -</> - -<para> -As with our main algorithm implementation, we specialize for the loop termination condition so that the step becomes a no-op: -</> - -<programlisting> -<![CDATA[ -template< - typename BinaryFunction - , typename State - , typename Finish - > -struct fold_impl_step<BinaryFunction,State,Finish,Finish> -{ - typedef State type; - typedef Finish iterator; -}; -]]> -</> - -<para> -Now we can now reduce <literal>fold</>'s instantiation depth by any constant factor N simply by inserting N invocations of <literal>fold_impl_step</>. Here we've chosen a factor of 4: -</> - -<programlisting> -<![CDATA[ -template< - typename Start - , typename Finish - , typename State - , typename BinaryFunction - > -struct fold_impl -{ - private: - typedef fold_impl_step< - BinaryFunction - , State - , Start - , Finish - > next1; - - typedef fold_impl_step< - BinaryFunction - , typename next1::type - , typename next1::iterator - , Finish - > next2; - - typedef fold_impl_step< - BinaryFunction - , typename next2::type - , typename next2::iterator - , Finish - > next3; - - typedef fold_impl_step< - BinaryFunction - , typename next3::type - , typename next3::iterator - , Finish - > next4; - - typedef fold_impl_step< - typename next4::iterator - , Finish - , typename next4::type - , BinaryFunction - > recursion; - - public: - typedef typename recursion::type type; -}; -]]> -</> - -<para> -The &MPL; applies this unrolling technique across all algorithms with an unrolling factor tuned according to the demands of the &Cxx; implementation in use, and with an option for the user to override the value. - -<footnote id="note.unrolling2"><para> -This implementation detail is made relatively painless through heavy reliance on the Boost Preprocessor Library, so only one copy of the code needs to be maintained. -</></> - -This fact enables users to push beyond the metaprogramming limits they would usually encounter with more naive algorithm implementations. Experiments also show a small (up to 10%) increase in metaprogram instantiation speed on some compilers when loop unrolling is used. -</> -</section> - -</section> diff --git a/doc/paper/src/typeselection.sgml b/doc/paper/src/typeselection.sgml deleted file mode 100644 index e8be749..0000000 --- a/doc/paper/src/typeselection.sgml +++ /dev/null @@ -1,242 +0,0 @@ - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="typeselection"> -<title>Conditional type selection</> - -<para> -Conditional type selection is the simplest basic construct of &Cxx; template metaprogramming. Veldhuizen <citation><xref linkend="ref.Vel95a"></> was the first to show how to implement it, and Czarnecki and Eisenecker <citation><xref linkend="ref.CE00"></> first presented it as a standalone library primitive. The &MPL; defines the corresponding facility as follows: -</> - -<programlisting> -<![RCDATA[ -template< - typename Condition - , typename T1 - , typename T2 - > -struct if_ -{ - typedef &unspec; type; -}; -]]> -</> - -<para> -Note that the first template parameter of the template is a type. -</> - -<programlisting> -<![CDATA[ -// usage/semantics -typedef mpl::if_<mpl::true_c,char,long>::type t1; -typedef mpl::if_<mpl::false_c,char,long>::type t2; - -BOOST_MPL_ASSERT_IS_SAME(t1, char); -BOOST_MPL_ASSERT_IS_SAME(t2, long); -]]> -</> - -<para> -The construct is important because template metaprograms often contain a lot of decision-making code, and, as we will show, spelling it manually every time via (partial) class template specialization quickly becomes impractical. The template is also important from the point of encapsulating the compiler workarounds. -</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="delayedeval"> -<title>Delayed evaluation</> - -<para> -The way the &Cxx; template instantiation mechanism works imposes some subtle limitations on applicability of the type selection primitive (<literal>if_</>), compared to a manually implemented equivalent of the selection code. For example, suppose we are implementing a <literal>pointed_type</> traits template such that <literal>pointed_type<T>::type</> instantiated for a <literal>T</> that is either a plain pointer (<literal>U*</>), <literal>std::auto_ptr<U></>, or any of the Boost smart pointers <citation><xref linkend="ref.SPL"></>, e.g. <literal>boost::scoped_ptr<U></>, will give us the pointed type (<literal>U</>): -</> - -<programlisting> -<![CDATA[ -BOOST_MPL_ASSERT_IS_SAME(pointed_type<my*>::type, my); -BOOST_MPL_ASSERT_IS_SAME(pointed_type< std::auto_ptr<my> >::type, my); -BOOST_MPL_ASSERT_IS_SAME(pointed_type< boost::scoped_ptr<my> >::type, my); -]]> -</> - -<para> -Unfortunately, the straightforward application of <literal>if_</> to this problem does not work: - -<footnote id="note.pointedtype"><para> -Although it would be easy to implement <literal>pointed_type</> using partial specialization to distinguish the case where <literal>T</> is a pointer, <literal>if_</> is likely to be the right tool for dealing with more complex conditionals. For the purposes of exposition, please suspend disbelief! -</></> - -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct pointed_type - : mpl::if_< - boost::is_pointer<T> - , typename boost::remove_pointer<T>::type - , typename T::element_type // #1 - > -{ -}; - -// the following code causes compilation error in line #1: -// name followed by "::" must be a class or namespace name -typedef pointed_type<char*>::type result; -]]> -</> - -<para> -Clearly, the expression <literal>typename T::element_type</> is not valid in the case of <literal>T == char*</>, and that's what the compiler is complaining about. Implementing the selection code manually solves the problem: -</> - -<programlisting> -<![CDATA[ -namespace aux { -// general case -template< typename T, bool is_pointer = false > -struct select_pointed_type -{ - typedef typename T::element_type type; -}; - -// specialization for plain pointers -template< typename T > -struct select_pointed_type<T,true> -{ - typedef typename boost::remove_pointer<T>::type type; -}; -} - -template< typename T > -struct pointed_type - : aux::select_pointed_type< - T, boost::is_pointer<T>::value - > -{ -}; -]]> -</> - -<para> -But this quickly becomes awkward if needs to be done repeatedly, and this awkwardness is compounded when partial specialization is not available. We can try to work around the problem as follows: -</> - -<programlisting> -<![CDATA[ -namespace aux { -template< typename T > -struct element_type -{ - typedef typename T::element_type type; -}; -} - -template< typename T > -struct pointed_type -{ - typedef typename mpl::if_< - boost::is_pointer<T> - , typename boost::remove_pointer<T>::type - , typename aux::element_type<T>::type - >::type type; -}; -]]> -</> - -<para> -but this doesn't work either - the access to the <literal>aux::element_type<T></>'s nested <literal>type</> member still forces the compiler to instantiate <literal>element_type<T></> with <literal>T == char*</>, and that instantiation is, of course, invalid. Also, although in our case this does not lead to a compile error, the <literal>boost::remove_pointer<T></> template always gets instantiated as well, and for the same reason (because we are accessing its nested <literal>type</> member). Unnecessary instantiation that is not fatal may or may be not a problem, depending on the <quote>weight</> of the template (how much the instantiation taxes the compiler), but a general rule of thumb would be to avoid such code. -</> - -<para> -Returning to our error, to make the above code compile, we need to factor the act of <quote>asking</> <literal>aux::element_type<T></> for its nested <literal>type</> out of the <literal>if_</> invocation. The fact that both the <literal>boost::remove_pointer<T></> trait template and <literal>aux::element_type<T></> use the same naming convention for their result types makes the refactoring easier: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct pointed_type -{ - private: - typedef typename mpl::if_< - boost::is_pointer<T> - , boost::remove_pointer<T> - , aux::element_type<T> - >::type func_; - - public: - typedef typename func_::type type; -}; -]]> -</> - -<para> -Now the compiler is guaranteed not to instantiate both <literal>boost::remove_pointer<T></> and <literal>aux::element_type<T></>, even although they are used as actual parameters to the <literal>if_</> template, so we are allowed to get away with <literal>aux::element_type<char*></> so long as it won't end up being selected as <literal>func_</>. -</> - -<para> -The above technique is so common in template metaprograms, that it even makes sense to facilitate the selection of a nested <literal>type</> member by introducing a high-level equivalent to <literal>if_</> - the one that will do the <literal>func_::type</> operation (that is called [nullary] metafunction class application) as a part of its invocation. The &MPL; provides such template - it's called <literal>apply_if</>. Using it, we can re-write the above code as simple as: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct pointed_type -{ - typedef typename mpl::apply_if< - boost::is_pointer<T> - , boost::remove_pointer<T> - , aux::element_type<T> - >::type type; -}; -]]> -</> - -<para> -To make our techniques review complete, let's consider a slightly different example - suppose we want to define a high-level wrapper around <literal>boost::remove_pointer</> traits template <citation><xref linkend="ref.TTL"></>, which will strip the pointer qualification conditionally. We will call it <literal>remove_pointer_if</>: -</> - -<programlisting> -<![CDATA[ -template< - typename Condition - , typename T - > -struct remove_pointer_if -{ - typedef typename mpl::if_< - Condition - , typename boost::remove_pointer<T>::type - , T - >::type type; -}; -]]> -</> - -<para> -Now the above works the first time, but it suffers from the problem we mentioned earlier - <literal>boost::remove_pointer<T></> gets instantiated even if its result is never used. In the metaprogramming world compilation time is an important resource <citation><xref linkend="ref.Abr01"></>, and it is wasted by unnecessary template instantiations. We've just seen how to deal with the problem when both arguments to <literal>if_</> are the results of nullary metafunction class applications, but in this example one of the arguments (<literal>T</>) is just a simple type, so the refactoring just doesn't seem possible. -</> - -<para> -The easiest way out of this situation would be to pass to <literal>if_</> a real nullary metafunction instead of <literal>T</> - the one that returns <literal>T</> on its invocation. The &MPL; provides a simple way to do it - we just substitute <literal>identity<T></> and <literal>apply_if</> for <literal>T</> and <literal>if_</>: -</> - -<programlisting> -<![CDATA[ -template< - typename Condition - , typename T - > -struct remove_pointer_if -{ - typedef typename mpl::apply_if< - Condition - , boost::remove_pointer<T> - , mpl::identity<T> - >::type type; -}; -]]> -</> - -<para> -which gives us exactly what we wanted. -</> -</section> -</section> diff --git a/doc/paper/src/usage.sgml b/doc/paper/src/usage.sgml deleted file mode 100644 index 608edf1..0000000 --- a/doc/paper/src/usage.sgml +++ /dev/null @@ -1,8 +0,0 @@ -<section id="usage"> -<title>Basic usage</> - -&typeselection; -&metafunctions; -&sequences; - -</section> diff --git a/doc/readme b/doc/readme deleted file mode 100644 index a73b439..0000000 --- a/doc/readme +++ /dev/null @@ -1,18 +0,0 @@ - -To re-generate the docs in the exact format as they appear here, you would -need a slightly tweaked DocBook XSLT stylesheets disrtibution available at -http://www.mywikinet.com/mpl/docbook-xsl-1.50.0.zip - -If you are to use the build scripts as-is, you also need these tools: - - sx - an SGML to XML convertor, a part of James Clark's SP package, - available at http://www.jclark.com/sp/ - - msxsl - Microsoft XSLT processor, available at - http://msdn.microsoft.com/library/en-us/dnxml/html/msxsl.asp - - tidy - http://tidy.sourceforge.net/ - - Python - to be able to run 'tidy_attr.py', - available at http://www.python.org or - http://www.activestate.com/Products/ActivePython/ diff --git a/doc/ref/Acknowledgements.html b/doc/ref/Acknowledgements.html deleted file mode 100644 index 5a3cbeb..0000000 --- a/doc/ref/Acknowledgements.html +++ /dev/null @@ -1,7 +0,0 @@ -<!doctype html public "-//ietf//dtd html//en"> -<html><head><title>boost::mpl::Acknowledgements - - -

[Home]Acknowledgements

The format and language of this reference documentation has been greatly influenced by the SGI's Standard Template Library Programmer's Guide. -


-Table of Contents
Last edited July 17, 2002 9:04 am \ No newline at end of file diff --git a/doc/ref/Algorithms.html b/doc/ref/Algorithms.html deleted file mode 100644 index 6224c7b..0000000 --- a/doc/ref/Algorithms.html +++ /dev/null @@ -1,40 +0,0 @@ - -boost::mpl::Algorithms - - -

[Home]Algorithms

Iteration algorithms

- -

Querying algorithms

- -

Transformation algorithms

- -


-Table of Contents
Last edited March 10, 2003 1:55 am \ No newline at end of file diff --git a/doc/ref/Associative_Sequence.html b/doc/ref/Associative_Sequence.html deleted file mode 100644 index 50b8ad6..0000000 --- a/doc/ref/Associative_Sequence.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::Associative Sequence - - -

[Home]Associative Sequence

Description

-

-An Associative Sequence is a Sequence which allows efficient retrieval of elements based on keys. For some of associative sequences such as set it is guaranteed that no two elements have the same key. Others, such as multiset, allow multiple elements with the same key. -

-

Refinement of

-

-Sequence -

-

Valid expressions

-

-In addition to Sequence's expressions the following expressions are valid. -

- - - - - - - -
 Expression  Expression type  
has_key<s,k>::typeA model of boolean Integral Constant
count<s,k>::typeA model of Integral Constant
order<s,k>::typeA model of Integral Constant or void_
at<s,k>::typeA type
at<s,k,default>::typeA type
-

-

Expression semantics

-

- - - - - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
has_key<s,k>::typeAmortized constant time
count<s,k>::typeAmortized constant time
order<s,k>::typeAmortized constant time
at<s,k>::typeAmortized constant time
-

-

-

Invariants

-

-For any associative sequence s the following invariants always hold: -

    -
  • TODO -
-

-

Models

-

-

    -
  • set -
  • map -
  • set_c -
-

-

Notes

-

-

See also

-

-Sequences, Forward Sequence, Extensible Associative Sequence, -


-Table of Contents
Last edited October 25, 2003 7:40 am \ No newline at end of file diff --git a/doc/ref/Bidirectional_Iterator.html b/doc/ref/Bidirectional_Iterator.html deleted file mode 100644 index 3dda373..0000000 --- a/doc/ref/Bidirectional_Iterator.html +++ /dev/null @@ -1,50 +0,0 @@ - -boost::mpl::Bidirectional Iterator - - -

[Home]Bidirectional Iterator

Description

-

-A Bidirectional Iterator is a Forward Iterator that provides a way to obtain the previous element in a sequence. -

-

-

Refinement of

-

-Forward Iterator -

-

Definitions

-
    -
  • a bidirectional iterator i is decrementable if there is a "previous" iterator, that is, if i::prior expression is well-defined; iterators pointing to the first element of the sequence are not decrementable. -
-

-

Valid expressions

-

-Bidirectional Iterator both defines a new expression and refines the one described in Forward Iterator. -

- - - - -
 Expression  Expression type  
typename i::nextA model of Bidirectional Iterator
typename i::priorA model of Bidirectional Iterator
-

-

Expression semantics

-

-Semantics of an expression is defined only where it is not defined in Forward Iterator. -

- - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
typename i::priorAmortized constant timei is decrementablei::prior is an iterator pointing to the previous element of the sequencei::prior is dereferencable and incrementable
-

-

Invariants

-

-For any bidirectional iterators i and j the following invariants always hold: -

-

    -
  • if i is incrementable, then i::next::prior is a null operation; similarly, if i is decrementable, i::prior::next is a null operation. -
-

-

See also

-

-Bidirectional Sequence, Forward Iterator, Random Access Iterator -


-Table of Contents
Last edited July 15, 2002 11:33 am \ No newline at end of file diff --git a/doc/ref/Bidirectional_Sequence.html b/doc/ref/Bidirectional_Sequence.html deleted file mode 100644 index dcd7e2c..0000000 --- a/doc/ref/Bidirectional_Sequence.html +++ /dev/null @@ -1,35 +0,0 @@ - -boost::mpl::Bidirectional Sequence - - -

[Home]Bidirectional Sequence

Description

-

-A Bidirectional Sequence is a Forward Sequence, which provides iterators that satisfy the Bidirectional Iterator requirements. -

-

Refinement of

-

-Forward Sequence -

-

Valid expressions

-

-Bidirectional Sequence does not define any new expressions beyond those defined in Forward Sequence. However, it refines the expression requirements. -

- - - - -
 Expression  Expression type  
typename begin<s>::typeA model of Bidirectional Iterator
typename end<s>::typeA model of Bidirectional Iterator
-

-

Models

-

-

-

-

See also

-

-Forward Sequence, Random Access Sequence, Bidirectional Iterator -


-Table of Contents
Last edited July 15, 2002 2:36 pm \ No newline at end of file diff --git a/doc/ref/Categorized_index.html b/doc/ref/Categorized_index.html deleted file mode 100644 index 480e672..0000000 --- a/doc/ref/Categorized_index.html +++ /dev/null @@ -1,98 +0,0 @@ - -boost::mpl::Categorized index - - -

[Home]Categorized index

Concepts

-

-

-

-

Components

-

-

-


-Table of Contents
Last edited March 12, 2003 7:17 am \ No newline at end of file diff --git a/doc/ref/Extensible_Associative_Sequence.html b/doc/ref/Extensible_Associative_Sequence.html deleted file mode 100644 index 281ef4d..0000000 --- a/doc/ref/Extensible_Associative_Sequence.html +++ /dev/null @@ -1,47 +0,0 @@ - -boost::mpl::Extensible Associative Sequence - - -

[Home]Extensible Associative Sequence

Description

-

-An Extensible Associative Sequence is an Associative Sequence that supports insertion and removal of elements. In contrast to Extensible Sequence, Extensible Associative Sequence does not provide a mechanism for inserting an element at a specific position. -

-Refinement of -

-Associative Sequence -

-

Valid expressions

-

- - - - - -
 Expression  Expression type  
typename clear<s>::typeA model of concept of s
typename insert<s,t>::typeA model of concept of s
typename remove<s,k>::typeA model of concept of s
-

-

Expression semantics

-

-TODO. -

-

Invariants

-

-For any associative sequence s the following invariants always hold: -

    -
  • TODO -
-

-

Models

-

-

    -
  • set -
  • map -
  • set_c -
-

-

Notes

-

-

See also

-

-Sequences, Forward Sequence, Associative Sequence -


-Table of Contents
Last edited May 2, 2003 8:24 am \ No newline at end of file diff --git a/doc/ref/Extensible_Sequence.html b/doc/ref/Extensible_Sequence.html deleted file mode 100644 index 59010d5..0000000 --- a/doc/ref/Extensible_Sequence.html +++ /dev/null @@ -1,40 +0,0 @@ - -boost::mpl::Extensible Sequence - - -

[Home]Extensible Sequence

Description

-

-An Extensible Sequence is either a Forward Sequence, a Bidirectional Sequence or a Random Access Sequence that supports insertion and removal operations. -

-

Refinement of

-

-Forward Sequence, Bidirectional Sequence or Random Access Sequence -

-

Valid expressions

-

- - - - - - -
 Expression  Expression type  
typename clear<s>::typeA model of concept of s
typename insert<s,pos,t>::typeA model of concept of s
typename erase<s,pos>::typeA model of concept of s
typename erase<s,first,last>::typeA model of concept of s
-

-

Expression semantics

-

-See the description of clear, insert, and erase algorithms. -

-

Models

-

-

-

-

See also

-

-Sequences, clear, insert, erase -


-Table of Contents
Last edited May 2, 2003 4:54 am \ No newline at end of file diff --git a/doc/ref/Forward_Iterator.html b/doc/ref/Forward_Iterator.html deleted file mode 100644 index 81dad61..0000000 --- a/doc/ref/Forward_Iterator.html +++ /dev/null @@ -1,34 +0,0 @@ - -boost::mpl::Forward Iterator - - -

[Home]Forward Iterator

Description

-

-A Forward Iterator is an Input Iterator that guarantees a linear traversal over the sequence. -

-

Refinement of

-

-Input Iterator -

-

-

Valid expressions

-

-Forward Iterator does not define any new expressions beyond those defined in Input Iterator. However, some of the restrictions described in Input Iterator are relaxed. -

- - - -
 Expression  Expression type  
typename i::nextA model of Forward Iterator
-

-

Invariants

-

-For any forward iterators i and j the following invariants always hold: -

    -
  • if i and j are dereferenceable and i is identical to j, then i::next is identical to j::next. -
-

-

See also

-

-Forward Sequence, Input Iterator, Bidirectional Iterator -


-Table of Contents
Last edited July 15, 2002 10:53 am \ No newline at end of file diff --git a/doc/ref/Forward_Sequence.html b/doc/ref/Forward_Sequence.html deleted file mode 100644 index a1129a4..0000000 --- a/doc/ref/Forward_Sequence.html +++ /dev/null @@ -1,48 +0,0 @@ - -boost::mpl::Forward Sequence - - -

[Home]Forward Sequence

Description

-

-A Forward Sequence is a Sequence which guarantees that its elements are arranged in a definite order, and that the ordering will not change spontaneously [1]. Iterators into a forward sequence satisfy the Forward Iterator requirements. -

-

Refinement of

-

-Sequence -

-

Valid expressions

-

-Forward Sequence does not define any new expressions beyond those defined in Sequence. However, it refines the expression requirements. -

- - - - -
 Expression  Expression type  
typename begin<s>::typeA model of Forward Iterator
typename end<s>::typeA model of Forward Iterator
-

-

Invariants

-

-For any forward sequence s the following invariants always hold: -

    -
  • Two different iterations through s will access its elements in the same order. -
-

-

Models

-

-

-

-

Notes

-

-[1] Both between compilation sessions and from iteration to iteration.
-

-

See also

-

-Sequence, Bidirectional Sequence, Forward Iterator -


-Table of Contents
Last edited July 15, 2002 2:34 pm \ No newline at end of file diff --git a/doc/ref/Input_Iterator.html b/doc/ref/Input_Iterator.html deleted file mode 100644 index 41bfcc9..0000000 --- a/doc/ref/Input_Iterator.html +++ /dev/null @@ -1,44 +0,0 @@ - -boost::mpl::Input Iterator - - -

[Home]Input Iterator

Description

-

-An Input Iterator is a Trivial Iterator that provides a way to obtain the next iterator in a sequence. -

-

Refinement of

-

-Trivial Iterator -

-

Definitions

-

-

    -
  • an input iterator is past-the-end if it points beyond the last element of a sequence; past-the-end iterators are non-dereferenceable; -
  • an input iterator is valid if it is dereferenceable or past-the-end; -
  • an input iterator i is incrementable if there is a "next" iterator, that is, if i::next expression is well-defined; past-the-end iterators are not incrementable; -
  • an input iterator j is reachable from an input iterator i if, after recursive application of next operation to i a finite number of times, i is identical to j; -
  • the notation [i,j) refers to a range of iterators beginning with i and up to but not including j; -
  • the range [i,j) is a valid range if both i and j are valid iterators, and j is reachable from i. -
-

-

Valid expressions

-

-In addition to the expressions defined in Trivial Iterator, the following expressions must be valid. -

- - - -
 Expression  Expression type  
typename i::nextA model of Input Iterator
-

-

Expression semantics

-

- - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
typename i::nextAmortized constant timei is incrementablei::next is the next iterator in a sequencei::next is dereferenceable or past-the-end
-

-

See also

-

-Sequence, Trivial Iterator, Forward Iterator -


-Table of Contents
Last edited April 21, 2003 4:14 pm \ No newline at end of file diff --git a/doc/ref/Integral_Constant.html b/doc/ref/Integral_Constant.html deleted file mode 100644 index b19b9b6..0000000 --- a/doc/ref/Integral_Constant.html +++ /dev/null @@ -1,43 +0,0 @@ - -boost::mpl::Integral Constant - - -

[Home]Integral Constant

Description

-

-An Integral Constant is a class representing a value of a built-in integral type (bool, int, long, etc.) in compile-time programs. An integral constant directly supports the increment/decrement operations within the range of the built-in integral type it wraps. Other arithmetic operations are supported through the external metafunctions. -

-

Valid expressions

-

- - - - - - - -
 Expression  Return type  
typename n::value_typeAn integral type
typename n::typeA model of Integral Constant
n::valueA compile-time integral constant of n::value_type
typename n::nextA model of Integral Constant
typename n::priorA model of Integral Constant
-

-

Expression semantics

-

- - - - - - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
typename n::value_typeAmortized constant timen::value_type is identical to typeof(n::value)
typename n::typeAmortized constant timeSelf-reference.is_same<n::type,n>::value == true
n::valueAmortized constant timeValue of n.
typename n::nextAmortized constant timen::value_type supports an increment operation; n::value is incrementableIncrement operationn::next::value == n::value + 1
typename n::priorAmortized constant timen::value_type supports an decrement operation; n::value is decrementableDecrement operationn::prior::value == n::value - 1
-

-

Models

-

-

    -
  • integral_c -
  • int_ -
  • bool_ -
-

-

See also

-

-next, prior -


-Table of Contents
Last edited March 10, 2003 4:21 am \ No newline at end of file diff --git a/doc/ref/Integral_constant_classes.html b/doc/ref/Integral_constant_classes.html deleted file mode 100644 index fdc082b..0000000 --- a/doc/ref/Integral_constant_classes.html +++ /dev/null @@ -1,19 +0,0 @@ - -boost::mpl::Integral constant classes - - -

[Home]Integral constant classes

Concepts

- -

-

Types

-
    -
  • integral_c -
  • bool_ -
  • int_ -
  • long_ -
  • size_t -
-


-Table of Contents
Last edited March 10, 2003 1:34 am \ No newline at end of file diff --git a/doc/ref/Iterators.html b/doc/ref/Iterators.html deleted file mode 100644 index 6b6dfd8..0000000 --- a/doc/ref/Iterators.html +++ /dev/null @@ -1,31 +0,0 @@ - -boost::mpl::Iterators - - -

[Home]Iterators

Iterators are a generic means of addressing a particular element or -range of sequential elements in a sequence. They are also the mechanism -that makes it possible to decouple algorithms from concrete compile-time -sequence implementations. Under the hood, all MPL sequence algorithms -are implemented in terms of iterators, which, in particular, means that -they will work on any custom compile-time sequence, given that the appropriate -iterator inteface is provided. -

-

Concepts

- -

-

Metafunctions

- -


-Table of Contents
Last edited March 10, 2003 1:42 am \ No newline at end of file diff --git a/doc/ref/Macros.html b/doc/ref/Macros.html deleted file mode 100644 index 1fcf851..0000000 --- a/doc/ref/Macros.html +++ /dev/null @@ -1,24 +0,0 @@ - -boost::mpl::Macros - - -

[Home]Macros

Introspection

-
    -
  • BOOST_MPL_HAS_XXX -
-

-

Configuration

-
    -
  • BOOST_MPL_NO_PREPROCESSED_HEADERS -
  • BOOST_MPL_METAFUNCTION_MAX_ARITY -
  • BOOST_MPL_LIMIT_LIST_SIZE -
  • BOOST_MPL_LIMIT_VECTOR_SIZE -
  • BOOST_MPL_UNROLLING_LIMIT -
-

-

Broken compilers workarounds

- -


-Table of Contents
Last edited November 12, 2003 1:35 am \ No newline at end of file diff --git a/doc/ref/Metafunction.html b/doc/ref/Metafunction.html deleted file mode 100644 index f533944..0000000 --- a/doc/ref/Metafunction.html +++ /dev/null @@ -1,77 +0,0 @@ - -boost::mpl::Metafunction - - -

[Home]Metafunction

Description

-

-A metafunction is a class or a class template that represents a function invocable at compile-time. A non-nullary metafunction is invoked by instantiating the class template with particular template parameters -(metafunction arguments); the result of the metafunction application is accessible through the instantiation's nested type typedef. All metafunction's arguments must be types (i.e. only type template parameters are allowed). A metafunction can have a variable number of parameters. A nullary metafunction is represented as a class with a nested -type typename member. -

-

Valid expressions

-

- - - - -
 Expression  Expression type  
typename f::typeA type
typename f<a1,..,an>::typeA type
-

-

Expression semantics

-

- - - - -
 Expression  Complexity  Precondition  Semantics  Postcondition 
typename f::typeunspecifiedf is a nullary metafunction; f::type is a type-namef::type is the result of the metafunction invocation
typename f<a1,..,an>::typeunspecifiedf is an n-ary metafunction; a1,..,an are types; f<a1,..,an>::type is a type-namef<a1,..,an>::type is the result of the metafunction invocation with the actual arguments a1,..,an
-

-

-

Example

-

-

-// nullary metafunction
-struct always_true { typedef true_ type; };
-

-// unary metafunction -template< typename T > struct sizeof_ -{ - typedef int_< sizeof(T) > type; -}; -

-// binary metafunction -template< typename T1, typename T2 > -struct is_same -{ - typedef false_ type; -}; -

-template< typename T > -struct is_same<T,T> -{ - typedef true_ type; -}; -

-// invocations -typedef always_true::type t1; -typedef sizeof_<int>::type t2; -typedef is_same<int,char>::type t3; -

-// results checks -BOOST_STATIC_ASSERT(t1::value); -BOOST_STATIC_ASSERT(t2::value == sizeof(int)); -BOOST_STATIC_ASSERT(!t3::value); -

-

-

Models

-

-

-

-

See also

-

-Metafunctions, Metafunction Class -


-Table of Contents
Last edited March 10, 2003 3:27 am \ No newline at end of file diff --git a/doc/ref/Metafunction_Class.html b/doc/ref/Metafunction_Class.html deleted file mode 100644 index b06ef4a..0000000 --- a/doc/ref/Metafunction_Class.html +++ /dev/null @@ -1,67 +0,0 @@ - -boost::mpl::Metafunction Class - - -

[Home]Metafunction Class

Description

-

-A metafunction class is a certain form of metafunction representation that enables higher-order metaprogramming. In particular, a non-nullary metafunction class is a type with a nested class template member apply. A nullary metafunction class has the form of a nullary metafunction. A metafunction class invocation is defined as invocation of its nested apply metafunction. -

-

Valid expressions

-

- - - - -
 Expression  Expression type  
typename f::typeA type
typename f::template apply<a1,..,an>::typeA type
-

-

Expression semantics

-

- - - - -
 Expression  Complexity  Precondition  Semantics  Postcondition 
typename f::typeunspecifiedf is a nullary metafunction class; f::type is a type-namef::type is the result of the metafunction class invocation
typename f::template apply<a1,..,an>::typeunspecifiedf is an n-ary metafunction class; apply is a metafunctiontypename f::template apply<a1,..,an>::type is the result of the metafunction class invocation with the actual arguments a1,..,an
-

-

-

Example

-

-

-// nullary metafunction class
-struct always_true { typedef true_ type; };
-

-template< long N > struct le -{ - template< typename M > struct apply - { - typedef bool_< (M::value < N) > type; - }; -}; -

-// unary metafunction class -typedef le<5> less_than_5; -

-// binary metafunction class -struct less_than -{ - template< typename N1, typename N2 > struct apply - { - typedef bool_< (N1::value < N2::value) > type; - }; -}; -

-// invocations -typedef always_true::type t1; -typedef less_than_5::apply< int_<7> >::type t2; -typedef less_than::apply< int_<5>,int_<7> >::type t3; -

-// results checks -BOOST_STATIC_ASSERT(t1::value); -BOOST_STATIC_ASSERT(!t2::value); -BOOST_STATIC_ASSERT(t3::value); -

-

-

See also

-

-Metafunctions, Metafunction -


-Table of Contents
Last edited March 10, 2003 4:16 am \ No newline at end of file diff --git a/doc/ref/Metafunctions.html b/doc/ref/Metafunctions.html deleted file mode 100644 index 7a77257..0000000 --- a/doc/ref/Metafunctions.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::Metafunctions - - -

[Home]Metafunctions

Concepts

- -

-

Invocation

-
    -
  • apply -
-

-

Arithmetic operations

- -

-

Comparisons

- -

-

Logical operations

- -

-

Bitwise operations

-
    -
  • bitor_ -
  • bitand_ -
  • bitxor_ -
  • shift_left -
  • shift_right -
-

-

Identity operations

-
    -
  • identity -
  • project1st -
  • project2nd -
  • select1st -
  • select2nd -
-


-Table of Contents
Last edited March 10, 2003 6:39 am \ No newline at end of file diff --git a/doc/ref/Random_Access_Iterator.html b/doc/ref/Random_Access_Iterator.html deleted file mode 100644 index 2123d30..0000000 --- a/doc/ref/Random_Access_Iterator.html +++ /dev/null @@ -1,48 +0,0 @@ - -boost::mpl::Random Access Iterator - - -

[Home]Random Access Iterator

Description

-

-A Random Access Iterator is a Bidirectional Iterator that provides constant-time methods for moving forward and backward on a sequence in arbitrary-sized steps. -

-

-

Refinement of

-

-Bidirectional Iterator -

-

Valid expressions

-

-Random Access Iterator defines two new expressions and refines the ones described in Bidirectional Iterator. -

- - - - - - -
 Expression  Expression type  
typename i::nextA model of Random Access Iterator
typename i::priorA model of Random Access Iterator
typename i::template advance<n>::typeA model of Random Access Iterator
typename i::template distance<j>::typeA model of Integral Constant
-

-

Expression semantics

-

-Semantics of an expression is defined only where it is not defined in Bidirectional Iterator. -

- - - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
typename i::template advance<n>::typeAmortized constant timeIncluding i itself, there must be n::value dereferenceable or past-the-end iterators following or preceding i, depending on whether n is positive or negative.If n::value > 0, equivalent to executing i::next n::value times; if n::value < 0, equivalent to executing i::prior n::value times; if n::value == 0, this is a null operation [1].The resulting iterator is dereferenceable or past-the-end.
typename i::template distance<j>::typeAmortized constant timeEither i is reachable from j or j is reachable from i, or both.Returns an integral constant n such that i::template advance<n>::type is identical to j.
-

-

Invariants

-

-For any random access iterators i and j the following invariants always hold: -

-

    -
  • if i::advance<n>::type is well-defined, then i::advance<n>::type::advance< negate<n>::type >::type is a null operation. -
-

-

See also

-

-Random Access Sequence, Bidirectional Iterator -


-Table of Contents
Last edited July 15, 2002 11:35 am \ No newline at end of file diff --git a/doc/ref/Random_Access_Sequence.html b/doc/ref/Random_Access_Sequence.html deleted file mode 100644 index d7d792e..0000000 --- a/doc/ref/Random_Access_Sequence.html +++ /dev/null @@ -1,35 +0,0 @@ - -boost::mpl::Random Access Sequence - - -

[Home]Random Access Sequence

Description

-

-A Random Access Sequence is a Bidirectional Sequence which provides iterators that satisfy the Random Access Iterator requirements. A random access sequence provides amortized constant time access to arbitrary elements. -

-

Refinement of

-

-Bidirectional Sequence -

-

Valid expressions

-

-Random Access Sequence does not define any new expressions beyond those defined in Bidirectional Sequence. However, it refines the expression requirements. -

- - - - -
 Expression  Expression type  
typename begin<s>::typeA model of Random Access Iterator
typename end<s>::typeA model of Random Access Iterator
-

-

Models

-

-

-

-

See also

-

-Bidirectional Sequence, Random Access Iterator -


-Table of Contents
Last edited July 15, 2002 2:37 pm \ No newline at end of file diff --git a/doc/ref/Rational_Constant.html b/doc/ref/Rational_Constant.html deleted file mode 100644 index ae84658..0000000 --- a/doc/ref/Rational_Constant.html +++ /dev/null @@ -1,37 +0,0 @@ - -boost::mpl::Rational Constant - - -

[Home]Rational Constant

Description

-

-A Rational Constant is a class representing the ration of two values of a built-in integral type (bool, int, long, etc.) in compile-time programs. A rational constant directly supports access to the numerator -and denominator. Other arithmetic operations are supported through the external metafunctions. A rational constant is always stored in simplified form. -

-

Valid expressions

-

- - - - - - - -
 Expression  Return type  
typename n::integer_typeAn integral type
typename n::typeA model of Rational Constant
typename n::numeratorA model of Integral Constant representing the numerator
typename n::denominatorA model of Integral Constant representing the denominator
n::value()A run-time floating point approximation of n::type
-

-

Expression semantics

-

- - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
-

-

Models

-

-

-

-

See also

-

-Integral Constant, rational_c -


-Table of Contents
Last edited October 30, 2003 2:43 am \ No newline at end of file diff --git a/doc/ref/Reference/BOOST_MPL_AUX_LAMBDA_SUPPORT.html b/doc/ref/Reference/BOOST_MPL_AUX_LAMBDA_SUPPORT.html deleted file mode 100644 index 2486040..0000000 --- a/doc/ref/Reference/BOOST_MPL_AUX_LAMBDA_SUPPORT.html +++ /dev/null @@ -1,50 +0,0 @@ - -boost::mpl::BOOST_MPL_AUX_LAMBDA_SUPPORT - - -

[Home]BOOST_MPL_AUX_LAMBDA_SUPPORT

Synopsis

-

-

-#define BOOST_MPL_AUX_LAMBDA_SUPPORT(arity, fun, params) \
-    unspecified token sequence \
-/**/
-
-

-

Description

-

-Broken compiler workaround macro, enables metafunction fun for the use in lambda expressions on compilers that don't support partial template specialization or/and template template parameters. Expands to nothing on conforming compilers. -

-

Definition

-

-

-#include "boost/mpl/aux_/lambda_support.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Description  
arityThe metafunction's arity, i.e. the number of its template parameters, including the defaults.
funThe metafunction's name.
paramsPP-tuple of the metafunction's parameter names, in their original order.
-

-

Example

-

-

-template< typename T, typename U = int > struct f
-{
-    typedef T type[sizeof(U)];
-

- BOOST_MPL_AUX_LAMBDA_SUPPORT(2,f,(T,U)) -}; -

-typedef lambda< f<char,_1> >::type f_; // use f in a lambda expression -typedef apply1<f_,long>::type res; -BOOST_MPL_ASSERT_IS_SAME(res, char[sizeof(long)]); -

-

-

See also

-

-Macros -


-Table of Contents
Last edited November 12, 2003 1:29 am \ No newline at end of file diff --git a/doc/ref/Reference/advance.html b/doc/ref/Reference/advance.html deleted file mode 100644 index 3d94c75..0000000 --- a/doc/ref/Reference/advance.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::advance - - -

[Home]advance

Synopsis

-

-

-template<
-      typename Iterator
-    , typename N
-    >
-struct advance
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns an new iterator i such as distance< Iterator,i >::type::value == N::value. -

-

Definition

-

-

-#include "boost/mpl/advance.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
IteratorA model of Input Iterator
NA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef advance<Iterator,N>::type i;A model of Input IteratorIterator and every iterator between Iterator and i (inclusive) is nonsingular; N::value must be nonnegative if Iterator is a model of Input Iterator or Forward IteratorEquivalent to typedef Iterator::next i1; typedef i1::next i2; .. typedef in-1::next i; if N::value > 0, and typedef Iterator::prior i1; typedef i1::prior i2; .. typedef in-1::prior i; otherwise; if N::value == 0, the algorithm has no effect.distance< Iterator,i >::type::value == N::value
-

-

Complexity

-

-Amortized constant time if Iterator is a model of Random Access Iterator, otherwise linear time. -

-

Example

-

-

-typedef vector_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
-typedef begin<numbers>::type first;
-typedef end<numbers>::type last;
-typedef advance_c<first,10>::type iter1;
-typedef advance_c<last,-10>::type iter2;
-BOOST_MPL_ASSERT_IS_SAME(iter1, last);
-BOOST_MPL_ASSERT_IS_SAME(iter2, first);
-
-

-

See also

-

-Iterators, Sequence, distance, begin, end -


-Table of Contents
Last edited July 17, 2002 6:38 am \ No newline at end of file diff --git a/doc/ref/Reference/and.html b/doc/ref/Reference/and.html deleted file mode 100644 index 33ff42b..0000000 --- a/doc/ref/Reference/and.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::and_ - - -

[Home]and_

Synopsis

-

-

-template< 
-      typename F1
-    , typename F2
-    , typename F3 = true_
-    ...
-    , typename Fn = true_
-    >
-struct and_
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of short-circuit logical and (&&) operation on its arguments. -

-

Definition

-

-

-#include "boost/mpl/and.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
F1, F2, .., FnA model of nullary Metafunction
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
and_<f1,f2,..,fn>A model of bool Integral Constantfalse_ if either of f1::type::value, f2::type::value, .., fn::type::value expressions evaluates to false, and true_ otherwise; guarantees left-to-right evaluation; moreover, the operands subsequent to the first fi metafunction that evaluates to false are not evaluated.
-

-

Example

-

-

-// will generate compile-time error if invoked with T == any fundamental type
-template< typename T > struct fail
-{
-   typedef typename T::nonexistent type;
-};
-

-BOOST_STATIC_ASSERT((and_< true_,false_ >::value == false)); -BOOST_STATIC_ASSERT((and_< false_,fail<int> >::value == false)); // OK, fail<int> is never invoked -BOOST_STATIC_ASSERT((and_< true_,false_,fail<int> >::value == false)); // OK too -

-

-

See also

-

-Metafunctions, or_, not_ -


-Table of Contents
Last edited September 6, 2003 3:13 am \ No newline at end of file diff --git a/doc/ref/Reference/at.html b/doc/ref/Reference/at.html deleted file mode 100644 index 9a39f40..0000000 --- a/doc/ref/Reference/at.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::at - - -

[Home]at

Synopsis

-

-

-template<
-      typename Sequence
-    , typename N
-    >
-struct at
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a type identical to the N-th element from the beginning of the sequence. -

-

Definition

-

-

-#include "boost/mpl/at.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
NA model of Integral ConstantThe offset from the beginning of the sequence that specifies the element to be retrieved.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef at<Sequence,N>::type t;A type0 <= N::value < size<Sequence>::type::valueEquivalent to typedef advance< begin<Sequence>::type,N >::type::type t;
-

-

Complexity

-

-Depends on the implementation of the particular sequence it is applied to. Linear in the worst case, or amortized constant time. -

-

Example

-

-

-typedef range_c<long,10,50> range;
-BOOST_STATIC_ASSERT(at< range, int_<0> >::type::value == 10);
-BOOST_STATIC_ASSERT(at< range, int_<10> >::type::value == 20);
-BOOST_STATIC_ASSERT(at< range, int_<40> >::type::value == 50);
-
-

-

See also

-

-Forward Sequence, at_c, front, back -


-Table of Contents
Last edited March 12, 2003 6:26 am \ No newline at end of file diff --git a/doc/ref/Reference/at_c.html b/doc/ref/Reference/at_c.html deleted file mode 100644 index 2bae6a5..0000000 --- a/doc/ref/Reference/at_c.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::at_c - - -

[Home]at_c

Synopsis

-

-

-template<
-      typename Sequence
-    , long n
-    >
-struct at_c
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a type identical to the n-th element from the beginning of the sequence. at_c<Sequence,n>::type is a shorcut notation for at< Sequence, integral_c<long,n> >::type. -

-

Definition

-

-

-#include "boost/mpl/at.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence being examined.
nAn compile-time integral constantAn offset from the beginning of the sequence that specifies the element to be retrieved.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef at_c<Sequence,n>::type t;A type0 <= n < size<Sequence>::type::valueEquivalent to typedef at< Sequence, integral_c<long,n> >::type t;
-

-

Complexity

-

-Depends on the implementation of the particular sequence it is applied to. Linear in the worst case, or amortized constant time. -

-

Example

-

-

-typedef range_c<long,10,50> range;
-BOOST_STATIC_ASSERT(at_c<range,0>::type::value == 10);
-BOOST_STATIC_ASSERT(at_c<range,10>::type::value == 20);
-BOOST_STATIC_ASSERT(at_c<range,40>::type::value == 50);
-
-

-

See also

-

-Forward Sequence, at, front, back -


-Table of Contents
Last edited October 21, 2002 4:09 am \ No newline at end of file diff --git a/doc/ref/Reference/back.html b/doc/ref/Reference/back.html deleted file mode 100644 index af0bed5..0000000 --- a/doc/ref/Reference/back.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::back - - -

[Home]back

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct back
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a type identical to the last element in the sequence, that is, the element in a position that preceeds the position of past-the-end iterator. -

-

Definition

-

-

-#include "boost/mpl/back.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef back<Sequence>::type t;A typeempty<Sequence>::type::value == falseEquivalent to typedef prior< end<Sequence>::type >::type::type t;
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef range_c<int,0,1> range1;
-typedef range_c<int,0,10> range2;
-typedef range_c<int,-10,0> range3;
-

-BOOST_STATIC_ASSERT(back<range1>::type::value == 0); -BOOST_STATIC_ASSERT(back<range2>::type::value == 9); -BOOST_STATIC_ASSERT(back<range3>::type::value == -1); -

-

-

Notes

-

-[1] The algorithm is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Forward Sequence, front, at, end, push_back -


-Table of Contents
Last edited July 17, 2002 3:47 am \ No newline at end of file diff --git a/doc/ref/Reference/begin.html b/doc/ref/Reference/begin.html deleted file mode 100644 index e50354e..0000000 --- a/doc/ref/Reference/begin.html +++ /dev/null @@ -1,56 +0,0 @@ - -boost::mpl::begin - - -

[Home]begin

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct begin
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns an iterator that points to the first element of the sequence. -

-

Definition

-

-

-#include "boost/mpl/begin_end.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Sequence
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef begin<Sequence>::type first;A model of Input Iteratorfirst is an iterator pointing to the first element of the Sequence; equivalent to Sequence::begin unless the algorithm has been specialized for the particular type of sequence.first is either dereferenceable or past-the-end; it is past-the-end if and only if size<Sequence>::type::value == 0.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef vector<unsigned char,unsigned short,unsigned int, unsigned long> unsigned_types;
-typedef begin<unsigned_types>::type iter;
-BOOST_STATIC_ASSERT((boost::is_same<iter::type,unsigned char>::value));
-
-

-

See also

-

-Iterators, Sequence, end, size, empty -


-Table of Contents
Last edited July 22, 2002 2:03 am \ No newline at end of file diff --git a/doc/ref/Reference/clear.html b/doc/ref/Reference/clear.html deleted file mode 100644 index 800c9f2..0000000 --- a/doc/ref/Reference/clear.html +++ /dev/null @@ -1,60 +0,0 @@ - -boost::mpl::clear - - -

[Home]clear

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct clear
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns an empty sequence that preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/clear.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible Sequence
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef clear<Sequence>::type s;A model of Extensible SequenceEquivalent to typedef erase<Sequence, begin<Sequence>::type, end<Sequence>::type>::type s;empty<s>::type::value == true
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef list_c<int,1,3,5,7,9,11> odds;
-typedef clear<odds>::type nothing;
-BOOST_STATIC_ASSERT(empty<nothing>::type::value);
-
-

-

Notes

-

-[1] The algorithm is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Extensible Sequence, erase, empty, begin, end -


-Table of Contents
Last edited July 17, 2002 3:58 am \ No newline at end of file diff --git a/doc/ref/Reference/contains.html b/doc/ref/Reference/contains.html deleted file mode 100644 index 0d7bd9a..0000000 --- a/doc/ref/Reference/contains.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::contains - - -

[Home]contains

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct contains
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if one or more elements in Sequence are identical to T, and false_ otherwise. -

-

Definition

-

-

-#include "boost/mpl/contains.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
TA typeThe type to search for.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef contains<Sequence,T>::type c;A model of bool Integral ConstantEquivalent to typedef not_< is_same< find<Sequence,T>::type, end<Sequence>::type > >::type c;
-

-

Complexity

-

-Linear. At most size<Sequence>::value comparisons for identity. -

-

Example

-

-

-typedef vector<char,int,unsigned,long,unsigned long> types;
-typedef contains<types,bool>::type result;
-BOOST_STATIC_ASSERT(!result::value);
-
-

-

See also

-

-Algorithms, find, find_if, count, count_if -


-Table of Contents
Last edited March 10, 2003 5:33 am \ No newline at end of file diff --git a/doc/ref/Reference/copy.html b/doc/ref/Reference/copy.html deleted file mode 100644 index 1bb52fd..0000000 --- a/doc/ref/Reference/copy.html +++ /dev/null @@ -1,70 +0,0 @@ - -boost::mpl::copy - - -

[Home]copy

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BinaryOp
-    >
-struct copy
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-copy is, in fact, just another name for fold. It was introduced for symmetry with copy_if [1], and because it's a nice name for one of the typical fold applications, that is, copying the content of one sequence into another - see the example below. -

-

Definition

-

-

-#include "boost/mpl/copy.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BinaryOp application.
BinaryOpA model of [Lambda Function]The operation to be executed on forward traversal.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef copy<Sequence,T,Op>::type s;A typeEquivalent to typedef fold< Sequence,T,Op >::type s;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of BinaryOp. -

-

Example

-

-

-typedef vector_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
-typedef copy<
-      range_c<int,10,20>
-    , numbers
-    , push_back<_,_>
-    >::type result;
-

-BOOST_STATIC_ASSERT(size<result>::value == 20); -BOOST_STATIC_ASSERT((equal< result,range_c<int,0,20> >::type::value)); -

-

-

Notes

-

-[1] In case if you wonder why copy_if, in its turn, wasn't just called fold_if, - something that would allow to eliminate the family of copy algorithms completely - these two have quite different semantics.
-

-

See also

-

-Algorithms, copy_if, copy_backward, copy_backward_if, fold, fold_backward -


-Table of Contents
Last edited May 20, 2003 1:36 am \ No newline at end of file diff --git a/doc/ref/Reference/copy_backward.html b/doc/ref/Reference/copy_backward.html deleted file mode 100644 index c2ae085..0000000 --- a/doc/ref/Reference/copy_backward.html +++ /dev/null @@ -1,70 +0,0 @@ - -boost::mpl::copy_backward - - -

[Home]copy_backward

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BinaryOp
-    >
-struct copy_backward
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-copy_backward is, in fact, just another name for fold_backward. It was introduced for symmetry with copy_backward_if [1], and because it's a nice name for one of the typical fold_backward applications, that is, copying the content of one sequence into another - see the example below. -

-

Definition

-

-

-#include "boost/mpl/copy_backward.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BinaryOp application.
BinaryOpA model of [Lambda Function]The operation to be executed on backward traversal.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef copy_backward<Sequence,T,Op>::type s;A typeEquivalent to typedef fold_backward< Sequence,T,Op >::type s;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of BinaryOp. -

-

Example

-

-

-typedef list_c<int,10,11,12,13,14,15,16,17,18,19>::type numbers;
-typedef copy_backward<
-      range_c<int,0,10>
-    , push_front<_,_>
-    , numbers
-    >::type result;
-

-BOOST_STATIC_ASSERT(size<result>::value == 20); -BOOST_STATIC_ASSERT((equal< result,range_c<int,0,20> >::type::value)); -

-

-

Notes

-

-[1] In case if you wonder why copy_backward_if, in its turn, wasn't just called fold_backward_if, - something that would allow to eliminate the family of copy_backward algorithms completely - these two have quite different semantics.
-

-

See also

-

-Algorithms, copy_backward_if, copy, copy_if, fold, fold_backward -


-Table of Contents
Last edited July 19, 2002 2:11 am \ No newline at end of file diff --git a/doc/ref/Reference/copy_backward_if.html b/doc/ref/Reference/copy_backward_if.html deleted file mode 100644 index 60b1883..0000000 --- a/doc/ref/Reference/copy_backward_if.html +++ /dev/null @@ -1,70 +0,0 @@ - -boost::mpl::copy_backward_if - - -

[Home]copy_backward_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BinaryOp
-    , typename Pred
-    >
-struct copy_backward_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of BinaryOp to the result of the previous BinaryOp invocation (State if it's the first call) and every element in the range [begin<Sequence>::type,end<Sequence>::type) that satisfies the predicate Pred, in the reverse order. A typical application for copy_backward_if is to conditionally copy the content of one sequence into another - see the example below. -

-

Definition

-

-

-#include "boost/mpl/copy_backward_if.hpp"
-
-

-

Parameters

- - - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BinaryOp application.
BinaryOpA model of [Lambda Function]The operation to be executed on backward traversal.
PredAn unary Predicate [Lambda Expression]The copying condition.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef copy_backward_if<Sequence,T,Op,Pred>::type s;A typeEquivalent to typedef lambda<Op>::type op; typedef lambda<Pred>::type pred; typedef fold_backward< Sequence,T,if_< apply<pred,_2>, apply<op,_1,_2>, _1 > >::type s;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of Pred, and at most size<Sequence>::type::value applications of BinaryOp. -

-

Example

-

-

-typedef list_c<int,0,1,2,3,4,5,6,7,8,9>::type numbers;
-typedef list_c<int,0,1,2,3,4>::type answer;
-typedef copy_backward_if<
-      numbers
-    , list_c<int>
-    , push_front<_1,_2>
-    , less<_1,int_<5> >
-    >::type result;
-

-BOOST_STATIC_ASSERT(size<result>::value == 5); -BOOST_STATIC_ASSERT((equal<result,answer>::type::value)); -

-

-

See also

-

-Algorithms, copy_backward, copy_if, copy, fold, fold_backward -


-Table of Contents
Last edited March 12, 2003 6:29 am \ No newline at end of file diff --git a/doc/ref/Reference/copy_if.html b/doc/ref/Reference/copy_if.html deleted file mode 100644 index b80347e..0000000 --- a/doc/ref/Reference/copy_if.html +++ /dev/null @@ -1,70 +0,0 @@ - -boost::mpl::copy_if - - -

[Home]copy_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BinaryOp
-    , typename Pred
-    >
-struct copy_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of BinaryOp to the result of the previous BinaryOp invocation (State if it's the first call) and every element in the range [begin<Sequence>::type,end<Sequence>::type) that satisfies the predicate Pred, in the linear order. A typical application for copy_if is to conditionally copy the content of one sequence into another - see the example below. -

-

Definition

-

-

-#include "boost/mpl/copy_if.hpp"
-
-

-

Parameters

- - - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BinaryOp application.
BinaryOpA model of [Lambda Function]The operation to be executed on forward traversal.
PredAn unary Predicate [Lambda Expression]The copying condition.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef copy_if<Sequence,T,Op,Pred>::type s;A typeEquivalent to typedef lambda<Op>::type op; typedef lambda<Pred>::type pred; typedef fold< Sequence,T,if_< apply<pred,_2>, apply<op,_1,_2>, _1 > >::type s;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of Pred, and at most size<Sequence>::type::value applications of BinaryOp. -

-

Example

-

-

-typedef list_c<int,0,1,2,3,4,5,6,7,8,9>::type numbers;
-typedef list_c<int,0,1,2,3,4>::type answer;
-typedef copy_if<
-      numbers
-    , vector_c<int>
-    , push_back<_1,_2>
-    , less<_1,int_<5> >
-    >::type result;
-

-BOOST_STATIC_ASSERT(size<result>::value == 5); -BOOST_STATIC_ASSERT((equal<result,answer>::type::value)); -

-

-

See also

-

-Algorithms, copy, copy_backward_if, copy_backward, fold, iter_fold -


-Table of Contents
Last edited March 12, 2003 6:30 am \ No newline at end of file diff --git a/doc/ref/Reference/count.html b/doc/ref/Reference/count.html deleted file mode 100644 index 847e8c2..0000000 --- a/doc/ref/Reference/count.html +++ /dev/null @@ -1,60 +0,0 @@ - -boost::mpl::count - - -

[Home]count

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct count
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the number of elements in a Sequence that are identical to T. -

-

Definition

-

-

-#include "boost/mpl/count.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
TA typeThe type to be searched for.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef count<Sequence,T>::type n;A model of Integral ConstantEquivalent to typedef count_if< Sequence,is_same<_,T> >::type n;
-

-

-

Complexity

-

-Linear. Exactly size<Sequence>::value comparisons for identity. -

-

Example

-

-

-typedef list<int,char,long,short,char,short,double,long> types;
-typedef find<types, short>::type iter;
-BOOST_STATIC_ASSERT((is_same<iter::type,short>::type::value));
-BOOST_STATIC_ASSERT((distance< begin<types>::type,iter >::type::value == 3));
-
-

-

See also

-

-Algorithms, count_if, find, find_if, contains -


-Table of Contents
Last edited December 12, 2002 2:05 am \ No newline at end of file diff --git a/doc/ref/Reference/count_if.html b/doc/ref/Reference/count_if.html deleted file mode 100644 index 2d5e0d1..0000000 --- a/doc/ref/Reference/count_if.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::count_if - - -

[Home]count_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred
-    >
-struct count_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the number of elements in a Sequence that satisfy the predicate Pred. -

-

Definition

-

-

-#include "boost/mpl/count_if.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
PredA model of Predicate [Lambda Expression]The count condition.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef count_if<Sequence,Pred>::type n;A model of Integral ConstantEquivalent to typedef lambda<Pred>::type pred; typedef fold< Sequence,integral_c<unsigned long,0>,if_<pred,next<_1>,_1> >::type n;
-

-

-

Complexity

-

-Linear. Exactly size<Sequence>::value applications of Pred. -

-

Example

-

-

-typedef list<int,char,long,short,char,long,double,long> types;
-

-BOOST_STATIC_ASSERT((count_if< types,boost::is_float<_> >::type::value == 1)); -BOOST_STATIC_ASSERT((count_if< types,boost::is_same<_,char> >::type::value == 2)); -BOOST_STATIC_ASSERT((count_if< types,boost::is_same<_,void> >::type::value == 0)); -

-

-

See also

-

-Algorithms, count, find_if, find, contains -


-Table of Contents
Last edited July 17, 2002 4:32 am \ No newline at end of file diff --git a/doc/ref/Reference/deref.html b/doc/ref/Reference/deref.html deleted file mode 100644 index 4709b0f..0000000 --- a/doc/ref/Reference/deref.html +++ /dev/null @@ -1,56 +0,0 @@ - -boost::mpl::deref - - -

[Home]deref

Synopsis

-

-

-template<
-      typename Iterator
-    >
-struct deref
-{
-    typedef typename Iterator::type type;
-};
-
-

-

Description

-

-Dereferences an iterator. -

-

Definition

-

-

-#include "boost/mpl/deref.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
IteratorA model of Trivial IteratorAn iterator to be dereferenced.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef deref<Iterator>::type t;A typeEquivalent to typedef Iterator::type t;.Iterator is dereferenceable
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list<char,short,int,long> types;
-typedef begin<types>::type iter;
-BOOST_STATIC_ASSERT(boost::is_same< deref<iter>::type,char >::value));
-
-

-

See also

-

-Iterators, begin/end -


-Table of Contents
Last edited March 10, 2003 5:30 am \ No newline at end of file diff --git a/doc/ref/Reference/distance.html b/doc/ref/Reference/distance.html deleted file mode 100644 index b698c70..0000000 --- a/doc/ref/Reference/distance.html +++ /dev/null @@ -1,56 +0,0 @@ - -boost::mpl::distance - - -

[Home]distance

Synopsis

-

-

-template<
-      typename First
-    , typename Last
-    >
-struct distance
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Finds the distance between First and Last, that is, an Integral Constant D such as advance< First,D >::type is identical to Last. -

-

Definition

-

-

-#include "boost/mpl/distance.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
First, LastA model of Input Iterator
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef distance<First,Last>::type d;A model of Integral Constant[First, Last) is a valid rangeis_same< advance< First,d >::type, Last >::value
-

-

Complexity

-

-Amortized constant time if Iterator is a model of Random Access Iterator, otherwise linear time. -

-

Example

-

-

-typedef range_c<int,0,10>::type range;
-BOOST_STATIC_ASSERT((distance< begin<range>::type,end<range>::type >::type::value == 10));
-
-

-

See also

-

-Iterators, Sequence, advance, begin, end -


-Table of Contents
Last edited July 17, 2002 6:47 am \ No newline at end of file diff --git a/doc/ref/Reference/divides.html b/doc/ref/Reference/divides.html deleted file mode 100644 index c7c4a21..0000000 --- a/doc/ref/Reference/divides.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::divides - - -

[Home]divides

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    , typename T3 = integral_c<int,1>
-    , ...
-    , typename Tn = integral_c<int,1>
-    >
-struct divides
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the quotient of its arguments [1]. -

-

Definition

-

-

-#include "boost/mpl/divides.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2, .., TnA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef divides<t1,t2,..,tn>::type quot;A model of Integral Constantt2::value != 0, t3::value != 0, .., tn::value != 0Equivalent to typedef integral_c<typeof(t1::value / t2::value .. / tn::value), t1::value / t2::value .. / tn::value > quot;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef divides< integral_c<short,-10>, integral_c<long,3> >::type quot;
-BOOST_STATIC_ASSERT(quot::value == -3));
-BOOST_MPL_ASSERT_IS_SAME(quot::value_type, long);
-
-

-

Notes

-

-[1] The divides metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, multiplies, modulus, plus, minus, negate -


-Table of Contents
Last edited March 10, 2003 6:32 am \ No newline at end of file diff --git a/doc/ref/Reference/empty.html b/doc/ref/Reference/empty.html deleted file mode 100644 index 14ee143..0000000 --- a/doc/ref/Reference/empty.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::empty - - -

[Home]empty

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct empty
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns an Integral Constant c such that c::value == true if and only if the sequence is empty. -

-

Definition

-

-

-#include "boost/mpl/empty.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Sequence
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef empty<Sequence>::type c;A model of bool Integral ConstantEquivalent to typedef is_same< begin<Sequence>::type,end<Sequence>::type >::type c;
-

-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef range_c<int,0,0> empty_range;
-typedef list<long,float,double> types;
-

-BOOST_STATIC_ASSERT(empty<empty_range>::value) -BOOST_STATIC_ASSERT(!empty<types>::value) -

-

-

See also

-

-Sequence, size, begin, end -


-Table of Contents
Last edited July 17, 2002 3:52 am \ No newline at end of file diff --git a/doc/ref/Reference/end.html b/doc/ref/Reference/end.html deleted file mode 100644 index bac4d50..0000000 --- a/doc/ref/Reference/end.html +++ /dev/null @@ -1,57 +0,0 @@ - -boost::mpl::end - - -

[Home]end

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct end
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the past-the-end iterator to the sequence. -

-

Definition

-

-

-#include "boost/mpl/begin_end.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Sequence
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition  
typedef end<Sequence>::type last;A model of Input Iteratorlast is an iterator pointing one past the last element in the Sequence; equivalent to Sequence::end unless the algorithm has been specialized for the particular type of sequence.last is past-the-end.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list<long> short_list;
-typedef begin<short_list>::type first;
-typedef end<short_list>::type last;
-BOOST_STATIC_ASSERT((boost::is_same<first::next,last>::value));
-
-

-

See also

-

-Iterators, Sequence, begin, size, empty -


-Table of Contents
Last edited July 22, 2002 4:30 pm \ No newline at end of file diff --git a/doc/ref/Reference/equal.html b/doc/ref/Reference/equal.html deleted file mode 100644 index 8976cbd..0000000 --- a/doc/ref/Reference/equal.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::equal - - -

[Home]equal

Synopsis

-

-

-template<
-      typename Sequence1
-    , typename Sequence2
-    , typename Pred = is_same<_1,_2>
-    >
-struct equal
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if the two sequences Sequence1 and Sequence2 are identical when compared element-by-element, and otherwise returns false_. -

-

Definition

-

-

-#include "boost/mpl/equal.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
Sequence1, Sequence2A model of Forward SequenceSequences to compare.
PredA binary Predicate [Lambda Expression]The comparison metafunction.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef equal<Sequence1,Sequence2,Pred>::type c;A model of Integral Constantc::value == true is and only if size<Sequence1>::type::value == size<Sequence2>::type::value and for every iterator i in [begin<Sequence>::type,end<Sequence>::type) i::type is identical to advance< begin<Sequence2>::type, distance< begin<Sequence1>::type,i >::type >::type.
-

-

Complexity

-

-Linear. At most size<Sequence1>::value comparisons. -

-

Example

-

-

-typedef vector<char,int,unsigned,long,unsigned long> s1;
-typedef list<char,int,unsigned,long,unsigned long> s2;
-BOOST_STATIC_ASSERT((equal<s1,s2>::type::value));
-
-

-

See also

-

-Algorithms, count, count_if -


-Table of Contents
Last edited March 10, 2003 5:39 am \ No newline at end of file diff --git a/doc/ref/Reference/equal_to.html b/doc/ref/Reference/equal_to.html deleted file mode 100644 index 4093487..0000000 --- a/doc/ref/Reference/equal_to.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::equal_to - - -

[Home]equal_to

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct equal_to
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value == T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/equal_to.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef equal_to<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value == t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,1,2,3,5,7,12,19,31> fibonacci;
-typedef find_if< fibonacci, equal_to<_1,int_<12> > >::type iter;
-BOOST_STATIC_ASSERT(equal_to< distance< begin<fibonacci>::type, iter >::type, int_<5> >::type::value));
-
-

-

Notes

-

-[1] The equal_to metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, not_equal_to, less, less_equal, greater, greater_equal -


-Table of Contents
Last edited March 10, 2003 6:26 am \ No newline at end of file diff --git a/doc/ref/Reference/erase.html b/doc/ref/Reference/erase.html deleted file mode 100644 index c7ca5dd..0000000 --- a/doc/ref/Reference/erase.html +++ /dev/null @@ -1,65 +0,0 @@ - -boost::mpl::erase - - -

[Home]erase

Synopsis

-

-

-template<
-      typename Sequence
-    , typename First
-    , typename Last = typename First::next
-    >
-struct erase
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-erase performs a removal of one or several consequent elements in the sequence starting from an arbitrary position. The algorithm returns a new sequence which contains all the elements in the ranges [begin<Sequence>::type, First) and [Last, end<Sequence>::type). The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/erase.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  Default value  
SequenceA model of Extensible SequenceA sequence to handle the erase operation.
FirstA model of Forward IteratorIterator to the beginning of the range to be erased.
LastA model of Forward IteratorPast-the-end iterator of the range to be erased.typename First::next
-

-

Expression semantics

-

- - - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef erase<Sequence,pos>::type s;A model of Extensible Sequencepos is a dereferenceable iterator in Sequence.Returns a new sequence which contains all the elements in the ranges [begin<Sequence>::type, pos) and [next<pos>::type, end<Sequence>::type).size<s>::type::value == size<Sequence>::type::value - 1; the relative order of the elements in s is the same as in Sequence.
typedef erase<Sequence,first,last>::type s;A model of Extensible Sequence[first,last) is a valid range in Sequence.Returns a new sequence which contains all the elements in the ranges [begin<Sequence>::type, first) and [last, end<Sequence>::type).size<s>::type::value == size<Sequence>::type::value - distance<first,last>::type::value; the relative order of the elements in s is the same as in Sequence.
-

-

Complexity

-

-The range form has linear complexity. The complexity of single-element erase is sequence dependent (linear in the worst case, or amortized constant time). -

-

Example

-

-

-typedef list_c<int,1,0,5,1,7,5,0,5> values;
-typedef find< values, integral_c<int,7> >::type pos;
-typedef erase<values,pos>::type result_seq;
-BOOST_STATIC_ASSERT(size<result_seq>::type::value == 7);
-

-typedef find<result, integral_c<int,7> >::type result_iter; -BOOST_MPL_ASSERT_IS_SAME(result_iter, end<result_seq>::type); -

-

-

See also

-

-Extensible Sequence, pop_front, pop_back, insert -


-Table of Contents
Last edited July 17, 2002 3:59 am \ No newline at end of file diff --git a/doc/ref/Reference/erase_range.html b/doc/ref/Reference/erase_range.html deleted file mode 100644 index 8bee8d9..0000000 --- a/doc/ref/Reference/erase_range.html +++ /dev/null @@ -1,63 +0,0 @@ - -boost::mpl::erase_range - - -

[Home]erase_range

Synopsis -

-

-

-template<
-      typename Sequence
-    , typename First
-    , typename Last
-    >
-struct erase_range
-{
-    typedef implementation-defined type;
-};
-
-

-

Description -

-

-[to do] -

-

Definition -

-

-

-#include "boost/mpl/erase_range.hpp"
-
-

-

Parameters -

- - - -
 Parameter  Requirement  Description  Default argument  
ParamA model of Concept[to do][to do]
-

-

Members -

- - - -
 Member  Description  
type[to do]
-

-

Complexity -

-

-[to do] -

-

Example -

-

-

-[to do]
-
-

-

See also -

-

-Algorithms, erase, erase_all, erase_if -


-Table of Contents
Last edited February 19, 2002 3:55 am \ No newline at end of file diff --git a/doc/ref/Reference/filter_view.html b/doc/ref/Reference/filter_view.html deleted file mode 100644 index e5016a6..0000000 --- a/doc/ref/Reference/filter_view.html +++ /dev/null @@ -1,63 +0,0 @@ - -boost::mpl::filter_view - - -

[Home]filter_view

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred
-    >
-struct filter_view
-{
-    // unspecified
-};
-
-

-

Description

-

-filter_view is a sequence wrapper that allows one to operate on the filtered sequence without actually creating one. -

-

Definition

-

-

-#include "boost/mpl/filter_view.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to wrap.
PredA model of unary Predicate [Lambda Expression]A filtering predicate.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef filter_view<Sequence,Pred> s;A model of Sequences prodives iterators to all the elements in the range [begin<Sequence>::type,end<Sequence>::type) that satisfy the predicate Pred.size<s>::type::value == count_if< Sequence,Pred >::type::value.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-Finds the largest floating type in a sequence. -

-

-typedef list<int,float,long,float,char[50],long double,char> types;
-typedef max_element<
-      transform_view< filter_view< types,boost::is_float<_> >, size_of<_> >
-    >::type iter;
-

-BOOST_STATIC_ASSERT((is_same<iter::base::type,long double>::value)); -

-

-

See also

-

-Sequences, transform_view, joint_view, zip_view, max_element -


-Table of Contents
Last edited March 10, 2003 4:42 am \ No newline at end of file diff --git a/doc/ref/Reference/find.html b/doc/ref/Reference/find.html deleted file mode 100644 index 17108e9..0000000 --- a/doc/ref/Reference/find.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::find - - -

[Home]find

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct find
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Finds the first occurrence of type T in a Sequence. -

-

Definition

-

-

-#include "boost/mpl/find.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to search in.
TA typeThe type to search for.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef find<Sequence,T>::type i;A model of Forward IteratorEquivalent to typedef find_if<Sequence, is_same<_,T> >::type i;
-

-

Complexity

-

-Linear. At most size<Sequence>::value comparisons for identity. -

-

Example

-

-

-typedef vector<char,int,unsigned,long,unsigned long> types;
-typedef find<types,unsigned>::type iter;
-BOOST_STATIC_ASSERT(iter::pos::value == 2);
-
-

-

See also

-

-Algorithms, find_if, contains, count, count_if -


-Table of Contents
Last edited September 15, 2002 7:24 pm \ No newline at end of file diff --git a/doc/ref/Reference/find_if.html b/doc/ref/Reference/find_if.html deleted file mode 100644 index 5d5b6a7..0000000 --- a/doc/ref/Reference/find_if.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::find_if - - -

[Home]find_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred
-    >
-struct find_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Finds the first element in a Sequence that satisfies the predicate Pred. -

-

Definition

-

-

-#include "boost/mpl/find_if.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to search in.
PredA model of Predicate [Lambda Expression]A search condition.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef find_if<Sequence,Pred>::type i;A model of Forward Iteratori is the first iterator in the range [begin<Sequence>::type, end<Sequence>::type) such that apply< lambda<Pred>::type,i::type >::type::value == true; i is identical to end<Sequence>::type, if no such iterator exists.
-

-

Complexity

-

-Linear. At most size<Sequence>::value applications of Pred. -

-

Example

-

-

-typedef vector<char,int,unsigned,long,unsigned_long> types;
-typedef find_if<types, is_same<_1,unsigned> >::type iter;
-BOOST_STATIC_ASSERT(iter::pos::value == 2);
-
-

-

See also

-

-Algorithms, find, contains, count, count_if -


-Table of Contents
Last edited September 15, 2002 7:24 pm \ No newline at end of file diff --git a/doc/ref/Reference/fold.html b/doc/ref/Reference/fold.html deleted file mode 100644 index 73417b2..0000000 --- a/doc/ref/Reference/fold.html +++ /dev/null @@ -1,65 +0,0 @@ - -boost::mpl::fold - - -

[Home]fold

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename ForwardOp
-    >
-struct fold
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of binary ForwardOp to the result of the previous ForwardOp invocation (State if it's the first call) and every element of the sequence in the range [begin<Sequence>::type,end<Sequence>::type) in the linear order. -

-

Definition

-

-

-#include "boost/mpl/fold.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first ForwardOp application.
ForwardOpA model of [Lambda Function]The operation to be executed on forward traversal.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef fold<Sequence,T,Op>::type t;A typeEquivalent to typedef lambda<Op>::type op; typedef iter_fold< Sequence,T,apply<op,_1,deref<_2> > >::type t;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of ForwardOp. -

-

Example

-

-

-typedef vector<long,float,short,double,float,long,long double> types;
-typedef typename fold<
-      types
-    , integral_c<long, 0>
-    , if_< is_float<_2>,next<_1>,_1 >
-    >::type number_of_floats;
-

-BOOST_STATIC_ASSERT(number_of_floats::value == 4); -

-

-

See also

-

-Algorithms, fold_backward, iter_fold, iter_fold_backward, copy, copy_if -


-Table of Contents
Last edited December 12, 2002 4:42 pm \ No newline at end of file diff --git a/doc/ref/Reference/fold_backward.html b/doc/ref/Reference/fold_backward.html deleted file mode 100644 index c624e7e..0000000 --- a/doc/ref/Reference/fold_backward.html +++ /dev/null @@ -1,75 +0,0 @@ - -boost::mpl::fold_backward - - -

[Home]fold_backward

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp = _1
-    >
-struct fold_backward
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of binary BackwardOp to the result of the previous BackwardOp invocation (State if it's the first call) and every element in the range [begin<Sequence>::type,end<Sequence>::type) in the reverse order. If ForwardOp is provided, then it's applied on forward traversal to form the result which is passed to the first BackwardOp call. -

-

Definition

-

-

-#include "boost/mpl/fold_backward.hpp"
-
-

-

Parameters

- - - - - - -
 Parameter  Requirement  Description  Default value  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BackwardOp/ForwardOp application.
BackwardOpA model of [Lambda Function]The operation to be executed on backward traversal.
ForwardOpA model of [Lambda Function]The operation to be executed on forward traversal.arg<1>
-

-

Expression semantics

-

- - - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef fold_backward< Sequence,T,BackwardOp >::type t;A typeEquivalent to typedef lambda<BackwardOp>::type bk_op; typedef begin<Sequence>::type i1; typedef i1::next i2; ...; typedef in::next last; typedef apply<bk_op,T,in::type>::type tn; typedef apply<bk_op,tn,in-1::type>::type tn-1; ...; typedef apply<bk_op,t2,i1::type>::type t1; typedef t1 t, where n == size<Sequence>::type::value and last is identical to end<Sequence>::type; Equivalent to typedef T t; if the sequence is empty.
typedef fold_backward< Sequence,T,BackwardOp,ForwardOp >::type t;A typeEquivalent to typedef fold_backward<Sequence, fold<Sequence,State,ForwardOp>::type, BackwardOp>::type t;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of BackwardOp and ForwardOp. -

-

Example

-

-Removes negative elements from a sequence [1]. -

-

-typedef list_c<int,5,-1,0,-7,-2,0,-5,4> numbers;
-typedef list_c<int,-1,-7,-2,-5> negatives;
-typedef fold_backward<
-      numbers
-    , list_c<int>
-    , if_< less< _2,int_<0> >, push_front<_1,_2,>, _1 >
-    >::type result;
-

-BOOST_STATIC_ASSERT(equal< negatives,result >::type::value); -

-

-

Notes

-

-[1] See remove_if for a more compact way to do this.
-

-

See also

-

-Algorithms, fold, iter_fold_backward, iter_fold, copy, copy_backward -


-Table of Contents
Last edited March 12, 2003 6:30 am \ No newline at end of file diff --git a/doc/ref/Reference/front.html b/doc/ref/Reference/front.html deleted file mode 100644 index eb7c409..0000000 --- a/doc/ref/Reference/front.html +++ /dev/null @@ -1,60 +0,0 @@ - -boost::mpl::front - - -

[Home]front

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct front
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a type identical to the first element in the sequence. -

-

Definition

-

-

-#include "boost/mpl/front.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be examined.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef front<Sequence>::type t;A typeempty<Sequence>::type::value == falseEquivalent to typedef begin<Sequence>::type::type t;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list<long>::type types1;
-typedef list<int,long>::type types2;
-typedef list<char,int,long>::type types3;
-

-BOOST_MPL_ASSERT_IS_SAME(front<types1>::type, long); -BOOST_MPL_ASSERT_IS_SAME(front<types2>::type, int); -BOOST_MPL_ASSERT_IS_SAME(front<types3>::type, char); -

-

-

See also

-

-Forward Sequence, back, at, push_front, begin, empty -


-Table of Contents
Last edited July 17, 2002 3:48 am \ No newline at end of file diff --git a/doc/ref/Reference/greater.html b/doc/ref/Reference/greater.html deleted file mode 100644 index bdf9376..0000000 --- a/doc/ref/Reference/greater.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::greater - - -

[Home]greater

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct greater
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value > T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/greater.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef greater<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value > t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,1,2,3,5,7,12,19,31> fibonacci;
-typedef find_if< fibonacci, greater<_1,int_<10> > >::type iter;
-BOOST_STATIC_ASSERT(iter::type::value == 12));
-
-

-

Notes

-

-[1] The greater metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, greater_equal, less, less_equal, equal_to, not_equal_to -


-Table of Contents
Last edited March 10, 2003 6:24 am \ No newline at end of file diff --git a/doc/ref/Reference/greater_equal.html b/doc/ref/Reference/greater_equal.html deleted file mode 100644 index 2997edb..0000000 --- a/doc/ref/Reference/greater_equal.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::greater_equal - - -

[Home]greater_equal

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct greater_equal
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value > T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/greater_equal.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef greater_equal<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value >= t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
-typedef remove_if< numbers, greater_equal<_1,int_<5> > >::type result;
-BOOST_STATIC_ASSERT(equal< result,range_c<int,0,5> >::type::value));
-
-

-

Notes

-

-[1] The greater_equal metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, greater, less, less_equal, equal_to, not_equal_to -


-Table of Contents
Last edited March 10, 2003 6:25 am \ No newline at end of file diff --git a/doc/ref/Reference/insert.html b/doc/ref/Reference/insert.html deleted file mode 100644 index 56ccc1c..0000000 --- a/doc/ref/Reference/insert.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::insert - - -

[Home]insert

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pos
-    , typename T
-    >
-struct insert
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-insert performs an insertion of type T at an arbitrary position in the sequence. The algorithm returns a new sequence which contains all the elements from Sequence plus the type T at the distance< begin<Sequence>::type,Pos >::type position from the beginning. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/insert.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the insert operation.
PosA model of Forward IteratorAn insert position in the Sequence.
TA typeThe element to be inserted.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef insert<Sequence,pos,T>::type s;A model of Extensible Sequencepos is a valid iterator in Sequence.s contains T at the distance< begin<Sequence>::type,pos >::type position.size<s>::type::value == size<Sequence>::type::value + 1; at< distance< begin<Sequence>::type,pos >::type, s >::type is identical to T; the relative order of the elements in s is the same as in Sequence.
-

-

Complexity

-

-Sequence dependent. Linear in the worst case, or amortized constant time. -

-

Example

-

-

-typedef list_c<int,0,1,3,4,5,6,7,8,9> numbers;
-typedef find< numbers,integral_c<int,3> >::type pos;
-typedef insert< numbers,pos,integral_c<int,2> >::type range;
-BOOST_STATIC_ASSERT(size<range>::type::value == 10);
-BOOST_STATIC_ASSERT((equal< range,range_c<int,0,10> >::type::value));
-
-

-

See also

-

-Extensible Sequence, insert_range, push_front, push_back, erase -


-Table of Contents
Last edited July 17, 2002 5:17 am \ No newline at end of file diff --git a/doc/ref/Reference/insert_range.html b/doc/ref/Reference/insert_range.html deleted file mode 100644 index 10bdf7c..0000000 --- a/doc/ref/Reference/insert_range.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::insert_range - - -

[Home]insert_range

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pos
-    , typename Range
-    >
-struct insert_range
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-insert_range performs an insertion of a range of elements at an arbitrary position in the sequence. The algorithm returns a new sequence which contains all the elements of Sequence plus all the elements of Range starting at the distance< begin<Sequence>::type,Pos >::type position from the beginning. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/insert_range.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the insert operation.
PosA model of Forward IteratorAn insert position in the Sequence.
RangeA model of SequenceThe range of elements to be inserted.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition  
typedef insert<Sequence,pos,range>::type s;A model of Extensible Sequencepos is a valid iterator in Sequence.s contains all the elements from range starting at the distance< begin<Sequence>::type,pos >::type position.size<s>::type::value == size<Sequence>::type::value + size<range>::type::value; the relative order of the elements in s is the same as in Sequence.
-

-

Complexity

-

-Linear time. -

-

Example

-

-

-typedef list_c<int,0,1,7,8,9> numbers;
-typedef find< numbers,integral_c<int,7> >::type pos;
-typedef insert_range< numbers,pos,range_c<int,2,7> >::type range;
-BOOST_STATIC_ASSERT(size<range>::type::value == 10);
-BOOST_STATIC_ASSERT((equal< range,range_c<int,0,10> >::type::value));
-
-

-

See also

-

-Extensible Sequence, insert, push_front, push_back, erase -


-Table of Contents
Last edited July 22, 2002 4:32 pm \ No newline at end of file diff --git a/doc/ref/Reference/is_sequence.html b/doc/ref/Reference/is_sequence.html deleted file mode 100644 index 88cb53b..0000000 --- a/doc/ref/Reference/is_sequence.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::is_sequence - - -

[Home]is_sequence

Synopsis

-

-

-template<
-      typename T
-    >
-struct is_sequence
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns an Integral Constant c such that c::value == true if and only if T is a model of Sequence. -

-

Definition

-

-

-#include "boost/mpl/is_sequence.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
TA type
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef is_sequence<T>::type c;A model of bool Integral ConstantEquivalent to typedef not_< is_same< begin<T>::type,void_ > >::type c;
-

-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-struct UDT {};
-BOOST_STATIC_ASSERT( !is_sequence<int>::value );
-BOOST_STATIC_ASSERT( !is_sequence<UDT>::value );
-BOOST_STATIC_ASSERT( is_sequence< list<> >::value );
-BOOST_STATIC_ASSERT( is_sequence< vector<> >::value );
-
-

-

See also

-

-Sequence, begin, end, as_sequence -


-Table of Contents
Last edited July 1, 2003 4:08 pm \ No newline at end of file diff --git a/doc/ref/Reference/iter_fold.html b/doc/ref/Reference/iter_fold.html deleted file mode 100644 index f3ddd0c..0000000 --- a/doc/ref/Reference/iter_fold.html +++ /dev/null @@ -1,65 +0,0 @@ - -boost::mpl::iter_fold - - -

[Home]iter_fold

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename ForwardOp
-    >
-struct iter_fold
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of binary ForwardOp to the result of the previous ForwardOp invocation (State if it's the first call) and each iterator in the range [begin<Sequence>::type,end<Sequence>::type) in the linear order. -

-

Definition

-

-

-#include "boost/mpl/iter_fold.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first ForwardOp application.
ForwardOpA model of [Lambda Function]The operation to be executed on forward traversal.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef iter_fold<Sequence,T,Op>::type t;A typeEquivalent to typedef lambda<Op>::type op; typedef begin<Sequence>::type i1; typedef apply<op,T,i1>::type t1; typedef i1::next i2; typedef apply<op,t1,i2>::type t2; ...; typedef apply<op,T,in>::type tn; typedef in::next last; typedef tn t, where n == size<Sequence>::type::value and last is identical to end<Sequence>::type; Equivalent to typedef T t; if the sequence is empty.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of ForwardOp. -

-

Example

-

-

-typedef list_c<int,5,-1,0,7,2,0,-5,4> numbers;
-typedef iter_fold<
-      numbers
-    , begin<numbers>::type
-    , if_< less< deref<_1>, deref<_2> >,_2,_1 >
-    >::type max_element_iter;
-

-BOOST_STATIC_ASSERT(max_element_iter::type::value == 7); -

-

-

See also

-

-Algorithms, iter_fold_backward, fold, fold_backward, copy, copy_backward -


-Table of Contents
Last edited July 19, 2002 1:16 am \ No newline at end of file diff --git a/doc/ref/Reference/iter_fold_backward.html b/doc/ref/Reference/iter_fold_backward.html deleted file mode 100644 index d7ee2dd..0000000 --- a/doc/ref/Reference/iter_fold_backward.html +++ /dev/null @@ -1,71 +0,0 @@ - -boost::mpl::iter_fold_backward - - -

[Home]iter_fold_backward

Synopsis

-

-

-template<
-      typename Sequence
-    , typename State
-    , typename BackwardOp
-    , typename ForwardOp = _1
-    >
-struct iter_fold_backward
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of the successive application of binary BackwardOp to the result of the previous BackwardOp invocation (State if it's the first call) and each iterator in the range [begin<Sequence>::type,end<Sequence>::type) in the reverse order. If ForwardOp is provided, then it's applied on forward traversal to form the result which is passed to the first BackwardOp call. -

-

Definition

-

-

-#include "boost/mpl/iter_fold_backward.hpp"
-
-

-

Parameters

- - - - - - -
 Parameter  Requirement  Description  Default value  
SequenceA model of SequenceA sequence to iterate.
StateA typeThe initial state for the first BackwardOp/ForwardOp application.
BackwardOpA model of [Lambda Function]The operation to be executed on backward traversal.
ForwardOpA model of [Lambda Function]The operation to be executed on forward traversal.arg<1>
-

-

Expression semantics

-

- - - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef iter_fold_backward< Sequence,T,BackwardOp >::type t;A typeEquivalent to typedef lambda<BackwardOp>::type bk_op; typedef begin<Sequence>::type i1; typedef i1::next i2; ...; typedef in::next last; typedef apply<bk_op,T,in>::type tn; typedef apply<bk_op,tn,in-1>::type tn-1; ...; typedef apply<bk_op,t2,i1>::type t1; typedef t1 t, where n == size<Sequence>::type::value and last is identical to end<Sequence>::type; Equivalent to typedef T t; if the sequence is empty.
typedef iter_fold_backward< Sequence,T,BackwardOp,ForwardOp >::type t;A typeEquivalent to typedef iter_fold_backward<Sequence, iter_fold<Sequence,State,ForwardOp>::type, BackwardOp>::type t;.
-

-

Complexity

-

-Linear. Exactly size<Sequence>::type::value applications of BackwardOp and ForwardOp. -

-

Example

-

-Builds a list of iterators to the negative elements in a sequence. -

-

-typedef vector_c<int,5,-1,0,-7,-2,0,-5,4> numbers;
-typedef list_c<int,-1,-7,-2,-5> negatives;
-typedef iter_fold_backward<
-      numbers
-    , list<>
-    , if_< less< deref<_2>,int_<0> >, push_front<_1,_2>, _1 >
-    >::type iters;
-

-BOOST_STATIC_ASSERT(equal< negatives, transform_view< iters,deref<_1> > >::type::value); -

-

-

See also

-

-Algorithms, iter_fold, fold_backward, fold, copy, copy_backward -


-Table of Contents
Last edited March 12, 2003 6:31 am \ No newline at end of file diff --git a/doc/ref/Reference/iterator_category.html b/doc/ref/Reference/iterator_category.html deleted file mode 100644 index 1e90cfc..0000000 --- a/doc/ref/Reference/iterator_category.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::iterator_category - - -

[Home]iterator_category

Synopsis

-

-

-template<
-      typename Iterator
-    >
-struct iterator_category
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns one of the following iterator category tags: input_iterator_tag, forward_iterator_tag, bidirectional_iterator_tag, or random_access_iterator_tag. -

-

Definition

-

-

-#include "boost/mpl/iterator_category.hpp"
-#include "boost/mpl/iterator_tag.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
IteratorA model of Input Iterator
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition  
typedef iterator_category<Iterator>::type tag;An iterator category tagtag is input_iterator_tag if Iterator is a model of Input Iterator, forward_iterator_tag if Iterator is a model of Forward Iterator, bidirectional_iterator_tag if Iterator is a model of Bidirectional Iterator, or random_access_iterator_tag if Iterator is a model of Random Access Iterator.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-template< typename Iterator >
-struct my_algorithm
-    : my_algorithm_impl<
-          iterator_category<Iterator>::type
-        , Iterator
-        >
-{
-};
-
-

-

See also

-

-Iterators, Sequence, begin, end, advance, distance -


-Table of Contents
Last edited July 17, 2002 6:20 am \ No newline at end of file diff --git a/doc/ref/Reference/joint_view.html b/doc/ref/Reference/joint_view.html deleted file mode 100644 index 48f66fd..0000000 --- a/doc/ref/Reference/joint_view.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::joint_view - - -

[Home]joint_view

Synopsis

-

-

-template<
-      typename Sequence1
-    , typename Sequence2
-    >
-struct joint_view
-{
-    // unspecified
-};
-
-

-

Description

-

-joint_view is a two-sequence view that allows one to operate on a sequence of concatenated elements of sequences Sequence1 and Sequence2 without actually creating one. -

-

Definition

-

-

-#include "boost/mpl/joint_view.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
Sequence1, Sequence2A model of SequenceSequences to concatenate.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef joint_view<Sequence1,Sequence2> s;A model of Sequences prodives iterators to all the elements in the ranges [begin<Sequence1>::type,end<Sequence1>::type), [begin<Sequence2>::type,end<Sequence2>::type).size<s>::type::value == size< Sequence1 >::type::value + size< Sequence2 >::type::value.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef joint_view<
-      range_c<int,0,10>
-    , range_c<int,10,15>
-    > numbers;
-

-typedef range_c<int,0,15> answer; -BOOST_STATIC_ASSERT((equal<numbers,answer>::type::value)); -

-

-

See also

-

-Sequences, transform_view, filter_view, zip_view -


-Table of Contents
Last edited March 10, 2003 5:42 am \ No newline at end of file diff --git a/doc/ref/Reference/less.html b/doc/ref/Reference/less.html deleted file mode 100644 index 8ff0fcb..0000000 --- a/doc/ref/Reference/less.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::less - - -

[Home]less

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct less
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value < T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/less.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef less<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value < t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
-typedef remove_if< numbers, less<_1,int_<5> > >::type result;
-BOOST_STATIC_ASSERT(equal< result,range_c<int,5,10> >::type::value));
-
-

-

Notes

-

-[1] The less metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, less_equal, greater, greater_equal, equal, not_equal_to -


-Table of Contents
Last edited March 10, 2003 6:22 am \ No newline at end of file diff --git a/doc/ref/Reference/less_equal.html b/doc/ref/Reference/less_equal.html deleted file mode 100644 index 379f9a6..0000000 --- a/doc/ref/Reference/less_equal.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::less_equal - - -

[Home]less_equal

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct less_equal
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value <= T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/less_equal.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef less_equal<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value <= t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
-typedef remove_if< numbers, less_equal<_1,int_<4> > >::type result;
-BOOST_STATIC_ASSERT(equal< result,range_c<int,5,10> >::type::value));
-
-

-

Notes

-

-[1] The less_equal metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, less, greater, greater_equal, equal, not_equal_to -


-Table of Contents
Last edited March 10, 2003 6:28 am \ No newline at end of file diff --git a/doc/ref/Reference/list.html b/doc/ref/Reference/list.html deleted file mode 100644 index 4a522d2..0000000 --- a/doc/ref/Reference/list.html +++ /dev/null @@ -1,45 +0,0 @@ - -boost::mpl::list - - -

[Home]list

Synopsis

-

-

-template<
-      typename T1 = implementation-defined
-    , typename T2 = implementation-defined
-    , ...
-    , typename Tn = implementation-defined
-    >
-struct list
-{
-};
-
-

-

Description

-

-A list is a Forward Sequence of types. It's also an Extensible Sequence that supports constant time insertion and removal of elements at the beginning (through push_front), and linear time insertion and removal of elements at the end or in the middle (through insert/erase algorithms). -

-

Example

-

-

-typedef list<float,double,long double> floats;
-typedef push_front<floating_types,my_float>::type ext_floats;
-BOOST_STATIC_ASSERT((boost::is_same< front<ext_floats>::type, my_float >::value));
-
-

-

Definition

-

-

-#include "boost/mpl/list.hpp"
-#include "boost/mpl/list/list0.hpp"
-#include "boost/mpl/list/list10.hpp"
-...
-#include "boost/mpl/list/list50.hpp"
-
-

-

See also

-

-Forward Sequence, list_c, vector, vector_c, range_c -


-Table of Contents
Last edited July 17, 2002 8:05 am \ No newline at end of file diff --git a/doc/ref/Reference/list_c.html b/doc/ref/Reference/list_c.html deleted file mode 100644 index 3635e75..0000000 --- a/doc/ref/Reference/list_c.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::list_c - - -

[Home]list_c

Synopsis

-

-

-template<
-      typename T
-    , T C1 = implementation-defined
-    , T C2 = implementation-defined
-    , ...
-    , T CN = implementation-defined
-    >
-struct list_c
-{
-};
-
-

-

Description

-

-Similary to vector_c, list_c is a shorcut interface whose whole purpose is to make the creation of a list of Integral Constants less verbose: -

-

-typedef list_c<unsigned long,-1,0,1,1,-1,0,0,1,-1> data;
-
-

-If list_c didn't exist, instead of the above line you would have to write this: -

-

-typedef list<
-      integral_c<unsigned long,-1>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,-1>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,-1>
-    > data;
-
-

-

Definition

-

-

-#include "boost/mpl/list_c.hpp"
-#include "boost/mpl/list/list0_c.hpp"
-#include "boost/mpl/list/list10_c.hpp"
-...
-#include "boost/mpl/list/list50_c.hpp"
-
-

-

See also

-

-Random Access Sequence, list, vector, vector_c, range_c -


-Table of Contents
Last edited July 17, 2002 8:04 am \ No newline at end of file diff --git a/doc/ref/Reference/lower_bound.html b/doc/ref/Reference/lower_bound.html deleted file mode 100644 index 85f36e1..0000000 --- a/doc/ref/Reference/lower_bound.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::lower_bound - - -

[Home]lower_bound

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    , typename Pred = less<_,_>
-    >
-struct lower_bound
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the first position in the sorted Sequence where T could be inserted without violating the ordering. -

-

Definition

-

-

-#include "boost/mpl/lower_bound.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sorted sequence.
TA typeA type to search the position for.
PredA model of binary Predicate [Lambda Expression]A sort criteria.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef lower_bound< Sequence,T,Pred >::type i;A model of Forward Iteratori is the furthermost iterator in [begin<Sequence>::type, end<Sequence>::type) such that, for every iterator j in [begin<Sequence>::type, i), apply< lambda<Pred>::type, j::type, T >::type::value == true.
-

-

Complexity

-

-The number of comparisons is logarithmic: at most log(size<Sequence>::type::value) + 1. If Sequence is a Random Access Sequence then the number of steps through the range is also logarithmic; otherwise, the number of steps is proportional to size<Sequence>::type::value. -

-

Example

-

-

-typedef list_c<int,1,2,3,3,3,5,8> numbers;
-typedef lower_bound< numbers, int_<3> >::type iter;
-BOOST_STATIC_ASSERT((distance< begin<numbers>::type,iter >::type::value == 2));
-BOOST_STATIC_ASSERT(iter::type::value == 3);
-
-

-

See also

-

-Algorithms, sort, upper_bound -


-Table of Contents
Last edited March 10, 2003 5:43 am \ No newline at end of file diff --git a/doc/ref/Reference/max_element.html b/doc/ref/Reference/max_element.html deleted file mode 100644 index 3ff39c4..0000000 --- a/doc/ref/Reference/max_element.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::max_element - - -

[Home]max_element

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred = less<_1,_2>
-    >
-struct max_element
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Finds the largest element in the Sequence. -

-

Definition

-

-

-#include "boost/mpl/max_element.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be searched.
PredA model of binary Predicate [Lambda Expression]A comparison criteria.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef max_element< Sequence,Pred >::type i;A model of Forward Iteratori is the first iterator in [begin<Sequence>::type, end<Sequence>::type) such that for every iterator j in [begin<Sequence>::type, end<Sequence>::type), apply< lambda<Pred>::type, i::type, j::type >::type::value == false.
-

-

Complexity

-

-Linear. Zero comparisons if Sequence is empty, otherwise exactly size<Sequence>::value - 1 comparisons. -

-

Example

-

-

-typedef vector<int,char[50],long,double> types;
-typedef max_element<
-      transform_view< types,sizeof_<_1> >
-    >::type iter;
-

-BOOST_STATIC_ASSERT((distance< begin<types>::type,iter >::type::value == 1)); -BOOST_STATIC_ASSERT(sizeof(deref<iter>::type) == 50); -

-

-

See also

-

-Algorithms, min_element, upper_bound, lower_bound -


-Table of Contents
Last edited March 10, 2003 6:01 am \ No newline at end of file diff --git a/doc/ref/Reference/min_element.html b/doc/ref/Reference/min_element.html deleted file mode 100644 index 466fa70..0000000 --- a/doc/ref/Reference/min_element.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::min_element - - -

[Home]min_element

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred = less<_1,_2>
-    >
-struct min_element
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Finds the smallest element in the Sequence. -

-

Definition

-

-

-#include "boost/mpl/min_element.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sequence to be searched.
PredA model of binary Predicate [Lambda Expression]A comparison criteria.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef min_element< Sequence,Pred >::type i;A model of Forward Iteratori is the first iterator in [begin<Sequence>::type, end<Sequence>::type) such that for every iterator j in [begin<Sequence>::type, end<Sequence>::type), apply< lambda<Pred>::type, j::type, i::type >::type::value == false.
-

-

Complexity

-

-Linear. Zero comparisons if Sequence is empty, otherwise exactly size<Sequence>::value - 1 comparisons. -

-

Example

-

-

-typedef vector<bool,char[50],long,double> types;
-typedef min_element<
-      transform_view< types,sizeof_<_1> >
-    >::type iter;
-

-BOOST_STATIC_ASSERT((distance< begin<types>::type,iter >::type::value == 0)); -BOOST_STATIC_ASSERT(sizeof(deref<iter>::type) == sizeof(bool)); -

-

-

See also

-

-Algorithms, max_element, upper_bound, lower_bound -


-Table of Contents
Last edited March 10, 2003 6:05 am \ No newline at end of file diff --git a/doc/ref/Reference/minus.html b/doc/ref/Reference/minus.html deleted file mode 100644 index 83752b0..0000000 --- a/doc/ref/Reference/minus.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::minus - - -

[Home]minus

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    , typename T3 = integral_c<int,0>
-    , ...
-    , typename Tn = integral_c<int,0>
-    >
-struct minus
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the difference of its arguments [1]. -

-

Definition

-

-

-#include "boost/mpl/minus.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2, .., TnA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef minus<t1,t2,..,tn>::type diff;A model of Integral ConstantEquivalent to typedef integral_c<typeof(t1::value - t2::value .. - tn::value), t1::value - t2::value .. - tn::value > diff;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef minus< integral_c<short,-1>, integral_c<long,10> >::type diff;
-BOOST_STATIC_ASSERT(diff::value == -11));
-BOOST_MPL_ASSERT_IS_SAME(diff::value_type, long);
-
-

-

Notes

-

-[1] The minus metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, plus, divides, multiplies, modulus, negate -


-Table of Contents
Last edited March 10, 2003 6:31 am \ No newline at end of file diff --git a/doc/ref/Reference/modulus.html b/doc/ref/Reference/modulus.html deleted file mode 100644 index 0b7a646..0000000 --- a/doc/ref/Reference/modulus.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::modulus - - -

[Home]modulus

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct modulus
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the modulus of its arguments [1]. -

-

Definition

-

-

-#include "boost/mpl/modulus.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef modulus<t1,t2>::type mod;A model of Integral Constantt2::value != 0 Equivalent to typedef integral_c<typeof(t1::value % t2::value), t1::value % t2::value> mod;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef modulus< integral_c<short,10>, integral_c<long,3> >::type mod;
-BOOST_STATIC_ASSERT(mod::value == 1));
-BOOST_MPL_ASSERT_IS_SAME(mod::value_type, long);
-
-

-

Notes

-

-[1] The modulus metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, divides, multiplies, plus, minus, negate -


-Table of Contents
Last edited March 10, 2003 6:32 am \ No newline at end of file diff --git a/doc/ref/Reference/multiplies.html b/doc/ref/Reference/multiplies.html deleted file mode 100644 index 111bd20..0000000 --- a/doc/ref/Reference/multiplies.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::multiplies - - -

[Home]multiplies

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    , typename T3 = integral_c<int,1>
-    , ...
-    , typename Tn = integral_c<int,1>
-    >
-struct multiplies
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the product of its arguments [1]. -

-

Definition

-

-

-#include "boost/mpl/multiplies.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2, .., TnA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef multiplies<t1,t2,..,tn>::type product;A model of Integral ConstantEquivalent to typedef integral_c<typeof(t1::value * t2::value .. * tn::value), t1::value * t2::value .. * tn::value > product;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef multiplies< integral_c<short,-1>, integral_c<long,10> >::type product;
-BOOST_STATIC_ASSERT(product::value == -10));
-BOOST_MPL_ASSERT_IS_SAME(product::value_type, long);
-
-

-

Notes

-

-[1] The multiplies metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, divides, modulus, plus, minus, negate -


-Table of Contents
Last edited March 10, 2003 6:31 am \ No newline at end of file diff --git a/doc/ref/Reference/negate.html b/doc/ref/Reference/negate.html deleted file mode 100644 index 266b70e..0000000 --- a/doc/ref/Reference/negate.html +++ /dev/null @@ -1,60 +0,0 @@ - -boost::mpl::negate - - -

[Home]negate

Synopsis

-

-

-template<
-      typename T
-    >
-struct negate
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the negative (additive inverse) of its argument [1]. -

-

Definition

-

-

-#include "boost/mpl/negate.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
TA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef negate<t>::type n;A model of Integral ConstantEquivalent to typedef integral_c<t::value_type, -t::value> n;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef negate< integral_c<short,-10> >::type n;
-BOOST_STATIC_ASSERT(n::value == 10));
-BOOST_MPL_ASSERT_IS_SAME(n::value_type, short);
-
-

-

Notes

-

-[1] The negate metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, minus, plus, multiplies, divides, modulus -


-Table of Contents
Last edited March 10, 2003 6:33 am \ No newline at end of file diff --git a/doc/ref/Reference/not.html b/doc/ref/Reference/not.html deleted file mode 100644 index 696e683..0000000 --- a/doc/ref/Reference/not.html +++ /dev/null @@ -1,51 +0,0 @@ - -boost::mpl::not_ - - -

[Home]not_

Synopsis

-

-

-template< 
-      typename F
-    >
-struct not_
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of logical not (!) operation on its argument. -

-

Definition

-

-

-#include "boost/mpl/not.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
FA model of nullary Metafunction
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
not_<f>A model of bool Integral ConstantEquivalent to bool_<(!f::type::value)>
-

-

Example

-

-

-BOOST_STATIC_ASSERT(not_<true_>::value == false);
-BOOST_STATIC_ASSERT(not_<false_>::value == true);
-
-

-

See also

-

-Metafunctions, and_, or_ -


-Table of Contents
Last edited September 6, 2003 3:09 am \ No newline at end of file diff --git a/doc/ref/Reference/not_equal_to.html b/doc/ref/Reference/not_equal_to.html deleted file mode 100644 index 1a1e224..0000000 --- a/doc/ref/Reference/not_equal_to.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::not_equal_to - - -

[Home]not_equal_to

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    >
-struct not_equal_to
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns true_ if T1::value != T2::value and false_ otherwise [1]. -

-

Definition

-

-

-#include "boost/mpl/not_equal_to.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2A model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef not_equal_to<t1,t2>::type c;A model of bool Integral ConstantEquivalent to typedef bool_<(t1::value != t2::value)> c;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef list_c<int,1,5,0,7,5,-1,2,4,5> numbers;
-typedef remove_if< numbers, not_equal_to<_1,int_<5> > >::type fives;
-BOOST_STATIC_ASSERT(equal_to< count_if< fives, equal_to<_1,int_<5> > >::type, size<fives>::type >::type::value));
-
-

-

Notes

-

-[1] The not_equal_to metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, equal_to, less, less_equal, greater, greater_equal -


-Table of Contents
Last edited March 10, 2003 6:20 am \ No newline at end of file diff --git a/doc/ref/Reference/or.html b/doc/ref/Reference/or.html deleted file mode 100644 index 916b722..0000000 --- a/doc/ref/Reference/or.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::or_ - - -

[Home]or_

Synopsis

-

-

-template< 
-      typename F1
-    , typename F2
-    , typename F3 = false_
-    ...
-    , typename Fn = false_
-    >
-struct or_
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the result of short-circuit logical or (||) operation on its arguments. -

-

Definition

-

-

-#include "boost/mpl/or.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
F1, F2, .., FnA model of nullary Metafunction
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
or_<f1,f2,..,fn>A model of bool Integral Constanttrue_ if either of f1::type::value, f2::type::value, .., fn::type::value expressions evaluates to true, and false_ otherwise; guarantees left-to-right evaluation; moreover, the operands subsequent to the first fi metafunction that evaluates to true are not evaluated.
-

-

Example

-

-

-// will generate compile-time error if invoked with T == any fundamental type
-template< typename T > struct fail
-{
-   typedef typename T::nonexistent type;
-};
-

-BOOST_STATIC_ASSERT((or_< false_,true_ >::value == true)); -BOOST_STATIC_ASSERT((or_< true_,fail<int> >::value == true)); // OK, fail<int> is never invoked -BOOST_STATIC_ASSERT((or_< false_,true_,fail<int> >::value == true)); // OK too -

-

-

See also

-

-Metafunctions, and_, not_ -


-Table of Contents
Last edited September 6, 2003 3:14 am \ No newline at end of file diff --git a/doc/ref/Reference/plus.html b/doc/ref/Reference/plus.html deleted file mode 100644 index 7b71d80..0000000 --- a/doc/ref/Reference/plus.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::plus - - -

[Home]plus

Synopsis

-

-

-template<
-      typename T1
-    , typename T2
-    , typename T3 = integral_c<int,0>
-    , ...
-    , typename Tn = integral_c<int,0>
-    >
-struct plus
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the sum of its arguments [1]. -

-

Definition

-

-

-#include "boost/mpl/plus.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
T1, T2, .., TnA model of Integral Constant
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef plus<t1,t2,..,tn>::type sum;A model of Integral ConstantEquivalent to typedef integral_c<typeof(t1::value + t2::value .. + tn::value), t1::value + t2::value .. + tn::value > sum;
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef plus< integral_c<short,-1>, integral_c<long,10> >::type sum;
-BOOST_STATIC_ASSERT(sum::value == 9));
-BOOST_MPL_ASSERT_IS_SAME(sum::value_type, long);
-
-

-

Notes

-

-[1] The plus metafunction can be (and is expected to be) specialized by user to work on user-defined types that do not satisfy the Integral Constant requirements. The requirements listed here are the ones imposed by the default implementation.
-

-

See also

-

-Metafunctions, minus, multiplies, divides, modulus, negate -


-Table of Contents
Last edited March 10, 2003 6:30 am \ No newline at end of file diff --git a/doc/ref/Reference/pop_back.html b/doc/ref/Reference/pop_back.html deleted file mode 100644 index adbd4f4..0000000 --- a/doc/ref/Reference/pop_back.html +++ /dev/null @@ -1,71 +0,0 @@ - -boost::mpl::pop_back - - -

[Home]pop_back

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct pop_back
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-pop_back performs a removal at the end of the sequence. The algorithm returns a new sequence which contains all the elements in the range [begin<Sequence>::type, prior< end<Sequence>::type >::type). The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/pop_back.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the erase operation
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef pop_back<Sequence>::type s;A model of Extensible Sequenceempty<Sequence>::type::value == falseEquivalent to typedef erase< Sequence, prior< end<Sequence>::type >::type >::type s;size<s>::type::value == size<Sequence>::type::value - 1
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef list<long>::type types1;
-typedef list<long,int>::type types2;
-typedef list<long,int,char>::type types3;
-

-typedef pop_back<types1>::type result1; -typedef pop_back<types2>::type result2; -typedef pop_back<types3>::type result3; -

-BOOST_STATIC_ASSERT(size<result1>::type::value == 0); -BOOST_STATIC_ASSERT(size<result2>::type::value == 1); -BOOST_STATIC_ASSERT(size<result3>::type::value == 2); -

-BOOST_MPL_ASSERT_IS_SAME(back<result2>::type, long); -BOOST_MPL_ASSERT_IS_SAME(back<result3>::type, int); -

-

-

Notes

-

-[1] The algorithm is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Extensible Sequence, erase, push_back, back, pop_front -


-Table of Contents
Last edited July 17, 2002 3:56 am \ No newline at end of file diff --git a/doc/ref/Reference/pop_front.html b/doc/ref/Reference/pop_front.html deleted file mode 100644 index 2930458..0000000 --- a/doc/ref/Reference/pop_front.html +++ /dev/null @@ -1,71 +0,0 @@ - -boost::mpl::pop_front - - -

[Home]pop_front

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct pop_front
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-pop_front performs a removal at the beginning of the sequence. The algorithm returns a new sequence which contains all the elements in the range [next< begin<Sequence>::type >::type, end<Sequence>::type). The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/pop_front.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the erase operation
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef pop_front<Sequence>::type s;A model of Extensible Sequenceempty<Sequence>::type::value == falseEquivalent to typedef erase< Sequence, begin<Sequence>::type >::type s;size<s>::type::value == size<Sequence>::type::value - 1
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef list<long>::type types1;
-typedef list<int,long>::type types2;
-typedef list<char,int,long>::type types3;
-

-typedef pop_front<types1>::type result1; -typedef pop_front<types2>::type result2; -typedef pop_front<types3>::type result3; -

-BOOST_STATIC_ASSERT(size<result1>::type::value == 0); -BOOST_STATIC_ASSERT(size<result2>::type::value == 1); -BOOST_STATIC_ASSERT(size<result3>::type::value == 2); -

-BOOST_MPL_ASSERT_IS_SAME(front<result2>::type, long); -BOOST_MPL_ASSERT_IS_SAME(front<result3>::type, int); -

-

-

Notes

-

-[1] The algorithm is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Extensible Sequence, erase, push_front, front, pop_back -


-Table of Contents
Last edited July 17, 2002 3:54 am \ No newline at end of file diff --git a/doc/ref/Reference/push_back.html b/doc/ref/Reference/push_back.html deleted file mode 100644 index bd0ca75..0000000 --- a/doc/ref/Reference/push_back.html +++ /dev/null @@ -1,63 +0,0 @@ - -boost::mpl::push_back - - -

[Home]push_back

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct push_back
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-push_back performs an insertion at the end of the sequence. The algorithm returns a new sequence which contains type T as its last element. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/push_back.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the insert operation.
TA typeThe element to be inserted.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef push_back<Sequence,T>::type s;A model of Extensible SequenceEquivalent to typedef insert< Sequence,end<Sequence>::type,T >::type s;size<s>::type::value == size<Sequence>::type::value + 1; back<s>::type is identical to T
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef vector_c<bool,false,false,false,true,true,true,false,false> bools;
-typedef push_back<bools,false_>::type message;
-BOOST_STATIC_ASSERT(back<message>::type::value == false);
-BOOST_STATIC_ASSERT((count_if<message, equal_to<_1,false_> >::type::value == 6));
-
-

-

Notes

-

-[1] The algorithm can be viewed as a notational shorcut to more verbose insert< Sequence,end<Sequence>::type,T >::type, and is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Extensible Sequence, insert, back, pop_back, push_front -


-Table of Contents
Last edited March 12, 2003 6:34 am \ No newline at end of file diff --git a/doc/ref/Reference/push_front.html b/doc/ref/Reference/push_front.html deleted file mode 100644 index 4681fcb..0000000 --- a/doc/ref/Reference/push_front.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::push_front - - -

[Home]push_front

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct push_front
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-push_front performs an insertion at the beginning of the sequence. The algorithm returns a new sequence which contains type T as its first element. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/push_front.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceA sequence to handle the insert operation.
TA typeThe element to be inserted.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef push_front<Sequence,T>::type s;A model of Extensible SequenceEquivalent to typedef insert< Sequence,begin<Sequence>::type,T >::type s;size<s>::type::value == size<Sequence>::type::value + 1; front<s>::type is identical to T
-

-

Complexity

-

-Amortized constant time [1]. -

-

Example

-

-

-typedef list_c<int,1,2,3,5,8,13,21> something;
-BOOST_STATIC_ASSERT(size<something>::type::value == 7);
-typedef push_front< something,integral_c<int,1> >::type fibonacci;
-BOOST_STATIC_ASSERT(size<fibonacci>::type::value == 8);
-BOOST_STATIC_ASSERT((equal< fibonacci,list_c<int,1,1,2,3,5,8,13,21>,equal_to<_,_> >::type::value));
-
-

-

Notes

-

-[1] The algorithm can be viewed as a notational shorcut to more verbose insert< Sequence,begin<Sequence>::type,T >::type, and is provided only if the sequence can meet the stated complexity requirements.
-

-

See also

-

-Extensible Sequence, insert, front, pop_front, push_back -


-Table of Contents
Last edited September 11, 2002 4:27 am \ No newline at end of file diff --git a/doc/ref/Reference/range_c.html b/doc/ref/Reference/range_c.html deleted file mode 100644 index ded9ce7..0000000 --- a/doc/ref/Reference/range_c.html +++ /dev/null @@ -1,71 +0,0 @@ - -boost::mpl::range_c - - -

[Home]range_c

Synopsis

-

-

-template<
-      typename T
-    , T Start
-    , T Finish
-    >
-struct range_c
-{
-    typedef integral_c<T,Start> start;
-    typedef integral_c<T,Finish> finish;
-};
-
-

-

Description

-

-range_c is a sorted Random Access Sequence of Integral Constants. It is not an Extensible Sequence, meaning that transformation algorithms, such as push_front or replace, are not applicable to it, at least directly - you need to copy the content of the range into a more suitable sequence, when needed [1]. -

-

Definition

-

-

-#include "boost/mpl/range_c.hpp"
-
-

-

Example

-

-

-typedef range_c<int,0,0> range0;
-typedef range_c<int,0,1> range1;
-typedef range_c<int,0,10> range10;
-

-BOOST_STATIC_ASSERT(size<range0>::type::value == 0); -BOOST_STATIC_ASSERT(size<range1>::type::value == 1); -BOOST_STATIC_ASSERT(size<range10>::type::value == 10); -

-BOOST_STATIC_ASSERT(empty<range0>::type::value); -BOOST_STATIC_ASSERT(!empty<range1>::type::value); -BOOST_STATIC_ASSERT(!empty<range10>::type::value); -

-BOOST_MPL_ASSERT_IS_SAME(begin<range0>::type, end<range0>::type); -BOOST_MPL_ASSERT_NOT_SAME(begin<range1>::type, end<range1>::type); -BOOST_MPL_ASSERT_NOT_SAME(begin<range10>::type, end<range10>::type); -

-BOOST_STATIC_ASSERT(front<range1>::type::value == 0); -BOOST_STATIC_ASSERT(back<range1>::type::value == 0); -BOOST_STATIC_ASSERT(front<range10>::type::value == 0); -BOOST_STATIC_ASSERT(back<range10>::type::value == 9); -

-

-

Notes

-

-[1] In fact, the most common application of range_c class is to simplify the creation of sorted list or vector: -

-

-typedef copy<
-      range_c<int,0,50>
-    , push_back<_,_>
-    , vector<>
-    >::type numbers;
-

-

-

See also

-

-Random Access Sequence, vector, vector_c, list, list_c -


-Table of Contents
Last edited July 17, 2002 8:31 am \ No newline at end of file diff --git a/doc/ref/Reference/rational_c.html b/doc/ref/Reference/rational_c.html deleted file mode 100644 index dc03c41..0000000 --- a/doc/ref/Reference/rational_c.html +++ /dev/null @@ -1,72 +0,0 @@ - -boost::mpl::rational_c - - -

[Home]rational_c

Synopsis

-

-

-template<
-      typename IntegerType
-    , IntegerType N
-    , IntegerType D = 1
-    >
-struct rational_c
-{
-    typedef rational_c<IntegerType, N, D> type;
-    typedef IntegerType integer_type;
-    typedef integral_c<IntegerType,N> numerator;
-    typedef integral_c<IntegerType,D> denominator;
-

- static double value(); -}; -

-

-

-

Description

-

-A model of Rational Constant. -

-

Definition

-

-

-#include "boost/mpl/math/rational_c.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
IntegerTypeAn integral typeType used to represent numerator and denominator.
NA compile time integral constant of type IntegerTypeValue of numerator.
DA compile time integral constant of type IntegerTypeValue of denominator.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
rational_c<T,n,d>::value()doublestatic_cast<T>(d) != 0Returns static_cast<double>(static_cast<T>(n)) / static_cast<T>(d).
-

-

Complexity

-

-All operations take amortized constant time. -

-

Example

-

-

-  typedef rational_c<int,1,2> half;
-  typedef rational_c<int,2,4> half_2;
-  typedef rational_c<long,9,15> three_fiths_3;
-  typedef rational_plus<three_fiths,half>::type eleven_tenth;
-  typedef rational_plus<half,half>::type one;
-  typedef rational_c<long,1,8> eighth;
-  typedef rational_minus<half,eighth>::type three_eighths;
-  typedef rational_multiplies<half,eighth>::type sixteenth;
-  typedef rational_divides<eighth,half>::type quarter;
-
-

-

See also

-

-Rational Constant, Integral Constant, integral_c -


-Table of Contents
Last edited October 30, 2003 2:44 am \ No newline at end of file diff --git a/doc/ref/Reference/remove.html b/doc/ref/Reference/remove.html deleted file mode 100644 index 6585d5b..0000000 --- a/doc/ref/Reference/remove.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::remove - - -

[Home]remove

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    >
-struct remove
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a new sequence which contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range except those that are identical to T. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/remove.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
TA typeA type to be removed.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef remove<Sequence,T>::type s;A model of Extensible SequenceEquivalent to typedef remove_if< Sequence,is_same<_,T> >::type t;.
-

-

Complexity

-

-Linear. Performs exactly size<Sequence>::type::value comparisons for equality. -

-

Example

-

-

-typedef list<int,float,char,float,float,double>::type types;
-typedef remove< types,float >::type result;
-typedef list<int,char,double>::type answer;
-BOOST_STATIC_ASSERT((equal< result,answer >::type::value));
-
-

-

See also

-

-Algorithms, remove_if, replace, replace_if, transform -


-Table of Contents
Last edited July 17, 2002 8:43 am \ No newline at end of file diff --git a/doc/ref/Reference/remove_if.html b/doc/ref/Reference/remove_if.html deleted file mode 100644 index de10a3e..0000000 --- a/doc/ref/Reference/remove_if.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::remove_if - - -

[Home]remove_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred
-    >
-struct remove_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns a new sequence which contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range except those that satisfy the predicate Pred. The result sequence preserves all the functional and performance characteristics of the original Sequence, except its size and identity. -

-

Definition

-

-

-#include "boost/mpl/remove_if.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
PredAn unary Predicate [Lambda Expression]A removal condition.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef remove_if<Sequence,Pred>::type s;A model of Extensible Sequence
-

-

Complexity

-

-Linear. Performs exactly size<Sequence>::type::value applications of Pred. -

-

Example

-

-

-typedef list_c<int,1,4,5,2,7,5,3,5>::type numbers;
-typedef remove_if< numbers, greater<_,4> >::type result;
-typedef list_c<int,1,4,2,3>::type answer;
-BOOST_STATIC_ASSERT((equal< answer,result,equal_to<_,_> >::type::value));
-
-

-

See also

-

-Algorithms, remove, replace, transform -


-Table of Contents
Last edited July 17, 2002 8:43 am \ No newline at end of file diff --git a/doc/ref/Reference/replace.html b/doc/ref/Reference/replace.html deleted file mode 100644 index c496cb3..0000000 --- a/doc/ref/Reference/replace.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::replace - - -

[Home]replace

Synopsis

-

-

-template<
-      typename Sequence
-    , typename OldType
-    , typename NewType
-    >
-struct replace
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Performs a replacement operation on the sequence. The algorithm returns a new sequence which contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range where every type identical to OldType has been replaced with a NewType. The result sequence preserves all the functional and performance characteristics of the original Sequence, including its size, but not identity. -

-

Definition

-

-

-#include "boost/mpl/replace.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
OldTypeA typeA type to be replaced.
NewTypeA typeA type to replace with.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef replace<Sequence,OldType,NewType>::type s;A model of Extensible SequenceEquivalent to typedef replace_if< Sequence,NewType,is_same<_,OldType> >::type t;.
-

-

Complexity

-

-Linear. Performs exactly size<Sequence>::type::value comparisons for equality, and at most size<Sequence>::type::value insertions. -

-

Example

-

-

-typedef list<int,float,char,float,float,double>::type types;
-typedef replace< types,float,double >::type result;
-typedef list<int,double,char,double,double,double>::type answer;
-BOOST_STATIC_ASSERT((equal< result,answer >::type::value));
-
-

-

See also

-

-Algorithms, replace_if, transform -


-Table of Contents
Last edited July 17, 2002 5:38 am \ No newline at end of file diff --git a/doc/ref/Reference/replace_if.html b/doc/ref/Reference/replace_if.html deleted file mode 100644 index 8919586..0000000 --- a/doc/ref/Reference/replace_if.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::replace_if - - -

[Home]replace_if

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Pred
-    , typename NewType
-    >
-struct replace_if
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Performs a conditional replacement operation on the sequence. The algorithm returns a new sequence which contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range where every type that satisfies the predicate Pred has been replaced with a NewType. The result sequence preserves all the functional and performance characteristics of the original Sequence, including its size, but not identity. -

-

Definition

-

-

-#include "boost/mpl/replace_if.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
PredAn unary Predicate [Lambda Expression]The replacement condition.
NewTypeA typeA type to replace with.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef replace_if<Sequence,Pred,NewType>::type s;A model of Extensible SequenceEquivalent to typedef lambda<Pred>::type pred; typedef transform< Sequence, if_< apply1<pred,_1>,NewType,_1> >::type t;.
-

-

Complexity

-

-Linear. Performs exactly size<Sequence>::type::value applications of Pred, and at most size<Sequence>::type::value insertions. -

-

Example

-

-

-typedef list_c<int,1,4,5,2,7,5,3,5>::type numbers;
-typedef replace_if< numbers, greater<_,4>, int_<0> >::type result;
-typedef list_c<int,1,4,0,2,0,0,3,0>::type answer;
-BOOST_STATIC_ASSERT((equal< answer,result >::type::value));
-
-

-

See also

-

-Algorithms, replace, transform -


-Table of Contents
Last edited March 12, 2003 6:32 am \ No newline at end of file diff --git a/doc/ref/Reference/reverse.html b/doc/ref/Reference/reverse.html deleted file mode 100644 index e0c7778..0000000 --- a/doc/ref/Reference/reverse.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::reverse - - -

[Home]reverse

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct reverse
-{
-    typedef implementation-defined type;
-};
-
-

-

Description

-

-Reverses a sequence. The result sequence preserves all the functional and performance characteristics of the original Sequence, including its size, but not identity. -

-

Definition

-

-

-#include "boost/mpl/reverse.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef reverse<Sequence>::type s;A model of Extensible Sequencesize<s>::type::value == size<Sequence>::type::value.
-

-

Complexity

-

-Linear. -

-

Example

-

-

-typedef list_c<int,9,8,7,6,5,4,3,2,1,0>::type numbers;
-typedef reverse< numbers >::type result;
-

-typedef range_c<int,0,10> answer; -BOOST_STATIC_ASSERT((equal<result,answer>::type::value)); -

-

-

See also

-

-Algorithms, transform, remove, remove_if -


-Table of Contents
Last edited March 10, 2003 6:13 am \ No newline at end of file diff --git a/doc/ref/Reference/single_view.html b/doc/ref/Reference/single_view.html deleted file mode 100644 index f859110..0000000 --- a/doc/ref/Reference/single_view.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::single_view - - -

[Home]single_view

Synopsis

-

-

-template<
-      typename T
-    >
-struct single_view
-{
-    // unspecified
-};
-
-

-

Description

-

-Allows one to represent an arbitrary type T as a single-element sequence. -

-

Definition

-

-

-#include "boost/mpl/single_view.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
TA typeThe type to be wrapped in a sequence.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef single_view<T> s;A model of Sequences is a random-access, single-element sequence such as front<s>::type is identical to Tsize<s>::type::value == 1, boost::same_as<front<s>::type,T>::value == true.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef single_view<int> view;
-typedef begin<view>::type first;
-typedef end<view>::type last;
-

-BOOST_MPL_ASSERT_IS_SAME(first::type,int); -BOOST_MPL_ASSERT_IS_SAME(first::next,last); -BOOST_MPL_ASSERT_IS_SAME(last::prior,first); -

-BOOST_STATIC_ASSERT(size<view>::type::value == 1); -

-

-

See also

-

-Sequences, transform_view, filter_view, joint_view, zip_view -


-Table of Contents
Last edited March 10, 2003 5:19 am \ No newline at end of file diff --git a/doc/ref/Reference/size.html b/doc/ref/Reference/size.html deleted file mode 100644 index f5201d3..0000000 --- a/doc/ref/Reference/size.html +++ /dev/null @@ -1,60 +0,0 @@ - -boost::mpl::size - - -

[Home]size

Synopsis

-

-

-template<
-      typename Sequence
-    >
-struct size
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-size returns the number of elements in the sequence, that is, the number of elements in the range [begin<Sequence>::type,end<Sequence>::type). -

-

Definition

-

-

-#include "boost/mpl/size.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequenceA model of Sequence
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef size<Sequence>::type s;A model of Integral ConstantEquivalent to typedef distance< begin<Sequence>::type,end<Sequence>::type >::type s;s::value >= 0
-

-

Complexity

-

-The complexity of the size algorithm directly depends on the implementation of the particular sequence it is applied to. In the worst case size has a linear complexity. As a general rule, if the Sequence is a Random Access Sequence, you can be certain that size<Sequence>::type is an amortized constant time operation. The opposite is not necessary true - for example, a model of Forward Sequence still can guarantee you an amortized constant time size complexity. Please refer the documentation page of the concrete sequence type for further information. -

-

Example

-

-

-typedef list0<> empty_list;
-typedef vector_c<int,0,1,2,3,4,5> numbers;
-typedef range_c<int,0,100> more_numbers;
-

-BOOST_STATIC_ASSERT(size<list>::type::value == 0); -BOOST_STATIC_ASSERT(size<numbers>::type::value == 5); -BOOST_STATIC_ASSERT(size<more_numbers>::type::value == 100); -

-

-

See also

-

-Sequence, empty, begin, end -


-Table of Contents
Last edited July 17, 2002 3:51 am \ No newline at end of file diff --git a/doc/ref/Reference/transform.html b/doc/ref/Reference/transform.html deleted file mode 100644 index c2dced5..0000000 --- a/doc/ref/Reference/transform.html +++ /dev/null @@ -1,59 +0,0 @@ - -boost::mpl::transform - - -

[Home]transform

Synopsis

-

-

-template<
-      typename Sequence
-    , typename Op
-    >
-struct transform
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Performs a transformation on the sequence. The algorithm returns a new sequence produced by applying the unary metafunction Op to every element in the [begin<Sequence>::type, end<Sequence>::type) range. The result sequence preserves all the functional and performance characteristics of the original Sequence, including its size, but not identity. -

-

Definition

-

-

-#include "boost/mpl/transform.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of Extensible SequenceThe original sequence.
OpAn unary [Lambda Expression]A transformation.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef transform<Sequence,Op>::type s;A model of Extensible Sequencesize<s>::type::value == size<Sequence>::type::value.
-

-

Complexity

-

-Linear. The operation Op is applied exactly size<Sequence>::type::value times. -

-

Example

-

-

-typedef list<char,short,int,long,float,double> types;
-typedef list<char*,short*,int*,long*,float*,double*> pointers;
-typedef transform< types,boost::add_pointer<_1> >::type result;
-BOOST_STATIC_ASSERT((equal<result,pointers>::value));
-
-

-

See also

-

-Algorithms, replace, replace_if, transform -


-Table of Contents
Last edited July 17, 2002 5:47 am \ No newline at end of file diff --git a/doc/ref/Reference/transform_view.html b/doc/ref/Reference/transform_view.html deleted file mode 100644 index 23827bd..0000000 --- a/doc/ref/Reference/transform_view.html +++ /dev/null @@ -1,62 +0,0 @@ - -boost::mpl::transform_view - - -

[Home]transform_view

Synopsis

-

-

-template<
-      typename Sequence
-    , typename F
-    >
-struct transform_view
-{
-    // unspecified
-};
-
-

-

Description

-

-transform_view is a sequence wrapper that allows one to operate on the transformed sequence without actually creating one. -

-

Definition

-

-

-#include "boost/mpl/transform_view.hpp"
-
-

-

Parameters

- - - - -
 Parameter  Requirement  Description  
SequenceA model of SequenceA sequence to wrap.
FA model of unary [Lambda Expression]A transformation metafunction.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef transform_view<Sequence,F> s;A model of Sequences is a sequence such that for each i in [begin<s>::type, end<s>::type) and for each j in [begin<Sequence>::type, end<Sequence>::type) i::type is identical to apply< lambda<F>::type, j::type >::type.size<Sequence>::type::value == size<s>::type::value.
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-Finds the largest type in a sequence. -

-

-typedef list<int,long,char,char[50],double> types;
-typedef max_element<
-      transform_view< types, size_of<_> >
-    >::type iter;
-BOOST_STATIC_ASSERT(iter::type::value == 50);
-
-

-

See also

-

-Sequences, filter_view, joint_view, zip_view, max_element -


-Table of Contents
Last edited March 10, 2003 4:43 am \ No newline at end of file diff --git a/doc/ref/Reference/upper_bound.html b/doc/ref/Reference/upper_bound.html deleted file mode 100644 index 6bf4310..0000000 --- a/doc/ref/Reference/upper_bound.html +++ /dev/null @@ -1,61 +0,0 @@ - -boost::mpl::upper_bound - - -

[Home]upper_bound

Synopsis

-

-

-template<
-      typename Sequence
-    , typename T
-    , typename Pred = less<_1,_2>
-    >
-struct upper_bound
-{
-    typedef unspecified type;
-};
-
-

-

Description

-

-Returns the last position in the sorted Sequence where T could be inserted without violating the ordering. -

-

Definition

-

-

-#include "boost/mpl/upper_bound.hpp"
-
-

-

Parameters

- - - - - -
 Parameter  Requirement  Description  
SequenceA model of Forward SequenceA sorted sequence.
TA typeA type to search the position for.
PredA model of binary Predicate [Lambda Expression]A sort criteria.
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef upper_bound< Sequence,T,Pred >::type i;A model of Forward Iteratori is the furthermost iterator in [begin<Sequence>::type, end<Sequence>::type) such that, for every iterator j in [begin<Sequence>::type, i), apply< lambda<Pred>::type, T, j::type >::type::value == false.
-

-

Complexity

-

-The number of comparisons is logarithmic: at most log(size<Sequence>::type::value) + 1. If Sequence is a Random Access Sequence then the number of steps through the range is also logarithmic; otherwise, the number of steps is proportional to size<Sequence>::type::value. -

-

Example

-

-

-typedef list_c<int,1,2,3,3,3,5,8> numbers;
-typedef upper_bound< numbers, int_<3> >::type iter;
-BOOST_STATIC_ASSERT((distance< begin<numbers>::type,iter >::type::value == 5));
-BOOST_STATIC_ASSERT(iter::type::value == 5);
-
-

-

See also

-

-Algorithms, sort, lower_bound -


-Table of Contents
Last edited March 10, 2003 5:44 am \ No newline at end of file diff --git a/doc/ref/Reference/vector.html b/doc/ref/Reference/vector.html deleted file mode 100644 index ec61ef6..0000000 --- a/doc/ref/Reference/vector.html +++ /dev/null @@ -1,77 +0,0 @@ - -boost::mpl::vector - - -

[Home]vector

Synopsis

-

-

-template<
-      typename T1 = implementation-defined
-    , typename T2 = implementation-defined
-    , ...
-    , typename Tn = implementation-defined
-    >
-struct vector
-{
-};
-
-

-

Description

-

-An vector is a Random Access Sequence of types. It's also an Extensible Sequence that supports constant time insertion and removal of elements at the end (through push_back), and linear time insertion and removal of elements at the beginning or in the middle (through insert/erase algorithms). On compilers that support the typeof extension, vector is the simplest and in many cases the most efficient sequence [1]. -

-

Example

-

-

-typedef vector<float,double,long double> floats;
-typedef push_back<floating_types,my_float>::type ext_floats;
-typedef at_c<3,ext_floats>::type my;
-BOOST_STATIC_ASSERT((boost::is_same<my,my_float>::value));
-
-

-

Definition

-

-

-#include "boost/mpl/vector.hpp"
-#include "boost/mpl/vector/vector0.hpp"
-#include "boost/mpl/vector/vector10.hpp"
-...
-#include "boost/mpl/vector/vector50.hpp"
-
-

-

Notes

-

-[1] The typeof operator allows one to use overload resolution to implement a constant-time random access to elements of the sequence with minimum amount of code (in contrast to the usual brute-force approach the library has to resort to when the typeof operator is not available): -

-

-struct null_node
-{
-    static aux::type_wrapper<void_> item(...);
-};
-

-template< long N, typename T, typename Base > -struct node - : Base -{ - using Base::item; - static aux::type_wrapper<T> item(integral_c<long,N>); -}; -

-template< typename V, long N > -struct at -{ - typedef __typeof__(V::item(integral_c<long,N>())) wrapped_type_; - typedef typename wrapped_type_::type type; -}; -

-typedef node<1,char,node<0,int,null_node> > v; -typedef at<v,0>::type t; // constant-time random access! -BOOST_STATIC_ASSERT((is_same<t,int>::value)); -

-
-

-

See also

-

-Random Access Sequence, vector_c, list, list_c, range_c -


-Table of Contents
Last edited July 22, 2002 4:28 pm \ No newline at end of file diff --git a/doc/ref/Reference/vector_c.html b/doc/ref/Reference/vector_c.html deleted file mode 100644 index 538db43..0000000 --- a/doc/ref/Reference/vector_c.html +++ /dev/null @@ -1,58 +0,0 @@ - -boost::mpl::vector_c - - -

[Home]vector_c

Synopsis

-

-

-template<
-      typename T
-    , T C1 = implementation-defined
-    , T C2 = implementation-defined
-    , ...
-    , T CN = implementation-defined
-    >
-struct vector_c
-{
-};
-
-

-

Description

-

-vector_c is a shorcut interface whose whole purpose is to make the creation of a vector of Integral Constants less verbose: -

-

-typedef vector_c<unsigned long,-1,0,1,1,-1,0,0,1,-1> data;
-
-

-If vector_c didn't exist, instead of the above line you would have to write this: -

-

-typedef vector<
-      integral_c<unsigned long,-1>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,-1>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,0>
-    , integral_c<unsigned long,1>
-    , integral_c<unsigned long,-1>
-    > data;
-
-

-

Definition

-

-

-#include "boost/mpl/vector_c.hpp"
-#include "boost/mpl/vector/vector0_c.hpp"
-#include "boost/mpl/vector/vector10_c.hpp"
-...
-#include "boost/mpl/vector/vector50_c.hpp"
-
-

-

See also

-

-Random Access Sequence, vector, list, list_c, range_c -


-Table of Contents
Last edited July 17, 2002 8:01 am \ No newline at end of file diff --git a/doc/ref/Reference/zip_view.html b/doc/ref/Reference/zip_view.html deleted file mode 100644 index bf15463..0000000 --- a/doc/ref/Reference/zip_view.html +++ /dev/null @@ -1,66 +0,0 @@ - -boost::mpl::zip_view - - -

[Home]zip_view

Synopsis

-

-

-template<
-      typename Sequences
-    >
-struct zip_view
-{
-    // unspecified
-};
-
-

-

Description

-

-zip_view provides a "zipped" view onto several sequences; that is, it allows to represent several sequences as a single sequence of elements each of those, in its turn, is a sequence of the corresponding Sequences elements. -

-

Definition

-

-

-#include "boost/mpl/zip_view.hpp"
-
-

-

Parameters

- - - -
 Parameter  Requirement  Description  
SequencesA Sequence of SequencesSequences to be "zipped".
-

-

Expression semantics

-

- - - -
 Expression  Expression type  Precondition  Semantics  Postcondition 
typedef zip_view<Sequences> s;A model of Sequences is a sequence such that for each i in [begin<s>::type, end<s>::type) and for each j in [begin<Sequences>::type, end<Sequences>::type) i::type is identical to transform<j::type, deref<_1> >::type .
-

-

Complexity

-

-Amortized constant time. -

-

Example

-

-

-typedef range_c<int,0,10> s1;
-typedef range_c<int,10,20> s2;
-

-typedef transform_view< - zip_view< list<s1,s2> > - , apply_seq< plus<_1,_2> > - > result; -

-BOOST_STATIC_ASSERT((equal< - result - , filter_view< range_c<int,10,30>, math::is_even<_1> > - , equal_to<_1,_2> - >::type::value)); -

-

-

See also

-

-Sequences, transform_view, filter_view, joint_view, equal -


-Table of Contents
Last edited March 10, 2003 5:04 am \ No newline at end of file diff --git a/doc/ref/Sequence.html b/doc/ref/Sequence.html deleted file mode 100644 index 7450d3b..0000000 --- a/doc/ref/Sequence.html +++ /dev/null @@ -1,49 +0,0 @@ - -boost::mpl::Sequence - - -

[Home]Sequence

Description

-

-A Sequence (or, more precisely, an Input Sequence) is a compile-time entity to which you can apply begin/end operations in order to get iterators for accessing the range of its elements. In general, a sequence does not guarantee that its content doesn't change from one iteration to another, or between different compilation sessions [1]. See Forward Sequence for the definition of the concept that imposes such additional requirements. -

-

Valid expressions

-

- - - - -
 Expression  Expression type  
typename begin<s>::typeA model of Input Iterator
typename end<s>::typeA model of Input Iterator
-

-

Expression semantics

-

-See the description of begin/end operations. -

-

Invariants

-

-For any sequence s the following invariants always hold: -

    -
  • [begin<s>::type, end<s>::type) is always a valid range; -
  • an algorithm that iterates through the range [begin<s>::type, end<s>::type) will pass through every element of s (once); -
  • begin<s>::type is identical to end<s>::type if and only if the sequence s is empty. -
-

-

Models

-

-

-

-

Notes

-

-[1] For example, a sequence might implement an interface to a compile-time random-number generator; for such sequence the begin/end invocation might return different iterators on every subsequent compilation of the code.
-

-

See also

-

-Sequences, Forward Sequence, Input Iterator, begin, end -


-Table of Contents
Last edited July 21, 2002 5:55 pm \ No newline at end of file diff --git a/doc/ref/Sequences.html b/doc/ref/Sequences.html deleted file mode 100644 index a7bcb59..0000000 --- a/doc/ref/Sequences.html +++ /dev/null @@ -1,64 +0,0 @@ - -boost::mpl::Sequences - - -

[Home]Sequences

Concepts

- -

-

-

-

Classes

- -

-

    -
  • set -
  • map -
  • set_c -
-

-

Views

- -

-

Intrinsic Metafunctions

- -

-


-Table of Contents
Last edited July 1, 2003 3:47 pm \ No newline at end of file diff --git a/doc/ref/Table_of_Contents.html b/doc/ref/Table_of_Contents.html deleted file mode 100644 index 0f79c14..0000000 --- a/doc/ref/Table_of_Contents.html +++ /dev/null @@ -1,16 +0,0 @@ - -boost::mpl::Table of Contents - - -

[Home]Table of Contents

    -
  1. Sequences -
  2. Iterators -
  3. Algorithms -
  4. Metafunctions -
  5. Integral constant classes -
  6. Macros -
  7. Categorized index -
  8. Acknowledgements -
-


-Table of Contents
Last edited November 6, 2003 11:39 am \ No newline at end of file diff --git a/doc/ref/Trivial_Iterator.html b/doc/ref/Trivial_Iterator.html deleted file mode 100644 index f8d4a50..0000000 --- a/doc/ref/Trivial_Iterator.html +++ /dev/null @@ -1,46 +0,0 @@ - -boost::mpl::Trivial Iterator - - -

[Home]Trivial Iterator

Description

-

-A Trivial Iterator i is a type that represents a reference to an element of some Sequence, and allows to access the element through its nested type member [1]. A trivial iterator does not define any traversal operations. -

-

Definitions

-

-

    -
  • a trivial iterator can be dereferenceable, meaning that accessing its nested type member is a well-defined operation. -
-

-

Valid expressions

-

- - - -
 Expression  Expression type  
typename i::typeA type
-

-

Expression semantics

-

- - - -
 Expression  Complexity  Precondition  Semantics  Postcondition  
typename i::typeAmortized constant timei is dereferenceablei::type is identical to the type of the pointed element
-

-

Invariants

-

-For any trivial iterators i and j the following invariants always hold: -

-

    -
  • i and j are identical if and only if they are pointing to the same element; -
  • if i is dereferenceable, and j is identical to i, then j is dereferenceable as well; -
  • if i and j are identical and dereferenceable, then i::type and j::type are identical. -
-

-

Notes

-[1] Any trivial iterator is a model of [Nullary Metafunction Class] concept.
-

-

See also

-

-Sequence, Input Iterator -


-Table of Contents
Last edited July 15, 2002 10:46 am \ No newline at end of file diff --git a/doc/ref/mpl_logo.jpg b/doc/ref/mpl_logo.jpg deleted file mode 100644 index 10b49780c058a0e1eb4f16fd90e990363ac381d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17396 zcmex=Cs!8|6AP2f<1ga{;jKq0}%z`*1H!I1D_5rL}(hYSl3 zh|kso_8|j90RsbrAOizq00V9lAn~ykkSCs`~NmW3j+@a z2L~qy4<{#&AU7AcpeR2N55K5{u&}7Gu!JBF7(gj78-rlv<>uz);}ziJ6AI}LmrEaic2l3Sq;<>GBUhe$S-SP;)u&&>(#qPVE!%eN+Ou!w?&0a>?bDZU zKYsoBcR>awCPpR}7OB@po<@jRgxYSHBE93 z7ELZT`KZbUasa!U>7h$5lS3AZr?`fim83p`I{~)~)Dceje~W>K8EmH@gFVC7(8jOD zucv#xzVW77XI;dg zZ5xv_+pLSvPRsj}naV4-`_1m;zhXxFFa65DvGe!7MPKz6wio}J=BM#WK5a3#;FO^E zo3{02&z^B>llIo%@AHCRt-kt8uKkC7ptt_3{P2^hH^1L)pLq4tCyf&)GQ}_U-QRre zO-ttLrmIdEMy^xPEG_ET1 ze=C+YM{jOWt8wM6)LxD;cC-G7Gr zzx4hybpL&AKYRTjrOoB>FSb12zU=nwVB?r?S2Xn6^Q&E_Tzh|~_DuPU@_O5UoC#^Q z?seW)ZT9OUj-Fn<{NZCJ*|G_Ry}0zvp4ID5@7(cMUwzfhEA#t) z&AGFw@NKqLEnjWxRb#=khmW4P`|{WQ2mcvnZFRKIXsY<;vG3e7_1JZP?3T{Xb?d2{ zUFWO%uE6?s_tNYC@|WEY+_pLYkJQP{uh(uZIe#lG!F0>tZgIoMZ*`{aH@d(1@#7np z4txuL`ET>L<;Lkh?0q8^FG#=s)meQ}{*{;lXrs{3>oP+LuEAOWr+q(5l@m`llz@z>-!^CAwdH(Q=E;gR-a zyJNq$8F}1(bv1t9t^IRX|4}-1?AOLC{Q(Ehzp^Y%vD>rzS6iuXB9HmLSsOmAK9c#L zfwei-?zG-t*BqOw z{|wXfeCMCNKBclYUp1rt*k8d<>ttf*we!E$cRar*`ClK5dNCU378RZfS#uzt2uRS-O7pPV;$<7k5?c+WzI0Z=|i`8s4Qlrd|D} z^X=EVX}j&!(_dt*?ce@o-u@T$b7MtA$jYtXaW z701+sR8D=dUo24mpMkd~=iPsX{};Zx9IaV5DP_`MzhKc%r@T0q*awLU?ThscoAuzY zQ;65kM%A$F<}V)u;|-Ur_ARKJt)*IXX3|>IgTG>y#hWZyb+)4Z|4ne62C1Lf89;Rz zBO}BAM?4Xp&d%`xLH=%@KCTRmj0_As9zL0Q`Ah-~47qtFMM3UP3K5Y}3hd_?m>4)2 z*cc2M7!s3<3w(p!LO=z+r>nCgJCu0dJ~mvub?6ciBRM6m>u3yMl0wIzdb zN@{U30|R3V0|P@&c}W3C`~w36gGf>~h|L75vPFs_BBK}>m?S{r=@7OKh@AvsJAl|J zxp^rJ3``(57o_B-fY?VE7#KRrN>fu97?^z+7#P~hGE>VL7?`gxFfgd(l;&nKFffB! zBOI;5uEUBsDpMfq}(z9|8>t&`U>wy9kZV^ERaFw_j zNcQQ0?1P7$f=g;zVrfo^0w`4{=jY^?7AX`LBqpaS=%OcLvNa+(3&|ZiL8)n}MX7no zsS074spXk@=?c#Ic`2DCnfZANnR&Qkm`rU*ZU8YM>6(FoL3qhO29bC@27&V;49suO zFt7-7Gcd=@1GO~a@#e!B#t^{3zz{C~9Fp!qCV*20n1LXe`ax~w;>>h#`f&~lQAjQ= zDuc*_vLyp60~Z57g9w8pgB*i0g9d{xgAs!{gEfN#gDZmm_m&KaJgC&$DnWd1Wj-`iX7Rw5jZ7fGv zF0(vj`M~mzm6uh9Rh!j{)sr=XHJ!DbwT*Qe>oV4@tVda|vOZ<~#>U1b#-`3@&gQ`u z$(F@d&DO&>nPV9uFu@u+)CV*+=1Mg+zs3_xHoX0;C{&clShb0i^rKKhNqOL zk7qg00iK&YpLuzC)p#9vqj*br`*>IK9_GEr`-4xIPmj-&FNLq3Z#LgHzDs=X_&NDi z`5pP=_^bG*@o(lo&;Le%Q$S6?Ss+oMPGGjcPJ!zJUj>B)4F&xLa|L?@R|%dJd?Cax zq$cDllp@q3v{>k{&|_g{VP#=w;bh@v;U&UHg`bMBiKvTsie!m&i>wtnC-Om5NYq3$ zOteCDw&-5b2V%@(YGR&ZIb!`{o5Ze({SucIcN9+*?-XAreo6ehgtUZ%M5;uW#CnOV z62BxBBwZ!5B_~R5m%J;*BBdo2C{->sPwJ@D8)*?~Yw2X^F6m9uw`7=Pv}A&0s$~|- zoRRq|D<|tNTOd1A_OR?5IWaj0xh%OUa{J_7$_vZe$!E$>k>4->NJ1IZb(r@*(99D)K76Dm5yrRc@(rs#>UK zs7_ZsuKHa~T`gR#U2VJC3v~%~PxUJG)#`UNcs1-b3N;pKT+w9Hw9w4foU3_3i%H8= zD?@9x)_H9vZ8Pmm?YY_)by#&Qb@Fr;>0H<4(RI`<(_O9mP)|(HN3Th5yWTr}75ymv ziTcO&{~4GXs8h-Y}9R1ZI;+PwpFrCv|VWXz)ry~!ES-w1A9gLMEgbdj~tX8QXG~!Ja^P| z%yL}g_|D0|smN)o(|2bp=UV3jF3c|OE?q9?T!maiU1z!8b5n9lcU$fD!QIro+WmkB ztB1G8M33v9vYyGFD?LAWnS0fG9r5Pz4)&hq{m4hlr^siQFO#pA?_}RQeyV8u|T_^t>8hSRpHda4@KTZ%ZeF`V~cl`h?EqRoGH~PZ7qFRW>+@5>_>T6`Q{42 zioA+5m0FdZmCvi(s+Lx>R3}#-s!^q_Z5)osu{ zt@}?;a?hz=!`>Oa|NGMV&h?x1&zrzDA#cL9iS`p$OcI<_HR^@?~oL z)RWUprp=$uHNABDgBdlUsTTi?BbVMFPLR~r*HUfblo>Ck42&Fi+PZke-H zcx%@-#%-0`K5Wm}{$NMsj*C0Jb{^Vgy=&`kz1_?ADDIiPS9EXxKCXQ&`~L5*+W+-H z!GSji(+@sA6o2UU;fTXmjszY#chvjniDPcZ4j*?szW;>ni9IK+PVPKqaccW%v(wwo zn4Z~s*7WSwb7tqZoi{(fELCT%g3&GUO9c$@9M>Cq1SF)kGcNf zM#_yBH*;=&yj6DV_w9x|tarNZ3f!G`Pv+jD``1OB?XBS3Iqx*yZF%qT{>+Dn4^KZ9 zefeVnw&C8XHZ&D=d%BQz{rYSW=hk3OX|mrQO+UA+15<;R*9X`f5A zEUi2|y&@u`(lau%%E~J$t6JOIJ370jOr17;#>`numM&YqV&$qWTeofBv2)jvqsNY) zIC<*I)oa&p+`RSV>9glAUcUPB_1pI!KYs~=oD3TIVr5}rVPj*>Wn^L&WKk4iHDqH@ z5_Sw^H%b&K(s4RzfcFu?mxc2>wDbycYCkz{k^{QeckK3 z1!>!VzyCfz$5WBv>#ox7SN`Vz8RUPg-x73!)jyn}Dt%4PH8J*oZXEv^s=meQ99->u z_1B>zfBmn||1tT^rpy=GadQH!4xRnC{qpPo45I%T^53kA+$ub8F7q0`C;iJWf3E+2 zpjvBI;i0`&BFs@=WoLi<@}D98_0Rtd9pC&-?r=W5+_m*JxB2h<<-h)&T&Mo&>g5M@ z_ZIK|n^V7X`>*>GYA4-^3EFwwZ`Eb>73b;?UHkR<{IA0w-%QFpa5e0_zs5TMz`6U6 z_rLth@o)dzy_3${@%sPTQQy9NYWCB<#hd>#Y~LXNrvC6v*`voi*I88xHO+O^{UPu8 z<3atJ=$o=f&-wEEH?ZHnl9v4Q$$y4D)k-^dFa+&<`6S->8e9I$6VLzDtM}O-`*-4< zo@Ri*zt+Edi#Gqwsr>byVeR?f+<$E+#KZ{s`!^oGyyD$|h70{`&;ORIzgIgsCMIaB ztraW7D`WHL{U81_RI2=E*sy(*cXyAJOvxt=_P(kE=ku5DKQjNoH_t+gPqubqTfV$f z>HqPo{s_opM>*G7Rfg?NO8a%^uicz~9$Wu2T>s`}a{bzW;zW(Lc zZ~le0TH2Riu|K^Mp3P^$Qd_U`@!##6sz;C7{3;FG>t6QYKSTc?|LcF>|9yT__sD++ zySdCKN+oB1tUufTsu{_Obk^6JY^{~5aeGlWl<+yDOpJjq>~^`Aj=|19&oT>c-yV%LA%+)XR}9`|uAi7Ikn7 zMxSQw^<6ivKXU(U{e%DWam!t0+mFnj{I~e7^y<_LdhtcMF)};X=)GKc$TUR6cV2t$ zyE|_8&p!F~Cvet;>xRYE>`2I63h{ z(~{EE&+9$kciNw^erSH~mF(g0kMd9YqrTVd_EeZ%n(%F3(5mk8++9(-Ix{skS)QG| zBV)tv!=ml$S1qr2xms;u-?W7jTZ$~%PU!9NIQ~kJ`Sj|ZpI_d8TL0Yt2!D%pvG}gK zh(GPG^?Hw`N3Aq_Yxebyz~LR=jRRS-{xiH=cmB9)-P=2_`-PU@k*Vc%I*{V1HaD~A z!{l>b&eDc2PpwLs^JU(T>3*7o8qsm-$O?kt-6HZ6Yyjy*k)qnD0Ntxt#zPmRT{GP49 zt-dpPu9oI8C#_^tn~kR$j_ageP;Gl$(fanSuUbKd3Rysc5GdpSPYPxoiq<^4*kYJvPy{r?PHj4S^o z?my%GWPeaudE!_8kWxOelGp27|2j7{WtO+srmQmedwb$~nVNG!%5>%F=bn9>&At9; z@Z}3KamwW`|0Azc z9?PenU)!?5-rP>(-Tg_`iyywb`98LD_D}Oo8$UnYp6~NmdsWu=d3TRpPTDBBs_V^G zose8_Pk%ORdv|5yGbXcET=;cEf5*R9=L`Cdnu~8KOgPqfLPTxLL7O6ee&?5$o~B%1 zV4(l<-|@ibKR131;-5U_KLbz7d)Xel;Lyj>#_S$kueRUU?e5RGlE3YQDOZrGP08Yn zpuJ_=r-mG2x9VEIDRYgv@^-U#x$)l%Og?Jfj*ZHU`t|twa_8gg4_`C=Rry8c{rYFo zALQ3sD{uSNyrC|#WZ9`Vbse`3SAOTadgu13ZvM#YyYoE0ZEV_Ka5cPQk~aJbGBK#H{m> z^5$yD%0B3}PBzYZbsEp1REDZ~)BiIF@1Jq~ko{a!>)rAn&7YJVc-OP-Xj|Xte!AZ274Kg8UjNL$blczb?C&W%-)^0>yj$8uD?9z4e9*^Z9}jA4Rz5kG zze_qhI!D}yd&k#9PS=n4YTY_&p*Jlk;sURi_QcEkL$gfVX0pwZ-~Q)cEa!ZYf2B2U zKTmGkF81cf-22wjyFN-g?VByR>v~RT_@!stuEthf*=Lge?O0Va|IQ6xeugZXbICu@ zQ%1CjlSl8L`X#Yvb@9*S!e?n%HfK${`h;cO0+S8L4;`4AYbw={FVzeXZIAVJ=94* zru>yB|FM6(1JjQT4u+S?C+2m()l=Vb_uZq9{FfChKCM{rpMlpu+B?toVCStHJolcR zyL#NQ<@Su4dF93vrvJGrrY-1dTj#Vcx_;M#h0Dt9AME?sF*7f{?VjMOOc|~Iuw=*I z6<-t&F&%G@npc0QY+w1GCjl36>txQ*Vz$N%*dbsex>e52}mzqZ_bQ#tEDDBsqe4G2p@l*9Z z_fHD{?5NpwfB%{FIe+fl|L8N@cyaanm06!Hd-$WDZ{D1}4=TrCn zP3xK!E86-NDl>^0SzrF~*muXL{|vgt`g`l{7xngU56Zcw{#7q`Ib&Rkqsp0Rmq}$3 zk1mO9nta!RnJHi9yVz~lub1OHQzXJ-Eazo zw7cS`_1j;TPy2VLr24sf`24%G>+{lgs~11|b*;PDdDFMArFy3quDoG!C$~mfYm0c> zhI8BwCyiV8Ui(%)t30pvS?Raiw_mnv-86D)Q{|N2b*QbV&7CbsHQo8)>mMb59M*f4 zoxOEW+q!s1-1@5)I@!lsW`#9NESKBH@@D_!dih_?iz43SN#jvcpVK6`s= z&Qsg8BeOa86;3c>ui=G?4um1IE z-_6Z2-e**w_%G*jxwR-fQ)F?#YNf@~gC{!iS_ygb6y%e%@)T>n?f}ZQo!N`q)s^VvTHC zI*Zt@S+kV`J%e>+Ci-lg@w9i&;i7M|@4V)nUjEGboZsH|)Q#nlPYXI$1U8*uNaK0c zdn1xrBOzqg%B9M8&3>x4-PIR3^M~QAyWl)#$@7lyi|VcHpXOfJ+c@Xdxr;xSUy1Pj zxo!2cBkyd)lxk1z<73wMdM%qLZ94JB4BpcnN1uM&%9FTi$-ISHn(6L+p`L;V^3%Vm z-?K}*t^2)q`UL$ax6@(+cXK?v*515e=Hs+5*;5BS3LJwRMeppsb~#tEEBcBMvy)Lq zT?&)EUT?+E+>h((`-N&YFL}4OHU8r!+g-Oe#XUXtJmF+c#RkFfo=`uhnxzaYBU<^Q zLsfnJnyRv~bj`)uB(E6H^xX5EH`{!%NhEN@;niI>Ax zV(s0P+kPE1lFq6ref!wYUa!k9`{(KZ4BCH0^9~74Kh5hX-+&uZ0ZsnW&@Aoa?!)$*|?Ocuj`Gn0_tNrxix*sn;Eq;9b z^xVl)-pucf-M+w_#oguuuBwUiT+eMrZC{ zpZImdvp@BL`LEw;?cA|6tN7xo^$b>rpZsTF{Q94v;@9ney!ol~1LxUy|CwvK`1$q! z7vb&t>*t++#??gpc=+eW{)bNc&sINSKUq6xNE z*#9v3Z|$}DY-VLQUh(a@FzZ&~9^MCf$8_b`# zJDd034!cEntM$`L>fQ4b!zbU6PS1UBvpvOq)5}f2owhD)+Ru6Yw{*f$Pgmzyo++U} zZRXbI`tU|H{$09f#;v1FiV72hs%~*j?ps(Y?phjt-2O*|+?iMWPv37ZoLhP|IzQpL zR-MBezdb9~$d+$;c)BLs1D zw?#$Wj@}t`Xz8Ah{vRe^eH^H~v5t8~t^38fp&u{*6aBlns{3b6?wj=3(zx3}Z!Bu<$=a_am!Kx_V6de4YEeAMgKc^Doq1-7d9UKj%M#_PeHk*|DDY zVkhn~-hFwmd3*5XnuT*e80Pt2oPO%5p>==em3Mp3U)+?ge76107U^~-J^h_Dy~{I`KYH!WA9J%8Qb43yY}k$k+f1ls}*64GqfwicC1`2 zXH)TI8M9zpxXV&D_n*7G>JQo1@s%|GsGj+A%-&Qx5ul~<4-TtuN^q-lx?Ja*@Uv}*NPyc%sHrMXH`FDBx zhH8I%wI_$)*{r*K_UVg+R1Uq>a)(8Cj&#*CW!=w7?@rP^V&+4B4 zb9iH|h0@Q~JqCffYY*Q3{Ea{J`qnTp+3Ah1Z>(5ZCR_J?)oY%>{`A~gTKc+jV)J4J zH^2IH+W3Tj>6zPmW;^BhSJ;vJ2oOC~S;hwVc z;AiG}S5HWOkY1DcYx9ciAS;<(-CUljle?Dr+nVsHoGZV#{-^iEO6RQG>!R+xdL(+~ zlt+P}z>YAuYR_XYoD)LZX= z*0`r!-u>&lM?V&Stlv@{T6KK!Dzkfh%a^5`&#QZVS2}!6eMb(X%WZe%O&fPRr>1MI zF!1-f@j`XdtP>Z5S*og=&stwQ`1ZTzVZMi2`Q{UjuM0Thy)-dwQh&g~(?(2RuM|J4 zy4$-YTztFwVL2gTN1w1A$C(@I?b_v^cyHcS&;94ee}*~zWnar~-ToW?@$utxcYm^O zD3H!i3%v56%aP=)=2WWDa)Hw>?yl7o%gb3)UBBCUX7K>EBv=DYs_5OCnR68 zUVrv&J%`)tRWr9|pH!HzIrVe}Plo4eu{9^SQzlt=UY-8!s{cLlb2~a6MSf<HLaq@|Dlk-?c2h`M2`s@3QvlH!^(18&{Q^C%^AKKkb%v zlhxaeyNa&r&RV>9Vbv?oe@B&9mPox~R<-@|?C$d^IzQv5mB}884*eCi`^Zt1M2U!t z&TAz_GShN(Ov|owW$&GJO?%nS9rFy1hcSvuuC%H6S+e7w=Wp$Vuk3#`+J7#2TxX)I zci~6#<-eu(Zqy!hY+S#7)$2bz5qVc%N38fzQgv^iW-#+EL(9WmTt_ZHUXe9v?jQ3$ zr}{Geb?^U9d!l|{TixhxO!QP0M&+!opokC4mSlXr{?X{wIp^I;I@Nn$wEsOGkp1#V z@+Z^frx))3CluJf`kn0eKbP(D(^oG0r+csV{kD%=f+o-}`dj+JJ*L zTT89~Gw`LlWNQaEIr6mMNPcfwFgtYq_Bl(1dBwKn`5N#|?GiaYO}YNI-;|}Uoi{Iqv8!M2>vWp^Lhh6FjN89%e&2S(>~7S8+hW46#9zL>_x;~`5Ai3* zwmhm*-Y)NZ>hsATOV=x(q&xGqs?SZ|P%cw8spI9%tm;U?u=YKDb|B24rV5mM8K`O(x@b?2V_XHfc@HsAa|!_@vyZ+?{jXW)E)FY?#B39mYT zFJ`^4*LT-TJD2MZ3{2;q-%Mo^+mlo@7A~4z4~cglT~8RX|GzNkvUIg7QffO+U)r^ zBlH#@s@Hixsdno}>z`t8Yx_T%SG?KtEwBCg{B!Hh-uS(H&xh_CrC($Vw;1nL-d1Gs z>fV*3*Mst8rmD=Ysxix3&uv=MZ5w=6r01%o<(7Nz%jG^4^&LHTzfy9Y z5tZLLEN+-&n>_2g!_O5q8C8Lb zW_u<}O}=X~Z;#fK{|v{&e}1i*f6Do%UX9Kx{d{}~Lb_CK}#5dQOENoiOSSN?>(<@a}Iuc=b! zd!fAM#CN$L%iio;d?$LfZ2zp1Rnz2lEPVNJ)@t`g@mO0^YhzodRcZEn=Uvpl$9&g* z_jKc>EAxE!-cs4Qzy8p+0_p4>kJ6Z??liCCl684{Cy`UpcYf*L45x0z=JkfXA^SSob_p5{N-Y334EY zjoW|h@73+8J|f-SA3U$s(aq}Ulm86-AOABXXUG4|KfdYyO3@$t#eZ6ryT|{(1nvg~ ztagpQ6zcA1YO0%k*=I|s=#)*@E*%W{u

qP*>J8yR1_cX_qd!Ock){;OZ2Z>o`+x zetI<1-pu)z|1*4;vhL%L_0H4Y{AcL8e|GoQs^!nrs!Q|p-@8}7t(&&u=I;2KuXeu{ z-C7%a?f3HaE2>u)dfc?JdwclW^UTkj6DDb9X+7%P_|jBXw?xOYXn&{S)uu;VU)`;r zlK;u$75~%R&|9)wXTFua`l#K zEB$Af`k&#m&fED7KhAw$buQ$ae00LMXAjQ>UEn<$8$9h~^0sf!ZpTjC^eX$?Rkd)% zz`)LhCxiUMTc@lJzW$2i;-=ec>ZF#Q-B7gu)fe07gEo$@uGUZW|CIEC|7ouGjq3Z{ zd(F3>@ShTUCB^por~0iiC--je36;!${Po8iGuuy=E6wgPYwu_{ab0EWPn|xmy~@*e zZCn2KWedyfzL%gxeuAV|rcP)Y?@&ZR5n8 zq~`6}HqEy_;-T5c!}UpdE%|jqdy#Au}b+>+ava$kUg%JS}N+=uS-|Q6tkj zZ|%s*9$8thS4GX5;vj!#XWy%5*_FznT^bQ0jt4zHuQRPz^lGrU`eOluf!dOf_Rn5z z+O_+iaP8;kkM%Cxzb{*-UT@8J@#X%Gy}h$fKPlQE%xW1oV7eII+8uh z$4P!#)z-Q-|2*xbe@Xw0`5yo2=*zkH_nIwZ-)~m;Y0;ayPbUxdoO}QG_>JA?`FoFs zzJGH}O|bQF$m5KJLji$@Tb5N>xG7Buu04L|q-jl~^u6re^J})=Tc;dmuxqMg>m~j} z+QG9Xd9GZS>F76Ab(4;+z=QgHhwYzo{`uQ0|7Vz5clB*;@6LTS&wk%uzn$;a+QTLH z!~QcYzVnZHZB=&Blh2~Nn~iUTNXKj6if)#kc=~zKRgbSB1&3W%sI*+29PlgfbGg}# z{7=!RF>|Py>73|-@AIwt}|IG$SV&%G^SH+MdF=#8D` z$KUSVIOAR4nXc91Q%=8sGHn@`*BqB3=bq&quQ;WTM4sJqKYhR2MbT}ircH=i$)eqq zx~?%y$waBK=5US6-*vZc?NM|3ET;SV>G3xI(@W-m%KqoS^3P(c>-)EL{1ntbvG@6X z>F@k|Kh15N@@i+*^B+|Y3`8ULgz4>OyF33z>FhR_Q%|#Br>)AFt9|}^oGr(x)S`Fw z&)>hEd+x5mZP&GX_oOMJ*GRq4n1SKlnYlV8YgeR|83TmL5AyQJ>wFMfnQY}SMtlZA^`H9CLz^0l{d z%g1cZwBk9zf0kd{8@9P#_xV3J`BV3Qo+=mfezMj5MBMqG)>mfE>Y4YSVfL!yA^X^i z(>Lt?yuK`>U(!73+me}U+P}ZwtF?O1=TKMa6ECG*YKsgSciyO8e16`Y+=*`vT{?E^ zse`}x(JQM?Dqrb%wBRB`RM38_OPxoTzq@VylV{hGQp=^9F;(-8uO@-~`lSEU{B8dk zrcV#7S^8u4pX0mhA8dR7)7kMxMc><7(($}A&b?jxd1G0B#{0XoH&7#fi z`oc3+W-eP_HLEl0wyfp$yL(U1-nlvDne3yJe3!SMmp+=-yOc?#ns1>iq9cb))!pn}?}qH@&$ZckSb;mGa#W0+%|A?X8p9 zvdEZ=<=m=p$-w%g>)+PrKALjHajkZP_qjQ%qv?Wgdc)pn-!I=rhtwJl$@ zVJ^RVklpjQGp#DO&;Hi_%k-A?bn!{ca~t`yb8dXwD);=}?IxQ?Za;h0->98aa%+|J zpOyZV$@f*B?k}~Re&_eTu;`uZTmH%J*zsYHyp(I|-(;3qr`(n))tFpgu|5A#f&&A!(pYR{-Yd;eZ`ZfL7ueVzx zo6opz-)L~sz2(+U-$%FqGw635pQ9#Je#Cw9vLkzADwb6g9v11Fcu1{&Z{PVXj(hTL z7QfZIyS=)3$1#`hi(E^t6@Ai)i9Lr|8ILiATHd-1C+=pB2Aw^2E^K_~V}ATx=a2A-t8>b|6RR?}PgAeXJt@Do z@WT)lSjTb-{0c zckQ3kYWQ#dXE-zck$J+O(0kUG^{)%QyLET-jbBl4v&NX&^wc7(H z9tnEq6LXqn%hnSAP@hYeLoB;0)FYO8tiCnBt|2iy2+w;b>Nndk`db$zB^+gEw@&q zXeVcucX--aSKr8j(r~%U+TuZ zo)S?iR)Lz6vUu_fg6n_M@18L86hxp8AZk zdG1OxduO(JWGi|*?%4ju)cV-Irj;(MJG!jAPAHn5TDy5AHQzjtnbM_{;_`Y>eBz0??1lRvEtzQxYx`vh1nl} z{F{IIPwjLsugTA^zTlr%b?kU!;=d2|*X7?U#NRAgcmGh;j@Qh>KUuc_y8piJ^pdjk znSbY6EvWk1G5NgAe};XJZ@RpDGHd1ExmH#Oj`lw~^q(QfUi{B*?OE;%7n$0fo6Au3 ze8n5jKLYmG{`_ZH|7Ko#ovMF0({lASJpNzI9v!}E^Ipwu+TXbv0XDn(j;=jn|M=_n zO_6s$yV!5|@~QRfYi8ju47Y#XxcB|>-`6))51%~lx&G$m27co!ZZ?zLe;xR1fBip0 zh1`jEaz5Y8-`H9iWnN=b|0VzJ_)XO#lLV@z=BN9w2r#JXc~gI7cCBu9{YLfqDdk3< ze|UfM`>$X=Z|jzH-9~!;+I0+|RhE5^JQ+;f*59bAbolzpdh%cXFOP5X9+_0n9RB9z zSLW-Bu75f&{xRG1LiM}mXKUt~@*m5L&bCjnKjCxi+JTY}hVNzf>z$K6t-1I0#@#`p z{~0`(#sAo5s|Ngx-xl%SvP0_4cA1l6A2a@}mA(J|K>VR!sS}s2YyW7%!shj(>T5ua zRp)}WrUu&$Hte|gpz@W)!Q-Eo``?#;u}fb1(%nMmkF~qb`S*XBoi|NyMcwQZ2}XNk ze!F;DF3O!a@z&JP*=3tqpBYu$o8+l@b=8s2Z!FIU=NIKof4^V##66$(qaT}fc70qO zwd0C(`w_;6T_uYcIXYQXDngE0)Wve=_&<>UcK_|#zZKsE=XqAQwJpC<71m{QuIj+^ zSC;=7gp;f9|GIVWq-S(efKK=SC+4&^m_OIK&&Hgh~fAh6IJt^S&8(ZruN&a8# zPClRHb5Z(R$wG(M!qawcQ25WVrv851y_0z=Ip3se=UOZX2zk6>UHt;}zPkN>{Pu5b zC!JSmkURFbeR;$Bz!?+2$iEl==3ekg>f8LAmlyCcuXwWc2m9wb+lhBPb^R0n&b8@U zd?tJipYIN~!+-dHKYr8q$aC|J`ox!Cna{6S=l{igzx?ay?)sqGi7_5ul%4AiUtY!d z`MAsc=W&;RNbjlYXYBl!Bx*1B(ke*r$dT~e&N{F6u`4&4S-#~cyZ5%8Q%>G^_vhW! zvU=}wR|n5B2tH~#_l0XPi{X-1x4P@^_Pu{Q=Xj<4W`X?tvuY=gEY4}leEut5Na)uk zi6{B&#{@#Aa;bbcXw}s;xu`p9(oMEENn*Q>+PE>623*#0%Z#5dH!WU7W&w$KUuk9Q%%nL8#CiJ=bYhXN{f=2AA2SAf%fOK3jObwW~QvJ)JaP^e#89E z>HeZ;&#F)Uz0zOxZ-iS?4*O*!c0o0Y;0L3?-ZMqgl5(Zkw@h(vAdY=Db-6>P6`_DcQ6pkFW py}$YWHQ2V=CSA$>Vjun2{`kv(_ixs%)c&yj_~j}7f!F`v1ORbeSHS=P diff --git a/doc/ref/mpl_wiki.css b/doc/ref/mpl_wiki.css deleted file mode 100644 index a6f6041..0000000 --- a/doc/ref/mpl_wiki.css +++ /dev/null @@ -1,41 +0,0 @@ -body -{ - background-color: white; - color: black; -} - -sup -{ - font-size: x-small; - font-weight: lighter; -} - -a:link, -a:visited -{ - color: #505050; -} - - pre a:link -,pre a:visited -,code a:link -,code a:visited -{ - color: #505050; - text-decoration: none; -} - - a.back-link:link -,a.back-link:visited -{ - color: black; - text-decoration: none; -} - -pre -{ - border-style: none none none solid; - border-width: 1px; - border-color: silver; - padding-left: 1em; -} diff --git a/doc/refmanual.html b/doc/refmanual.html new file mode 100644 index 0000000..ee8cd57 --- /dev/null +++ b/doc/refmanual.html @@ -0,0 +1,49 @@ + + + + + + +The MPL Reference Manual + + + + +

The MPL Reference Manual

+ +++ + + + + + +
Copyright:Copyright © Aleksey Gurtovoy and David Abrahams, 2001-2005.
License:Distributed under the Boost Software License, Version 1.0. (See +accompanying file LICENSE_1_0.txt or copy at +http://www.boost.org/LICENSE_1_0.txt)
+ + + + + diff --git a/doc/refmanual.pdf b/doc/refmanual.pdf new file mode 100644 index 0000000..b3c84ef --- /dev/null +++ b/doc/refmanual.pdf @@ -0,0 +1,74241 @@ +%PDF-1.3 +1 0 obj +<< +/Type /Catalog +/Pages 2 0 R +/Outlines 3313 0 R +/Names 3950 0 R +/PageMode /UseOutlines +/URI << +/Base () +>> +/ViewerPreferences << +>> +/OpenAction 7489 0 R +/PTEX.Fullbanner (This is pdfTeX, Version 3.14159-1.10b) +>> +endobj +2 0 obj +<< +/Type /Pages +/Kids [ 3 0 R 8 0 R 17 0 R 59 0 R 113 0 R 168 0 R 222 0 R 246 0 R 249 0 R 273 0 R 302 0 R 327 0 R 353 0 R 384 0 R 408 0 R 436 0 R 463 0 R 482 0 R 499 0 R 523 0 R 548 0 R 572 0 R 598 0 R 625 0 R 647 0 R 670 0 R 687 0 R 705 0 R 729 0 R 755 0 R 771 0 R 782 0 R 800 0 R 816 0 R 825 0 R 838 0 R 854 0 R 866 0 R 893 0 R 903 0 R 918 0 R 924 0 R 935 0 R 949 0 R 961 0 R 978 0 R 992 0 R 1005 0 R 1020 0 R 1032 0 R 1044 0 R 1056 0 R 1064 0 R 1078 0 R 1091 0 R 1108 0 R 1120 0 R 1130 0 R 1144 0 R 1153 0 R 1164 0 R 1174 0 R 1184 0 R 1196 0 R 1203 0 R 1214 0 R 1223 0 R 1238 0 R 1248 0 R 1262 0 R 1275 0 R 1291 0 R 1306 0 R 1317 0 R 1329 0 R 1343 0 R 1354 0 R 1364 0 R 1373 0 R 1382 0 R 1391 0 R 1405 0 R 1423 0 R 1427 0 R 1439 0 R 1450 0 R 1464 0 R 1477 0 R 1484 0 R 1498 0 R 1506 0 R 1514 0 R 1526 0 R 1533 0 R 1541 0 R 1554 0 R 1567 0 R 1577 0 R 1587 0 R 1600 0 R 1611 0 R 1626 0 R 1636 0 R 1649 0 R 1662 0 R 1676 0 R 1685 0 R 1699 0 R 1710 0 R 1720 0 R 1731 0 R 1739 0 R 1754 0 R 1765 0 R 1780 0 R 1790 0 R 1806 0 R 1817 0 R 1827 0 R 1844 0 R 1856 0 R 1865 0 R 1876 0 R 1887 0 R 1896 0 R 1909 0 R 1920 0 R 1930 0 R 1941 0 R 1951 0 R 1964 0 R 1975 0 R 1990 0 R 2002 0 R 2018 0 R 2029 0 R 2039 0 R 2056 0 R 2068 0 R 2077 0 R 2080 0 R 2095 0 R 2115 0 R 2138 0 R 2162 0 R 2168 0 R 2175 0 R 2182 0 R 2196 0 R 2206 0 R 2209 0 R 2218 0 R 2227 0 R 2239 0 R 2249 0 R 2256 0 R 2265 0 R 2277 0 R 2287 0 R 2299 0 R 2312 0 R 2324 0 R 2332 0 R 2340 0 R 2351 0 R 2360 0 R 2369 0 R 2380 0 R 2390 0 R 2400 0 R 2415 0 R 2426 0 R 2440 0 R 2452 0 R 2463 0 R 2478 0 R 2489 0 R 2506 0 R 2518 0 R 2534 0 R 2547 0 R 2563 0 R 2575 0 R 2592 0 R 2604 0 R 2618 0 R 2629 0 R 2636 0 R 2647 0 R 2661 0 R 2671 0 R 2682 0 R 2692 0 R 2708 0 R 2720 0 R 2730 0 R 2747 0 R 2757 0 R 2766 0 R 2776 0 R 2782 0 R 2789 0 R 2798 0 R 2808 0 R 2815 0 R 2824 0 R 2832 0 R 2841 0 R 2850 0 R 2864 0 R 2876 0 R 2889 0 R 2900 0 R 2911 0 R 2923 0 R 2926 0 R 2937 0 R 2950 0 R 2959 0 R 2966 0 R 2973 0 R 2980 0 R 2985 0 R 2992 0 R 3003 0 R 3010 0 R 3020 0 R 3027 0 R 3043 0 R 3055 0 R 3067 0 R 3077 0 R 3089 0 R 3098 0 R 3101 0 R 3105 0 R 3108 0 R 3137 0 R 3177 0 R 3215 0 R 3253 0 R 3291 0 R 3300 0 R 3305 0 R 3308 0 R ] +/Count 245 +>> +endobj +3 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 4 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 7 0 R +>> +endobj +4 0 obj +<< +/Font << +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +5 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 6 0 R +/BaseFont /Times-Roman +>> +endobj +6 0 obj +<< +/Type /Encoding +/Differences [ 0 /.notdef 1 /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring 10 /.notdef 11 /breve /minus 13 /.notdef 14 /Zcaron /zcaron /caron /dotlessi /dotlessj /ff /ffi /ffl 22 /.notdef 30 /grave /quotesingle /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde 127 /.notdef 128 /Euro 129 /.notdef 130 /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE 141 /.notdef 147 /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe 157 /.notdef 159 /Ydieresis 160 /.notdef 161 /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] +>> +endobj +7 0 obj +<< +/Filter /FlateDecode +/Length 162 +>> +stream +x +0 }Cc5k{TØt[Ӂ$~>2@y 8ֵ@{U7Nste VĠHdҗ$-,yӨ&s[qF v w)xNe z.uÚ\J8@\Y7 Y n9endstream +endobj +8 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 9 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 16 0 R +>> +endobj +9 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F14 11 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +10 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 6 0 R +/BaseFont /Times-Bold +>> +endobj +11 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 12 0 R +/FirstChar 0 +/LastChar 13 +/Widths 13 0 R +/BaseFont /DPGZJA+CMSY10 +/FontDescriptor 14 0 R +>> +endobj +12 0 obj +<< +/Type /Encoding +/Differences [ 0 /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast /arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup /arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional /prime /infinity /element /owner /triangle /triangleinv /negationslash /mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur /latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection /unionmulti /logicaland /logicalor /turnstileleft /turnstileright /floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright /angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv /backslash /wreathproduct /radical /coproduct /nabla /integral /unionsq /intersectionsq /subsetsqequal /supersetsqequal /section /dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft 129 /.notdef 161 /minus /periodcentered /multiply /asteriskmath /divide /diamondmath /plusminus /minusplus /circleplus /circleminus 171 /.notdef 173 /circlemultiply /circledivide /circledot /circlecopyrt /openbullet /bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal /greaterequal /precedesequal /followsequal /similar /approxequal /propersubset /propersuperset /lessmuch /greatermuch /precedes /follows /arrowleft /spade 197 /.notdef ] +>> +endobj +13 0 obj +[ 778 0 0 0 0 0 0 0 0 0 0 0 0 1000 ] +endobj +14 0 obj +<< +/Ascent 750 +/CapHeight 683 +/Descent -194 +/FontName /DPGZJA+CMSY10 +/ItalicAngle -14 +/StemV 85 +/XHeight 431 +/FontBBox [ -29 -960 1116 775 ] +/Flags 4 +/CharSet (/minus/circlecopyrt) +/FontFile 15 0 R +>> +endobj +15 0 obj +<< +/Length1 795 +/Length2 712 +/Length3 532 +/Length 1283 +/Filter /FlateDecode +>> +stream +xTkPWt*j_RXd@dL"DVaݛم&"8Z[ u*T"+@vБJ :Ngӻ9wwdS`8  +01x{r) y (I*@rFҤ7t$ +-(g@$ΧBPib +F1P4Ё8:H $E j()5 #iRZ9 + +"gA"2PHXFtw +k)j<@$KBM$׎FIX +su18ˍ/َ{ .q$b%j!Xb4 @*8FDxAB$4%b#@& Y-u# Aq yBBXC@ 0Lri߉+*Ca@܀ z xXw/b5% %m^zWًZߐ֔υE]\O4:5>̓b3j˨F[^ϸp[g-^kMJ`̼%f<[=6-[Gnw:myE T?\)Ґ%endstream +endobj +16 0 obj +<< +/Filter /FlateDecode +/Length 569 +>> +stream +xmTMo0WR3x;AV,UB +BB!$6633yqzi@+>xoH㿙8b }oMB 6_@ ?<"6;^ȾlȌٙ V 6>}@M#M<@qBD LVm{כU:=A EIdH!C9 (/qCZ \pTPTp~3J(9X<U>Ll9DR.i 7]/Ɇ㕳R 4Dpj,-yaHNSDIXeCTe٩Xe6Y=%7ey}VUFprȜ%r$hp¹8i #^ fi'E[X;ςsu*E `T +v4+'[z9o"ΣlOj?gGvKlz)b{_͘t-3!cT i/aUU6kH T9.il]N:L~孤>?gendstream +endobj +17 0 obj +<< +/Type /Page +/Annots [ 18 0 R 19 0 R 20 0 R 21 0 R 22 0 R 23 0 R 24 0 R 25 0 R 26 0 R 27 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R 50 0 R 51 0 R 52 0 R 53 0 R 54 0 R 55 0 R 56 0 R ] +/Resources 57 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 58 0 R +>> +endobj +18 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 613.207 111.183 622.183 ] +/Subtype /Link +/A << +/S /GoTo +/D (section*.2) +>> +>> +endobj +19 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 589.386 131.666 600.265 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.1) +>> +>> +endobj +20 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 577.297 147.935 588.201 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.1.1) +>> +>> +endobj +21 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 565.341 216.906 576.245 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.1) +>> +>> +endobj +22 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 553.386 235.426 564.29 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.2) +>> +>> +endobj +23 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 541.431 247.87 552.335 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.3) +>> +>> +endobj +24 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 529.476 225.464 540.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.4) +>> +>> +endobj +25 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 517.521 249.543 528.425 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.5) +>> +>> +endobj +26 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 505.566 248.427 516.47 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.6) +>> +>> +endobj +27 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 493.61 229.488 504.514 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.7) +>> +>> +endobj +28 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 481.655 274.041 492.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.8) +>> +>> +endobj +29 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 469.7 251.576 480.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.9) +>> +>> +endobj +30 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 457.745 216.597 468.649 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.1.10) +>> +>> +endobj +31 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 447.727 140.742 456.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.1.2) +>> +>> +endobj +32 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 435.772 167.482 444.738 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.1) +>> +>> +endobj +33 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 423.937 154.919 432.783 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.2) +>> +>> +endobj +34 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 409.924 166.525 420.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.3) +>> +>> +endobj +35 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 400.026 153.803 408.873 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.4) +>> +>> +endobj +36 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 386.014 159.89 396.918 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.5) +>> +>> +endobj +37 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 374.059 174.266 384.963 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.6) +>> +>> +endobj +38 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 363.08 176.886 373.007 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.7) +>> +>> +endobj +39 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 351.125 164.323 361.052 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.8) +>> +>> +endobj +40 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 339.169 163.208 349.097 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.2.9) +>> +>> +endobj +41 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 328.295 135.462 337.142 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.1.3) +>> +>> +endobj +42 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 314.283 209.135 325.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.1) +>> +>> +endobj +43 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 303.304 185.653 313.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.2) +>> +>> +endobj +44 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 290.373 198.614 301.276 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.3) +>> +>> +endobj +45 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 278.417 185.105 289.321 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.4) +>> +>> +endobj +46 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 266.462 190.635 277.366 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.5) +>> +>> +endobj +47 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 255.483 205.568 265.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.6) +>> +>> +endobj +48 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 242.552 179.008 253.456 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.3.7) +>> +>> +endobj +49 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 232.654 204.103 241.501 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.1.4) +>> +>> +endobj +50 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 220.579 149.928 229.545 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.1) +>> +>> +endobj +51 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 207.663 159.332 217.59 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.2) +>> +>> +endobj +52 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 196.788 161.544 205.635 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.3) +>> +>> +endobj +53 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 182.776 164.722 193.68 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.4) +>> +>> +endobj +54 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 172.878 162.092 181.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.5) +>> +>> +endobj +55 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 158.866 167.641 169.77 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.6) +>> +>> +endobj +56 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 148.968 157.121 157.814 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.7) +>> +>> +endobj +57 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +58 0 obj +<< +/Filter /FlateDecode +/Length 2775 +>> +stream +xsW~0 +:L$mF'_yh'Nٯ6 'o?h.i#.Za}&13 Qn0p6hTRP])R9A%S/ebYe o|1rO?6Ui 96h8a8IIeT9ނ!L݅nzz._m |K+M ڟҹ7~Su+h$sS;"dch#E{ N!ęVYTQ1@/pE&Tr|9C}h:O:w1;Ai da +desGcX \sQ. p!z.ޭr~,2"<)亄E#>Ƣ3A,Q͹T /]QRZJ`4=/6wOQ,nÁb'Y4$Iᘆ`)TCQ<\6CUȪUuSH 6 ~ًgDZXjCj6hb)di}Ua,'`,g(LT1@N@|3R `z o6H@C(!-S#I2٠e`+2`Y5?j $T3K ){[,o>'Iw6hp.\ȪU}ɪ/^vOb!B_E/:%j/I(u6h)0ǯ2+&3w4pbIVR,D&M D%L*tLIAFgy ⑥#K; +U#*?zٯ:Mo2qx> =+Fq$XM8 ~sQ_@j@j 3S 8ͨu#`l1vl[/_ptjISڠŭav_j3b,`l(V@ i2,bh8uݮ܂iOl{ASQ\(\:ÙVB4P!V7SkMѱ#&X%b*Kq$Q +6x*S-T(|Ӕ!aFBNu%e +6pfR$IXl /b5!L!Pu 8!sE@:Z㲀i0$LQg`ed9THs)WA zdT$Td%P#U'2ލ+|q!I9?mQXpA Vr3i/靕|P.;8rB*7#ѦB!5l~ƫXMΓ9C\SxAd; +T7VDx;XD\W$6z/>9)aE_q %3rKJ9K//)D T7hSKԌU;${"RiIfO 8Q\1GTrG6>p v0"h(~ʢ,mMņO!4Se`pVL!QYeN,Gyw`]d* ,wu6x +a +sԜ'fSHQ`ʐUԍ <C)l)73Ia&3Ӝ&#w`dF^$m بY>Wpʜ&; C,C殨9 N QH(@T}v 8"-(yy`mY~$jmb0S!ipjva;0rG'p*;QG +Pv`g+IД I; A,? 殧9 N@QH( T*vbԲnj\"Fendstream +endobj +59 0 obj +<< +/Type /Page +/Annots [ 60 0 R 61 0 R 62 0 R 63 0 R 64 0 R 65 0 R 66 0 R 67 0 R 68 0 R 69 0 R 70 0 R 71 0 R 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R ] +/Resources 111 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 112 0 R +>> +endobj +60 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 760.674 163.198 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.8) +>> +>> +endobj +61 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 746.661 182.316 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.9) +>> +>> +endobj +62 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 736.764 162.102 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.10) +>> +>> +endobj +63 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 722.751 175.133 733.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.11) +>> +>> +endobj +64 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 712.853 164.871 721.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.12) +>> +>> +endobj +65 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 698.841 191.979 709.745 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.13) +>> +>> +endobj +66 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 686.886 190.874 697.79 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.14) +>> +>> +endobj +67 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 674.93 179.009 685.834 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.15) +>> +>> +endobj +68 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 664.913 163.756 673.879 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.16) +>> +>> +endobj +69 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 651.02 181.469 661.924 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.17) +>> +>> +endobj +70 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 639.065 182.027 649.969 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.18) +>> +>> +endobj +71 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 627.11 185.345 638.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.19) +>> +>> +endobj +72 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 615.155 185.903 626.059 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.20) +>> +>> +endobj +73 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 603.199 196.403 614.103 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.21) +>> +>> +endobj +74 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 593.302 158.226 602.148 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.22) +>> +>> +endobj +75 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 579.289 186.201 590.193 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.1.4.23) +>> +>> +endobj +76 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 559.409 125.559 568.385 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.2) +>> +>> +endobj +77 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 545.416 147.935 556.32 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.2.1) +>> +>> +endobj +78 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 535.399 208.049 544.365 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.1.1) +>> +>> +endobj +79 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 523.563 226.569 532.41 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.1.2) +>> +>> +endobj +80 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 511.608 239.013 520.455 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.1.3) +>> +>> +endobj +81 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 499.653 200.218 508.499 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.2.2) +>> +>> +endobj +82 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 487.698 175.123 496.544 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.1) +>> +>> +endobj +83 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 475.742 175.382 484.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.2) +>> +>> +endobj +84 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 463.787 159.741 472.634 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.3) +>> +>> +endobj +85 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 449.775 162.102 460.679 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.4) +>> +>> +endobj +86 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 439.877 163.198 448.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.5) +>> +>> +endobj +87 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 425.864 210.639 436.768 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.2.2.6) +>> +>> +endobj +88 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 404.081 136.089 414.96 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.3) +>> +>> +endobj +89 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 391.991 147.935 402.895 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.3.1) +>> +>> +endobj +90 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 382.094 173.16 390.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.1.1) +>> +>> +endobj +91 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 368.081 228.95 378.985 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.1.2) +>> +>> +endobj +92 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 358.183 145.155 367.03 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.3.2) +>> +>> +endobj +93 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 345.147 196.403 355.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.2.1) +>> +>> +endobj +94 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 333.192 196.961 343.12 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.2.2) +>> +>> +endobj +95 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 322.318 172.612 331.164 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.2.3) +>> +>> +endobj +96 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 308.305 192.487 319.209 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.3.3) +>> +>> +endobj +97 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 298.407 158.784 307.254 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.3.1) +>> +>> +endobj +98 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 285.371 177.046 295.299 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.3.2) +>> +>> +endobj +99 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 273.416 192.129 283.344 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.3.3) +>> +>> +endobj +100 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 261.461 210.39 271.389 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.3.4) +>> +>> +endobj +101 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 250.467 188.104 259.433 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.3.5) +>> +>> +endobj +102 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 236.574 196.363 247.478 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.3.4) +>> +>> +endobj +103 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 226.557 158.237 235.523 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.1) +>> +>> +endobj +104 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 213.64 169.305 223.568 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.2) +>> +>> +endobj +105 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 202.646 175.94 211.613 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.3) +>> +>> +endobj +106 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 190.691 164.872 199.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.4) +>> +>> +endobj +107 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 177.775 175.94 187.702 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.5) +>> +>> +endobj +108 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 165.82 195.058 175.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.6) +>> +>> +endobj +109 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 152.888 195.307 163.792 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.7) +>> +>> +endobj +110 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 141.909 194.759 151.837 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.8) +>> +>> +endobj +111 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +112 0 obj +<< +/Filter /FlateDecode +/Length 3655 +>> +stream +x]s#5+t9s1n}tX؂e .$lև̸(9XߝjRj2v6$WyϯUÉJUv)\]^ɏ+QI*oꪪ+a N%CUEȯ\Z)p%ZIꇫ? R.tYK;e߿}o uh';q45mlrMb$O4s\ZȐԑY!v>LRU Dgt=~ oI)kVM4T*:"@ TjN酬Msֻ6 qڵ3ݐ"ܬ'1eԽH HԑSis5Xs] TEUI!k(AFblNrOYLdp"&NҊ>nr}ږA2 +1B9e.rJPOYJ%(TJڎVLM@t$Әo9\z5#A\`Iv!-tsXHCii:ןQ iM I68g[n6T$pݶm;5a\Z3#NqHMB1;&`us\b[ m:q\\lr :*b@@}-ZSfu-9ްj;,w5&ڰU? +lBV7TyboW"#=#SGSѽ^3r3xF竻vy_m֋M yCI*[NLjX(q=8Nũ E@sz@sLmWp*5gq/wg.EI6P'#9isa))͗:SQ@)L!G0 *nBY5q YX<22Y~i}!rS(c13K +cUGU*3?aNYD(ĕpuUx sŝ[4xa@ bZ>yj\~4@Q> |HNcGO9V}5$25y, '䃧CRS<NF:k3!12; [f, 'ނEI:$1SI;<Ɠ$=&p_~ 4=T85D C |Y \IZ箰֥vgb+s>9E|?gXJ{JL@'N3 f)XhsZFt2 ˰ ' +YPD:8 +z8>l<5~Ō@=V$9clJs'8chNhԑe5N;#"8`{츬_S$(J%*>yJQp99:XP]vHWcmZdUyfajw6rIwvtB:8>OeD' :LcH9ͥ&=ud)n٢Sa<?4}!A `n8‰f <5 RG- +fņٌ2f31c1f:gqk7&ALbl,{<5eaB??ud)̢>lfʻ]&mߙ?^gl{2(p9rn@202$ud*⢀SZ*>l=<?cuߟB bHǹyv!=$SG +8mqE[Xq&CqX"im~Y+dxKr;0sNK+L44zȂR܁A&m[lTW[Ƙ ň2I8©W@x@F2TK3W C7콹Q!2 a:fLs*#Oq?Oi׌An7b} +U+` B! #3ͥ9N S!ud)irU{gdiV}16Xqb ʟYNA:2Qs%ql<;~ N~vM "z1"8Ҝ +qP>xj@>,5ŭLp}̺iR xj 7f_&()h Tf=@=n=-3S%iƋFO?S7/Qĩ]ϩk!iH1I$Go xDJ9i.0#Gv28>x<fy|Xf.V +d06PɀG䜓 +:rx" }T+<@taP&bMnjbo7;W +C5R]YI#}endstream +endobj +113 0 obj +<< +/Type /Page +/Annots [ 114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R 134 0 R 135 0 R 136 0 R 137 0 R 138 0 R 139 0 R 140 0 R 141 0 R 142 0 R 143 0 R 144 0 R 145 0 R 146 0 R 147 0 R 148 0 R 149 0 R 150 0 R 151 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R ] +/Resources 166 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 167 0 R +>> +endobj +114 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 759.593 196.413 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.9) +>> +>> +endobj +115 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 746.661 164.314 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.4.10) +>> +>> +endobj +116 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 734.706 220.362 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.3.5) +>> +>> +endobj +117 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 722.751 162.002 733.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.1) +>> +>> +endobj +118 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 710.796 173.071 721.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.2) +>> +>> +endobj +119 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 700.778 181.469 709.745 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.3) +>> +>> +endobj +120 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 686.886 171.496 697.79 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.4) +>> +>> +endobj +121 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 674.93 182.565 685.834 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.5) +>> +>> +endobj +122 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 665.033 172.314 673.879 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.6) +>> +>> +endobj +123 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 651.996 183.382 661.924 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.7) +>> +>> +endobj +124 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 639.065 169.853 649.969 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.8) +>> +>> +endobj +125 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 627.11 176.498 638.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.9) +>> +>> +endobj +126 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 615.155 204.721 626.059 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.10) +>> +>> +endobj +127 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 605.257 157.678 614.103 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.11) +>> +>> +endobj +128 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 593.302 171.098 602.148 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.12) +>> +>> +endobj +129 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 579.289 195.347 590.193 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.13) +>> +>> +endobj +130 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 567.334 206.415 578.238 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.14) +>> +>> +endobj +131 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 556.355 214.814 566.283 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.15) +>> +>> +endobj +132 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 543.424 204.841 554.328 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.16) +>> +>> +endobj +133 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 531.468 215.91 542.372 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.17) +>> +>> +endobj +134 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 520.49 205.658 530.417 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.18) +>> +>> +endobj +135 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 508.534 216.727 518.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.19) +>> +>> +endobj +136 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 495.603 203.198 506.507 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.20) +>> +>> +endobj +137 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 483.648 209.842 494.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.21) +>> +>> +endobj +138 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 471.693 238.066 482.597 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.3.5.22) +>> +>> +endobj +139 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 451.812 149.369 460.788 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.4) +>> +>> +endobj +140 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 437.82 147.935 448.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.1) +>> +>> +endobj +141 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 427.922 196.413 436.768 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.1) +>> +>> +endobj +142 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 415.967 220.492 424.813 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.2) +>> +>> +endobj +143 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 401.954 222.146 412.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.3) +>> +>> +endobj +144 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 389.999 236.532 400.903 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.4) +>> +>> +endobj +145 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 378.044 260.91 388.948 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.5) +>> +>> +endobj +146 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 368.146 233.762 376.993 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.6) +>> +>> +endobj +147 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 356.191 225.424 365.037 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.1.7) +>> +>> +endobj +148 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 342.178 170.102 353.082 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.2) +>> +>> +endobj +149 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 331.199 153.803 341.127 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.2.1) +>> +>> +endobj +150 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 319.244 158.226 329.172 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.2.2) +>> +>> +endobj +151 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 307.289 169.902 317.217 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.2.3) +>> +>> +endobj +152 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 295.334 179.307 305.262 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.2.4) +>> +>> +endobj +153 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 284.46 152.867 293.306 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.3) +>> +>> +endobj +154 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 270.447 164.872 281.351 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.3.1) +>> +>> +endobj +155 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 258.492 189.768 269.396 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.3.2) +>> +>> +endobj +156 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 246.537 192.906 257.441 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.3.3) +>> +>> +endobj +157 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 234.582 256.527 245.486 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.4) +>> +>> +endobj +158 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 224.564 193.643 233.531 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.1) +>> +>> +endobj +159 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 212.729 172.064 221.575 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.2) +>> +>> +endobj +160 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 200.774 160.448 209.62 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.3) +>> +>> +endobj +161 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 186.761 164.872 197.665 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.4) +>> +>> +endobj +162 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 174.806 155.278 185.71 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.5) +>> +>> +endobj +163 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 162.851 170.401 173.755 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.4.6) +>> +>> +endobj +164 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 150.896 200.228 161.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.5) +>> +>> +endobj +165 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 138.94 159.342 149.844 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.1) +>> +>> +endobj +166 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +167 0 obj +<< +/Filter /FlateDecode +/Length 3803 +>> +stream +x]۶W{@]⸝fZّײ+kM 8/mڲH'y)Gė>\,3ju6W{g{wߴd5o^5o%`7oÞ<2/o^yu~c7?])qYk5 ^~qJlB~0ƿQM;y]͕* .W~+;bצdɥ2(J^WvlW:j^8t˲4i5i/TrSͧYq\/7uU^2H4 "y n$5 8땆=^HaѨx凧:B\6D8HX̹Ea:q/tIp@b8r@b"tF<42 rUQGY2!t2[ɂ=->6޼(׾_{حMg+yͥSptMde +!y-@LsmN $ggCGćN"-.upq6!C H>T]ld}Բ1rŌ +"vDJN A}:"H(XH*ͫ  c-y ᤵhDm:Is8tDx$Jc(!!MΆbg%Қ@Bis2P9J:^# =A\"G[s^z$уs=H/;Gk_}kJ@ԣ\U\G񔹵Ϧ#W;'2^FPu`(2A{`w>z潲9jh偈oD_# UH@~cky6el:c^H +-K\nNw|N "73ΆA|xL + =86uqi[zYVw?dw_RkE|6P^ߓwtuc0H2FbPVaNM#Wvjf1JyJhmJ!mY[ +Н +Н#"9G" +.e|ڐ !q8߰hn.W25j6oc^I E$u}`. $ $FpJG),?t@ys,y#Y6X+{Bͩ&P8@a$k&6 Lw1\<&X=/bkHȐБEH c2 59lBn&-CkXיf^ٗ VDv=EsO4N}ká#tD(%'Qđ(q(YJTV\^)K d]k\S3]FiС tD$' Q :4  ֆLC: 2pH/9JŊLzD r\ZkߡLqdT Yɩq/QJZ+oaݮ) %\G@흜}4Ɖ)ID0,XcߴIIl.n46K/K_hmZL:.&ĨCGHr8UsϚ8Fpvq b]Dʼn?X )־'ert; *F>Jb lk7um+[3=Y+j7wEdI橊!;@7H3ܗ>Q#I+AAQŲ&#8Z)g%s1"5A:8{V\Fn8{ܑ0pchNSƁ.vIg,3 nm{~_t2b9s#C2'cu5am4i:*GF[,%4f8pȐAGGVjw A%?<=죿gَzP ki&ͩqbxPbt<aq,Yס#B$9"-,Jbm:H!)CQ1y#wg @wg= ɍo9ddHh"ўĩ̃iVԕ ֤+M^=z3?.˿b^xy}tOqNI\m)endstream +endobj +168 0 obj +<< +/Type /Page +/Annots [ 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R 175 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 195 0 R 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R ] +/Resources 220 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 221 0 R +>> +endobj +169 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 760.674 167.093 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.2) +>> +>> +endobj +170 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 748.719 164.323 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.3) +>> +>> +endobj +171 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 736.764 171.267 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.4) +>> +>> +endobj +172 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 724.808 177.056 733.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.5) +>> +>> +endobj +173 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 710.796 168.538 721.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.5.6) +>> +>> +endobj +174 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 698.841 163.437 709.745 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.6) +>> +>> +endobj +175 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 688.943 157.678 697.79 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.1) +>> +>> +endobj +176 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 674.93 184.238 685.834 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.2) +>> +>> +endobj +177 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 662.975 170.391 673.879 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.3) +>> +>> +endobj +178 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 651.02 196.951 661.924 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.4) +>> +>> +endobj +179 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 639.065 177.046 649.969 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.5) +>> +>> +endobj +180 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 627.11 194.759 638.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.6.6) +>> +>> +endobj +181 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 615.155 187.496 626.059 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.7) +>> +>> +endobj +182 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 604.176 162.102 614.103 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.7.1) +>> +>> +endobj +183 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 592.221 156.015 602.148 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.7.2) +>> +>> +endobj +184 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 580.265 160.448 590.193 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.7.3) +>> +>> +endobj +185 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 567.334 187.506 578.238 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.8) +>> +>> +endobj +186 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 556.355 172.622 566.283 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.8.1) +>> +>> +endobj +187 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 544.4 166.535 554.328 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.8.2) +>> +>> +endobj +188 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 532.445 171.517 542.372 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.8.3) +>> +>> +endobj +189 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 520.49 178.709 530.417 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.8.4) +>> +>> +endobj +190 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 507.558 184.248 518.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.8.5) +>> +>> +endobj +191 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 497.541 137.374 506.507 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.9) +>> +>> +endobj +192 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 483.648 270.534 494.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.9.1) +>> +>> +endobj +193 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 473.63 168.408 482.597 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.4.10) +>> +>> +endobj +194 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 459.737 173.18 470.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.1) +>> +>> +endobj +195 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 447.782 170.201 458.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.2) +>> +>> +endobj +196 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 437.765 168.747 446.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.3) +>> +>> +endobj +197 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 423.872 204.163 434.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.4) +>> +>> +endobj +198 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 412.893 195.855 422.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.5) +>> +>> +endobj +199 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 402.019 158.236 410.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.6) +>> +>> +endobj +200 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 390.064 159.89 398.91 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.7) +>> +>> +endobj +201 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 377.028 171.506 386.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.4.10.8) +>> +>> +endobj +202 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 354.268 135.631 365.147 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.5) +>> +>> +endobj +203 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 342.178 147.935 353.082 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.5.1) +>> +>> +endobj +204 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 330.223 211.486 341.127 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.1.1) +>> +>> +endobj +205 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 320.325 145.713 329.172 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.5.2) +>> +>> +endobj +206 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 307.289 165.43 317.217 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.2.1) +>> +>> +endobj +207 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 295.334 158.236 305.262 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.2.2) +>> +>> +endobj +208 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 282.402 165.43 293.306 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.2.3) +>> +>> +endobj +209 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 271.424 165.977 281.351 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.2.4) +>> +>> +endobj +210 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 258.492 182.425 269.396 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.2.5) +>> +>> +endobj +211 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 248.594 168.408 257.441 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.5.3) +>> +>> +endobj +212 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 234.582 158.226 245.486 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.3.1) +>> +>> +endobj +213 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 222.627 190.326 233.531 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.3.2) +>> +>> +endobj +214 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 211.648 165.23 221.575 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.5.3.3) +>> +>> +endobj +215 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 190.791 119.85 199.767 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.6) +>> +>> +endobj +216 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 178.736 140.184 187.702 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.6.1) +>> +>> +endobj +217 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 165.82 242.331 175.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.1.1) +>> +>> +endobj +218 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 153.864 268.901 163.792 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.1.2) +>> +>> +endobj +219 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 141.909 267.387 151.837 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.1.3) +>> +>> +endobj +220 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +221 0 obj +<< +/Filter /FlateDecode +/Length 3671 +>> +stream +x]s۶+pi]]Nt4ݙFG3JJiTݥ>Zb P^0R9E$7~߿B{DQ{}\^\~wfgrÅ,J*/XQ2])nC:. +*TC~2ÅK/.~WwĎM +״QWwfƳfM菣bOCz1&!KhZ3*Z8GZ@haT/O4LzV1 BMg KBYND Ѓ!td)ԀSa*9RqY/gD˻]엱K:3/TҭKA>y)/݀0H@# R`@eUtRSiGRWhkXԟ7jYGg>zs0I TI9 N Ѕ#tdᩓP +Z\Me}_bN<B%)+EB`4RHRHh"q*DuCO[_?,#(5r%cŰDOi qI^ /@#ˋJ"NlU.!NjTmz])*tD.:i x:9iHБIAVR_ Scl5EmIUcl`.\_.#MNБ%"ulC7FTċoDk+4>vpzYloPĩ؈j׈%hEҗA*++NБC&+PQ56Qlꦽzۿ~.x/ZdZ =g`,;XYXw5QĩŤrXczFYQ{d^l?y3N|S)A:D+Pxq~fc,iGt680 ! !,CU(BT6y26!cng51a=QgS R]Q9 N P($td!jӦ>e]P76"n9{ԧPċ +'e?äFj9 >}NБ&ygEZuʆ1:," ҁlp=l@#=8jBGԀS}dqԸ&>J"H۠I%$RPS_a8z0BG\"NGH-Αcl=n#\Y;LuP rTI9 NTq3@#Lr'89 +3cl3n-~~|aSӚ ňpD̊a"*gD2p,/{( +Wy16e{n/q>TfI9d2Y`pPi3Zq5]ψ(@tE:tduO +:9OOȢ}"NMR6Y6ŭkZ\o?oL]}xxXl?!- ;FkuE`Ag'$N<85qkK$-ʝgsPjw_#j*#^Z 3G¹r Fh qjŨ8mH06Cɨgu\WH `5ċw68 4rizc"NlɲJ ZnihR%bEwp68! ԔD=8BGrqj Ux1}Y[nW KG/'`/NS_EI"pcI.2kZcl}&8㎌X.AX#A6a-J?f03Tǹ yfH Б(yEHPL_@O#OC%s3 ?g# 'yyn,;}g ~i,<՟bLF<Řl$搩r-zYd}e1\b'+ra1笾]3szFjI.?FpTċY#dOi/"}sVȒ +yK׳Nҵ&/gXoB g LYrTׯH* H%tP1_( W!G.`Mϓ"q[ 9H GE YEe R;e0aG8šq:@iˇ.ϒZcL,5aHZyd{}4T3<$U@3*Б%wᡈSkȑE֦GJ* `s8m=;&@ 8< Dxi98x:CCsLq@zipb@zBBGïQĩ5%-S[|,B!vowx`0La8x0BGJ +qbמׂspx[W.Uywx3PNS3#&)KKr}E:BSiIJ8^Vՠ6vv)tF^9 >c?8 tdI>@EtR*vXXbf's@}x"9+MZ*7z +njoGY~N\;s lg`@Z`TwC@?@!q@ĩxב1q.򍢢P#D:EA秱 XyGn,G T8"kpmf?6ϖH]C$D ^ 2y>8/π0?@#KPrW+/k|)mY$ٗwXrq/tMl> $cf ~448Kkƪ?rJYt|ޚv6dO(ʚzђ`5li *x$`ZA'ۮR+omzׯ__]_WWW߽8,>ZA{W>N$u[I̓4N_h\ īvu!:k4&k)3r9y}u yd]gfԿq&td͓ |Pĩ–zߌ|'l7B~zFd⻽_Ɋx#> {q2G_@8qS:N@Hz2~Z("ƤK>Xtڬgf7/}+ 6ߺ?dZ DΕͦ_{|:endstream +endobj +222 0 obj +<< +/Type /Page +/Annots [ 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R ] +/Resources 244 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 245 0 R +>> +endobj +223 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 759.593 296.009 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.1.4) +>> +>> +endobj +224 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 746.661 163.427 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.6.2) +>> +>> +endobj +225 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 735.683 310.435 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.2.1) +>> +>> +endobj +226 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 723.727 351.59 733.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.2.2) +>> +>> +endobj +227 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 710.796 166.206 721.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.6.3) +>> +>> +endobj +228 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 699.817 374.823 709.745 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.1) +>> +>> +endobj +229 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 687.862 296.049 697.79 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.2) +>> +>> +endobj +230 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 675.907 351.56 685.834 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.3) +>> +>> +endobj +231 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 663.952 304.168 673.879 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.4) +>> +>> +endobj +232 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 651.996 285.528 661.924 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.5) +>> +>> +endobj +233 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 640.041 282.211 649.969 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.6) +>> +>> +endobj +234 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 628.086 286.086 638.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.7) +>> +>> +endobj +235 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 616.131 296.188 626.059 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.3.8) +>> +>> +endobj +236 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 603.199 236.134 614.103 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.6.4) +>> +>> +endobj +237 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 108.862 592.221 322.739 602.148 ] +/Subtype /Link +/A << +/S /GoTo +/D (subsection.6.4.1) +>> +>> +endobj +238 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 569.461 141.818 580.34 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.7) +>> +>> +endobj +239 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 547.543 166.246 558.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.8) +>> +>> +endobj +240 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 535.453 147.935 546.357 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.8.1) +>> +>> +endobj +241 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.948 523.498 161.225 534.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (section.8.2) +>> +>> +endobj +242 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 501.715 170.301 512.594 ] +/Subtype /Link +/A << +/S /GoTo +/D (chapter.9) +>> +>> +endobj +243 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 479.797 128.767 490.676 ] +/Subtype /Link +/A << +/S /GoTo +/D (section*.1310) +>> +>> +endobj +244 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +245 0 obj +<< +/Filter /FlateDecode +/Length 1836 +>> +stream +x[S8)HZW[ @Ie/ ,e +Ivw?ے/|L3 iw:-&:w#a$?ĜĉZ+rЉ-}QC~`X b'uүAdr]Ϣ("{gI8w2yՑPMiTxdzz~2Qhp{QW 'jdQ4bVL0$TK]IAJnB|2܅|%8p;,^7y92~wRG;ƨQm')AH +6̳VqavxJfSbE5AeQ͕qܘ:e `쑍كx,,}Z X"( /{e6_N'`2=E@RR2gLPeT;ѨknM׺X v9v&v1'4Jyٔ'S(oO3x.1az*7]-IEFT+vZΦj,n%HD 3Iaܤwu68nIOay&~ȍ()FnQ;ňu)֦X7R'q͓e$ |*ɽi;=8gt|q~~V$rA{E걇A >Sze8ub?/"L=s E/lT* U;> +endobj +247 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +248 0 obj +<< +/Filter /FlateDecode +/Length 248 +>> +stream +xuMO0 > rC;+02 &cy}$Cc` 1)>@"f_d8JgړQW`)+p8_ICNVras eRoٓ)a 68CKXL[+NOQɽ=p+]S";,6e'>͹$FKuDݕie#c,`"{Im8a"endstream +endobj +249 0 obj +<< +/Type /Page +/Annots [ 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R ] +/Resources 261 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 272 0 R +>> +endobj +250 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.221 487.553 431.408 498.457 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +251 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.603 404.54 158.683 415.444 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +252 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.115 392.53 244.302 403.488 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +253 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 269.075 392.53 297.17 403.488 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +254 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.146 392.53 333.8 403.488 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +255 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 201.215 368.674 277.378 379.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +256 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 247.18 180.074 258.084 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +257 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 206.532 294.845 222.473 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +258 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 192.186 294.845 208.126 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +259 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 177.84 298.282 193.78 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +260 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 263.234 163.494 333.978 179.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +261 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +262 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 6 0 R +/BaseFont /Times-Italic +>> +endobj +263 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 6 0 R +/FirstChar 45 +/LastChar 121 +/Widths 264 0 R +/BaseFont /RQETTI+NimbusRomNo9L-Regu-Slant_167 +/FontDescriptor 265 0 R +>> +endobj +264 0 obj +[ 333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 611 0 0 0 0 0 0 611 0 0 722 556 0 0 0 611 0 0 0 0 0 0 0 0 0 0 0 0 444 500 444 500 444 333 500 500 278 0 0 278 778 500 500 500 500 333 389 278 500 500 0 500 500 ] +endobj +265 0 obj +<< +/Ascent 678 +/CapHeight 651 +/Descent -216 +/FontName /RQETTI+NimbusRomNo9L-Regu-Slant_167 +/ItalicAngle -9 +/StemV 85 +/XHeight 450 +/FontBBox [ -168 -281 1000 924 ] +/Flags 4 +/CharSet (/hyphen/E/L/O/P/T/a/b/c/d/e/f/g/h/i/l/m/n/o/p/q/r/s/t/u/v/x/y) +/FontFile 266 0 R +>> +endobj +266 0 obj +<< +/Length1 1663 +/Length2 9960 +/Length3 532 +/Length 10851 +/Filter /FlateDecode +>> +stream +xweTܒ-!HwwwF{pwww B<}3sgygzSujuj"WQg5vL,|%+['5WQ hxs"SQvƎ@>6 4Xyyy`#VSM?,L`ea~ !@;Wq:p̭@@4VZI *N& +S)H0@`;3?90b:km^v=pLANfxJb~a{S;8:[A*Rhi 4:)/+̫tueY9@@nܯ`{prG@ c{3OwQ'?Uo u?rrt̙Y^9M_-쐙̊9 >g_ 33tI@n392@?S_'@ywFo?CK9@Jƶ.c;(,1wQ|[w k[D,^aej e +4Sr4^] hW_,,Ӱ2.?_0Jjh2 ˨z4CV.CT^gQ "?FV.#S|MB?ΊƎV=&W?,'I;Sٟ)Rw43{0[;>;e%^7!^ +4EX:Vg Kuw jT;=V2Ս=7MC6:@4I\b/J<%n-?fbIX].aU5Gxv{ē:J<tooѸuP74}?:6aѨ}>g j{DҋlňɞonɫܰIVU}*H[ڒb84VY#PcQ)4d!?-dBvԋv&wDW%.n5x߈;aTw϶=yMoefޚ8Faurt_7Ŵ›3'WUVޤ?.ZSN +M"Pٶ$<<2V Q$00RH}D-4qtV0/1Xy !<3ΦX./dHX=;&ǾCOȽ1hfwnNlbww,0k=w]ߓRYUSpeA\Ύ;>>^4+l1׿GWiJؙG?F}q4*kvF+(@R +[#fdQt! C쮓4Igqa";&pgj6.:9 5I]7C#Ƞ<#ouW^S+㔁QQ:aqAJlaʚ[=8m,%_Uck(RjKsuᕾAlY(Lyd(c| E^lkq`x@_i/7#8ҵt`i)tULwQY ~vl}PNo{>@uFL]]5@ %Gq@wDS,kfugŽbň]K#*l/ `cvUrn5qޔUOݯvV6a@3NV!XlQ=S^ T ct(^>b1M+.)ڏe^p5j*P*d.;$w@% iA};!|? Tи>5A_^ܕ;g ~Al +B")=>,h'y-XLixݩ>jcJ(aļAB|}OqHh//FQ="zp(|V&7ξ3 ?>u!&Ȇ9Haӻظ7 H5g#J)˟9[R?86D"(صSuAjVZUJ1-+[չiְ;c/f5Z^S{lxVun`P +nT2[.;Fv3f^[栗o8yDE&`r4(T=uYCj=)~ + ?gQhc!j},*7ȇ\mrr)mED@8pոe&L WۙgWit5She܅dmY2QVP\ +,9L8[DwwĚB)4rػPxkr_UQr?6z%?oB&6[yzDnOpN k|iwDߵ) +@'@%-;Hj+Dp+J3c6HU@yKm~)Ǻ|0!??{w) 0;/Ik[ +ul u+ٍ(Yc8yI1w(gPۯU -j:i*Itۚ&^ ;W(}?Nc ]*y:I4=H22$6 +D-}ƦjԓR‹?Jfq! KrJk 6֕vx!ZI`jI +Έj2Xpwn2xw[FVD;K)B0?ڟ89Ṙ649nc ExBTIe~2o۳䢧"r@b{xP>Z" {؈~39urj ^,uQ A432|6rکM<>> uXz lN'UZ߃vuC').".`%fiotO?]禰+qVϜ*YH tڻJ1Pp!mFA*L@Q2[TdXF-ڌoEsl +][, j+([7o}KN!K`UclػsCo10[(׀`PcM[RJ8/13$:yY7oA :CYW9d~m1I;R'|~ nf)Iy/r<{>_}{mnQ_;ΊB +1tt%fLyt3,ѣ 9c8V<ޠ̾^ԉ^d; "eZf1<ә23f*[J#vv'4C*}хSzB^ 0.H>L~z _&7)qAcnpcaG=2_2ڈ\{"3>TxhYLLSB2.5T)g@3B07W]I}^|EX m9(:a &h%Xwln~%S(<#؀_%ԜJ\Noʳ؈7'uK?KE+,NrCJ.Jvoq"{eu8*Ӹ~.ů#R)F23h0"w"KKE`kR^͠6 jdQ܎U/2\mK:wu2FIwYܖ +@q_oɘM0 +w?A?TnA&}4>*h |ߎBV 䚇pDoJ`ʺ*]IW9MAtN^ocbOꂞ+o˂lk: +}ǀঢ়FE-MJRx/}k?C_ Fm_qW1< +zF\Xl&3t$:YסgpZSjbT0p~j)"ۙ/*Z]i)mXCpUq} E%$nKV{(.<$} ?T!S`ޮ”*|sZčO.kk#7cW`,6'Ϙ#BAž'm )91*pI;SCCm3Yr0#U9uws|$xr)(M|ulT=*yݤxi!a_:zz{nh %< J,5]_xk$SwUǠNMŞҰud^^`~qu EJn-BڕPfl6eih#<mnht.eۃQq)Whbc(4Xk}ךh2$0$pNN +O7DF9f1ٲc*~=uyD$+aӍ*1J=Ңf+̉? +`#q|bإ:*prҘ溆!$Vgpx& ioXg՚%%uW>HnbJ0ZSӓ7q̄zՋ'q:Yg\;kf! UoYsrLQOV(~ +AD- +OZpc=#W < V-lcM؊_/w)_L278b )$]QhrܙzM֚{E+x~w&܁ۣ'݊3TC+"%`WK֛bQk[(l.U|}ǠiUsk/\%!Qr4ʢSf UyO6& ~Lfgb۱ zPX+GkY8F tA sl/Y;rJc-xH&MI +h\Tܿqp*&l||IR;Qy߯uY\2ixe8 WG E]]mjNkXܸ-3Keo'bm, Pg~d 4zmQZq4m=yb#bM|zJ}^*A9ϑ 7dq]/|GqP+3"k٤cIY葘$ sv:[r]}m$a5}MЀeNkVrqeo뿨O0`>!"m% 1;`-bt:* ,HX"8=9yPIjL&Da|-=4A27 [xkr1uװ#hJıgx'*MkNE❅/H2\Xjs6{hSޞҊ(K4x7"fhv4/y΍HnG DUry:Q*fkȒifdB)b% +E~ԣj=ja5^3O񽮊YGϸZ%1U[,GDIƘo2b ʋe;N;(G7[c5&UGUu~ c`_܍7(0i~,-AxKt>+@Wэ͢Zm0#SKO9idUY݊Y[ьZSI@<Q7%*ԇʰы4:-7덺 QXcF`pK$i G7F_qGn.Av#ppAuMXP'|(ez \78\ uŪܚ }u!.gˁzj+j߈D+?`&{ ?돬/sLKYXL7 UKփ)/cw3ǁTDPF&"](Uҁ#טw(rpp~xuNp˗|(iϙp&ך@Or-2+r邖e ǠV8)В^k)l3q ̤F!WhRfSn9Ga> ?lu}7+ **"Mb&v `̣v,xjѽ NͶ 1B=ZhpU5/(NU-fyϲsY:5yCFgP}|k$nPo r?\(29S&1]K?oVBoI퐽1"Qy;ynaZ=$M#YTfhkqN (C /~aAh:@%P[}Ty/ =HۮUMq1\m5(sYqDi,dJm  +?7GZX(L9LE!_NW{-IP($R{'̉yIgv`o9+|R/{ +6 + '[pˠP~#J:f +\Ր3։ʏzv]8s~E~^[ ċ<UIַΌt[95ME\RgKB=>lm ~Mwdvg<71-M$cQ nl+EC.~pw_|jEa)7e)A6T^E0兞LvۭYA + |ʁg^Jc0O3W\X[%O6N,T$?bL< _NJ#]}eԩ{EA#XϛR\nRMa+ƛ洛Y]JYC(THT%h>=冕};BEP'yAY%"pIFg E4v Kx\Yq[??skc!N@Zxoj}KY2?{/k +~TMܻpXE ¨{sU;E]B#0'.ְP 5> +%5Av}E=d )K\4 +ns3eP? "u7_TD |' m%]FOqseFmtgc}xsƖ1GF#y* FR&I.tuo3=r6_]!vow3ފ]_}bj~BCPS?̗<:z}MU4Jc6]PNђ]`R"V]0}1LU?}8Ysm\e"Kw ,>^P,8w߅Cߍ +UM]-4|8u~}eOI9M}KV#X,!v]%`Or1Dnu|Iu*ZY1b?!^#jUnDOv|-bfo$Qzt<FcO$[n +l˒~wn3kȷ^߾l6;VVLj鑡;3 Qyv(u>ᨫ+6u ='u>G}.%ަp5Qd6U8-$xiwqleZ_:#A _᧒UTCs[5j- 91|GyM4 V33P%Sh +B|Qg]|#B[}[ik@,/™t@ǹ!HLTA&OB@bv5(2m0xRܽhN20N%-rެdkQ_gUXi QՁj'[u`].CIRF!@tcMHZ03e_&xDc,+M,fMdRje) `2bbqS=:K-XHҡp/TƝf$eתissܶC*r\nJ*&y뜷ҕVd.5w߿Dkhi3u[gAZ4~ǕSCÏhf|XQHރXo.uR:ٓ 3fyj8͊aiLhk΍`O*;O0؄~ԻEt%!4d!7i=}ĈxA^]2([3)NAAI1s͔o F*?m^!?=n .4fpy+H| +XHFٹJ%?];L?w/i\Xr/TB݈f fs@_-h̬'WNHF,sĊ'bmy7$/&ο!}C mo?{\LjhXguewfLo(k1_ɛTFa|h}218J4-*]c 5W50%y>aYvNv٘ޜd@m"zPq3\LwKbqK%F[w&E.ᖤ@̇.bcc7 +O"ll%p1qwھ{mvg~2\Q~m<7=\IG e٥ϲ{8=`f{T(i9sQ(gjV3u'{"EИ93upti~_!&[{c(V⪴87(d2`v˺H9O߽_j-B4}6tbgUMl +ᦷJHˮVts;M +M"J:C=ɲA_4ozf`sybhF97@!HN-}+Vc59'G \Sy`-s*@CVu=kp3%-u;QѻR)owj8PAw&ݩ[ɬӰoÐ%ZSsxn+zt {Vi1g61, QFIH17E ijQ41c|wl2-DdgbLdp%1y^~6Լ ~Qnj/CՍN.9C,RN0 +Qwb!9]UyT"c'DQp/NlݭR4ͥ(4{ 06a *endstream +endobj +267 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 268 0 R +/FirstChar 33 +/LastChar 125 +/Widths 269 0 R +/BaseFont /QHBXJI+CMTT10 +/FontDescriptor 270 0 R +>> +endobj +268 0 obj +<< +/Type /Encoding +/Differences [ 0 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /dieresis /visiblespace 129 /.notdef 160 /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi 171 /.notdef 173 /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /dieresis 197 /.notdef ] +>> +endobj +269 0 obj +[ 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 0 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 ] +endobj +270 0 obj +<< +/Ascent 611 +/CapHeight 611 +/Descent -222 +/FontName /QHBXJI+CMTT10 +/ItalicAngle 0 +/StemV 69 +/XHeight 431 +/FontBBox [ -4 -235 731 800 ] +/Flags 4 +/CharSet (/exclam/quotedbl/numbersign/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright) +/FontFile 271 0 R +>> +endobj +271 0 obj +<< +/Length1 2225 +/Length2 14162 +/Length3 532 +/Length 15379 +/Filter /FlateDecode +>> +stream +xUX]ݖh{pn-8]$wYMv{wY<6tȉLbv Dvp(++#؈\&FAv"F[V#Ihp4:ĸ mQ'C;YkKO `k 0+ՙNVA]>@c;ÏP!/q C6X ?"x>A@{gvv#@eS;ǏP@]'bN׿\ `Z-Ϙz46 +[>&h pp1Xi?C$A@| %DMb,A$V `uV `uV7q+|)pET>X]>X]5>X] A9[cwF#`?!7{yf<[X[8|`n ;:9~ln>Y8 `obf/glhm]B_T NV!P/Z} x2@+heB_ V!/Z@+dZ@+h +0ca~~ ۹{ѳѳ/mNVfgn.I򯨱#uR6w1ڲ`˴E4f-r ]A ֥4 UhnxNފSbӗ\ 2=43e=IN:/ޞoOT$k\(PBoi6espjeZ4P+!;Tm!''BlZn\u>'<CE箶Xepm鈘=mE40eeD-ۮu<*y,LPAr;CW}R8mEr$R&z,% *N,oBYz:{VlE`)N?]hҵH i#>h;j-mI4t3_7T_0{}&s |N,)SJ+avGh,2w F)PSyZ@>3j:tUeTIo59UdWa#L!M$$Fc|kNRF}(RKEͯDXH6b_1ڙ=v:{wK  ^yWDG*? 8EMRJKg:)Kyc^>繆\߁j)5"YlɪβJ*Ӗ9@;3P QMhe=\#Ir` Z02(*;nfaVH i*Wi8qg" cy_NenûʸOWIVtBU8%@uR'`Yd~"̗~lM =FY0l|tC^?יM>q\Ye8]1 m\aI ƕݾj>q TR#3zBaxT +xm7x EJ3'b<~lZDv QߎjdHR\m{jTJ +A:zoE h%^]Dv貂ˊn: ~Bͱ-)2Ξg(H, LO `D.'}&]n_q!鏇'W_ uvuN#Xpa0};{`@0Jez*O p`ӳ|Q*aS]t*(l4_H~_`浌4F<>49[*M8HSڌ>fC.'dGM]ޏfw AJđhN GmuE%GN0o:CыGQ*+dWg_ (`xdUo/~\0&x,q3]7DRvcpd_FA78XuA-&-Mekz Yld9J'|RW7N-  *ؤ(iej.\t~`>CdS`l31Ap]J:!Sr eOcgOf*5%m;,jkf# ɞE:OJt vlثڰHą.wDޫ`Q;P߻:j;:wۻO`OT`pHcҽGhK 6Ku+>/߰\^B;[2 =dN!W:H,Tx,ިAp"AZ9jmDS ƦLЩ BJBHFYs.r>}xYta:#UZ h{9Z{4.žzk)_FIaʤmL[(6ywۥ>|MYO]:+=G %o$[ +;K5yCG_vBTŐ{$=W`2~]C%}9З!ѻi ~xN%!zb*tpȠ"22d*iV9vp>u@גqǙi I/T$x&^:B>Ҕ#F zK&zC;13'ۮ&zxå`,ƅ5v<'FVq^-+ mi_V+c;s-Mb#ϑ;q9r[}GJ'u{$tbϷ̆Ia[G7_L͘vqb*Jݫ[ل";A@T ~+ղЉ(Fn@-f(ɘiHP:y2l^Ϳߟ*+҄9Z⽳Edmf O'iܜơ#X9xUe#021"JBd\t5zfSi\z8 *ufgC13!y?#]S"5 =/9f՞4N>& V4;=J:RJd)r6BJ] IЩ8˒W$78G)Vmlg5!/{e[kSq[,=˛r jWgk嗹* \=󪮇2 9VW?Wb5Ȥ027<ĂzrQi3Ӕ/HDiFZaśT&~5$!6Hew}Lv FAHI¹dh#32TRFm5标_3\Nb\ 6wPũSVUB +!8ɹ88;u*e<[LƄ_IyryǏ!d<M)DF?N!߻V5a /9=a?_D<.;Ʃ1P\~ωf>s z\OE?zu; rEzC4]@(䨞 Yt|L7a T+YHgu`OB2iLfb&!Dq$;.J}).l-*_^xԨ` +2e3FRHl_)tdKJB}wUܛj"p$g}gif{U ,۟%3J'3 /ml$g=%ʼ m!R~OIFi#ZVc'7چۅ +ԻfΚ4m )^a7+ӬYdJ!9 Lvg"k!482 +%+7KEu[Hɐh?ɬiXSQMNq2XeeUErȗ ǞÂ߇4򊨑 #4zKg*.Q7Rass%ή?cq=3[1Eʣ\оEc59~1΂24h͕D>I'; pa?f}\mGNaHg_JK*}xҟ5FUW~ tIl}Aʗuֶi:fZr3:WTт(_f)r%g$vJ|3; ~?}B725,-2deՀǒRF4d` y.}zP$JPte,2*F:U4ԗ q$ L+#L~9ym:k"oq=Tq~ѝLp.*,ܜSdP,1ٱjR$VƤ^T +6YsR +gs+$oհ+?::ta#Y<~Q6tݨF]yg hzhRGM L۫ð_n.)^EΤBnW`$*x pMm*yͪ?V{$FQUdHqoCbFlhF^5:z@#0Kr%ʾbzStKz K6UJq~7`=5ShԖ +ߺw5jOw\(Jx?0QҪ3cItFݫOuQ`FOxF _ST澪x.ӣ47mhRj-OrZ Sʺ^!,!W';]ɴ3?VZ1_Uj?q4TމS0E P_7soh5. Y9c!Lnܱ'}6EL/OœTO sD~) mWc+ a:~YD~$ _tQ(:H,rk'VJM֘W_lq-J1ڴk.r: znc?3[MKϞ V_@d񩧊 >}~t.zE&:ɸ9mڲC2`96(ȫk Q kQ=* /լPPOY? b,LAhujٶT+15;C D[x]Y.ddKkqP}Kk 慙C<ТFl߽h~l}DOx<;M^ߚ;Ln=bnE`ʒy]%Pg>/̒;6Q2xTS]*x Y%fe'M2aS7m43';줶1<%R:DC .j]sNY0*#Ǧ2 90&mr&)#g @ArzfrDx}qst&ڮ)tҸZnsL"K ޺&>anSEVjCR(V+LD̀qzξwHnߧPBW1{$0βB:.׽T{#ƚ2^̡OUȒ'K靲2qpP qSW`%Ogp'LxaXW[ K/ٕՠ^o%5wj? Z"+@d|ZހkҤ=d'AJXu1j-DǀN[ҌHN-a⁐Ĝ# vC[\#֑zH[k&!z<_#U]G0x$߼ZCΞ}RK2~?UHDUv3J풕ҿ80GVO:./05Fm] Ty| '͸IT=NKXP߮.m|2&FGPו9Q,#ߑdFfwM)~!`:M$岸F3F0'/WU?_M剺@kt O=ZSىl{¡M׮B|>C, |.-b nj|m]8K隂`q.3\*:F3]VCҼ[**03N4&Ό8n{cY*SD>j!LhcXa8c٬QE*uY";Y2+6h N쉘r_dw \6Y^KSX !#kx +l{5O +oceOxԨޣhި\:_3~SO +$6-6VeO+LOȘZ@8t9|M4Rs.aA4lsPKE6$'BՈs0(4(F}-E,xV݀s!,nv C0UB$m&riW/ӭb}l,ŭ@A0ۦ]\. o*P[\J#Ք"+dqn>hvqrhrbyq<{a"XNI5b/pTmP3!{[F-,SORPKQ0)4B%q3 v.8}R)L UjwCǍ0s+Ԍ)84O_^*EZgF¢؋Q@yML|u{cg&PZ9:Q2'cP;YJX_10q*^S2G_p/Nf8C{@ZuZMe.aZq; +SX½ib}"8TE+$n(qtmuY~_ {~̸G9(?ݷkmx'lh"=xFi0ZOዔOS|uB:EEwjy?ף4ׄjԛV3kk]zKfk&U\٭w?s7oޓlCQT su + p&ّ&vu%u isQ/Ii5lzz"kgL*oxr2D;\߲xi9&mZJ),yiAQL2clfm]t(Hc C3ɥ5,R:OϪ!2Z5=#Vk}ͼeG SVeԼ)b@GrNm~&t69ЫR,ы 'zoĸ=z?-N.\PyE^rlumΞLy C3_ Ҷ{.aD A;1EEaac/ǎ;VV5[|P=ǥE`~ըoꉨJ &vP2{~I=`:f1݂̺7G/lqVW2+J[ 6$A'v IROvϰiKklFKy3Fsо'gr|ܺ/M?mIN&As7cfCE؁/%(*$[<>Og_Ě Xty913(8#=C Q2ͬGAxUa1f3ûDՏ7e +mm&859{,%TmVzZM8fn7ʯh1P\إA_.?9+0Ӱf|ҁ6m#SKj”KE {F]^Mؓq/+O6%Z{ډgY8#˾!cMKϼEi,&&f=5],uGԊFW' mqc&*|iE31ZD`RO%g?ٶ UXY#B), I^Vɘ77?-h2w + YQ{;a$`_5O@BSYNhz6lLȏӃSo<xWu>cӜO."n!g<[30ztbrx(K(c]k I'nSM'Yb:'BZА:^8ڞ}(W3qiSF>is }z%!\ 4>i(%I`ӭt buŗ:5X%9bfjV>߼ͧ+0 _C1;]rb=(o6mztDe11^O{.IHM9 ptڈb:#NދwC',gѶ0 ~j}dZrϦt֟ۜl_ y#xS3"ȢSHIO'(w?( f*61 pi4}"!qstɐʧi5R4sO7W_ثͣG]Jzd'47gp7S\*CmԭT 3㍓=I(;p 1k##w:_Rt~=i. Ob, +3tLT۟&I-3,jx(ƫ\'>{BƯ:>c!d_H;E;'\Ck:M&5lKgJiGw9I#)AVFґHs)ZvTX-z͆)RQhXT~~Ga"Si8ϘMv݋GV1s4I9ߠ:;(XǦyv".Ͷ MT x$a+]`s i乌"WW,H]w8oyww#M1մϲ}iV7F=Mxoԡf/0 +sCUl yѭ0uhmp$AW#GW_bn;PGn87dm$U9 > 5Gl6(JӛL N +EDB&&S`2'RIm&iy`:?hތru scpr];ͭFkbA@<{`;W1 q3KI2izfpu5 :ܸʽY) +B(WYѡQjCCˡpe%-MI`&:nI`?eiR~Y ٫uijRƴ34`̐a{_%IDQ`eQM\wzNaʋ$ǫjMU(v4֌+-4!˞'>v88pT 6<NP [\ra)QI|*;,԰g+e@*λ O/n `vZ~џf`^nc&wfxAYF--@Vg$br7OW\*em젉0[A҈$O#~\^Zգ(*3dBHqܣ<ܷD׎3rl[^IY_[ +\?vV +}CΛGrDГSa_0dz 0="yE.F\LŚRaS|1jjYE@3mRՌ(NL!29G &ƬC'=zo?ZA6]ԕcI l2-k3 ~RuS|&[ٗ.\*/y@Mݼ:qʙ5ɚǛD`?u hz|X]{n'MM!8>rt8So+5gf߱xBgP#ךY{!*te>E*鷄rO/|2=kgWf\ߑ%zOѐC(Ɛ3j +Whl*~+үt,ǯtl$1ζ9޺)$=D.x'y5+ݡ?CB($nʫOPrl&v?jW~VF1vB M|9k)QQ@I mB1{7RQYmWRƾ;[=t&* +wRqEuf}r-qFC8{Ӄ>| DnP@D o~[ʶ:M qn(՜kz +wBmayκDq,,#D&<,}^a 2+njrrI-fa}qʳ3@ڂ WŞlɤ~xo['{cC|5+@y{rRWOkOfS,^jJlQ#Sm4at`כv(r#fEr[-We4]tcڰ-#v*_QX9~.E ?7Tʓ + ]yfh4MkZ n.1c:s7Z\>UГ)AsXv%!9{浘]oODc5.qiD^VЙKP=D:(X0˅j84rpuz"C^4=%ad9mqmW{yYR0\ށ{m"q"ݙM/=m"hL]gٛ/A6ձ+>⪷2w~BGn3ԌwNpAV\h{ دh8ݻ7W[ "qDDum s,k#E5!&yr\@clvD&B+7An,^ ͷ)ryoCifØF6Fik7Ͱ͹aWnϏ8 j[? +QFίIYR3ݱQy\*Vd5eqyFV=/Ue iò͡~=v#1R0@5D\g'DckgMendstream +endobj +272 0 obj +<< +/Filter /FlateDecode +/Length 2839 +>> +stream +x[ݓ۶_$B$HO3ɤ3M}}jp~$.@|xלf2Q@`دb|\uе`k$M^E='0,mچ 叫k;igG^S +\˸l@Hr ]}>kz|}{Be'vܼ=Av@$ZP($_0?~X,fUfP:N阯s[8""m},+Z⌭ozhhx<颳!>ɻ/a07ؗe}rPvu]6{3[,6Ab{:MGC+rG G6uF>AJx#t;Rݛ:AVtV2!yޮBU:T ek_G9^ނ11檠ܶեẍ +{Ӳz:kJ_zB!pyš4a8}ۆ؄z `91om39a"&rm#(3VLEO4LLe ,DSJ<dҭMz3D ǔcUհe¤Ts^S őԹ&VvUPHe7lٙJ)Tu{>7,NegCמs0 +7'Po<3_,L{,K AF[Mu.m."g`>C$K-uIW͌LyJ(E4sC]<%J^B>z!Kݕ;'$,u74s|BݱƇ&c 7 v NBeNEwbnM([]d t%) }XQ+tZ:!~Rzk޺ͨmiQJDe%,+cD]*$|zyhƼhOM_Km V9?vc8Wܖ(f1( %O!|x +X.s$&҅Xie +=Q#G\yg<1sEx^J󲁪![+)R(vIwG"ѝ' \ח_lt1wT',S;ٜ;wEU_x-PMorXj=XM4ci o]8mD\(/ǁ[#s`a7 ;8f]3eh\|x-a)j{~U_d^,^|osx*p gt6{vVCAPo`J Hv#͙L~!C!d4d7'9}[U^޻5.^cQ/ltI[YVcKU^“Dser: +[q|z-Fz賹/Y&K#R@K/"ec) EQ<6?L#-ݢ1RwJ~vw0 ލ@}-)!_{g:x#Af.R)H"A_M?`=s1d/P2U*pwO,# O@;[DS,$~s0?sA7m&~JSgX7KYR@7u P ج."*]y4?daKȣP +8g$6O֠踄^6oE8Z~AT:m)Oxy=۾xg51dcntsk + + s /MgIgW[9MT8w+kꑦbr>|\[V4N(}VkZ Ȏ\o,~ʼn`S +A˶5(;7&@NjM8&G+uu]5}iū+배 D֊Wk +lښ?)~Ywendstream +endobj +273 0 obj +<< +/Type /Page +/Annots [ 274 0 R 275 0 R 276 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R ] +/Resources 300 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 301 0 R +>> +endobj +274 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 425.04 716.759 453.134 732.699 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +275 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 394.315 702.412 411.969 718.353 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +276 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.147 688.066 361.021 704.006 ] +/Subtype /Link +/A << +/S /GoTo +/D (size) +>> +>> +endobj +277 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.308 675.15 335.477 689.66 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +278 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 313.26 661.765 341.355 674.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +279 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 371.641 647.419 399.735 663.359 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +280 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 595.698 180.074 606.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +281 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 462.388 129.225 469.83 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +282 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 442.243 113.564 450.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +283 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 424.31 134.446 432.798 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +284 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 406.378 170.989 416.669 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +285 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 389.71 155.327 398.736 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +286 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 336.664 115.048 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +287 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 336.664 212.721 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +288 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.71 336.664 283.017 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +289 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 286.005 336.664 314.1 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +290 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 319.858 336.664 337.512 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +291 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 340.501 336.664 363.375 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (size) +>> +>> +endobj +292 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 366.364 336.664 394.458 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +293 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 397.447 336.664 425.542 347.623 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +294 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 80.687 265.66 175.371 276.564 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +295 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 191.919 265.66 268.083 276.564 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +296 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.061 265.66 444.887 276.564 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +297 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 213.88 147.168 224.784 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +298 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.655 162.099 318.282 173.003 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +299 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 353.61 162.099 448.757 173.003 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +300 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +301 0 obj +<< +/Filter /FlateDecode +/Length 2783 +>> +stream +x[[6~_ bIJe E m)d=H7QfDcLJ߹~E + H!h!Bb0Zpusw*R𼹽_W7W$ׇy8_jBc|ۼl4l( Q.ዿ@Fƈ(Uj5Wo~h !p.,^5S{؃fڟ)!M +QskL"Q1O?+jF+C)("IRc"HrRm(QA# P)/!ַӦd5CXK6/E=$K9< +RhWp y=螧y`L:ֈ2HZ{d ![:0owl6fgN&} B:ˏzxg^dJK]:}C01+Gmmi"$CF= 8iϭ h\l@c8ỹxh.āt {cau:ve<+{E, +J1T:@.f!ˤѢ$)Q844^`2|b+-g+8ONI OE317N7X(J!yfbPyˌ}"4LK&DKap2 y)C +bh(~*9E$f#QHTmwNLQvxD1I-2p6TaA||Y!,{(Z jkq}?KEj í'/:|>z +/q}oW+C\um|S2 +~i^v)SX9k:LZ(RTv~lG{Օ!H1[#uЇAU$2C)g<>_Y^wx&87!ΨxonoƟX9[ށ1+XE- UƝs<|wWt`YVm;qkT{L3>Id'ef<)3$ovڹ;~~˱;PT[xx~웴Q8]٬ +Ǐ>jm=ۭ}:CM?j껞 +.,îGoTlTcS ^_>,7S q|2b ɒ6DL01ތQbb̫c +k7>47’#?ߋގ5ft1ڴ1y͈~P&]sPf.8>gH\f23Zf.p =On)uɺ= ȧ +լz l^7KͤqzbʭvFq@}}I b#ذæ٦.ТPz )/$ 3.^V0nJ''=`>خ4쮧D@7Tޟte=ѷX%:P=X;g!1/ɬƨ@,kX%PcΨHYa]a0 f54ICF~ͨϡZꙹ}_جu%5iZ,A&,MMhRp$0_ K=3rv{2RNBw CG䳙VM+PGS"d쫆y4Y%T0)F `ZY.UUt%MڿR.}:/yY7h(ohUKs!K3|Iɫ `4%Q]/],u^ gմF *؜,M$,EEAtKX]?~H.Y} n]՞j>WS7Pq)HzFtSE-D@PEg\=M I4{ͭ(R-ԈΣXBxc)4YLZ +&DpjqNoL;db,u]2Eӥ d$dфs`qY}ObݍnBnp(S݀~as) DC /-?yDfқ{?pM{6l0ٻ,0nwꁍ1~MM)4 gg*WC]:qL,Ӹ W->iBF2^VXt󅺲y\ˉ R][NK&B?2dMk%DK]w)4] +퍻v&uYIX٤ w9}} +"ʦoOñSB)Okn9tfN2[7xY3v9a>wnPԵ'WK?endstream +endobj +302 0 obj +<< +/Type /Page +/Annots [ 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R ] +/Resources 325 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 326 0 R +>> +endobj +303 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 742.044 313.365 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +304 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 727.698 313.365 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +305 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 659.015 519.02 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +306 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 369.977 618.368 392.851 634.308 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +307 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 566.188 129.225 573.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +308 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 546.044 134.446 554.532 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +309 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 494.263 115.048 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +310 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 494.263 194.201 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +311 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 197.19 494.263 304.317 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +312 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 307.306 494.263 393.133 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +313 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.121 494.263 424.216 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +314 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 429.974 494.263 447.628 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +315 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 450.617 494.263 473.491 505.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +316 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.522 423.26 190.321 434.163 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +317 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.375 423.26 304.895 434.163 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +318 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 399.215 423.26 499.157 434.163 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +319 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 359.524 165.688 370.428 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +320 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 243.061 307.743 338.408 318.647 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +321 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 374.389 307.743 482.844 318.647 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +322 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 257.197 325.809 273.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +323 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.538 242.851 325.809 258.791 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +324 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 407.907 174.169 502.591 185.073 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +325 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +326 0 obj +<< +/Filter /FlateDecode +/Length 2387 +>> +stream +xZ[۶~YN+ZhoEᬵ±d%Q")jE587fÙ$T *kxvy[A34˰ʮөcCB:sX_ҲKB%LC1F0l)]%9P~Uve~%t1Vݺw2r֫Zr'@xJHi58.mke<4/yypu|<,I]DѬ"d̗ǻ߹!(]sC#Ue-M A%uqq@ Bg0Aj K|MͼH`]/ձ.(vM7To.u$t:(ADu6(.bEbL̎vs֋I؂V`X˺41aSFũ0e*aswMi_<L˔q-I!ܹV[ 62|B?yht.mCP1&&NWcoPXK/[is/ZFjͱg-~srZvO>e}_.-A0PnX +}^E[6liz퐏=<`٪vy>4{|̜ Nז&)dbBE2` >I͟,_KY JMƉ P9*ry9_;n)PDHU0rhExJY +HTKs\`Ӏi +9Tt6ԧbWa7.^ڶbzχo#륲Xkd!˄Fh4|}4A4# JCFIeE缺etJ5G_ x_ n;Gf|$_cI`0 %FBCZzE@:cXv4>wNIUv1f#H)dݔtZL7 )v$st8pP=XG'NoV#MȒRHݔٝ{3-1C92Ȋž@r܎&)4dJ~Q7ol56Wk9O룣Ic +MC+X1W>Vϛö[8W)'biBF +B4 l5HkI Mk08fjꡀ9q$Б$u7gqox +,uR!h}H3h Mq'-uz'Lt:/Z`_dvـTT$՚Tats,|p[㥚ÿ5)gq3  ''|p$1aATy6(|c(B4OlSJb,M%$/@zNRv[Do9Db&x,u]/MgT "$ gnAjq; amzEﻷQm7nc^W곋 `{tfIbҟ +Hyn>C+D/>0t4# Abir.$oޖּ %o-#r˻rGQpc# +i_WҸSm^0s̥̑٫z퐏`r" 2–+MMȨO0mnWZFGTZi\0 VS)&ʲ4#P^A8 @}\:NbZFvU{X< X(mwhvh3Ӿ_DS 15ϟ!P_rM7݀%;Щ" vG:gr]|1\'o_tp(^D`ojmqV<~ aHAE:H ]c2<=\kT-79l.E,og&Dé7tF)ʕy'8{D17`Z  %oO\ 64|B?yh.s-=-;kS+a,ҙM V=\DҠV,%퉶k<Y~P q}\DGD2$Vq8P6|W.^4޾o:ӻb> +endobj +328 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 448.373 715.344 460.806 731.284 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +329 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 663.165 129.225 670.607 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +330 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 643.02 134.446 651.508 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +331 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 591.239 115.048 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +332 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 591.239 212.721 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +333 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.71 591.239 300.431 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +334 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.42 591.239 401.69 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +335 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 404.679 591.239 432.774 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +336 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 438.532 591.239 456.186 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +337 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 459.174 591.239 471.608 602.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +338 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 86.216 520.236 171.485 531.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +339 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 104.291 456.445 189.202 467.404 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +340 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 309.262 456.445 385.616 467.404 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +341 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.555 405.954 350.277 421.895 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +342 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.555 391.608 350.277 407.548 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +343 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.555 377.262 350.277 393.202 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +344 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.555 362.916 350.277 378.856 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +345 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.555 348.57 350.277 364.51 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +346 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 478.944 259.698 512.259 272.032 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +347 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 339.438 221.441 404.075 233.775 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert-range) +>> +>> +endobj +348 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 253.002 183.185 281.097 193.048 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +349 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 473.963 156.884 502.058 169.217 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +350 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 441.105 142.537 469.2 158.478 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +351 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +352 0 obj +<< +/Filter /FlateDecode +/Length 2954 +>> +stream +xk6>1˷\q@+}j*~rP"%)y$(hpf8o~F2 ,Y^($Ȗ7~,SHۙ~\1DnngdWlN0vYugvˌ PMH^=<'ܿ*aT}kRfsk={5cO9C\@J##(W[>X0,ΐEb1 ++9f+dt +TY.1R93[ӧ:#EvUVjo%1 {ҡR.I*`4UYle'Rp09zϘټ՞ _Z2Z2}ԲC=Z&HmңuZNCPi5Hx+\8Av{Z]Ϫ|Vn֟ϝs?˄F$MP>'rV,޼ 9RkrQBȣ-Z* ΖrSnϷ^r""[m흽%6@e?r@NXq3a@n(Q *O@ 4 U]hEQ'ѤǷzZPHO兲)#_w:5Hr2tmBA+ ҬҼP*Rq0)m/iT)r5dm} |.OXԡO1EaRkir W$eh@Ȱv b2:ԲZ8Α_V=I2$s#)j0D`}jUo8|Mr { O=n!`k`VTBlau:#dE,<) &DtR|HIX聵}6)>jf]REZ &MJ2V :vYK_^, *׿aqE<+ǐ^X$Q!X н'@٬o\Yo٣RyZ +&-]"؊ + ZNK!@٬]:6 +D +9 TNrnӜ(T4nDxtLlTP2[,a?v/c osU.rD 59HK~R#\E%/ +0$%mAe@ʪ$,E}|8ն* <]SAJwkEhj + +f^?˴ vw";G3M6rxjKqLa߸JaPRW)F;L F{?7$3P;#y]J(=wz +P@5+FE3Md궪UwezHީ~@m~ [;uHy aҌ{2%ȝɝQ.trVVp*& * (:T׀Av8~ǻdBE 3-n5ۦ?֍ia6+|ֱۛvu`"u|"L煠)AT3EA}Q֠K +0 ֛LNnVJ.I% ʗ~]~t[ s&Jە1bVj:!flnrʩɓ j?]taqH`6 3mR=)Н&+hc;8z9 +j,`Z1@%PwnHվ\^cLHi$ pw8~Dh ) HsTky0RItiJ/ea")#.Fj1RF:6F:PI)X?RFZTp=4Kͭ!incn"dncjMM_IФ8V[s?;~I>-@G=$#첐2i!L/S*:R({غ4+O&1nݶ:.jaIv Uy8'~vhIcc^f2u_% t|HR9/tIR!#'"қgkHZS!X1c42V;.ILnXP(/v+Y =ѰlcnX hn}\G!vڧO;îzwe;ܕ=6E ( 1'f.EAFp!D4mA2W@^_B5|?j)ŧs$g1L2MR Gdc9ញœP [ _d#_PÙD)oߟn@ A DԲVD:h0sBG87OSQ⹈`,=2sN(i/pJ' EoZv&҉)_> +endobj +354 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 741.496 129.225 748.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +355 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 723.563 118.785 731.643 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +356 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 669.571 115.048 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +357 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 669.571 225.722 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +358 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 228.711 669.571 262.026 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +359 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.015 669.571 329.652 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert-range) +>> +>> +endobj +360 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 332.641 669.571 360.736 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +361 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 363.724 669.571 391.819 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +362 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.458 598.567 191.801 609.471 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +363 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.643 598.567 301.135 609.471 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +364 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 534.831 155.725 545.735 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +365 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 237.716 483.05 322.337 493.954 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +366 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 355.881 483.05 463.366 493.954 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +367 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 432.505 355.351 448.445 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +368 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 418.159 355.351 434.099 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +369 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 349.476 527.578 360.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +370 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 506.803 310.204 540.118 324.769 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +371 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.253 296.874 276.348 308.54 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +372 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 475.52 282.527 524.496 298.468 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +373 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 400.152 268.181 428.246 284.121 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +374 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 216.002 129.225 223.444 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +375 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 198.069 118.785 206.149 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +376 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 144.077 115.048 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +377 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 144.077 202.758 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +378 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 205.747 144.077 313.432 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +379 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.421 144.077 370.618 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +380 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.607 144.077 422.583 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +381 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 425.572 144.077 453.666 155.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +382 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +383 0 obj +<< +/Filter /FlateDecode +/Length 2542 +>> +stream +x[mܶBmSphH|ߒXN}")z;-{hÙEO R`,p{Kw7oIVTB^1D-n/{Y, Ƹx~ze[qxEAE~}{RiOop`Ue~cD,ڿ֋:=~#RXIRȜmޚយ+jhQ*r8JMyH8<?{**aY/u{mk!bBKDi%HVdIr$DЊLv%uU^o@*̥@XVa!5tߒ +KTܾ<ÀOr)"g:A{9`,kdFcE +apimugl*Vvtú ^UTf)q2YXQJ +F# Vilz!P +y<F$Df)&d*V:ODr"pwg?8=+EqLX(_1$TqYbv=8ʂcU+g!R4΂q6ktHmF޵/U49Nf$G8Fu]ANI ut0hr+~fjv[+w\RCBb^^xX[wPFUxR'k9+D* A5GgM4"!i8Hp  C!]ӊp0 qyN?{OOOͦkA=㐎Cݪmi e%TKUn_VZձx9=v6:>.d "s+t[o>wN0(K>$S{3 :U!8ECɨ>MXͧT'j:Ci2Z+fw܍&DЂ03\Z'> Hex%qTF& %Vԍ/w ?RD% (ry\ʰz-O1eˊ @JBh.v(wΤNѕKՇ.7u2pBRI5eJ/|;κQ*^faPd~YPO8W*bJ%h1IAAeBg 'zPhrTM8΃ҩˢ:2Bn_ןS"ޅH̆Jnqqa$0IfUBP˂K7Aٛ==z{off.WS{k{}]u?6G"otȶTL#u$L+*s3 2g2*] Axʂo6:n[UǦTm/b"ޜ16"{ijDlD\]\D"2rdDm."gK?"Wg6"1G%NڸoJ/y=yŨɀ +vY#U1W{3Z&aۑeci"7bd:va lk&C,X'imם?~|{v]so&ݻ?6:]4Ϋ" XIZߜzwU5A%T$o[,XK ) +JD4Wf"O3fd3@UBJ,PT*W}]r7P)LaB}E;\ \Usa]*yI ?cPڴXǠBJ %FXwƙ _HX[8cJ>=7&9w%fBv-:>zC_i>'~n7chc< o} t(`FTUk~qKO|༱)޻춹>.3Y $ >ae"ECKtBx滔-3V>KV2ZhZ3%j: 8fζ|vV&1àoͷ 5wTP^H$[G6OZL?ASi]f̛]|t[ \\ @wD^zЍT^\Ap@ [Fd#}jGv߉L8ɟvIV$볿4kFezrD&piVE_Cd`_C"/&*I_CP)&$S_CǾbZ[!CfR}Sip2Y(X"ŧU^Q#q&8,Xv+NDJvp=Ryj~$%yLH8G#smF)iq2YvbEp ˉ8,;kF'B ƨ+ "]0qYXwL.4SZ*'GrOn bSE/jXendstream +endobj +384 0 obj +<< +/Type /Page +/Annots [ 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R ] +/Resources 406 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 407 0 R +>> +endobj +385 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.532 720.061 190.908 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +386 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 214.973 720.061 300.54 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +387 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 656.325 155.725 667.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +388 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 237.716 604.544 322.337 615.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +389 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 355.881 604.544 463.366 615.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +390 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 553.999 354.236 569.939 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +391 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 539.653 354.236 555.593 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +392 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 470.971 527.578 481.875 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +393 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 480.74 430.323 529.716 446.263 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +394 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 465.079 415.977 508.835 431.917 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +395 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 398.488 401.631 421.362 417.571 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +396 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 349.451 129.225 356.893 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +397 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 329.307 124.005 339.598 ] +/Subtype /Link +/A << +/S /GoTo +/D (deque) +>> +>> +endobj +398 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 277.526 115.048 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +399 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 277.526 202.758 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +400 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 205.747 277.526 314.548 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +401 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 317.537 277.526 366.513 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +402 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 369.502 277.526 413.258 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +403 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 416.247 277.526 439.121 288.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +404 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 87.106 206.523 177.291 217.426 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +405 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 198.152 206.523 275.753 217.426 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +406 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +407 0 obj +<< +/Filter /FlateDecode +/Length 2688 +>> +stream +x[[6~c,E"4Yhf--ɥ~(di7 KG9<7ny/D),[8{ozjK^dI^]/@j5{q1٣~]q{vÂ9b W]ϩ|q#\oPe1ʥv *"vjި/eT3d9bq- _|}WV1HIl)H&Jﻪ[% ڏMUH J.ɩT=o؛_-22mF MVԢ`EA~A2'cxQ?8$\a՝O'9噺qI1K#KiHI8$T +oVMwV;UQmwj?֦Ӳv ݻQV%)BYsڕ9H]㽦ow>v,/o}Os=M8DPN0uGQ$CLPD`š~(Au]gJcqojwT%㌋sk6TufS[ пߙNSnpMNNڸ% nrˀ|˹+H +AEhPbFd֫zo Q suWr5r +Ԗ%K(౲m(ܗ5^7mcbz=uPCY^(nymKyVaRgai)߸֕HTU?i2̆7^L$Iy4LܘBu$,`]*tEq& }<j;^cDIUley;lu?c.eKџjE l6zgtR2x7}}+}][}[@D_?ip>(k1 RJ0āaRlDcI "d!80r }%FAGȡE|Z 6u.8E2tΔ8'ňStNJ<9ywˇ3@GZz+-~&W`G">/ҕ_+ r, 7@La8Hφ5txW$z}S\\_0 +)K057E`t4VNjۻDfJ)sqB2Idn.* 2U`|Ԃ qwDtCdfHsuV &#R/quJ*$h q9||Ⱥi!+W`ixw4@L|DOOa0ZM.0GQ0I6F0/ꙥOIPE9 KŠ112% L'"0G$/>$ 6H`329oW3vUޏƹ3agǺJk!%%mXˀ|e1DMRMmi&F#iL󼉞 {ȫ9J(fSmg|aD^U{r}HL["-I 8֠+U"M(Vhf ]-Ah\ƞE"Td $y{:T[57CKrnakN#X@han')2vh&@b[Ɛ%a +նkf@^ũI95V6z1w"oNfQ˱&ho(;OVG}1O@ hPbFG@ z,M/fZ_\NIImz(G,/6ePp/ڱ4iDkG@@{v,uZ; chI8^bFGB!=Q'OXz!)` N':Y5zիElN5֟z2=Y(AScjK %ŘmyNqE3]&(rd/l& +N"$e&(aCunuEw}onNkI8$&'Karn^_]T  m x :0/~붺߯W]6oGUFYKd{LN%x)kHz_ +̰Wߙa&{W~>R~_M?G 0 aؕ~pS}l+i7UkTk3("ᡏ]_6O|a^3ncvW?7x+wWwIYs +tY/Ɉɬ:ۍ^~ҝ1xFZg^߸ǝwE[Yz뭱 +)oma}as[յ/ݡZ9$$ v|=9ْS=Kpw`O)笿q/9ALGgNS?/ Dendstream +endobj +408 0 obj +<< +/Type /Page +/Annots [ 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R ] +/Resources 434 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 435 0 R +>> +endobj +409 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 313.656 669.625 402.671 680.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +410 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.414 639.737 314.578 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +411 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.74 599.09 343.484 615.03 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +412 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 237.044 584.744 307.788 600.684 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +413 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 237.044 570.398 307.788 586.338 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +414 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 458.677 519.02 469.581 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +415 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 285.757 419.459 356.959 433.969 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +416 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 464.924 406.074 503.459 418.408 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +417 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 435.873 391.728 463.968 407.668 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +418 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 320.497 378.811 391.779 393.322 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +419 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 297.523 365.426 325.618 377.093 ] +/Subtype /Link +/A << +/S /GoTo +/D (order) +>> +>> +endobj +420 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 503.379 351.08 515.812 367.02 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +421 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.125 312.824 284.881 324.49 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-type) +>> +>> +endobj +422 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 499.204 299.907 537.74 314.418 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-type) +>> +>> +endobj +423 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.125 286.522 263.999 297.551 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-type) +>> +>> +endobj +424 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 234.343 113.564 241.785 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +425 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 214.199 113.564 222.687 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +426 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 162.418 115.048 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +427 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 162.418 251.336 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +428 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 254.324 162.418 292.86 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +429 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.849 162.418 323.943 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +430 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 326.932 162.418 355.027 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (order) +>> +>> +endobj +431 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 358.015 162.418 370.449 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +432 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.438 162.418 417.193 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-type) +>> +>> +endobj +433 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 420.182 162.418 474.379 173.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-type) +>> +>> +endobj +434 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +435 0 obj +<< +/Filter /FlateDecode +/Length 3398 +>> +stream +x\Y6~_яcbSwsxv GH[xbFT*U}U$K|s%YTFB\i-^Q Ww"⿋K̟, +\e4'?W\0L 0֤[@p0?_Q) /%\^/X.^^j_)M9eFU,ɦ=͈t*ލƼ$ I?TÑj %<;&ɎX TU4s=w/* ICl,(3Qni`@4\o1ͪY7Ks0f7ǭjoocva`˷w:]{o7 }'zvCGBLqh!2#Fo& +8ٓuqۮSM?/u`s|(!.UKEA %zaJ`ZXYo[st'MWXVR3WȨ.ﶫնW]ym)׫FP{7MpfSqLK\!Y!R̐,"*!Z{/~P{c}M ^ҺC,!+1`@( MVQ/W؅l>9ҹC"]h]nA7Y RMwmI]dnM55b/$UY#~m |?1^#owzZ\>M!$tOL1#s&J}~[H,GId: ?3BajFt^D1JզXWM$C]>GJ.+*a%G^=RC +L1\RvY)ʞq~X5ÇsTcWY%*RCR;]v}K}MwGyhL8牉!J)LvjR7heɏ M]xC "&tz\TU E٠`aB2,Pc՞CK7V+u;lXs a FE.c uEulvaT@hïO)? Af/T~sWa'~Sq>yFrïW=}u>:8ّ&BaM$nd*o=4mjix8`|Ł@p6$w@+gQ"AY$ Y4K9똌@"21.42>36fRૉy$LQgc `yBl<лYb:OD'c&PԘG`3m̄33)jl̀Ռhո','~";$'0ĩ3.~2 >3~fRPY*>Ց ƒaXl(<Xlc)XI/K:(إWIpY\5<.W~ㆽ1YZzcQɴuȃfe}(goۻ~?&vsKɌQ$9XU`$Qo_WAY7|ZQf;P;)u +N; :GSk z*E-#HT-HW ~l[T7#' {*`|C + 1-=lt5Du3bhޮ6g賊',%Qu*Kj{ӘF{+ ll>qT h ԋҐ1ԅG>ęQw"AuEBvoM3$gEL5˼0Yt^1mBr8:.ڪ%ߴo{8}[eT#VSȇ=ˑ,Sת%ɋSS$!Bq]nEWqu!N*Zu0־)\ <чl `o圂̤*SZf27W zãq:tU$=B  4dtoo2"4l`B5[S(@gy?mzZU޹j'5:s求:xZbfL"ڙR|ND8^2Db u>fypAnf0n2:ix7XiBI-ӋkHj#4X +I c%"j7oww$\  ~*۰-N=k}\ݚ^֝'coͨ1 j"Qzl3WG5u G8p%KP @p=dtf ;[{DVtn*ZzTc$Qз.̣0_#v]'c0>@wWv`szy;V&wsă 9eVqVq%"%6OX:Q 7yhn2͗Uj6}2)2v\;))gs.SmN' ʙdōp[@i2ԃiA }$䍬E4M"q@LK(&ZDS-> +endobj +437 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.246 720.061 217.7 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +438 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 237.961 720.061 326.285 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +439 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 101.595 708.106 186.668 719.01 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +440 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.097 708.106 324.1 719.01 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +441 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 310.058 644.315 398.718 655.274 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +442 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 141.847 614.482 230.594 625.386 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +443 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.295 573.835 365.594 589.775 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +444 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.295 559.488 365.594 575.429 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +445 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.295 545.142 365.594 561.082 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +446 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.295 530.796 365.594 546.736 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +447 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.295 516.45 365.594 532.39 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +448 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 462.114 531.602 473.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +449 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 420.278 397.556 453.593 409.89 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +450 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 461.602 383.21 494.917 399.15 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +451 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.998 344.953 282.974 356.619 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase-key) +>> +>> +endobj +452 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 379.76 318.652 407.855 330.318 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +453 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 422.1 304.306 450.195 320.246 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +454 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 252.126 113.564 259.568 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +455 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 231.982 113.564 240.47 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +456 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 180.256 115.048 191.16 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +457 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 180.256 206.783 191.16 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +458 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.772 180.256 243.087 191.16 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +459 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.076 180.256 274.17 191.16 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +460 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 277.159 180.256 305.254 191.16 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +461 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +462 0 obj +<< +/Filter /FlateDecode +/Length 3128 +>> +stream +x\6>&@R|Tw@v- +gMI _IQwlrAQG+3̓,0WB֨xqk_ z}ˋo~hQ>//5EruIʧŢO~nݡ{ZY\zq| m]O_Ve,<'_^`DkY|kʺ.LpD_7//~o)E9] 1d/fӵnE8yu۫vyheY ۱yJL!pcG&Q/,dRaHJԡH(q(yƍ\E\?!q~J!ݏHBkD&3x~+'X#cP$O ' Rdb.)@ew(R +2 OJp+nw+mm!U_Vu=`:e(UoϏ[ϝ6A3ԮRq(;6Y A Qhd7M4ܓ$EV# ?zw&vς[q2nM p;Hp0IYiDM$ܞo #c!V $IX 4?WR ƪ,VIp:x]C3br1ib2' `2r$&,s`fC`fL׬|ida:~Ͻ1cQMUv6ün777@U{m+_#=jM,2F`Պ:p;G>v噛 bT,MV %6( CwI%E~?$ƨ`BILIxU'(Ӹ'* XI`eE%d/#80LB9V Z,g3t!1P7Y9WoxzjaP]H_.LjjQГj#OM.O +Ɲr1-5&R 'Icvs񪗉3IqLpDxA!搏N-CG]{?[Mc\*Ӯ͑\ +b^Kb'E +QE걳wMj_Jk";E(,O#ɸ:XEXR忙"gN>Qet~;wz ۲yqa,I*/Fy78MNK$pB񻴤0:]WrO!lH;,#ǯCW ~CP8~YysLOWOz2>UoNT3|C L5LqN/W̟]m~F{H!]1X͐JX uX@oOYaXjMs}1zyZz ԥ*/j8G>N蜌t\AC"Ҍ$ `9¾`9" +#K$ې|6*ͳtiχ]ptV2na% h^H-.R⢡^xŐQ052)FI܆#~mT檤"]]57=GEջew?5ʑ DG|f4PFCy7+YŊM(_$֋Rm-ˬ9$IJ*g0۫uBReZ{(e5)‘#N +-z%MxTɼj> +endobj +464 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.215 720.061 195.141 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +465 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 82.094 708.051 153.139 719.01 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +466 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.331 648.275 190.186 659.234 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +467 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 429.23 578.562 541.552 589.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +468 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.806 526.014 336.97 541.954 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +469 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.806 511.668 336.97 527.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +470 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.806 482.975 336.97 498.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +471 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.806 468.629 336.97 484.569 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +472 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 193.959 139.666 202.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +473 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 176.027 129.225 185.053 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +474 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 158.094 124.005 166.482 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +475 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +476 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 477 0 R +/FirstChar 40 +/LastChar 120 +/Widths 478 0 R +/BaseFont /SIXNVW+CMITT10 +/FontDescriptor 479 0 R +>> +endobj +477 0 obj +<< +/Type /Encoding +/Differences [ 0 /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam /quotedbl /numbersign /sterling /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /dieresis /visiblespace 129 /.notdef 160 /space /Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi 171 /.notdef 173 /Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /dieresis 197 /.notdef ] +>> +endobj +478 0 obj +[ 525 525 0 0 525 525 525 0 0 525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 0 0 0 0 525 0 525 0 0 0 525 0 525 525 525 525 525 0 525 0 525 525 525 525 525 525 525 525 525 525 525 0 0 525 ] +endobj +479 0 obj +<< +/Ascent 611 +/CapHeight 611 +/Descent -222 +/FontName /SIXNVW+CMITT10 +/ItalicAngle -14 +/StemV 69 +/XHeight 431 +/FontBBox [ 11 -233 669 696 ] +/Flags 4 +/CharSet (/parenleft/parenright/comma/hyphen/period/one/O/bracketleft/bracketright/a/c/d/e/f/g/i/k/l/m/n/o/p/q/r/s/t/u/x) +/FontFile 480 0 R +>> +endobj +480 0 obj +<< +/Length1 1215 +/Length2 5103 +/Length3 532 +/Length 5871 +/Filter /FlateDecode +>> +stream +xe\kipV $AB b!P@ZZT@Jinws>ߙ2^Z׳zSWOPQA(*TRׇBPã (%k \ +v@*.%"!% *]ݐv "A@gԲÝq9lzh[$ *89qw@(Cb6p;$ +Ò: +%ð.>򀻹Lyq&804#`m4?`HW[3_!hg,Bn>N CbyvB*@A"tWAzaH=ㆅ)QuO`=u#mÇ=?Ou( 'C1KnH/)@q2 CBb@k77konp$ +( 9Ph +י@ XE @G`8KKk"@-" +{Q$1]ܴѰ_$FfqM۸Y:1aBRo?m ˂$.C! JA::B|W!n!Άok(7ĹB!\]?oݻh/_A!aa$PLRXPju经3{#p/-`|m+TO9ϝ=%?12E6#M7VE~}6YL CαT+<LGeffAБB<ͥčYF{Ppё]?G޹qd؍̺{ pÕ٘uUt.zUY>8KW)ZxZVH$I2|TA`3צU/vJcH6儲а+m'hTD2RʇI 9/fuc!!Hhtt *9, ng"]s".h$|:,j:h=@g`:F!* ([f +o;}PL?x+S^{[US 5uǍ d?Ol/y㧶a=]į M)1(T҆_g P WTu嘣kn9v 63N &1]JBaUY7r o\M2L7ԑal+3fjYbr{ly"ʁl?EHwAEO +0`A;w#:>.x81ʪ1*Q>UHݶ͢¡+`+1nWdc(yuFVll~} i d1@q|;,G0'DkI$y(}M] Qvn:h\ıX`IJLv,bh58eh`H%&ya]s6K:&%N˂*[yXj-&ikZݾy|4=v;t"'!C2us#`n!Q 4^⌎BY2=(3` skpہX*9i7? +*&N[)nOX>/HXMQ,Yrr6ξG)Yq|%zC"/h޸w.5”2 iŜ$վ"PXg*P;~Bpg*?fr;.[=JAr:UUf\wQFZ d+8KMvC=/`IfMV>}$I_g[v>/׼Ib/}#1혬 >ٳ;i#O~ME#?u:^"iWG +a/g7uC꼆n4eݎwkRdjp*VI7*'Ќ e~*IIMÊg0c$]ʫE WpwraӇ{CN[ a-$L|#K0QbU]^.Mln oMSU<)wl]c._B p54:''˞9 Hs I1[KJoQ',kY֩лyW,*Ͻ3B/Db,qb #<%#PQn2R_MEN` ymJ(]kτóvopq6[46lx3T9K44,MXO왐Ft~FCv+VV_S~bsU _O{ć ~kC+I'́.Q*33~/JSN?D7On둟UtӆL$dWyDI6sȝR5:@>3 7 &Twhb_H)K/s!PIO;p뢌GP' ͐ +n%m礮)>IGYp`K$F:x{դimwdM)(*͍v+>`W/5w31#)T9T7|r>޿47y7$8EѺALٽD5ǷO>'Û$L(B-T$ȈxoڕA\PV@ٰi5D44I) [r'l7ڞgP"j?:gRQu__!@g.[ ujBhDLHuGJ]6fG%mjӞQOK9 V#*rVS0*;g{ijpTak#Q۾)s_^B7^!uU{kn +I吗ȶ[Cuntf q?J*A{oxKN? Ihr[uGg&򽢀aVޡh>O+ggG]YfFwfxnjv }F?2EKo`aSȚYHr)'`_LʹC{A1~ʜ,PPו -Sπ "po`WXbX2'+ƪ些tqpɧOEe//!;EVQK/Uڝ&.ƁLI=OZv k#UݹvM{O ҷzv~)ѡZU ȃ+L}k1„R?/ݹ  +c@.#;7JTTT/Mk4O +s/VdGw5' '=r)8;,Sx6CgQ@)yklaiV.nqyZl Gt+0Zü V'p>9Y|2VNqezR'sW5:]yE/@#J!и 7x.PQfǐT-=iB~OG V`%Q-vMpt[kZJ}iwL\x6HUۭxW"f[/tZ~ޱvixV螯]h7Ic"YTS G4m@Y|><I}a +~ά0GI╟W`׆#v9Z ϺmRm('l&c%mt#>IScߓ2G'ϤS4=J&tJQ㷴?1jYDxZD-!/uC"2[{ +GFVs!c{>M7ny|Ӭ ?{fMM^%Aq (;:=BDvd^Ⱥʢ{`-DAM \Şoz!uEC!*Mb/v4/$^yJoo"Ƙb'5mضzuvb4jN0ԑlmRʼ@ņѕm`lݠZ&=gS>7 +bb[xU׻̍q0vځgmr&I;,A构R׼%ߔ^Up#UZy'0Bnܽz$"XA凜 +}0&/ + +70bu$^G?~Ӎ֭~^hEرF1Ra2u<1g|A#|;Q*ƥx!m^LCFqӻnߊ-hqbf)Κ'bbjU; +*'ɦي T" atُ;~LBL;YiN!tpbkɘ,;c_uQglԍ0k_&-Sn>ﷻ-U >̗~j#h |qC]s']q^[a_xEGdp֡F|VQ:p +m&[.⍕, +$Q6~R,/蚗 qH )\I]Qҥ:Jύk bwP(J1-9d#IIb@_>L֙}R&$*S'׏}$?fbgi?[x\1e,Sh}*ʁ_Is I@(̗-4@ ~Pt@뛵G6Wnj^A=Pgy<%_x_OEcqtmH~Dt2v$~m<\rV;! i}=`ԋ5Nv:z$HAR&:Y.:l2nuܬRV8 @'? nA;[9 hwendstream +endobj +481 0 obj +<< +/Filter /FlateDecode +/Length 2905 +>> +stream +x\[6~&@̊w.mE mۇmQ([$ͤM"%JܙijrDsE e!!|%_^xy5쥠 e{f("̯V͟`tI̟*_eQ={</v}}V̈oЖxQkN; ?q"',9Jd%s30!8Qq&NIu?M^5Wb{uќkGx(FE]WkHne}e[DؗeQ FZo Lr8BD<$K#<;v47d wuԜITԖfnC + ,1!/z?7$Vъݎ6ɽA*muq<`yR1*<>ȏL8n=<5wǣĚ<8!S<<<2ZDc$0B`\|hQUlAe|K(:Fyzh!cC ~WޱZa:}K}[F1 ŠHNA`F $AoEFPYd41K|cn4&Π.w;NJt8 C+|o6eCe^YO׈˻kC#k;N_~7C%crT2DKv>Kro9/MM pgF~;gX9O܊DօzlE"s֍gͥgͽz~HS$䨮Pc6ڄl!_ڴ$hmm6;lŴʎ ;zIաHPBŨ-):l[[1lK1fkfJ{ah201$ +ݐ~ૼVYPs]2}?fO}mlDEjO9ֿl!endstream +endobj +482 0 obj +<< +/Type /Page +/Annots [ 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R ] +/Resources 497 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 498 0 R +>> +endobj +483 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 115.048 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +484 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 739.339 193.892 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +485 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.881 739.339 267.624 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +486 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 80.994 668.226 157.155 679.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +487 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 163.922 656.325 239.63 667.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +488 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.142 644.37 281.273 655.274 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +489 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 444.908 496.893 520.762 507.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +490 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 456.246 322.714 472.186 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +491 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 441.899 322.714 457.84 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +492 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 427.553 322.714 443.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +493 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 413.207 322.714 429.147 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +494 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 195.673 129.225 203.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +495 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 177.74 118.785 185.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +496 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 157.596 113.564 166.084 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +497 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +498 0 obj +<< +/Filter /FlateDecode +/Length 2900 +>> +stream +x\m67@)д!E{6pעplF8r,&鯿(k_) ,8Ç/ʛ < 2@rsn}A|Y +^]_׋FfW.1Ofsez,wmd 1b 5/7%4^K+*p+ 兜 ᢘm.`_닗?z\z#PFV%NXX7uvJ-Qo/;IFmbSHsX'34h~X,'IݯЅj +d}ae*E! +}DwJŶc6/qMض'rN8 2%.|C'G(SmGDH[ǷeWV'RJ ߍ<>zض f da5 3 +#ٱ7MyU/7+hCwԢEӔ^۪}_v&Pw{~92eUN,ޚbvYC@\7A`;m/;-,0@Xt7$`(zF)y +47ܛxbS{06&]CtQ!qU9ʪa%D0gY8VfԞ"up'Q(0É${RQz C;76[־{v岺~~\˹K$5&:m2Ŀ(A:rSn\ $m@r]TPfsN!9: 垦|dRЀzцB=R)Rf866-32KANk޸4s7;wgP9\Fcaxb WiݾN(fB֞,+;h0߳6 +s`cDgZ?K}G}I_̋9(2 9@. 3*ϓB9dXԇGSmo|޿;@ $uh+~pR (.nV5Kr ֵ;\p%i~Ʃ ItёX cw[BnL9<\ֆ7EӪAeX!"t٘ XmN#Ɩ.V"2N-+uy7¿S`BRۂm'M,0_ \}* +nRINt&*ONP[1B z8~(X!SVN +6*>`A +3g@әC`hqz+(/]}j (ʪTdk <\1IAwTB5yjU5XVT/NٳP"-j}!+sxS#)1ni}C)qtavMSon+w۟tl8UiC2msJЀ|qd fU2ǬG؅/ze:Pr۵+}ښZ܋1RpHg,ˀ#INWW*8[/[Q{!0٣Ed3e@()h Ӯb9?\AETHK\zyBoe``NE!UbnT屭0UŻDCm26jc^0Dil7]վOD7L|;')LUus-i.02$Q!Ldcgj?-:i+_,9QKDׁ'=C#Qk3s_+ ڭ=RSXeoY@(JގGA߼7(}~c2*,ǧct|jJ>*>f⽾\ bXlbX/NðN݇(ykީv|DvE$DRz1aqGZ$~xy9}l9=p]d5p; :ucw25Vz;ґY$dM]pX 1>]h^%Mb`AWa0J$;҉-pHfGsQ9r<Ҕp_LVupRwgm:9 Up x4M4-) N2]' +:iXUv=WX@oMX MLl|8}ulN C)4@-x;,wS0N0D3K)ʣ́͝i;hdNSYoxN^6nd.YLK3sM;1I1~2[]sVPA*\GMp26•a#@/}=w0r?qQ++3E]Н`NoJWq"ʣ*L'~g?m<\&q^'gh8q"9ψq58O_8O*צm$-c:r$Ϧ='z۰g[㈋pNs0"T} 9>{,1\#= H1p6Er̢?֫r^NiΓzE+(O~ wN1#̰o]]`0qD$z1 @9lI#H l9Z)>j;чY)Z8M-K9f2-: fEDEf3k.1U. La.hکc,^"Ʋ_Js +] U?jqg)7}wdMW͙Nendstream +endobj +499 0 obj +<< +/Type /Page +/Annots [ 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R ] +/Resources 521 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 522 0 R +>> +endobj +500 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 115.048 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +501 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 739.339 175.381 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +502 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.37 739.339 289.204 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +503 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.125 607.907 154.958 618.811 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +504 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 158.054 607.907 218.503 618.811 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +505 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.6 607.907 263.841 618.811 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +506 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 445.471 171.765 456.375 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +507 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 427.538 203.038 438.442 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +508 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 409.606 180.632 420.51 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +509 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 391.673 203.595 402.577 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +510 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 373.74 204.711 384.644 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +511 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 439.459 321.905 515.939 332.863 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +512 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 310.004 141.748 320.908 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +513 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 411.938 269.357 487.793 285.297 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +514 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 423.764 243.055 499.619 258.996 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +515 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 457.773 218.184 540.118 232.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +516 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 204.799 302.221 214.946 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +517 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 430.765 190.453 537.627 206.393 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +518 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.462 176.106 451.589 192.047 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +519 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.902 163.19 385.232 177.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +520 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 408.979 149.805 516.107 162.139 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +521 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +522 0 obj +<< +/Filter /FlateDecode +/Length 3231 +>> +stream +x\Y~_! /k`Ex`}6b'nͬnY{SI(Ja,VTU,V},G QF,/PhwIi c'7~Ҩ@ooEv.>b$IMcя7`"EdP緮~$̈́&Aȣ=ulz/ɻ>96'z1phwUJLS;0^l?UW7ٱ=_ +\V^ޟ캞XK<ǣb/zY__`Զ5%'t#^O!ϪOF}EƧ+w;돗`Zl]$4(%R)xphy޷pEel汅ma&;)+}{ U=3,xMa3xċt]5qPP +V˥jݡ3l" JO9bMṆ EO vms%AW+nU'x+ i#~Џ"! i'vU#ś~9^ܵn/EAD +uS 'BVY<=`i^\hg0< mOKu|͠i.@J逎K\FQcr%(APNۉs}<*9ɯDZIۻR O=z^vw5t Xŋ'(qh}_Vޗ0k8,A9WM.8cz[7f6k 0g=}USbNR؛%q f4BX L`f!5e\r᳭4]G! kA0D +&q'F8 ^1r+MMPGcޡ?>0kƤWx6x4`_X8GK>ɃY#ANDF3C1s]&u]Kg^J2GdVpL$H@@٨@g@4WzA }4vwӀ&B $J*R43"eadr d]K0g-(!'i6T$kl8r҆ -`׻]u>/$Z2{K"hIEƒ#+-PK[Rs0p4mYDZ0K~d n/G[)\(hm4A[*5]iˀZږZ_t8~1)pPXLr.CtTFWl..k_ɚ :=E -M +QRs,"ohu_SiJKsDHtU#j7#菁d'b +:1etOwBQuT_VK;gⅾ`a>|zϧXO#J8xiPS$]*e9~k8e80bk.+N.<9<,lZA[K׏C+ºg8qEe4(z,K0MxM lj=`EoHzybD<V`*"WX\OJ +E[KQ}3`V(^1}՗솺w dpك ]9L^Le2[&\C9y8z )‰O̧|mt=fAm/vi֯Xi0>ήvǰ%FT2'{<9(k2|WeW܌i}44$LZH8L[D=lI aK,Oal͜ 0AfsmB-- >܂P-(޲Yn0ad8z7OQFx&Gq*w›8'čZwΞ+/#C߸<_AOՃ̅0[-C86fCvr!EVa mԿJK{al@:00َt-mNK@l5\oLէ!.jkhM*Z@t 1hgG|q# ߏ\nJэZEsXNvj7^铷Te@sx΋T"JqV+*? Jn2-w-ˋQ\IQ%^:|"';m&zX4vu?*b/m`vRd{\Q )d:,qn>[$fķmb= "R#5{ '%,JnI~W۝?+/ \`.?uQUg:M@,+ѨVbendstream +endobj +523 0 obj +<< +/Type /Page +/Annots [ 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 534 0 R 535 0 R 536 0 R 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R ] +/Resources 546 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 547 0 R +>> +endobj +524 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 377.956 742.044 485.083 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +525 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 376.292 727.698 483.419 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +526 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 457.331 714.781 540.118 729.292 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +527 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 701.396 302.221 711.543 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +528 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 382.41 675.095 467.131 687.428 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +529 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 636.838 356.736 649.172 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +530 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 445.055 610.537 529.776 622.871 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +531 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 387.63 584.236 472.352 596.569 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +532 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 365.872 569.889 450.593 585.83 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +533 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 368.652 543.588 476.337 555.922 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +534 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 400.213 517.287 507.898 529.62 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +535 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 368.652 490.985 477.453 503.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +536 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 399.974 464.684 508.775 477.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +537 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 322.702 115.048 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +538 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 322.702 193.892 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +539 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.881 322.702 304.008 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +540 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 306.997 322.702 391.718 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +541 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 394.707 322.702 438.463 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +542 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 441.451 322.702 464.326 333.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +543 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 117.991 251.643 151.824 262.547 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +544 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.389 251.643 187.813 262.547 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +545 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.379 251.643 232.62 262.547 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +546 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +547 0 obj +<< +/Filter /FlateDecode +/Length 3371 +>> +stream +x\m6}wRmP w(zfq_ڢpvQlm'M EQ")jAm33$_?Ptt^hpqsג-JTB{sen/.n~X\D, +1^\}<ÓOo8!H`k _TrCNqCM,t+~B~s+7)+hm}껖bH+x@#:#H"180tPu6 짆>SPfW(ĴLΛHr$Fb͔|adA:Vm:H2X#c L"Y_T=\ }$3VEZ˲& )FX9&U݃%-umYݾS4CV[lq!@o^p`?bLZMmCGAo["k@/ڒ|8^ҨK+L; <u¡3E@;[Dqg@.›@%4Cތ)GL*oO};w23Ν1&9d W| JZkJ``(e*KDj]m_wiy@w cG'Q 4xp% G & a @ULqgIDlc<\Cfl̥ƾE`~<#Hzn=IFϿpzx Dc1"+:Ρ036EG/BA5( ++ ENxP.7-eٍ -=9B7YBNd 1B:}ħlb;#r|b#Es>{O˳7KttP0a&ImCH˱׆@<P40^mhbŌ|׿U$ABƔdӟ10 :I{yǼ{*G>]ݎƊ~=tZ-H˼-MV(tܗݳ\ +i9\gHޞP:Tsw~}$.Sw?rmmzNgec9`s? "L"mHv86 n_I͸k£N$3Q$)/_/4YbF=l'ZAnbyX'&PV"18Rc|y2a<߃ҔEy>1eT.XlX{WFz]켊᥻^'H&;T^I:gaO\004(C%igu{ uߺs޶_?V̕'gzWϞ $R-;E._vNU,' EAy|Q\vI`Z@c^Qcn߽wjB,#hr4NcFaz,flXH!K`1jyHCꢡ1EVj.ꑾCǽafd *A"RSQ| +%Fɋ1VT&-w6XˎB\ʬ^MV/1ApNz^uV/1K0 i$C74=Dy[G/}p_=韧NDDl9<ʺUf?(nLNA!o <!֠Mb~O 174#F/bZLzC=w}e]B-&##ohG2 ;5y ueZAzo$! d jmP/sjzytovc{v=caxijo=6;;xgks#G1Ѳ]8vŠ^f`kVj hac2L __+jl%)f1i[87u;V˻j7)\"[!!]$ݞf$0n^%DQ]zoq$<Hb BW2zhB9ϙ$4Sg'tԈ40>5B@JA8c?8HԿyYˇBPRdykA;9[x~}^BފӃ~y4X}?j~ZN#9j_%RZ[k(`V /V3W]w}72CLV0 X2o5ˁ%8+eQ. I쐾]屪(MA}m?զy;1O)DlNL>uendstream +endobj +548 0 obj +<< +/Type /Page +/Annots [ 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 556 0 R 557 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R ] +/Resources 570 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 571 0 R +>> +endobj +549 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 739.339 171.765 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +550 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 721.406 172.074 732.31 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +551 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 703.473 180.632 714.377 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +552 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 685.541 204.711 696.445 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +553 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.189 633.705 449.44 644.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +554 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 401.497 581.157 477.352 597.097 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +555 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 413.323 554.856 489.178 570.796 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +556 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 421.522 528.554 497.686 544.495 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +557 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.207 514.208 472.371 530.148 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +558 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.462 499.862 420.626 515.802 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +559 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.902 486.946 385.232 501.456 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +560 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 363.022 473.561 439.186 485.894 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +561 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 377.956 459.214 454.12 475.155 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +562 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 382.41 432.913 467.131 445.247 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +563 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 394.657 356.736 406.99 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +564 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 445.055 368.355 529.776 380.689 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +565 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 387.63 342.054 472.352 354.388 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +566 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 355.431 327.708 440.152 343.648 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +567 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 471.714 314.791 540.118 329.302 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +568 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 301.406 312.184 313.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +569 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 313.508 275.105 422.309 287.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +570 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +571 0 obj +<< +/Filter /FlateDecode +/Length 3431 +>> +stream +x]m6w-C5Yܗ]eck'$7D(J^m(jp8?dBi3^-r]o$[dxn..~[Sr(xq|\˟8%H˺&%?}K2G㿇~߯g1#b+hٯ-wޑ +M)/r 3&})˶^ǽ4I=KJU$TFh}iN{D<&ߋ!dqܭ׫+'}Da +芤 +ƆeH9deؐLaDf`9 h#`+)r$+]SK$ʱ!"ǎۉrrr `=t(7u9E|`LЂRM-a[Z#ixN~dcIa#0pPp<Z1 +eo3_H#dMJC?RVؾiit8~ۚ ŮN:%}<9/1"1sW)){Gss'l"/˽pFhKm>VZi1qE)ۙ)ޠw@g`A:cp2u:ɼ͕Y)bJdYnqLeԘVs~G\t:dx +W1!Xqߐdlj01 cq e !mT6cqfr.!e2;+:EvVi_u=:?ܜm.bjiP:/l5鲃'#1|J z~C]x}CXX\l5IQfѢ (Y'\zv~=whhvIkwV,hC s- uZF,O1pk"Jz&)f4n#2#6!#]"^;LXz4Ǥx1c.ST+a↺V<Ŋm +F\dElMx +\نl5\ ӷ19!{f3Mr8'V{]{Aw߈5ԅG7Y;Wk,a9$i(!MLK؛@# 6?\u@oc +1쪧2xeZ}p[.8;gb2U $qzv4bHHpuJt +Wl Z~2ݾ;|񒃺({ vS|<&$(b3g'Mm+%Fd0vR~ۖfYxILK^bLwyޚz +k ==}u7(ZGk#O,O1mf@ˆ +A]e^y,=`>YF"oHDؒȗ D\&@D8$0Qi5X7hC`s&[t4' XPPkGG)˜ +1Nҋ?V+0CN^u%Eh;l;7+Qp4Z&nS\%I@"6Qv&'n昄6/c˶ڰ@)ĭx[,"x_YxM48c" [TɾsY52jX7VC]x7CLJQ=1ةI@"6dt/6m3nۉDMy4w f5t 5t&C"W=$U`:VG'5ԅG,P߳?/%ČC,^Dy[gC56L^y\zf;ISNC63xILkݭz3OA4#5bB"n A7b u'v!;23XA=j,Ѹ-ϣ@gK8[g+vm[MmmG c +qU=Zʏ)oj[Uj8|81@ IϪq;/O'}}|Z{^a;xJ޾v%?T*mp '݄шö_ .&qWy +?G"o݅YIUakM }bS= endstream +endobj +572 0 obj +<< +/Type /Page +/Annots [ 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R ] +/Resources 596 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 597 0 R +>> +endobj +573 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 115.048 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +574 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 739.339 193.892 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +575 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.881 739.339 273.044 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +576 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.033 739.339 360.755 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +577 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 363.743 739.339 397.059 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +578 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 400.047 739.339 433.362 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +579 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 116.854 668.226 150.686 679.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +580 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.178 668.226 214.944 679.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +581 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.436 668.226 260.677 679.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +582 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 199.521 644.315 232.836 655.274 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +583 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 540.809 171.765 551.712 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +584 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 522.876 203.038 533.78 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +585 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 504.943 180.632 515.847 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +586 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 487.01 203.595 497.914 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +587 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 469.078 204.711 479.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +588 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 87.88 417.297 121.195 428.201 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +589 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 277.87 115.048 288.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +590 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 277.87 151.352 288.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +591 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.341 277.87 177.215 288.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +592 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.204 277.87 197.857 288.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +593 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.617 206.811 137.449 217.715 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +594 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 140.014 206.811 185.324 217.715 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +595 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.889 206.811 230.13 217.715 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +596 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +597 0 obj +<< +/Filter /FlateDecode +/Length 2110 +>> +stream +xZ[6~_/cl'Nb@/ XTUv&30 m:x&|9;_c+`C&EQd{X#>NtHwڎuxN}~a34ڼݴ}}RFbu>yT:{9ad!r#ھ>ԭ&P›O7pkOIeIfߴusgʥlؖKslKX y2Z/f~fXp؈Q٪\>l0SuJp=;21oMΝAd*wVwsC71R _I FKL7|4&XД2cNAFl<|3 %dQ.ʰPWzL3(|&g4m7'y"1օSH{ؾʟ7ݨy,ۃlǾq$RJowUlZbɰ|vtSy37RHW>Pye {J'i" ;;R2أuEeQEL ^JN%!ʙDó0BhzkK!s]\\b$1[`.*KyURC(yJFh%=ZYɒ*4eG!1ˠ tFk__^TOFh)"*#\EQZgƬfD˳2Bhz}ab Q +VYQAK;hs(2J;G5S l1]*K=rwZhFvT'1j:R3{Itt(ٍZuO)Q<}&'N;I[h +doNNN|wUJo ~۹_W/WiMzek?i+ܕƒC2 +"S:$3ybNCCɖjBnB M>t$<ĵ EZӴXFǵLFet(5&`h>~, +3wL ix3Th4+{2{׃3)=䰣r*agbg('0rQM~q_7| 8Jh١0q$diT Jy Ji@c<Cyɖj|&tPHE7(yH9cA>tC^;'=PcO'فi@^NHϚCq>;0H VIbi?z;PnS1C&2 2D 8mʮ]oV@ʋz"ޚkQXcۃ6zFa-}}t^"ʦΏ'qYn,Z]9"lz2%Բ:P1o?߬endstream +endobj +598 0 obj +<< +/Type /Page +/Annots [ 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R ] +/Resources 623 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 624 0 R +>> +endobj +599 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 675.977 171.765 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +600 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 658.044 184.657 668.948 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +601 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 640.111 229.209 651.015 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +602 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.277 547.628 472.132 563.568 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +603 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 408.103 521.327 483.957 537.267 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +604 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 474.455 496.455 540.118 510.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +605 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 483.07 302.221 493.217 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +606 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 431.913 468.724 520.66 484.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +607 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.462 454.378 433.208 470.318 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +608 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.902 441.461 385.232 455.972 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +609 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 363.022 428.076 451.768 440.41 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +610 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 377.956 413.73 466.702 429.67 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +611 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.902 400.814 385.232 415.324 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +612 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 514.883 388.858 540.118 399.762 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +613 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 375.473 340.836 387.807 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +614 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 475.508 362.557 540.118 377.068 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +615 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 349.172 302.221 359.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +616 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 351.787 336.256 423.202 350.766 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +617 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 297.708 322.871 386.454 335.204 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +618 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 475.08 309.954 540.118 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +619 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 296.569 302.221 306.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +620 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 345.299 282.223 434.045 298.163 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +621 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 345.299 267.877 434.045 283.817 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +622 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 350.211 160.281 378.305 176.221 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +623 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +624 0 obj +<< +/Filter /FlateDecode +/Length 3719 +>> +stream +x]mܶ~B@)i &t"wݵcw((J{K0,,9WIJ;+%Խ |5W '-@è*>/~ X3@]H&o3R9>gZ>~xK$ +Ze۫$u ~=ܾ%"DQ +=گ}@ +ƖҩtebY!)T4`f-QbMXO`L4_/~ PXS~\ĽIL ~+DJF̚ݛYbJډLeLCٯ/nE)  FT!z`x0A~jsX_v5IL;ͶAbfyM +4Ր }K$iw5+gU2ߛ[$=CJ~kFɑѾ[e-q`z6 K1EMNz_fޔ <] A8վ!\•{1"SSPK籎ec؈s&Ǖ[pY.ևjnwwEEHxW?1E~}l(Yā p $|mCZJQ"W8y.fUJeRQU☲G~ zS^ABEju* ^O0ܮ8ݩP] DcSc4ޣSӡ1\cW$AZL+ge PךBt_Ox~F&>^^QqT3f^vϐ3fy~0h {C}v{Ӭ"{sT2w3K8ނ&͹Y9캪m{Q *W,ȽHh-4P2 +S%-|e=ZG%l.G.󦽮ʯtKڷ_|Ɉ5 +:^_U)0d̬Nj$CPoknf@^:- +>W1ҥ#>vSqWHBy@$ +<)5̀Ŧ:K[gvV<-i꽡:"!ؠG2#;bz"u{Gr&{Gx.85:$ +< ">ۺx(DS),y_9ɵ _l;2'Uq?`x2<+>zw, Az:ѝz>T|qyw` `=e6NR7ʸ/Z +$,ػ +֙c@lgȹk{mչ@X5;AΦJ4y"ᬅN~ԀҢ M$ җO&Q<ͽ#V9Q?PB +:5̢퓸8v\"5\>H[ŵojQqć˸>phZ#9ڽ2B_y A{ +cYkGӵ>y`u&Ly( ;DtS,p.- ]Z{+(hQX@L Ny$XdK2`YOp &r؅d4cw]D":l"B1=$k$2YZO84>rjY\0hyCwwjA8*{])Jrй^sg: +J:H6(?˞5YNՈ-LHg{f>Ce{`ޝH_|AaA&C"RX݌?Qendstream +endobj +625 0 obj +<< +/Type /Page +/Annots [ 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R ] +/Resources 645 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 646 0 R +>> +endobj +626 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 591.862 115.048 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +627 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 591.862 193.892 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +628 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.881 591.862 285.627 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +629 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.616 591.862 421.914 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +630 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 424.903 591.862 452.998 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +631 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 455.986 591.862 473.64 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +632 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 476.629 591.862 509.944 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +633 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 107.779 520.803 141.611 531.762 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +634 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 145.673 520.803 190.982 531.762 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +635 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.043 520.803 237.284 531.762 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +636 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 370.378 171.765 381.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +637 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 352.445 184.657 363.349 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +638 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 334.512 229.209 345.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +639 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 402.375 230.074 478.229 246.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +640 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 414.2 203.773 490.055 219.713 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +641 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 474.455 178.901 540.118 193.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +642 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 165.516 302.221 175.663 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +643 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 431.913 151.17 520.66 167.11 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +644 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.462 136.824 433.208 152.764 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +645 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +646 0 obj +<< +/Filter /FlateDecode +/Length 2926 +>> +stream +xn6_1$Œ(m f)61eSX\2Ӧ_Iőn 2ѹ\IߟȂ*KXOw4Ǚ/V g'u#ߋGNj`z]m>^8 1h{f58-4=ZrI=3|L~Q.ů0LjX!?]>1O19Y QK8<^ﮛ8E1RR⃳Q"%3=}TN/%h|u_|bǍTj:O9O/7j<ƁkaWZx EF=3V㙃G5S?8?s_0rüpTGyjQH/rkDKgQ^3___fq8A?Ts/gV7r#X/9P'X?4FV:QZ}7LT|t©Ԥ`T9(?ZoiT㕃dWusrj)*S"s[ь2v`<_ɫ.UT~:*6C3lPMO4FN 4iž`e4X-΍"l *Z If|4ZUPIӂNv;f(3eA9IiÀ +Ljʮ̴|&!4JlUa(PRA1TZUJI$kfRIe`Zb pH=qkC"Fb@hgU3N# L0)*")I죙sTR6Sf GYɧ![ WHI7 !3+!;|;AnSDym~Vۍͽ!|lQ0[3+'zgA2$x 9@Й>J,2*6bFœaDY(QYk}=z*08@/2 #@%uӴ=IZVURxd.P֖/l/ͬ޺KwUwfv}g-7]֭զmk\Yo{OvYQH~_\7fӵVhմknyg>^nf0;Z퐤Ft"AP6f̈1"l2! 2Yo70QmaWf akL@Pc!Ud,5EIL1[%CWYfz ~}<xOVPcHXc(EVE u_Gap܇g.4+xp=,g ~, +u{o 9GE@X%[AT:iXE(aX_FY}-nӔ~ߎ9wŭA_8;;;}f'R>ϰbKH;ɖٺ'LjCRHF8y>C&ͱJP:LetuSYDeshU9JHk]*5U[F[wwUnrsV<%Qf`F܆A3DJj9ӣ +xi۾)U ղufbPռjr{}Uw +j)&UNۛvBg5鲖Ms{%mM#ls$㥙0ח=U}jЀߦf"C>˂R;?gǛk$٨<]MQ ˪8>(%3v~; b5:L~0d[Bdzwz$J@sNT*r{t("`Q +H"$R Idg;]2G)8`mË&/.bb?9|ƑODͱ4r!w׃XX)ؘсFCgP޵(OՍI :XɍF<"#Tm ܹnt9o8;N $^_grȩw*>ﶫ>˘g4GM}:ya☄p(s`* ء=tGZ 塣P%&3ؚ +9& ,SϸwQ004:Dt8d>{QI gfqQCa=hqg'LMϮ{v> +endobj +648 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.902 743.473 385.232 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +649 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 363.022 730.089 451.768 742.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +650 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 377.956 715.742 466.702 731.683 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +651 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 503.267 702.826 540.118 717.336 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +652 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 689.441 329.219 701.775 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +653 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 475.508 676.525 540.118 691.035 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +654 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 663.14 302.221 673.287 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +655 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 351.787 650.223 423.202 664.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +656 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 297.708 636.838 386.454 649.172 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +657 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 475.08 623.922 540.118 638.432 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +658 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.014 610.537 302.221 620.684 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +659 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 381.842 596.191 470.588 612.131 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +660 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 387.062 581.844 475.808 597.785 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +661 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 350.211 474.248 378.305 490.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +662 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 212.714 115.048 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +663 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 212.714 193.892 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +664 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.881 212.714 285.627 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +665 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.616 212.714 421.914 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +666 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 424.903 212.714 442.557 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +667 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 445.546 212.714 478.861 223.618 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +668 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +669 0 obj +<< +/Filter /FlateDecode +/Length 3094 +>> +stream +x\mo6_*R} rm 8ڻ:/o$ҐWq+2h8<|(23mJR*;:jstӣYIJhOշpų?ce9f'ՇjuVme_$gDj+d\l>^pk9X%4'L +HjExE] TjAdC`uVGyg)ItFAzrUSD'p2%<|y1WrN/ +R!ՇX%M0u֓j-"1"zDYdy=FW8{X4 Fa@+MP 0\3TA(eWM{ݴҴ?O;bI{o޲Cc0R `O8y^_VHc} 6퇗t*)vUv|Y\:~^;ȗaF. +߰iD0s蛮 u 3t~nC.l2vѴM{'W\d?6_t_mm|ɈFu|L]r.)x1R].Š"h;W#Ҭ_6[}}VpM]+#a* ngnNos\`hTzs++Td"a[Eq`ѢLB=0P.v`|N-w#B7]Po./j}]`P:に0ʉ os$>@^(·0V&iWh:牖󒹢DB2z=Z]Mit%v́,f7fY5/TT/ +0~SmmKwJ Muj< +UP: Fp-A E]]ir9@҃][v9@=B a8aQ2΁[ 3P4P3E+QBdH!TK`zƫֈϏq9QrT +FC%ؖ(z[mܷb+-5w{*J!R1BT3@!>FPHltIΑp*PƓ'Zo*,E! +h똂EV&GBC +M@ȦXcp4<’IXIDɢE'kɥ&7YGd+:upK(*S{PN:G TX +TƷpjevw}8; TB$kbfGW3ܚ+hCl(x}ݳl͇~_ΫD}Yu& +}ۂG-`E)Âo:'(o+#U]_{o`$ +MbL мT=Œ0Azg=vO< fЏa||)y o;DAJ?JBpOΑx%|BY88SgevQb8z(QW̡C )22j\aDQcz,uACޣA0(x|U4vB>. +X a/ Y\C#`FΦ~l~>{crFJ.%.>'}g 擄OO-\ TAl|56ZEo +7ɸNJKP…ItGN׈)lg~ 'QF9O8ҜǀLr)|o,P997 4m +a2K|EI,˳/@%E+'P4Rh'UxI +S>q2IBE>ϒ}sIOteZmo/;7L{S@Kfr2IsCEB*'=fU@3Zd +Hzܾa˂(o8L>C EdJE}D+3'ؓaFXk +#mZK»'_V2{LJbhy t8A-x +ˈ٥!\^pQ/l}kу/Lٟt/<_[(ppeyXRv#)DMb8Qkendstream +endobj +670 0 obj +<< +/Type /Page +/Annots [ 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R ] +/Resources 685 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 686 0 R +>> +endobj +671 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 151.504 587.229 257.921 598.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +672 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.498 587.229 338.887 598.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +673 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 461.34 587.229 545.706 598.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +674 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 447.857 178.131 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +675 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.974 396.022 376.658 406.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +676 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.295 344.903 398.943 359.414 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +677 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 431.056 305.217 537.627 321.157 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +678 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 408.152 290.871 515.279 306.811 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +679 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 320.701 276.525 427.828 292.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +680 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.935 263.608 362.662 278.119 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +681 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 319.057 250.223 426.184 262.557 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +682 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.194 235.877 461.322 251.817 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +683 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.531 221.531 459.658 237.471 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +684 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 430.58 207.185 537.627 223.125 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +685 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +686 0 obj +<< +/Filter /FlateDecode +/Length 2922 +>> +stream +x[[ܶ~_1@F-H87hvF+tFk4v6E{oIQҎG ðss#9Vx?N:I3lٯ=G6ׁ77qPכ<ad}]ˆ<[8 շx,ֿo~XQcV-ޝj_+r+7.<'wo| X(hgz CDVoW?u|ONF5al%}__=A\ q5׽~0n 5dA&oOPqG9LH^j$Di<$nsuc]Z]FN0Eo {ĸqkq:1 XMv +"d_ 嚝&tD`%ve3ZVoߤC w^dtp(ectlT:08P=j?E#F-n4 ea"X/+%w' 9I\0NKq +Z#Ɓ|P#9{$nRmJyWv0`]}P]PpyuuC6޾Cn'}oa(E2tkRǯ~Tc `jT4<" 1 +nue80)p,]Zbr5E3a4^7gVbwO#^a*b6?Y=+F)N:$N" +e0*"凉S!50)r)FPj 4сP9)cLr!f1kc[PFӉg!0-Eo ($0xlA"O4tǃJ&%H5IJBoa BEDJ'dgL E?61u|, Ew2{+Mr{ ]&.Qx?m[+5uU +%N`GV_燴Y;p|a餍Oev}ԏs(&6F7(+Idj ʷ! %dՇǢ9P+w ]]W.E%P^oeE[N ~ Ҟ>vC5]}!1 +>i+RR#yXvr +%+!IQ&gqn67qr@:3NKnB3+\T{- 4+ݓuthEHt!8 atz;[s6FZ&Gs1CW_e[4y?UQ:l7o3/ʠ)1KKzWJ?(VxH#)fm]k1nb +8&0w\QL2SH5~H \&SO2(JY&oY]|&o[3ߛF-ӓ~\4 +oԤ}~TCˊ>C-nj+ d6K^yȆ25&ӗh FbCZFӈK~iwd%MoϮ=b4F {J3i;Fqtf֤u`1( ϱcM3 e4ǒŽy(1;flj)341bhDޖm9l J YYyRԁA>J'b8MfǜQL!;h[p xޕSEar rY^ijxI3 e4_ :)OCD'a-{`ˤk^oJjdk&ib_ -h7>m+⠧"ˎaXH9lzIYdn 5!N/@sop*72&5iKHæw@N3D,59ԁAhE&Rqǂڴ2eɗh!d +kGxUjGFU[B +=:HZYĖKw4 g(cg F^]n&0N r^u#\ލ ~(ѼYfb~z7b?Ԇi:G1=jc#vᔌߏX$ s9 H/.xx_S?dȂ-Yi0IS#c䆯H(䱞yT-^C>wI_XK^)j#aH}U=Eendstream +endobj +687 0 obj +<< +/Type /Page +/Annots [ 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R ] +/Resources 703 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 704 0 R +>> +endobj +688 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 503.598 115.048 514.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +689 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 503.598 225.164 514.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +690 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 228.153 503.598 271.909 514.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +691 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 274.898 503.598 302.992 514.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +692 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.981 503.598 339.296 514.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +693 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 135.938 432.54 246.538 443.443 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +694 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.91 432.54 294.225 443.443 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +695 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 381.884 432.54 415.199 443.443 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +696 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 282.059 206.744 292.963 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +697 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 264.126 171.765 275.03 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +698 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 246.193 203.038 257.097 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +699 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 228.261 180.632 239.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +700 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 210.328 203.595 221.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +701 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 192.395 204.711 203.299 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +702 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 140.614 476.171 151.518 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +703 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +704 0 obj +<< +/Filter /FlateDecode +/Length 1998 +>> +stream +x[ko6_!`_ x݀]wmm}XFmۮ;$EdZIu%\C/g$$&2S(MEpj{=>2eB +˙&ٯ ɜ`gWvקo3N JіE]Ch*07x-aTkRfƥ@[Ϟ~j=bP%UV"e"S0C66Na[^67ʻ+eIenݚGiĴGi{{D | 9eHL{i4w=z>6^wXK'i8 k<,pq[k_{֦}:s! %p%!~\tIw͚A0c΂i꯶-rtBW4DS:]jM홶qFQcrYjXgL'3ӹo鼑t1z S:`\zXV{ƇH.< 30ǎw5j ˇsMMm(5,׻ +r((p U/Aң4%=/_n'_䠊hBCFV٘D0cmudYZOUqkwGaHEq4QBF{T!D@@_ YZٯ=?_zRzqkZJ q E +)>:Kʮ=\vqVQM^()'ਣ(,lgCX R t ^pYuo[OܕKoSJ7䋼^V(z?wOaVYD™@bzUN$`kR_u^DHp3&; ,d8HExr4ӯY}Щ UؕZߩ_-tA]jQ坃#qQeAl o !BD!$EY,wyUԻb]VEov Ajfp3Jg 2tܮߺbvWmFƮSA'eU(6$uW텤_]˿Z_94_D)b5ے! DLJ`N{jKیq%!c0 액>Ɣ9KS}tTBF*؁rYmF +{BcU 6ehoFXciEqwɎ R`8m(FXxR &dXU1;8+M{NPRH)"SyQZ`e@#a xRo ,J!i펐Fr$ʇDb$!!ӫvN| Ui7hendstream +endobj +705 0 obj +<< +/Type /Page +/Annots [ 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R ] +/Resources 727 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 728 0 R +>> +endobj +706 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 318.103 743.419 351.418 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +707 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 320.487 718.133 431.321 730.467 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +708 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 466.485 693.207 540.118 704.166 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +709 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.275 679.877 342.116 691.942 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +710 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 378.559 665.531 489.392 681.471 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +711 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 499.583 115.048 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +712 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 499.583 228.87 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +713 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 231.859 499.583 265.174 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +714 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.163 499.583 322.36 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +715 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 325.348 499.583 353.443 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +716 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 356.432 499.583 389.747 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +717 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 392.736 499.583 431.271 510.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +718 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 127.798 428.579 239.932 439.483 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +719 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 255.838 428.579 278.712 439.483 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +720 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 372.334 428.579 395.209 439.483 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +721 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 278.099 206.744 289.003 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +722 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 260.166 171.765 271.07 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +723 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 242.233 172.074 253.137 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +724 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 224.301 180.632 235.205 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +725 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 206.368 204.711 217.272 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +726 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 154.587 465.73 165.491 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +727 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +728 0 obj +<< +/Filter /FlateDecode +/Length 2818 +>> +stream +x\m۶_~9Ϙ0_'3Ic$ncߴGh:Lv A:֓ Lb +3adfJ$3vrdA˷q4\]Dd9g^wb =y ABZeCYTq'yTy3:cWzr[ݩ+Q`Fiuwg :gp>AQ}0+bZFMS$ɔ(Lɓ?nEۭtPc=էX%MeX#%i`zٯ 3Y32[` +iqg4cA "E[ 10 +I?WSva۽m-mڻض}LУڛTNy g,{0VX +FsD4|^NNaF̠L#v8\N(yk:ڙ6|uCE6X@ޏ,%凡i t|](5/sO|B,2!lѾep2{zX ؾ.$.V}e.ޕvg.a):j ;/myކH VlчV7V‘0K!4 aH1[q|rA@PT+}b>%98˕]QDN+Uy(@5ҹ'> ʺgaw;'uaHƧIZ*C[}cyKZ7wWJo϶qc(RNsd0x/‡!*lYT@G!v8U쀣sdt6U⮩'a쀳F H*}7 Nw. ɣTO(,[-0`6V9z9aaI#'uҹ'>䕁1+zW0yRa "b%'Dމ _OA|Eԟ@1F~ 8wK+񚟓19ޔJ?};VNwP t?|xBt~9UkA@Y=)kimbΰ$ k216{I luq*AL  +iU͓!f=?`@ Vm15 һ?u%}R: zAFݵWg~[Ϥ7/-tmdΣлζWbo(|8kOs04r +42QG{o^# On@ /޳3}uaLݐ`crC7_ُ$Ճ3sets.LN97]- wh!hJuѓpO\b)!a$4'4Tg ŒM>w_Y( +iœ8uQd(= '=wD(NcȤc! "LŢNc<I$1 +b`kTqIB͉E4 +L@8 +쥧HQT}4Ŕ i,4q, Wh'/o_h+u pG*k֮̈< 7*yi x^9L!葤鹓$/DS1 +eWLRbcIwk͖ڛU,¦XNҖ3*mNnîqG;]- ǜ! iiF84PxD=K=SBv#?-S3zZ \ R-$\: u'/z>|Oi/%3@xgcOq]n)> +endobj +730 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 306.596 743.419 329.47 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +731 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 507.288 731.463 540.114 742.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +732 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.772 718.133 373.281 730.467 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +733 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 465.396 693.207 540.114 704.166 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +734 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.772 679.877 332.614 691.942 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +735 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 369.057 665.531 479.89 681.471 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +736 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 511.538 115.048 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +737 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 511.538 228.87 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +738 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 231.859 511.538 254.733 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +739 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 257.722 511.538 311.919 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +740 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 314.908 511.538 358.663 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +741 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 361.652 511.538 389.747 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +742 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 392.736 511.538 431.271 522.497 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +743 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.641 440.535 231.484 451.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +744 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.099 440.535 263.753 451.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +745 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.05 440.535 369.703 451.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +746 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 290.054 171.765 300.958 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +747 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 272.121 184.657 283.025 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +748 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 254.189 229.209 265.092 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +749 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 202.408 460.51 213.312 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +750 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 307.465 163.135 325.119 177.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +751 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 507.288 151.18 540.114 162.139 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +752 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.772 137.85 373.281 150.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +753 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +754 0 obj +<< +/Filter /FlateDecode +/Length 3025 +>> +stream +xk6V ߏ6 ^k6wMw.Eڬ׿%JErnE5݄d#I)go5osx{S.*50,bFr̘FynA1BZ5bka sK$evg׶m/l{^ß7hLYA@YN4>@ũ´ptPD^.>g??KJР>~B'VCٶ7hbl7̸ﮢ|A5ZQ"qg:N(ټ(&6TJhυ;9[ Y*,'k)譄{2:-ЗI!olha1VHv∐-#\pƚ2x / \@˥@3 'uй3!!x =`~@[k4@\Nh ΁([HA7=A Eb* +rG43JKf2x#Q}|O$|[tIkŢQe[yYxnd}1de1F}9.` 7{5tG?]48ŕFTgomIr"O^8\r> IԺ,27% 6f 6 !e}s0G V 蔆v=_-;$J#3,d=޷~ؾXzc۵c~A~_A,i%+Ob^㳴$9ye|`^{),#R +2d\G^ҋ*?ljE o޷3s۾:]'XFʟx`#qtkrʭ@r3r+y=!.Dv"J$"ꆌaFAEy_O)'%`܅%CA_4Xqq=ݥ.PtktD)N?@yd QK$e"#e\GA'eh2$d4,iq0i")܌K K# 'HZ +5LZ +a)r#:-eE۟#+oipU")*r] ݌-vg^4j!*fv; q6>?I I:0@9 +{' A dIeѳ:F+~H9GPF%T5L&S]F[7s7P]tS:\l/C89Bd$-Iʌ)Fw@ٮ,վx7NVwX2 +~=8\YY5&J>Gޭ7U;jucjiz)fWb)_<jdܹAs,"߄>R'\FT% CW@xh'Z=udc$.WG%yv+L`1X]%_JqF= $$yY$ti0X!W'O7| bh1F)N;^ѵXKf55"[Uxԫi m{UQx%+Wȱr 6%. ~SlyBi[QڀŨvx#J=%pa{۟EfË=PH}=/8Tp1BR8vZEJ\_wAƈv(l9Qvz Ͳ^9X\”jD K(w0=n#B)Gp~=HtX+h82.j婚Ml^ܪhP?xU6,q~eMY_fjJf{:H5=0H}t*#0= ۼm +lDc$ڲ>)V]^G܌p"&o}Ovכ^I%s]srvW6vCqon (^3A֤loa菸 '9ZضҮو^msCsz!T0=U +S%u$BZ^PV݆`sog9>EV߅#wGq] .|._aOsJMs4xٻD>$bK`舡QT R EQW.~ήD܋j]㺪J8ŘZL0bendstream +endobj +755 0 obj +<< +/Type /Page +/Annots [ 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 763 0 R 764 0 R 765 0 R 766 0 R 767 0 R 768 0 R ] +/Resources 769 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 770 0 R +>> +endobj +756 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 465.396 731.463 540.114 742.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +757 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.772 718.133 332.614 730.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +758 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 369.057 703.787 479.89 719.727 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +759 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 501.974 115.048 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +760 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 501.974 228.87 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +761 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 231.859 501.974 249.513 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +762 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 252.502 501.974 306.698 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +763 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 309.687 501.974 353.443 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +764 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 356.432 501.974 389.747 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +765 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 392.736 501.974 431.271 512.933 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +766 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 424.673 441.655 497.688 452.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (logical-operations) +>> +>> +endobj +767 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 514.882 441.655 548.197 452.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +768 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 429.7 83.437 440.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +769 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +770 0 obj +<< +/Filter /FlateDecode +/Length 2493 +>> +stream +x[_o6O!^lK)ME^6wå]]m$m~CR(Ү "\Z $շ `1 D(j ޾]wQ$^"DrwpBPx, 88iIէo FXk>ۮ qKr"b[<_?.0 +EA#"DY#U,.X>+CU8aI1F C$X2#\ HZ>%L%I]"Aa$W/ɋ4 Ipu^nATua7*\ t6WXI8"PJ5 E (0~ʘ@$ sǖ0 )PDv}`]ؑjվQJ_Rg +8`nbeX +!.Qqs,"C$K +A!eIl(G !}z>=0s+_8^{)^# +HJQĄo!!+W" ^.!plEhe _q(l\xG~ӏOj0|n:nJZ0e"ao8텓n?yC}5y3VH'j:(V'ũ>4hR~Mގ`i@ ͤ6bi߆Bכx|FSuֱv潚A'~L%eHa +--[vz~W@snB aPg$ C3+tȨIs5dY~j%1Ej7d4 {I}CPd[,7,A3oig>`4=s.?PHyK=?'76|6~chf12($P'H ,FCZ;T`4 C3ˀ4.6֔7SM * +E5TK3*a5=G{CIIw̐cpoX%LL-2("֒,`6 8u|%&[!JSCm&OBBڼߤ;cj3um5lnkk*/3uUn o/nN"Ͼh,(L BapCi{}i L32]jWJ\skr;tovI 2J-⦬&_ VccR*3DuY)ǒSөNDBN6+%]O {XU^ggf ck˒)Cs0m5nb` + bͮS?0y51msÔʋmQoCnzK\#8q?Ma9<>o?z>}][0hs3l%> +endobj +772 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 439.034 739.339 545.706 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +773 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 290.315 680.704 397.442 696.644 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +774 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 367.914 666.358 475.041 682.298 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +775 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 428.679 115.048 439.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +776 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 428.679 144.637 439.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +777 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 428.679 180.941 439.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +778 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 183.929 428.679 206.804 439.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +779 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.792 428.679 269.21 439.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (single-view) +>> +>> +endobj +780 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +781 0 obj +<< +/Filter /FlateDecode +/Length 1858 +>> +stream +xZmo6_!`fCR^6@f[k_"Pl9`ˎ$͆D:Qn CQF/ǻFPǜ;Aߗd1%ɼuᵋ޿~='"٠yKߝF(,II9+RF#nG>Q!'ҏH7NT8fxb%H5^\̈́ʝhFѡ0KE㚚w[ !'``|*0>g. +[ǒ*'@ +kvyҮB +IWIoʐe3ښ3Mbqē7 + (|;.Јq3jH M}㼙^\=g}oigunĻI4XhݚT v_"Pd暤fwsaa³hD|Oajޱ%cEЈe_tVA.h`D(0!]t,\(2w)39CH2{fp+2=}W$oh<+1k9-_Dr|8|? +_aspJg=k%ZǑB1tlq"'vΨ멝j9 +Rk90G#-6yfqi{<(.`f:Q蒙r12 Z!pΑ5sLn:n3^TSf#;š4ezHZ1fٛpf(["bE7#Ac)-VizڌL%Fzޞj,#/s&.G|H W4,F۵!+[qiToSOP0dBG!mQb! EEo =Gi/M7$_o3ڪ?gK~k^mmJ(%N 79-UѴZ6V/;Zh7GAh;ϖM}P#y^[=4VO֪]pi:;] 13*Kgn-Lcj2xFdދη4g|gK7G#SC$jӲᙵMun%HIj.O;/dhDwGbGN;&w^F4?<>pp}?r@C0'$&u$ΓN E> Zv}jZ(e9IG{  ߖN5]nMZmٵtvY6>GPL(|MEN*pѯ_ TQTMW^0YBDxSG*]dqV}\kN\ ocendstream +endobj +782 0 obj +<< +/Type /Page +/Annots [ 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R ] +/Resources 798 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 799 0 R +>> +endobj +783 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 739.339 172.074 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +784 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 666.881 237.175 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +785 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 188.398 652.534 269.802 668.475 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +786 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 407.907 600.814 484.071 611.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +787 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 364.698 582.826 440.882 593.785 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +788 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 513.557 582.826 548.197 593.785 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +789 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 570.926 117.27 581.83 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +790 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.473 531.708 383.982 546.218 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +791 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 456.352 480.066 532.516 492.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +792 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 296.186 115.048 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +793 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 296.186 144.637 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +794 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 296.186 222.704 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +795 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.693 296.186 279.889 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +796 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 282.878 296.186 326.634 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +797 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 329.623 296.186 404.701 307.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +798 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +799 0 obj +<< +/Filter /FlateDecode +/Length 2618 +>> +stream +xnF]_G&sMh"/Ip#2qr8!5#fE'ܯCÌ%cIʓdDk\f4w=G?]?"Hy<+\,f3Fy2gDYYU◙d(-b}UT;g!\ p2Dd&kJX%Lݯ4OLɪdJW3n +x\O.9߭~'=+b<S5I2ۭxX4hgB`|C)_BPo-pQ^u ӸŷEBLl;5Gc:6F3G@#@4L"Tj&$@ChL=hNX-n9]d @y2WCB{/vc{X'5A4,pmih_^O0mҬ.+ 7^!.tq0o[0{R|<8!+-͹SV>k0Eeu}onB {RBf`~x雯iޕ$pQZxH#3H}Tӈ/DOP?2e#ѧPƩ=k@ WU~3a;>*{g~BusT{"9i1l̖>4rAX['i IejCfutLe}bj\@i;|<(8QeC/:(O!D'{h'R|sn(rie˵7;j2ƹGo(t}>F=0 ,M 4=NS>}w1GϏjANfuK 6|B7P٠df(\̰A.wkԺZ^jWڮotو|1ʯO] +`Z_cUb +]cc=h[G+d+Bdd,T|!3nZ!hAz?u];:HNKvpUCmtdd.wԂ{ j_@Dv}֮/7g%A#ZD†j,<%"T!~L̈́?}CK!T"-DQ|]˗f̾kPI9TjI +(-Lhh8(f +qz!JKD7o ٔR@/w0qDIC-GP :Fjs0Q݅vs7MvtTw!JK_H;!:J 1먃(@[GFCuAu o`z ԋ0C}AGsNݻqz0h1՝Lli+.yپ}WmUNe͹!BLAz~h@pÍ-*24b=9-ʶum|oPP|1j`A鰯|!?sƛ;dn.{>7^WaHU#^!c(<<^7( }KDdp5*MokЄK0mğwKYysAN:jf +endstream +endobj +800 0 obj +<< +/Type /Page +/Annots [ 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R ] +/Resources 814 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 815 0 R +>> +endobj +801 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 603.274 131.407 614.178 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +802 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 134.396 603.274 188.413 614.178 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +803 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.191 603.274 309.318 614.178 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +804 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 530.816 228.318 546.756 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +805 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 479.095 519.02 489.999 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +806 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 468.922 461.108 545.706 472.066 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +807 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 207.55 115.048 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +808 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 207.55 144.637 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +809 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 207.55 207.043 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +810 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 210.032 207.55 285.11 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +811 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.099 207.55 342.295 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +812 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 345.284 207.55 389.04 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +813 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 392.029 207.55 451.446 218.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (max-element) +>> +>> +endobj +814 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +815 0 obj +<< +/Filter /FlateDecode +/Length 2322 +>> +stream +xZmo6B}8/e(]~@ʎݕoDԈ赽 pH}?d<򂤩J.3\ x@ߞ;>IA +hϮfBxr1ORVne'$g?$HZؐ26ODս~wӬ 3JD'L ݯtcߴ#BU2#f_ofI2e:7'_wrYp,'nwr[fFI4,,N\Lwu5OJNmO7yw{Ws"Vպw~ji.Sinz;Wrlw$\V۠SNH +X; `R%1CRv[J]:7ntW]14Wh +MAttlG'le* +LS8iFoΜ'Kb&=<)%2, Vm{xk*w XK{a6.R2Ad, +322 +ͨ yj\~d!K3zYoєyw4=Fn. :1Q)|Ff٬(o.! 9gCX\f1g򋵛r]ppV)D[sI猱RB2=#szJ"(YL0:S%K좒T LFnC k`(u4a-B8|aSXؑĔϾaHx0eit(Pv2SSRWuh~됡TS?[SNhZXPѭ#7-󵁨5,AӍ\ d 'q_]W!\᠂B)MR(M9պQ+zB|9fP͚J&JfEQ_71vuwպ/wՈg*@?Q(.YM=^۪OPښpf2UO7Cӽ^W\\xmփp4'E['2Ñ#o|d>G-~:T,'ˡtCGgdd&J BV3UxլVMw`P* t..#!;˷t2ԛݾ(oliAωjTVW(NAF4g<}$RzZ[e}$8(OqgXF^Ӂ>02 _/E +3z䱌+bLR iD2cP ++A6C* 7[W;U햻-7U rdP'J<`PO1ϛJ5#Tig2/&#(kvA;nQAy^h75%6-&c1QO/8$уO Qd$,XSFhL=t v-ҥPZ?FX<!:A*{3fU l]J13cAaPX>l|'ť> +endobj +817 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 519.588 172.074 530.492 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +818 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.283 447.13 289.447 463.07 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +819 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 395.409 519.02 406.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +820 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 387.833 377.421 463.997 388.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +821 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.563 338.204 370.499 352.714 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +822 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 422.149 286.562 498.313 298.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +823 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +824 0 obj +<< +/Filter /FlateDecode +/Length 2137 +>> +stream +xZ[۸~З4fx4ؤ&, +L6){DEњ к~<"zB:h@3w@B;$ ; Tfc5}R& +GE\^/OH`ܦcdx~Jb:=>Ȭ e$\5CI< ♯{9JG ' yton;](<"DL0DtMn+VJ?sѾy?`98-+iܝǧ`{e٣%O}GL~YU]adܮVj9\%FAe,!+)&KXS':Ɣ0d<ySs$C)Q2::$-룿qk`h4QREw IUeu: rI-zaԑr_ĩ\>%R Q;KuDt~O[ۈ޵m6py~T}_Z2|e& ..ZшDzT0 I$[ߗ +TpCwtR b}8rendstream +endobj +825 0 obj +<< +/Type /Page +/Annots [ 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R ] +/Resources 836 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 837 0 R +>> +endobj +826 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 115.048 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +827 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 739.284 144.637 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +828 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 739.284 207.043 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +829 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 210.032 739.284 285.11 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +830 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.099 739.284 331.854 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +831 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 334.843 739.284 409.922 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +832 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 429.252 203.038 440.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +833 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 439.034 305.073 545.706 315.977 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +834 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.51 247.867 465.071 262.378 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +835 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 425.149 220.136 532.276 236.076 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +836 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +837 0 obj +<< +/Filter /FlateDecode +/Length 2117 +>> +stream +xZYo6~_!/6yTHh&F_w+qE(J^;°c8q8'f$GI2"Ylf89|{߿]|$C\/W3=0ߔ )9- +0|}űsxFHpܼ 5R֒y lEw %#,d-ͨА"&1CjeidXyBEr3J9}C3 `4<{PJO]iKݓ-/^kU_z;|8E4 + j0U'jRj*didWFjh6O֝c\w ͸Fú3qq,OO c)FbiF2 c)~ZQ rr}ipPFŨ,M~0gCW#a˧6"&)",jFANfA?.)k'e=ΟҲEJBR0Rslgϊ0F2  +&~`dl*ں4d۰E`)T._c5vuv-dhJhuJu+4bf; jL"X@7Egs*+>J'V|`9.L 7LpvFlcɷU8hTv1wwHJ)ϲx1ݚlh(xu)k\:|3:6/U!lF ce!{=54iCgIFl\7f:`9Ds f1UOv鏠 qպx~2jN~JWV=Vy@JKq=) Vdž30#QP2$h];$x)"cOf*sOjT) +R9{S$hqpJ|зA\x@8&BeSFAP4CFE%XjDa'vkcw&/ktsк[}[T)8<йF#doAyK9u0 .^5i wЅ; ItE)N,\ɫhHuLrZ<ì3|9PD> (7caSMgj?_Ny3q]Ez[O1 <{`IJ_ۼ*"ޗ.Ԅg*,Řǂc,Fendstream +endobj +838 0 obj +<< +/Type /Page +/Annots [ 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R ] +/Resources 852 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 853 0 R +>> +endobj +839 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 647.005 115.048 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +840 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 647.005 144.637 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +841 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 647.005 222.704 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +842 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.693 647.005 285.11 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +843 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.099 647.005 363.177 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +844 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 366.166 647.005 420.362 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +845 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 423.351 647.005 467.107 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +846 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 325.018 172.074 335.922 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +847 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 252.56 256.187 268.5 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +848 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.41 238.213 288.814 254.154 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +849 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 186.493 519.02 197.396 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +850 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 393.12 168.56 470.184 179.464 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +851 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 156.605 152.408 167.509 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +852 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +853 0 obj +<< +/Filter /FlateDecode +/Length 2040 +>> +stream +xZoD~%>H}@TD"(P9'=t"wއsPUuxggf;uNh?))mEv&Naz</OfG z;>mëcZ06o\6eG =7# 7gaAFP(Z̾h~Fz( fDr"!q)+ c:3dF ͅ{x%8DD|Mp~b +(xQ1#+AJ!9{S ʆT.:` Nw4Dw/4lߓ=8,9 8=M=%. 1(MΒhHZRe @Ї%Ivg]F5FәN{ș' +[g7+W$)qHB9}YWn]|&\CK! 54y:u̻z F=MMorjڽ$Qw +(*(#\ׅW~|':Ewm؍+ݦ$#u/u,:֝q,(+2Ao 't5K@G_V}sMDㆻ8G=E{}|=+5>rSmXϴ"RVGAQ +e60:{zU:}ٽXe;4pI v`QJĝXrmG[帜+Zض V^ͶOafUUjW!tZʦy]Šk7kZ…~+Bp h 䨞z;ʂj3.kG3S(ܴ.!u >R.uc^,cE };I@^՗o9MQeҿs}z$ QBh4iA` sMH6"~xXYr% iպ]ZҌ3jo9T[I>E_=eZSQC;-"񵅣!fԍ]M؀zt0Dw6\q.U'P[-vo5kZ6_<\_'̎7endstream +endobj +854 0 obj +<< +/Type /Page +/Annots [ 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R ] +/Resources 864 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 865 0 R +>> +endobj +855 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.101 743.473 375.552 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +856 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.758 679.877 381.922 692.211 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +857 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 497.545 115.048 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +858 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 497.545 144.637 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +859 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 497.545 207.043 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +860 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 210.032 497.545 264.228 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +861 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 267.217 497.545 310.973 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +862 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 313.962 497.545 389.04 508.504 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +863 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 178.655 172.074 189.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +864 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +865 0 obj +<< +/Filter /FlateDecode +/Length 2184 +>> +stream +xZo6B>,bV|ub&ؗ(T[N4ز#9IaNH$Zlx;# B*NQ0[MލNaxƿ9Y]xKa Y-U/R$ٴK>K9?Y񟇬ذ}C"a"!Þf7_a,/QN@b0 ۪6x*w(  +%ڥF_]䙆U ?p*pax V@2F͗;fh=EY}ͷϯq)=de{Hٙ~e=5/֝WӶ:e=,3S}̷5We.Ư BS]ZiK=, jKHm 0Q_Z6$ +u܋OU;%Ϋ! ye^~LW:~<ZRuk^8? +Kwis7qU[7~q.ӽ Ku,xS 1q h2IB@8Z*'c{`L;58CXϹ) 5=GF u͚#> M2 jfa"u؃lB{DZ>F /]Kcڱks$ SHi?TPW_"u}IBi#M+jOu{Y'kDoڗ}=_tHr|Oѽ+ xWO.1DEqՃzʄƨ)ĶbO3Z{3 +Cؒ={((bdEw_PJT2==X4BĄVK}.K#@[6#Kt| ͸=FW[dzRd^ZHd@ZҌZhfٳ,,ݥN;!60>KfF=Fm$c边dmcidߡo Rv4v3i`DƎKfV7,l-*tkhBL¹=q.߼γT{z[7ULJ)CR>4>`Yя158kD,@PLCGjhj=肙*(4njdi* G*fI$vVgՐ-MA~[D1, \OFFwendstream +endobj +866 0 obj +<< +/Type /Page +/Annots [ 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R ] +/Resources 887 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 892 0 R +>> +endobj +867 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 184.95 742.044 261.114 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +868 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.401 742.044 348.565 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +869 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 690.323 519.02 701.227 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +870 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.272 672.335 384.436 683.294 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +871 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 403.435 672.335 479.599 683.294 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +872 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 278.269 633.062 355.055 647.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +873 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.583 533.655 414.747 545.989 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +874 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 301.954 115.048 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +875 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 118.037 301.954 144.637 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (views) +>> +>> +endobj +876 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.626 301.954 207.043 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +877 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 210.032 301.954 285.11 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +878 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.099 301.954 342.295 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +879 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 345.284 301.954 404.701 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (single-view) +>> +>> +endobj +880 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 407.69 301.954 482.768 312.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +881 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 337.441 253.591 367.099 264.495 ] +/Subtype /Link +/A << +/S /GoTo +/D (label-sequences-classes) +>> +>> +endobj +882 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 509.691 253.591 548.197 264.495 ] +/Subtype /Link +/A << +/S /GoTo +/D (label-sequences-concepts) +>> +>> +endobj +883 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 241.636 107.855 252.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (label-sequences-concepts) +>> +>> +endobj +884 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 388.979 241.636 472.764 252.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +885 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 197.273 183.532 220.426 193.767 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +886 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.634 183.532 239.323 193.767 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +887 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F102 888 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +888 0 obj +<< +/Type /Font +/Subtype /Type1 +/Encoding 268 0 R +/FirstChar 95 +/LastChar 118 +/Widths 889 0 R +/BaseFont /KJBWFB+CMTT8 +/FontDescriptor 890 0 R +>> +endobj +889 0 obj +[ 531 0 0 531 0 531 531 531 531 0 531 0 0 0 531 531 531 0 0 531 0 0 0 531 ] +endobj +890 0 obj +<< +/Ascent 611 +/CapHeight 611 +/Descent -222 +/FontName /KJBWFB+CMTT8 +/ItalicAngle 0 +/StemV 76 +/XHeight 431 +/FontBBox [ -5 -232 545 699 ] +/Flags 4 +/CharSet (/underscore/b/d/e/f/g/i/m/n/o/r/v) +/FontFile 891 0 R +>> +endobj +891 0 obj +<< +/Length1 928 +/Length2 2641 +/Length3 532 +/Length 3285 +/Filter /FlateDecode +>> +stream +xy<{ǓlN-:34'$K ̍,a, YB5K%{[HˡbdQBxzyzz~>qKK_PSAC + WkhS++MHK F4P #p@PpuZ0D@S<W7 Z@*%XHbiDGi~*.X~=X^ ī@pOgЕ@@:CvxoR> Ջe +cX2.y +ragqCo"`jRA2fm/v! 2O.U,P`sI8_Ӱ?t Xa0ZaYycJ-UbgBzΔT#ۏ~=Nx\ݻ:`3{5,Nvkl4װĞf{aD눫2jő'#F)IF^^UZ{NqdSBG&'^=eZ&ܐX$C v"^T?0컂OK͙3o5H1)=xӢM(0vϰ&&he5cq2SCUlHY rI_iXЊ +-ؕ_LQ!q=Uk^t1'y*Dq e^nJaz~r: ꉀC'KzKGN ye6c}U$,{8i%2^nSyԕvbֆrp˒AMmZˁmbHctùj31Eɹd\&J)e[M:RK=3s5ƛ!WW)3۩#N.! E孖`++m3-,%5!`z4UQN*@-H,j:o;Zj?CZ虅>ܗխtZ>_XnyGd_Vl|sJx(vElz&2U-VhT/ˤ + Ȇ%V&+z]ƛT½(;V* +1a+g?ܻbϋ@< on"Wwڤ@&[Hiul'ƵfE֥dSVK=UGi)tK8PDUHf_h眏KȈkYL2&~EZ2*j"2a~bV0_߽;"ijVEQ3HPCҵ/Lh\GL"ÇjSc/v^I]C{;*J/[#xSFM~1:2"X[JS&3O'*sf[=>b4v ?ڞ9yK\\j[W6z~Y3J˜C1ćq)8+ɌG=uSET-ئŭ&}tќY'M{$ae>+B7'86=wy48o0Πq\]Z|TYPЍ͌b 3D2 YbivrA5vNT>snJ]9x3uY [⾛4$9zo2os {Vzb`|hB> A!_ kIJ]x;.!ONژ $-' ]Ldjlai3OkE29+`'r5KDqr7ѳ8h3.PGu>ҁ-]nr)iB{O6Ή3|?U9 ?*g`ş#;(͞nЇ[vg}o T%t9z~~#!fk@?V]@#|q$o q [iV-vY wn5OF}maY$U>?!#X*BR!Oendstream +endobj +892 0 obj +<< +/Filter /FlateDecode +/Length 3262 +>> +stream +xko6 dY!Rj-R61KSʮl+݇4ܵwDJpf8/>$4Q,QyA̒,Mnxӯ%?sJE2i&篗ͺ^n)ajrԫ ~'ydrjӽW>L*MGO?:K /)E,΄kޞqOuASP198 +RBk) ~J0S2(<%9pSɔR (jXT$1D:tQJʉʸGЛ(yr^-e3&+F8U"֡sJh.Ci%3 3g͝S@p::(M "ܣiuRq#{(`d2DiYټnov.m( oC cS}wW`$H4d5X| Z4PnAwU-_}fc܇eݦZ˦:D[`Tb/zWQazVc'ulVKSZ!gxV \@޻^/:\U\yp4'(4%=A#Qa24S&yDiY܎uI*Rp^ӊ`5`MQW/:enH @zHELd Mie`6)IOF9ޙ땹ޣ?(9t +R=a@ +  2`S䉄|#Wj'|l=Ǹ-0B S# CסFN1GyDŽv)i*k|^dOfwNۥL$D9):ƜGf)Tt|miX:, з.@d$OC/S+>!Z3|Rdy0Sِ'o\襍߶ZNdׯѵ1G9c:r ;<Ȉ]a SOL̽//: ƌ!+2AҬ滷'+ +G?(b;uT6ec\^kw*5HOjzTb#z!_A{7HH^4\.D].NH.9݅.HBu֍xPǨv d'I8S)4JK/0"`׈XAx֫I|T{U:"(Іg` bK "|`n)6d\M‡O52? Ma_b2X*Kmu"7ecu-o)~g0qAdFcqWK%q^l'$Pt[c(.WOBR^4 2`z. 唃rGS _9堣Q~,vDEw-LwݼaC@p Z8<]=>G\P Dy##.$9XZ(<6TwYM&&N6K.䓃2GٝTm{0VC;Yw-̈~/}fJw_lDlwi<``0Oܑ_֋c]m6T͍zTkmt42p.{7G<'+(!,JHCy ds$ha~BzVӭ.qnȖ[AM/j6wSP@69(> %5<t wM(gE„0͇ q @6~S ZfȥU{AfS|ꎶ~_}TBREP'!rh];F{֍oeԌ`6tV-t>J_-7u.5BG`%`GJ S#q(mU_t2;J55/:^eOM $1!m/nW1nV%yYS^F" I%9AC$ p<G\nu=:jįVl}-_ܟ0w 4ZnlƷm9;ӝ%Vnz-ݡKT(M .PUn@'!\2+x( R,Q( ;Aw:̞8;; Zma,1ykh }6WΛ*e~q +!;MAݚmh1)v4-WwK-qZ`#B;G:,U1XWds=ef5DwȽnt#eۘT݄`'I 2.c2MU`:\m ]mlҍa!LƗDqMaD!X|g6,ZَOjۂOo}R/~(ki?h[_WV~Ykyei*B͑^ Uendstream +endobj +893 0 obj +<< +/Type /Page +/Annots [ 894 0 R 895 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R ] +/Resources 901 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 902 0 R +>> +endobj +894 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 104.966 467.1 174.993 475.947 ] +/Subtype /Link +/A << +/S /GoTo +/D (overloaded-name) +>> +>> +endobj +895 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.288 447.055 449.452 458.014 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +896 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 425.904 429.122 514.517 440.081 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +897 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 313.66 191.172 324.564 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +898 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 241.202 246.681 257.142 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +899 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 226.856 259.263 242.796 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +900 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 212.51 241.261 228.45 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +901 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +902 0 obj +<< +/Filter /FlateDecode +/Length 1949 +>> +stream +xZo6~_!`/)03"_ٺlbmT-'.(ESh]*ǻ};3GDBs-8?9tϝ/f+ձ~dR1Iuq*BL~cRVٰKm[Tn/jU'}*R$CJ<. 6DPJ`[z;;N-:Q=eY;_9L| 'w+1s 3$CuD(,d*T+l{ϠL6R e{'~&)avm`.v/BȫB<+e(Q!gAQ#}w@p#|nt8+hSbtߧN}hI# OUqOb$^ului"N{?ͫEХΕY3D1[|ޥ(1UdԶP9)6N.cuUR@VLǮa1(o4GGo$Ԁ\D g :iԍ"Ő1JXu:!,M֨1Y}{Hd oD5(7WN⿔ o! pɁd9۝{L7 ]`mKVBީ`Q*8>9?rryxK<F\lag։;gm^d@mu6?B4(Q$#DK0IzToCD~as%Z-dclޖdd<;9~"|l1xãdiDž(,M!Fj!r7gEm˅N~Uo{09|Begs:x;Nong$aRW[*DnڄmhܻmnCYMWu-M3,%ֹzˬ.n$`I +.,"1Z( ;I T9E7WBl6@שq_Pa dx(,$Ă@R0Za!ta?Ȟ>=3ز]e붴o,->j_lQ0 0˺oŮ#f@^>Dd[ +Α#ByԊk62Us.JNb}}ll$qLoj7݅)endstream +endobj +903 0 obj +<< +/Type /Page +/Annots [ 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R ] +/Resources 916 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 917 0 R +>> +endobj +904 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 180.074 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +905 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.651 739.339 278.395 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +906 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 631.688 192.657 642.646 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +907 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.346 419.897 188.51 435.837 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +908 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.346 405.551 219.474 421.491 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +909 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.346 391.204 201.092 407.145 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +910 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 198.039 147.168 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +911 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 198.039 257.284 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +912 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.273 198.039 349.019 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +913 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.008 198.039 374.882 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (at-c) +>> +>> +endobj +914 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 377.871 198.039 405.965 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +915 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 408.954 198.039 431.828 208.943 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +916 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +917 0 obj +<< +/Filter /FlateDecode +/Length 2286 +>> +stream +x[[o6~c2śmС5yۆDXl&;I鈢N; (2txnx.n&IƒLD),3\sx.U d_Q LpjlTI(4D?w̏uaC6PaE$J!r1裋gDH9 ᛻.A@0h,d])oj<ٛ 2 Văb XP#/!rj/OmUmb߂hTL`*U0D%ih.@_r;=Z^Xf$ښ/xhӠg+{P{ C +C!4$^l>Lbe̡AOl8FV--bRGq@K3G2=͎ nl(9f_^Dw]N8YPsS{oMԯVm{;o|΋VOi"BmG9Aځ +ӔIHfvU/MLr2P v\T#8>NCkȗi PoA*rDF(?w +iUa6MZA#[ф*-?=GJ ˎotHú(( Mq-\7f q|Dp8}x$rhh6]B %OJ#R Zl8Dpljom6"HT9Iq +Q!s +\4 +앣{[悃4GwJ +8PLn𦚭 igD˫f9+k4AQݳUSM2%VWB~\=ZLȼyNka>Dxt4:#2I+SF6;+8c. m v{Un +I jx-OsjI3,~|utDU?jh{\Uu?$`!y!UP {/)EUݾhvԲy +r+T cXK@%%@%<͑'RBs !0 (l`B -W-f`DlK1݋,Z@47i5.L-%!' j=]VK3\~n!GHC׋OFY=#U_ y=qxBs-K$z gM'ïHȯtg4= +kfnN$Ӓ<. 0YpхhJ.@r'9 Tf&Mp.'ȩ Y!7h.~ DgPL ʍk +jm`O[񻢝q:[+h.V>sQFw= ;0syVxUلBz߇ fDcN}?V;4ꄌe,:0RuU*d4|C<]0PG}iF + KN(}{qr YomPhZ6'Q͸a3(T6~G=nʾ@iۍNC^4^ zAP#': `hA&"p +55<+৭~Eq }9tͫ_T|endstream +endobj +918 0 obj +<< +/Type /Page +/Annots [ 919 0 R 920 0 R 921 0 R ] +/Resources 922 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 923 0 R +>> +endobj +919 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 448.4 237.175 464.34 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +920 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.346 224.286 188.51 240.226 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +921 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.346 209.939 219.474 225.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +922 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +923 0 obj +<< +/Filter /FlateDecode +/Length 2022 +>> +stream +xko8HH?Q@A%m#fl +q$NvN:!g "#!x&apw=uN (t1Qc'|gp`0 ާWiX!2xp_e,Q^lq'eK).s$D4Wq#RZNOx:c݀kQUL[ԌOIE~k@r$+b pG@$10c9ukA5ű@qWj{p Jz\qGQE6ň9o!vИCleקPvǫĮAˆ1ܹEh_;V{LB$eƑAPu' кNTֽ pQH(AtH`Cg,z^_V]` +Y_0DHBL; jԔ0SJiuYIBsNu $-\{1"le̖溞^2PB[2]XZg%ApgYg]^/<ʳ"?RjXJioiXѫQa Aie'ۜ䪴(>(!u %+GrGGn̑ H XSȑ]s=}8_񭣏s~(XC/qtD_{>#5#ώ׎3<gx@^xz T/fL `gQD|E2Y;o{rl,eB@df^v< "PE_F$CmLD~e9GBJ`ޅHnR 6'Q3%]bq7b-Qb).A +ݞdҠc?U^tKEHKk>nn݁ɣxbXU'cAP|Ų +$P& Y_ml\OBq8u45ߏtlCdwdܘ& TZ}<cmL-oT>cj34>jpBV":y-E\9zu-ijM), r6Q[c#VM'S,6iilBe]eOb1Z}&z:PW]7RC[e/@S|í @ hL mq& {k+ +iZE.FD:0=B*aCɑ{}CJt-fPHUXOeYpb:Жbh.{ZUנEU:͍itp`-&eg*lx .Ös~b +'w5зFSb= ++/}8ДywpFU:[=r֏x3}50/Á折܄V`CljǶsqrINOFvD l&Bl63lV. ԯs?GeU'ӷjH2OPO?$2endstream +endobj +924 0 obj +<< +/Type /Page +/Annots [ 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R ] +/Resources 933 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 934 0 R +>> +endobj +925 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 706.836 147.168 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +926 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 706.836 257.284 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +927 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.273 706.836 272.706 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +928 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 275.695 706.836 303.789 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +929 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 306.778 706.836 329.652 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +930 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 408.704 191.172 419.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +931 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 336.246 274.707 352.186 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +932 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 284.525 198.594 295.429 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +933 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +934 0 obj +<< +/Filter /FlateDecode +/Length 1775 +>> +stream +xko6}qT_@kk|[AD-;6w"E(I3`C E{WGDR%HW83X9O'_ +%(xz>'Nh;f8hyQs!&eUz~]̫|}ԧEYDhz]]g<+D7S_\"d-p $F4QW'I0iǖ]w͙DK;z"PH +lN\WhxoC# {շ^^OS)'Č`"հrH5|h4:hf>Аi-#~q,5v|:iwwy4{7v5aBf FNZ_,aJ!sۋfpS\Y6_<_aP.(`&+ggTA#s,8o}ʪp^~_! DU'4MDB,v+|w= $ĔqhPO%3|`)Hn4MpY;%eTgT >A-XB g{jbj'ix9q?opz2xZH hdҹVl)֛2/1SP@FB8 C"'X/vۇjaDıp7e6i)F [;n2c$Aꥲ¹J@1~fWIWK[a' aLbV 5%=rFܒk-k,T[]bLZC‹o Eˍ%ClwUۢMbe[k,Ӳl̋zĒ~?6|lK&(׹c:<ӢY~rukMy椁c<Cg |v #x^dK{/{Tfbˆ5./,yIel]T!*D9k` tU6SW nv={%L0b dF ~9 +E,W*ZP9hɐp(ܨXQı'1D0 +Ħ^(Rݗܨa+k?&;Rr@x"%efۂD`, +QLo_愬{ xpߋXaHImc,AyȷYKtG+*iO9|*DqmV; Ix:ˊBYY;go*/q{5!bl0)%ml,K~WiQr\R ԾHf&MMHH=hgzbU:^rieö.m=YUTPa*UiERl/D:8=AO$9tBZsDB!†mUB2Ԁ6L"*xxM[k'O${Do>{e6.'\ +6mK{+;kiPM]YQǹ^Uc}64\+.׀* +.*(ZXБ[XXgCvٜq2CTs']qrv"s;;Gwh|kv~^6[^U#*sC )1|h" -(un"x>uyuiޯMbd+؁ť/?G$endstream +endobj +935 0 obj +<< +/Type /Page +/Annots [ 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R ] +/Resources 947 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 948 0 R +>> +endobj +936 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 615.772 165.688 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +937 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 168.676 615.772 196.771 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +938 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 199.76 615.772 248.736 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +939 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.725 615.772 269.379 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +940 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 272.367 615.772 300.462 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +941 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.451 615.772 315.884 626.731 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +942 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 438.579 421.257 515.101 432.161 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +943 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 410.512 99.098 419.538 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +944 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 305.74 191.172 316.644 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +945 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 145.83 222.554 156.709 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +946 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.842 145.83 261.937 156.709 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +947 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +948 0 obj +<< +/Filter /FlateDecode +/Length 1849 +>> +stream +xZYoF~ׯ6܋G. A6A&4A@KMԢPw䒕]M"fɝfvv*&t:4r:_M)ѭ`y_O +4! I=I6=^L~ `:ALoY1*x$=J[~]e^TY]Vˋb^|w0j|a_' +I2]MD$ 3O瓣GǮ4;|*K)"uڜg~̂0( + FB W8G$ ~nԸQc/^S5j=dҘشܼ*OSl URlVI狼TU[6飠 aB[P:ْP}̈n[`\tjK5k5P"QlgA@"%ӿP oxnBY11 E21Q Q 9" ٨ƆdT6a#Nx(vf2DPQl BDo0Ԃӡkϩ qikIB;C"\kNӼ@ڹB;)֛*w~MSwQhPeIpc ʛΌ扁)d@VN ?0"5 C]e 툫E}E $|pdͼܱ1B\F@# 40.e9¹Ds' 08H@yGo]̪yo‘{,גܢʴ^>Kk;v0AmγUVҳ25P$l< O/0ܡ)eڿڂ'Da xxԳij-u/vj˾u]^?˅4\Jw4hC~*2$c:l\J{枘'(#BaDًn}ѯ}I ;@V `thd&_&ΉJ Dc)]L z:>AU8N?4^o'zU&vnޭ֞29 &qwpTD Mr\S+e^mz~-<[Fad4=|҆E!ቁƒtAa1#HZ߬Jo 'Gm03CLx C=Fia{`:Waۖ_iٍ" A :P!&bF. e7 +S& +`ENYnI b7s?} Umy$4m4[^lO)%6.jnl,o6*yz`P.6P=:[W$*Qږ"0ezt]Ӷq[33]se 2rZ2ϡcLj`w\ol(*dѪlu>vje\펩iyeZܷ}5p$a:G\LÐDߩTDJEKrK<]B^a+HM%WCham̐X;JsTRV(gcfS!a_=lpkzA4Ġ^`+Y;"[ D[AͦZP&_6 ] 釖UMp9/Ӻo._kgd+s]dPz(}':endstream +endobj +949 0 obj +<< +/Type /Page +/Annots [ 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 958 0 R ] +/Resources 959 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 960 0 R +>> +endobj +950 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 182.146 758.617 258.781 769.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +951 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.556 747.872 183.651 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +952 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 489.645 106.191 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +953 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 489.645 185.344 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +954 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 188.333 489.645 205.987 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +955 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 208.975 489.645 231.849 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (size) +>> +>> +endobj +956 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.838 489.645 262.933 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +957 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 182.783 295.075 253.388 306.034 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +958 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 191.568 191.172 202.472 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +959 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +960 0 obj +<< +/Filter /FlateDecode +/Length 1796 +>> +stream +xY_o6 Oa`/ S,Y nb&ok1wJbξNtw-Y>ZK"K#ER˂!A‚$$E..az_/N^Q b.a%8X0 ESE` xX5yy ܏IeGg˵*Vs)8xyeq?@Y$i!ROafqx3 +\|"]BR鷍D2 IbJk&AGa,tYX=#Ă=ˑTKH,)h(E'(H!i0Д45GG4"5hǫˮ2dh QY}JV-&GchL$$Iq- k[ADқB|Jnə$a}6/l/oT5eewe~U\vR1 YU7SmVg@WM w'2b^ «yHIKEX+UƄZJ]Y獲åg>wY,aR'zP#Dj-4,q,6wl NYnnV}Z&n7kg {#%LiD[4$GDQGcmmyY`p$ȟo˪ɿxyd&uMU~#m֊71INlآՅ%1`vovn Ej -P'D,X,+#!3,dc-`!Dhw7raԩֽؚ#NofkI+%BWhs6ޱ f;; гL[ݾh97K~@>0Qtl-pn=ҦߙSzh< h"̱sC㱱ı!qH6b<ȶΩɸ>-GיR6u=¸d$xn娾CҮP_ %EeG3+e4a4$4RvX^t Ҕh19J1y=:aid+)k?w$z;l&f!,9-.˙"{& +Y;yFG8Tz^%-J~}:ay+t4#$&CقND8ڨBUB{W_rW!Zm>Z?U[\-A'yue*: +1hN3DEףO nA~ꖦʬFzTHJM Ag5wE8N B{ +[o0%=oSHr4rO^U}9ZA5ו@_"ꙣ."ɔ&^"js3bhP]v2_>~ .YLp5DДm@a|sPnHxOaQ_TV71Oyi׻Y]F?yUw-L;>l1#<ΖVE%O{*-l=&u 5qGNVZQfXY_<O?M"hendstream +endobj +961 0 obj +<< +/Type /Page +/Annots [ 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R ] +/Resources 976 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 977 0 R +>> +endobj +962 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 743.473 255.339 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +963 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 266.827 743.473 348.331 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +964 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 730.089 227.722 742.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +965 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 678.368 188.632 689.272 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +966 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 199.919 678.368 333.218 689.272 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +967 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 642.502 239.969 653.516 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +968 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.256 642.502 384.555 653.516 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +969 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 397.441 155.725 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +970 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 158.714 397.441 292.013 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +971 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.001 397.441 323.096 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +972 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 326.085 397.441 354.179 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +973 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 357.168 397.441 385.263 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +974 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 388.252 397.441 405.905 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +975 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 116.383 202.926 187.127 213.83 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +976 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +977 0 obj +<< +/Filter /FlateDecode +/Length 2107 +>> +stream +xZmo6_!$@_%6޵|-^[I m-eos7IyDR7Ep8|w3ZGURXngeqz=G^xvfל0ɊŅŜeY\\7ݲiu% JӮ;wzi%eߋgW7LUƓw`w7\j]lgoA1Ol&ӳL56g%D:cEɏɓJN^]Y芻 0bt1$;i',EkH5xH6.vKN8eY.,WJ~ߴ`;vS\Nܒ|?!$ɧSR'9,JPDҡoۥ3'0ջG%Y1ww5ZQ")*B_}ѷBIA88De0+\^8x@T^~^̝Ss bbM=խ/!*{H ݌21dTHQMŐ8||zN/kDŽKؤ:+?v]_5C迼a/,G&|LbgYAeJm +)KR> ~Kj lnf<}fnSYP1wU +]UѧIϑx4 +˯ZWDq5v*@/wEü0DMՙqYʩ88MĊsFcXy]!rteF2ɷ2ɐZ&մ#_ s"8=m+t} QnߠEe߶}M~ڤ!v}Dd +t`Nz"Dq"vGUt&1oTR(⮙wu)`gBގ1Hx䌿s/u (/\I"$HR԰Zd YwX@zX~d&ډ8T =e {(Ax` +*ab׏'v9D%0HRnDNHE$BALy$6V}dvH@kiy`ܥZK Hf*^vn6~kBʺe"F 'eu)(u6ن(ǒ AYIJA)9ڌjS81"Ki>,w$viV~9\-I;P>,$0egs(Sȋ< ޣK{4aB/uu -E]uYκGPFZ2Yc?N9p>0=xq()ܰ;Z/}k m{շ7F<6I=gTtv.G +*] ^:@%΅ԇ~a-Ld=xʕ%0TD G50 ~:}̙&@S͋`/ ,ҹ)b 퐲-b*9bb" x7|]- $ IIg2CGHj\ +ַ/IP(H[t=sp&(A {S~5D9 ͩ|Կ\ܵ!~Q^in)'鈓#*/?Rb]nsE(cǢs+3R,Hޝ_t\bu5<ʌ?򆱗dx}{@6iIX_x|ŭ.EM9%b , =?^YFsψ-ޢ"pNЋ 1!` }!vzJDLׄOLitꎹ67Ak|3gsn~#De7$vzapR$EER6?endstream +endobj +978 0 obj +<< +/Type /Page +/Annots [ 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R ] +/Resources 990 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 991 0 R +>> +endobj +979 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 191.172 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +980 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.429 666.881 263.593 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +981 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 615.16 180.074 626.064 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +982 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.943 579.294 261.687 590.308 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +983 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 340.211 147.168 351.17 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +984 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 340.211 220.9 351.17 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +985 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.889 340.211 246.763 351.17 ] +/Subtype /Link +/A << +/S /GoTo +/D (size) +>> +>> +endobj +986 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 249.752 340.211 277.847 351.17 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +987 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 283.605 340.211 301.259 351.17 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +988 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 345.342 145.695 421.506 156.599 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +989 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 454.651 145.695 482.746 156.599 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +990 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +991 0 obj +<< +/Filter /FlateDecode +/Length 1927 +>> +stream +xZo6B5+R$ElXvmbPm%`[M;S$qa(wOQ(?8JI q΢jG'tgg?$P}=Ka$:[L~ѣh8?m9! n-z=oOuDd)uyStfrr%R%Tu5Q_A~E)zG$ %έ"a0&}w^$H$~/6Fn*sU J.@Δɥr+/r4C[ORp?'_7RuW9W)z/cr@e|-((!@ N +}E=wX^=tnh?ڊo@$'/6o[!znvemXWj,^֋Umos" v$|[B}AW{}P(G[{kV[QgWƪ$w}l54d8qP0vMos FexfEqy:4yDllU3EN`R҃*G3˨o}ba[?ZvUaZdh}]|lWzKwAw鐮N#jT땙Œ&j@qDZE:v֏#녵ues{hׇZ4Ea7.N Ӂw33Wʍ7lS?v$\wᘞ&n=9;s ++B(@qm!=vs+]ϭ뢇RN2IQG{nǛ 3w?EgjH6y̤#/YKAۼiO[z \_\YWf('A*Xzf:3b>8&(QDI[7O:c}m=$v,,%9,UV>,t{anl"d"}6g?P3 G=wͤ=嚃uX_l^M{ -R?xWɸ+5$iX_L|&>Fendstream +endobj +992 0 obj +<< +/Type /Page +/Annots [ 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R ] +/Resources 1003 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1004 0 R +>> +endobj +993 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 687.558 191.172 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +994 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 527.648 222.554 538.527 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +995 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.842 527.648 261.937 538.527 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +996 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 172.898 509.581 248.912 520.594 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +997 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.336 498.836 178.431 508.529 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +998 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 276.475 106.191 287.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +999 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 276.475 185.344 287.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1000 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 188.333 276.475 216.427 287.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1001 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.416 276.475 237.07 287.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1002 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 240.059 276.475 262.933 287.434 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1003 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1004 0 obj +<< +/Filter /FlateDecode +/Length 1958 +>> +stream +xZmo6_!`_fE+Ю֢:EJ"Iyۯߑi' 0 AY<=<ҹ(e$xҔE,N7;xMD9ʡ=>y#jwt@h8eY/g,:uTu[-E7ʮ8]aEJL c_ +(yt 1ymf4cֳѣ{ߔN1ʲ~ҿŪl)A4'>K>9sk^40qfL(,?Jl]R+ٖxF][mel7=>Ɩ=v[[l,}{r9r 't?lWZGĻi cg9>;nIJone0`8_Wy-ʕ']|t,tAˌ9A2H{|+J)׎Ch1+A9rX S/?ԣ.#I#M(Iwg]q# Rqāh1M)n @` },Z]lC_vT"ac%M20NQT$5#:ڝljZDm +U8^L%V DEn03 Tg|(k+HEMID?)؉]WkSM]6uB}8NM ʾ1׵\gE9-7EUP{ƘFX~ -U/j;aB)FI[5~!jC[pCVc֦fjX˴^J"ňZ>jD>nvN(ʴ{z]na(fXfVଜh3HM#< ᚘ֌d&K.4x\1 1L^@x☜tU_Y'ʊoLWs ;aF>$&(;ɨEN0 dg4eFH IoO #8?fXy(8K8NGtx>J"@T04Y-*Rx Ao9͛U=& "2]QQUVW~K_~\'BB]ca-}&T +uCȧ@{!#HWO]XVh?l[_Z=gK×G,d߬gx'C Ԑrٍ5ډ8wXi._մ~Q bndbzKw_ާT_@ <ζՕ~saێ;χӼse˜E)$F9*@{̀L I/#Z:Wda=EqF3e3wMϜb3{ʶ7/%Yxs)vX'f|d-.Zw:cT?E]KH_Ve)um8s?nP**8 KBKFZ#JcT`x3]iGl.¿jtw #Kk&60w- 稿B޶Hcr8? A vdDD׋^`[P *{E'.|(ug㏭WOJ1|#d _L@endstream +endobj +1005 0 obj +<< +/Type /Page +/Annots [ 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R ] +/Resources 1018 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1019 0 R +>> +endobj +1006 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 579.364 191.172 590.268 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1007 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 508.336 245.173 522.846 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1008 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 255.342 508.336 324.57 522.846 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1009 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 494.951 229.832 507.284 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1010 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 480.604 228.318 496.545 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1011 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 466.258 228.318 482.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1012 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 414.482 188.632 425.441 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1013 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 378.672 239.969 389.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1014 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 236.01 342.751 306.614 353.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +1015 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 259.12 239.969 270.134 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1016 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 187.334 237.209 198.293 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1017 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 151.524 239.969 162.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1018 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1019 0 obj +<< +/Filter /FlateDecode +/Length 2538 +>> +stream +x[ݏܶ߿B@_6)v)ޒ(?pHH#!xޭپMu{Ap[us'fcrNReYrM6U}px]w0U}ި\CXh3u|zw3ىUhp!n$GDڮ>7݈к9(tǥLHJiIi0F9eۯK=ײn;=2dDq6ݺVf:{oiZCT(`I?)&e +=QRzu Q=my\7C+`mAK;9rIo}jN'I*jH> IM>di"HnS( ,Y$LRU, ~5^ȧUQe3u*-}Wu[CumS-=glBm>Ɂ"T\Ҙ2h%1H$#͢4nk@כ"h"}Dԉ?^/p:9gM*|&) N@Ui<UGEj3DȘ pclhf=c0MPlt՝ulޘ~̫J܅厙EJڃ66e rH ȃŴihL'Rg ;Bߐ*n<7}t +{ m;lH&dagn<19I,'3lNuk3:9Kjn6n^c1q,K2t(,ijk5gRfH$yw>;sYRC +,"TP +,"XDNTޝRؖdL3ʯ{[}M/ I-w@" +`yVc?L3~|~UTIJL#͢4U=]gqLArV 5iy`9 kNw _9Arlb|:K)5F~>w[f E߃ _m}L}g=u]2q/m;]y`ecNN@QpK(زp}J_J wG!_M9, C4,"iTP4,"DNPQ ;p, <*mvJiGoLo\IwWendstream +endobj +1020 0 obj +<< +/Type /Page +/Annots [ 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R ] +/Resources 1030 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1031 0 R +>> +endobj +1021 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 79.086 636.435 212.385 652.375 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1022 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 79.086 622.089 163.807 638.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1023 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 434.846 155.725 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1024 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 158.714 434.846 292.013 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1025 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.001 434.846 343.978 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase-key) +>> +>> +endobj +1026 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 346.966 434.846 395.943 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +1027 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 398.931 434.846 442.687 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +1028 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 445.676 434.846 478.991 445.805 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1029 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 275.395 228.32 408.694 239.279 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1030 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1031 0 obj +<< +/Filter /FlateDecode +/Length 2062 +>> +stream +xZ[o6~?B8#Dqt{o)9"ib$Q, r3B+FE*$Idٯ-˽]5zW 4^]&Yt] (Z8M~T+Q"ouYbӼ0C^g7M]0+_RFW߂߮buPJ(Iyڭ.W/:M3#e!=f:Mf@J +jF'D*2r~.E4-}~6'\G#R;Tj!Ύmk5+)`L(*kvy_6{pQeVwKvy6L1Nb(`^2֓t֓3SO3i'Cұ١.6U>@5eliF){Y k4 P7Y߳oWq6vX0 QJ$N !FyҜe΁3Q>패0H@rnmo4r۶ܰYsC-aEKԿF y:i~?u֒!2^wʉz=$ qL`50㱪=x̊`iF2 @ e'Dm@@+̮mo6}>slsYh.GB&1לsC/@TDI(&EFi:c%'fLgbX:ku")\f1'y.pʄͻ=c1H,8r3 Ԟشo=\wX_=I + 4X{j,d.O_U168 `t^"ו$iJbc$&d^ȢlYU7EVA{-jGA-H6~"':~sE3 +pDz.ȷvk?:kcn ۳?dMB%$QaY)NtFRJ#ć#ZIc +`_/n-!}QY{ Iwtl܎CR&sos/;܇cH5TK͈ҽ+̚!pmfh(4Y% tX\ۼܠݕ٠|#m)Ƕ٤Q/Csӡ%O!bfG;Z ,{cSj{nW]״wX{t8eXALkǴ=I_/Be^!ж?hmrK{4qeEݒ߫xv%TdjXp`7g$rb (FY;U3kOC0{jjIEh2K]u ySKqG|V@-|U +AohfD9qRe{7wp,LTrɬ,ͬBzbZ 2EY%}Y`DtV;fV;BBsiRj_r|BFZ;HV Bck[hZ;bRk[r^;o6ABPyXY ME]x-^%ͷ@|)r^f$WeX)mD }HΛ/f<ܢlAlezy{8"a'I+CKS44$8m࠶C 4FlN gla5wf'8xX!oPF-~T1Pz] 8`?{jϽBz*Q%Ut4K?xPIR|)Q짡9u[+.ZAx:S>qf +96{_զ,NG}nIvN]^Q \YwХDANN1!@> +endobj +1033 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 191.172 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1034 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 666.881 294.309 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1035 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 600.759 237.209 611.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1036 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 564.948 288.546 575.962 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1037 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 164.223 546.96 234.828 558.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +1038 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 313.91 204.302 324.868 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1039 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.291 313.91 235.386 324.868 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +1040 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.375 313.91 276.91 324.868 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +1041 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 279.899 313.91 313.214 324.868 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1042 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1043 0 obj +<< +/Filter /FlateDecode +/Length 2027 +>> +stream +xZms6~NdKyL( +I -^Ks$700}vo21/1{./h䧗"bxTay%7{el3۴LYmVd ,rgiѾCwzrrne"|`~_O| }B[MˆZN&Z>zzå7#ꂒ(j4Kf2L4zGYK Ͳ}~I\j/bt>hzR=]4ϴd{"+|yJ4/t}!agbC9"~FꩡwNHF >Br"8}ᜈzC0jv@a{e)hU.m {êٍb IBj`}<ۂ;< "= eP""2Z[G$ ϋqQ +43dzzLˈwwR$K#.Lܔ)eqQlfYRf,uVPjgA h!$f aК'{QILՏJESr<)t$ +jroVd$* dT>X:*9}@GGRݏv$:*Ng8UܶtuDI[Z mkUN MުreBaGEK=[mGGcѲshim`pՀÆXq ِHyXcq301BP2 u8ww,#^c*MQQlmpߘ; dCĝlں:㘍 +4d4Z;3GD"ڥq[AEF5*ɳ lfOtȀGӌr`!@:Z,뾾e\I'vI]%nzJJJ'ZH^Yrq1#.BN[8%) AZb~ZwhcsfHRS;8ƺYy^/Fux#z5A*WHzxP;XA; m܎ya $$+kuF p /+ Cѝ ٶ'#d ٹjfc}uf[:mwYi^;KcW,6βPux[Dr) pЇÐ/pAC3d%cԖ; T&X@Vhhƭ`0Bjz +o:X"53HC3nѰEo1" E S\ߨ)?h4j Mc1. ራ[UJBB?,Mܼ{>]o늡 CC&b=L ;n]UiT7~/F5\<!5DU"HIy|Q_,7=؂7K" )D P\VE@'YD+AOzD}?!sTU/eo~ʘo>/xWz-muj?0fC0>vendstream +endobj +1044 0 obj +<< +/Type /Page +/Annots [ 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R ] +/Resources 1054 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1055 0 R +>> +endobj +1045 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 635.777 191.172 646.681 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1046 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 563.319 246.681 579.259 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1047 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 511.598 180.074 522.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1048 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 194.806 147.168 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1049 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 194.806 173.031 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +1050 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 176.019 194.806 230.216 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1051 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.205 194.806 261.3 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1052 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.288 194.806 292.383 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +1053 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.372 194.806 307.805 205.765 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +1054 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1055 0 obj +<< +/Filter /FlateDecode +/Length 1734 +>> +stream +xZo6B$@)][ ]mźIEJ"̏VfN|Em69wtoF$d +Pl~lG0<_Yzv1j+l{v a6&഼-roTz]-7մMYO.nӺZ-a·,ԔE gFL3t鵷yڛ4;< +.BՅjVΝwVqD8WKp$ߖQcʻQhGܳLɥ\OU93=THw4 XBq8u96ڭ'.\rDx779ʐꢧaXi:{>Ͽ4 (dj3:P|zet1w#S4%ձb;b]}!Uhhܻ!hv6bBLXXF/=`͹lN{ A!D+d\wLsowF, R[$~X-嗪K|XSO> +endobj +1057 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 584.539 229.757 595.498 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1058 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 481.033 191.172 491.937 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1059 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 408.574 259.263 424.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1060 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 343.716 192.657 354.675 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1061 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.943 307.906 261.687 318.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1062 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1063 0 obj +<< +/Filter /FlateDecode +/Length 1878 +>> +stream +xZ[o6~@͊)Qmt[vm귵(TGIIn ;"EHe P`(9yTG"E2&a(b{v'0b8U0/>&}eg" 0:-rVf1p?ZGw>ޤYZ傍tڅ¨s ?9~5IK<ƱHVޏY>Mµo#CJ9ԢJO_`%dr.½OJ 0G^aD=IGVFS*j\qƹ5bv@I(ыO 4ٵ733$QiG #25Hg>+@産]̼t0%e@Xw߶s|Q3xR"`!#Ҍ6謊;̰VX-[]IJ+`V,"> :E ʰ'#/bgk:KU]rȎN%4GV+I,2E ""uAH!k*J$r@Z#TӷhAy2*#|>W2. A4xTYUzH `Y,ְCRm܌` +H}-X-y#~+uHF6*x;c,(Uh⬏j~j%e˵:&ҚnQ( K$`Lٛ-܏tT[ +=v7u2O0Cm˒݋V_Ġ& X *Ad.Nc>]6 Y`kCORlYS.A3h3͓ɶvA+kS ʳ&j,Uf^MK}ʫ7\ڻjybwEyT yߘ;,)4IaثIUW=PhۨZY4h9?ge.E ѡRcvpo7 ɭnuaFMOil9Q#4Z0 ѢgΡQJ|{hhsx5 -X(4X'mFW8 yZ٫x[(x iA4]F$1xcݘfMwZؠ`Cӓ +s*yYχ"ŗF֓OydH|hMq(!v7!9W9{DǞd=9%)[Vs@X6}1wyr@K8F<_-{Vb*,Vy}3uߑ|=D;#5 Z-igmҜ~F2QǽLK4񜘵vs$Z[ + 4"4M~{F}1Ek5Uh)z zÑY]6ag%l"ȑUj brZmMPetaaлG;A?̈́?:Td񽯪BuvERV'Lۛ +=sQj;Iѵчnendstream +endobj +1064 0 obj +<< +/Type /Page +/Annots [ 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R ] +/Resources 1076 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1077 0 R +>> +endobj +1065 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 159.75 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1066 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 162.739 739.284 190.833 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +1067 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.822 739.284 227.137 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1068 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 230.126 739.284 279.102 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase-key) +>> +>> +endobj +1069 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 125.848 403.364 195.875 412.211 ] +/Subtype /Link +/A << +/S /GoTo +/D (overloaded-name) +>> +>> +endobj +1070 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 236.462 371.364 369.761 382.323 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1071 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 134.097 341.531 267.395 352.435 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1072 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 237.969 191.172 248.873 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1073 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 166.941 245.173 181.451 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1074 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 255.342 166.941 324.57 181.451 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1075 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 153.556 229.832 165.89 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1076 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1077 0 obj +<< +/Filter /FlateDecode +/Length 1778 +>> +stream +xZmo6_!`_R`fN +thRV $bˑu_de'x{x{xGvF2 Hhtj=<f1;V,G9\!*h $qv+6'TJdg~M[\u.fՖy-^^.bT-{/F,GLjyq%unffoz=~{#5e:b֒ ܤ9ELBY\_&,JGzKlClG*m(Uzgsm+kd)#M^p^TZe0\ sR'2ezlnxI_*pˑG~5߂' J#waL~܁R=/'< z=omSQ*Px +(ɁpvNPS t&(obA/c|xƴ؅U ?d_T{t>3iϨ |_YVq/{oSpÊ*9Ut7)7 1,9bR!&,_! HKJ|!+!+!;\f3fEmW'quI= AM_Coec2"/%WLYCl1Q9 -K䁄F qѪ?_d<eUd̅% 4wm(J(q"A#Aze;6?mmՔ_r>QT2@;eZ+ ;;CMr::`K3$yզw^6IPcy‰sDOYWōQ]2S u@|E*-Ŧ)? Gm?X$6b</3 7V4 =D|/{9='YL?͞S,.^s ]ݵ~`SKG7jQ0550i-F3;X-?x] BS҈ +֮gq$#;H.C̃IqrInpR) 6Nfn(^tWYa9}ud#SpM}E,/# \6>fss#s\ƣphFxoy}(;sExx'>Lᾠݲ}Ϳ(]]*cM`䨝2#|6#I) i:hL:a +cֻڢ'0(wN~|9,nHIX^`&9( } WviL.6|Fs$ɰzuXӈx!@) +2D(fFݼ? +MɧX@%+gJ#Oe?HE'L@Zx ~dNxP/o&Ia&ߒC9tXGxkP(!3&wfNzxr3ik(a磎)H3iI!#E =uXT2'ʈV"Kyӱ۪aVgdlj*`cG%FT=m~̉EٸT3˶xm:u$14]:Ř'jf7 b%\endstream +endobj +1078 0 obj +<< +/Type /Page +/Annots [ 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R 1085 0 R 1086 0 R 1087 0 R 1088 0 R ] +/Resources 1089 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1090 0 R +>> +endobj +1079 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 742.044 228.318 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1080 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 663.967 188.632 674.925 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1081 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 628.156 239.969 639.169 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1082 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 214.656 592.236 285.261 603.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +1083 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 490.617 237.209 501.575 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1084 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 454.806 288.546 465.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1085 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 169.336 436.818 239.941 447.887 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +1086 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 371.12 288.546 382.133 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1087 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 79.086 260.893 212.385 276.833 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1088 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 79.086 246.547 163.807 262.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1089 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1090 0 obj +<< +/Filter /FlateDecode +/Length 2828 +>> +stream +x[ێ6}cw1q8gny@؍[~(Q_\0,hRX:URYp&I& jsgK{uRpЏ+'/# [<ϳœm_o +~vլw@b[;"[<޼ꇋWCDH +\?\䈪"{9Je &9"_/~;ؼ%.xPCC)V$7Ȟ\"Z +9*RHIڮ`y`}j?^9`O) $R,b4 f q-Mm`)Qu`)-CUjߎar0d\0YAeˇO{‘1E$"lm; $>[T'{Da`8!}u=y#,s 3j`XpJd8ik.]d{.Hp 7 8'PuSVS%cgp`+-iźOdR¸f+s|co+[s\+:cܪzh^W=o/햭ҥ6K©[kqg0Z?22T%w>vJ^yr[tഋM]snO4.oVmVnN:wR6EE!wԵhu)zUGL@e1w "̄Kv_jjح*Ԛ +ʃ'" {Dj@ڝe!b%nE"ea S]Q lS 1pj,3w vܿ\7r $ I}/՚`1#{~JXjE,Ƙ9y;s /kO`oVCv71/#!#H諸 k0t&3a+Jކ(C1 +; tz߰1`B!CLc K$!w,%Ij 0}Q LbQ-U_F\*2izr9~P,o#X ^:'FP2@de ѵ2#JLt}Oԇ/ u|{~D>[&oFw0boL3'rt%~m={HibJK e |VK$ɍt09QcD9tkz[`ԁEi/I$@JذaSp1a\L{Zyk_-tJG0*nl A #tIP6qަBcl-IrOE3ʼn¼)AG,nFӅ;}i{.829pOA +! L{O~r>Rxj}@|G$ƶY{~>9k,*"2޼8Vyz9V%Hhc*hUbJ*'YpַGuOyW}eͣ~)zɵhE3سeЏ-e#ʖ$4Ӗ1xO%O aS+, 8NK +8n"m)ID72E\{~ayQgʒHtw x,:~nz56^WjN%b9ZZ8ʕ8J:,9ʩ?_aS yOn/*4'/a['rtfq,١p`0d[书!n^{9FE`#LfoֿW]@ݔ^XoLc:==e8uk%0Oq1bh N}.џ*.7zFb;]uյwJaw_ڱd l +>WSNWѢ@So{ONλxcywz'ogcwzיwνsKΕklUxnFsᆱ9ě$ ACC2ާg;cqhlsY`aܭZ@ĭ57Ͻ> +endobj +1092 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 647.005 155.725 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1093 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 158.714 647.005 292.013 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1094 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.001 647.005 359.639 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert-range) +>> +>> +endobj +1095 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 362.628 647.005 416.824 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1096 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 419.813 647.005 468.789 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +1097 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 471.778 647.005 499.873 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +1098 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 325.018 191.172 335.922 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1099 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 253.989 245.173 268.5 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1100 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 255.342 253.989 324.57 268.5 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1101 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 240.604 229.832 252.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +1102 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 226.258 228.318 242.199 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1103 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 199.957 237.175 215.897 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1104 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 148.181 188.632 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1105 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 286.066 148.181 362.23 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1106 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1107 0 obj +<< +/Filter /FlateDecode +/Length 2110 +>> +stream +xZo6~q,#HmI >lf-y|;"EjDQ@y4IM$K$E, +ÿ]%z9O4Ѱ_.5'LbD'ɒi?uQSZ䄒̿~mr[wE]7n ]>5el5~ "%\WxN :,2)~Y-~|ܛؑ%D((N<ƾԼ\ʜ)=fpxΉNeQXؚ'ɭYf-z/(xr1?WvƬѺGf~gkVЇ%'O'_#+}y1NS@I)S48VS|'X65gmEC'zfs7;`oKDof=q8EoEZ7HwfĜ M?PQ/d|C&s?=57~-= dkĦFܸ2ƫ kw9Zp;&XOŀ"G!;LK䌈wh˥zMH vN(M +ˆi߽_) ?ւHij2Mn~WXf韚k/=$Aw|S.*r9C-ؽC.~*:g^q.֙@~7V$Mg#qQbGĬH]_!.l6[aPȲ{:Dk+ZlZߕf}]\DFQS f_PMD;oSզh*^$0EGMT'pf|o6Tq35#|#cPPEQ[r0 qpb=1`ɡ9?DInVS +i*@STeI + Fi"ģ)*˹" '($#)n-/+fпt1%Oi4KE8&$YwwcK}r"cG9#iahxOѦɲN$j<"hfaYNh}v`P􌨣-]ũBaE}hAQP !%MB0DЇ#C(߲B^՝?^VO͎DGaH9&#Qmî8zw,ԝE#}mgW* _bD#mJE]ipmS >=5'{v +f(L8blZ ,ծ + Ћx6H!m&$STI/, ܦҹ?c%\\IIuhO$`yz+  + H̰*q!3SSoOsHi`}"Ȟ4(M;Vw*ّg/9d0s +UmG3{%6fmo<:(ӊ0c،䎃tmX}ժ)5L $͵{΢캶!dISo.endstream +endobj +1108 0 obj +<< +/Type /Page +/Annots [ 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R ] +/Resources 1118 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1119 0 R +>> +endobj +1109 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 740.684 239.969 751.697 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1110 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 214.656 704.764 285.261 715.832 ] +/Subtype /Link +/A << +/S /GoTo +/D (concept-identical) +>> +>> +endobj +1111 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 334.228 155.725 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1112 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 158.714 334.228 192.029 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1113 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.018 334.228 249.214 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1114 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 252.203 334.228 301.179 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +1115 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.168 334.228 332.263 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +1116 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 145.434 139.713 216.178 150.617 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1117 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 464.774 139.713 540.938 150.617 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1118 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1119 0 obj +<< +/Filter /FlateDecode +/Length 2156 +>> +stream +xZm>owV6ФV&*5U2]6$V=`X&{tefw:927s ZwмC_]oNHB^6!'g~󫳥Ļpvu]g"40uZ\m^5-A(Jޝw'k '31Il+}ԧK>¤>Z0`jmo^!y!&K XS$| ,B+Pȴv$iozىjEtw?79EO!P)aL `/~H`&F>:MZ@~!,EquRFuQvta%,;]!1,L+a +2SҊci\fllc#3y0^@xc|K+~؇8ބ/}SP=2'CԳ~l'3R]KI`Y32Ig#3VG]"i:q)Xrq04oUx +%"ˠ'45Ia< +þtg28ɉ +'>dgw}`#8^_;Jմ +wAs1d>%F)!tvd]h9"nDd xtU/g[X`d& N( F vENdQ0^Wk][Q.$"NwVI޵FB쭠O*:vC +PzgzKDˀyr0pfuB9#^S "|% Nq~GqiߣE sؙ|NRѵp'|&wy.K>$\4Xʠb`ǡ$oJ ;ѸSS-HcpU?PZUmQT@CzQiގ:ɛ^%R 8Fjev]GM@2m;JҬ"V?F թyDpk[Gϭ',ߣ1J37Vz{+}硱~ &G~TW\QYc?Lҥs\Тw:n'! ;X9$ꬭ̣f͊ط6gv=x\0NBjW_zh?z%jje^R[5*_LwzF)?ԁ5?__,׆(n +sǵiv'= sʩqPX8%W~gfM]ytr8}Bf\sl >!~%2`"ǎ$J=Yڨg*UU/"VYqfes`$'kpfO]pŲ,+n z a r?RخtXP/,1R4O, \e^boo/0M60,rdd9+\H/r4VDt+w]Be 22Ͳ]PdH/3VwKqM,Vfdw!rQ)?EH70MTJ+keB. +@ \(gU,cU_/%׳q0hN<۴e^\c2]>ZYI;@Q"Eo{ .F ޷:m {giWQ&!t<&2l+6gymnn"Kܒ<>  ăYK 4ajX/!ȇuGٜjP_yUG-5Q[Vff$BxaBu Qm5 ޜt9ug} %Lw+~~YK:5cOI-|DZE#)ȾVyT}JeK32Ɗfk ^ߵ5˃ P50ӷ'ri՘)MΚ*4Qvwu= S$6/7Cendstream +endobj +1120 0 obj +<< +/Type /Page +/Annots [ 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1127 0 R ] +/Resources 1128 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1129 0 R +>> +endobj +1121 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.943 597.227 261.687 608.241 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1122 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 274.457 147.168 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1123 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 274.457 178.251 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1124 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 181.24 274.457 198.894 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1125 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 201.882 274.457 235.197 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +1126 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.186 274.457 261.06 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +1127 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.049 274.457 302.585 285.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +1128 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1129 0 obj +<< +/Filter /FlateDecode +/Length 1692 +>> +stream +xZo6C<ԬH!uA>nڵX@T;BQynE,>~:BÁ 9 fQOۏx$(9}3*'"`q0a{GBfrwHaD?<[mYH\fE^AW`"%\H+?OF!8x!I,GT0DoEm<)[̨@z1O2DapC`pbW0FQڅeJ)PBɹg$ +J-QPK%,-wZĺJb\0})ֲ݊ >baTu98Jt) ckXA1(Np#vicJh\5 vԨ1Aޞ/>0LxP䴹bLlm2]٬`m<w*9:Ǧvc hȏ~ Fٚnj3k+{!uN:1*.FjaZ(m¸^/d)/m,oš]:oӾa.5y0$vv!>G޾L*D3]rl--CYJ2}=:p\C-e0vwc31}BY0AC㠗JP7 1LćPiԾ3 'NC='!AHh5}_Z"H?N/n.kEυcRX߆ii+; +)JI{8eP962eFRVw:euTg]j}g9$䈇A`V 0bj?HWj;("ęzt},cG*(5;o;`8(]YVzqz'tP!'GBX0'S@f<>LljaY> +endobj +1131 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 119.153 694.826 135.282 705.785 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-part) +>> +>> +endobj +1132 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 591.319 191.172 602.223 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1133 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 518.861 259.263 534.801 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1134 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 397.875 504.515 414.005 520.455 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-part) +>> +>> +endobj +1135 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 452.739 192.657 463.698 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1136 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.888 381.063 195.018 392.076 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-part) +>> +>> +endobj +1137 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 147.957 159.75 158.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1138 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 162.739 147.957 216.935 158.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-type) +>> +>> +endobj +1139 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.924 147.957 258.46 158.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +1140 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.448 147.957 279.102 158.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +1141 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 282.091 147.957 299.745 158.916 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +1142 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1143 0 obj +<< +/Filter /FlateDecode +/Length 2193 +>> +stream +x]o6}{,oQmP$w-.wmmQ(kuVrpF(Ub#E +ôL gޯHd9rU )EٮpvޮyKɲ0_CTbsvB?c|k70CLni)`?5U2;ySv uzqKeޱ( ++X?#Rvsh}ӭ[Eq(W*%Ayo[=Vzp/m=}Ir"9P7LmX[t@'+9bR 8_&4G08 +!e|eXS +gkF_j6|7* DsÿڻьNgj¡"Bqs݋U9L vql( 3`؈FhiM8aQ%}Ne0iLl$0n.>50S}QAחZA(AzS@ `]FꍣTx=4AS9D?:D݇aA< Y?q oA /s#=e3[=8sOuƙoZ#=^;GEuc5o(87m]q ' 2O3D+Kyܖz4Ir.bdh=̄ * + +,z~0[mV&.dQ`S +)sCۧ;PU^y}<:wYT2 +#[0(3‰nՀ!'Afa9}{"iޏsyfIH<]BmMF[n][oEuKsr7{Pꂃ "<z>5PJIA&\y54T] shw$- %?e?4bXu;).IDGxC t T{alB|L4O~{(1ٌhS*Zq&gQY?z Ս4M-3\޶ 0xqQ"K5/ķY NXUȩBRuma&xHHPopr撏~SݻL*3+/˭wuWGFϑbE 3an2 X[ߌ܌=vCo,fƛّZMFJg + +i"w`oAFӘ9LpI)fB;W-ip&Q=O}K;R1="&MI}9/D%sKpV*C}dhNxMv8 +L`a&h ',.1xf:'ĸTu!:,϶{H;RM[ƶE #M>e4Z,՝sd䓁7Ր7>ꉻӒ 8Ov dLдw03PzB( r?O9]?%# QhVFRbI  kG@Qdz#ha͋CRH4N $@&CC)ez=Lz+ʗN<@ihԄ1*5 QTT/(2Alwj{=lfC}q~n͗gp3C1[0țer`Zendstream +endobj +1144 0 obj +<< +/Type /Page +/Annots [ 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R ] +/Resources 1151 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1152 0 R +>> +endobj +1145 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 179.476 584.539 250.22 595.498 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1146 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 481.033 191.172 491.937 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1147 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 408.574 259.263 424.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1148 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 343.716 192.657 354.675 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1149 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.925 307.906 266.668 318.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1150 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 408.159 289.918 479.378 300.987 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1151 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1152 0 obj +<< +/Filter /FlateDecode +/Length 1974 +>> +stream +xZmo6 ~$@Od/kۧ('1{͆Q%Ӳ^2>"R$Eѽ ?4HXc,08?ٷSx=E&G(Hl"ga) 08x_]E^ KDpŪ.UU,kz~vZzk>g3) +}Sr(K/erAXrn1o +ʂ'dcJQ"4Ӽla@'iCfTŀ~ LI0ɘG䌪S^a[YL0"4j\qK5Ոi4#J"F XF/Z!fK3?,k +5^.̌ &&SG=p kB +٩DZ,̼FHh7^Cbg )r^sp٧*}bN8޷;QQ7+gF0jV<ͫEYld8ZI^_ʤy^_UqOKSpEZ&$቎Lm\ϼ)i%Je"^D FZ0He87f^/.@u1|/dP$q醦ϩL8mӼ18/˼KZW)IaWV1eRHjYSCw&^@fM!86"~x6&Fr|(Rp. 2)2Bek؍,}#"ɝ{QfD$ԛϓD2Cj*5oRo@EDlͱ4Dz⭄N08>)DnH`T,7*M8[;Z߮FjTVk%TGm)ҏ;W|E +c,IJH9 NN/0@l8-1˻g5AzsіK[èߑ&,8&,4g_7*uΚKav?V^:RC]{Go[3;,o)\ WE+ +Tzkhy^~*r^"X[fn + P?zk$wL~iH3'FS41'R@3}(%v5԰Z>(6kHPJ +;g?+:54= ]ׁ\¹^DhWp7{̌wojhFḌ$gAWu +f ISϛ{F,u"G3ab.P]ǁ/t?#'eQχv٥fJGWsM44ÙYrz{,s*?(C=.ˡol2[zÊr8w6C3)Cń[#@3"d?@7=[B(ڏ;w8۶c}_*\չP8]2+P^}_^>k؏^ b=nɌ,&M>Y/7עT\uW[/l~o+@H~u.E{OtǾZ?T=J%u3 zU!ܾQ+Toc> +endobj +1154 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 159.75 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1155 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 162.739 739.284 201.274 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +1156 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.263 739.284 232.358 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +1157 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 235.346 739.284 253 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +1158 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 441.207 191.172 452.111 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1159 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.767 368.749 273.452 384.689 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1160 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 317.028 211.595 327.932 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1161 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 281.162 262.933 292.176 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1162 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1163 0 obj +<< +/Filter /FlateDecode +/Length 1805 +>> +stream +xY[o6~^%rn+mmjˉ0r$m:HiT'Æ,|<7~?%4JBq,v ]v>;}H!y]1DW?9A$Zq4uWʗ +x*nY >U͈TIfWnUD󗳳s.h|W #d1"JEOݯ쵝nj4o-xXzLPt+ef*9E\QyV^t7o|$[ kOXiDTDO`\c!!Q"xg +#3 ɟHz30q%@w"ޔZeai{W{DNZLZğh"C( +uEE)efy:kb1B'3moq+1xH+tVԺN\8EOgh_R*#"nbcj&7b_U LxL pEj*F +'VFS;I51+xB5#XĽni2'SGISe` G `ťyj+#IZtQh嬣t,s fީ,KSks]Ewσ(̳r/rvDnW4LgﭲN1dV҇4A0Y H`ֽ+Ennl[yӍ]}i7ljnpxe7js^_Lwu9q -$`ݜ; BRZeo2/y 3Ga0Ǟw~UV jB Z +X~p"- 'm"t~F\jp:RN'Fp#u!({)Xe6؊u#A05Q$Mx_jl5,P)"ig'XE +]n:+û'p~:gC-]1ڛBŐrBy]'ߟEXe$,#1r +:!r(d{@&XŶ T¼ك%d68*CyO`t`HnOL!tF`rw0x?"X0Ęg>h@w!!oqf-Y"zvUqsDgOhMz$TOx[1S8i&,骅~.-{@N\b<)S=7嵪e|/ u8;$pB1MI2ز+>LoLho; VAc`(Sš8Uzf]KUkP5(!4`$#C&53 :SCSRG͠fL; 3Nv9\|IFfRDATΙׁ{Ji-Z憄 bb_)Q}lP +AnοU:o@$"%af f[9wn6kA8v8mn5y,@~#B=gz9endstream +endobj +1164 0 obj +<< +/Type /Page +/Annots [ 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 0 R 1171 0 R ] +/Resources 1172 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1173 0 R +>> +endobj +1165 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 532.086 178.689 543.045 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1166 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 181.678 532.086 209.772 543.045 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +1167 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 212.761 532.086 261.737 543.045 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +1168 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.726 532.086 287.6 543.045 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +1169 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 290.589 532.086 339.565 543.045 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +1170 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 234.009 191.172 244.913 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1171 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 161.551 269.812 177.491 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1172 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1173 0 obj +<< +/Filter /FlateDecode +/Length 1654 +>> +stream +xZYo8 ~_a`_@FN˽Mw[&y;$F./-Y푝ɵmQa4E(tD~h 1QJ( ft4`tALbQ5=I +Ɗ &4 `iZ@q$1%~,lYdjXBǛLfgi0Cpj{ՔGQHx/ `1$47rH5gjEIF~MyY0"b[@&S#fp=FX8%2=>f#Ԟ`|:+CsC:GKC }bD +r_Pj0صchK}FY5e?;H扱7A2K]4'1Acl폆~24A}FlW|Cڂ}.fwc-z]XjF?37? }"~Kw ېF_%ZcQ6>xn͵v5y]J2zO ѥ+t~tPtw8HL\8N7q߾@ݠ8.cƗ m%k XpFdkԕɼXy+(ɡ`nu*Uij%Ѯp[{kB)ihMhZ jdQǽ6")r9j +g^$і(8A"ktx'zᆮ*$BfuαKG*E8}iKCy+oDHR^՟taӪꆱ , g#̿~\T?) -endstream +endobj +1174 0 obj +<< +/Type /Page +/Annots [ 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R ] +/Resources 1182 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1183 0 R +>> +endobj +1175 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 212.711 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1176 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 703.473 264.048 714.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1177 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 338.861 179.805 349.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1178 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 182.793 338.861 210.888 349.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +1179 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.877 338.861 268.073 349.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1180 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 271.062 338.861 299.157 349.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +1181 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 302.146 338.861 345.902 349.82 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +1182 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1183 0 obj +<< +/Filter /FlateDecode +/Length 1604 +>> +stream +xZ[o6~У,KvKm~[qD-;%G](0lCZxX AK"XF88W=/gǯBH$U;;Kt[0&1ƯbfyPwP7%l-t}eirKE ތf&\F%K5guT~3ˆ8]]cD V# Dotգ{'\v EQcfq:Fj"oy-XYF+BV?>;6s$qD".imHٱ=o.IZz+ Sej + HSO]g#DwTk W$(TyVy!ʑ҅GyCR.]X%:'y kFQun6Sp}i5TYʟUm^UNj8>uCh(QX kDjŽb#ͤz8IQUuL5 !h;u=CBh/.SQ #6. {yM}pNSU38"2iDHڅP +: }|y.vREes̒ϵ.*l+5Fw^5H=T\L w`-c1LjEr +uIp1_&l)-[йB u<oޥp룪=UyZ'I]OJGHTE{jF^7&9X:/#C/-cad*HDuA-n)1~G o!Ʉ߮o&4 H`^mUZ\'XE=9i|sV*qGWrh_v}xoE0Qn.@A0=OD:_Kq Z@{aN{ÇVodlP$gC"Ԯ{`8NalwUﯠV j?T[pۣ=4޷Z5}~b>d"2$o5Y!UE2,&gH{an'w].|>4%M{)jr`JG+_s$u˥sVw4r/oۘ8"\5띥4i|\b1NrPް7YIk(I(qx!j\# Er 5rg롫$kSKK@x)0RPoȁ`ހԩID{:B852~ EEJ@ -PY}dHH,42~ E,0Cˆ`bGN@,ˋL% l7|>:[o4w^݃6m5p5hO,PYԬo2sk]2\tJqN۷0zf܇zDQ#怛-@t_m[sGs߉e" 9AQ*SP`##}HޥfgG0HQ>('(n4!os,L> +endobj +1185 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 635.777 191.172 646.681 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1186 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.767 563.319 273.452 579.259 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1187 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 497.252 211.595 508.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1188 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 461.386 262.933 472.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1189 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 138.617 178.689 149.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1190 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 181.678 138.617 214.993 149.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1191 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 217.981 138.617 261.737 149.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +1192 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.726 138.617 287.6 149.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +1193 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 290.589 138.617 344.786 149.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1194 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1195 0 obj +<< +/Filter /FlateDecode +/Length 2095 +>> +stream +xZYo6~_!/6eSTHM+;Bp$9u;"E(6z GÏsqf 'I2#!x. +gg0t^,=4Q{ (0 <܄p;ѷ2bê؀xYBف@`v^BXam[Bbvcӄs6[%A Xxa(O'sIPgZïv" {Z':5QO` +`3Ü[=/g<XNAO4ߖc{/1+-Vngx.P3irгk4S~5jX|-h_]oSOu +=!ڵC}2jC3f@3U}rVm]!H=u8"dX`N !cY;t+7 ÏNVKL/My6婦BLJv`F/]_%dGl^vu4IۛZ{5b1LjP!I yu6:Ǟf(@6TD/ I Fc + &PfqChfՓ !0ߜD64Gg]BϠCܜIJ:MdaӦHt'Q,|؁$`Aj"wnqjǝb7ez%ld ࡲD/ )bΙ[4fؓ:]MUWkqwqW;wqU=x}?"e}mj_h‰ն wSoBy^`8?*rK bqc%oٹ. 6C4is#cӲ3{7S)6#ai6Ht<&]O yqF ʙ5BJ{YYsg~4weF]E1 $9Y u\.H7A#￧c4ȲcyTo +gbQhwKD Kv <$7*EڍK}OVtSnISx'>m.%&tendstream +endobj +1196 0 obj +<< +/Type /Page +/Annots [ 1197 0 R 1198 0 R 1199 0 R 1200 0 R ] +/Resources 1201 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1202 0 R +>> +endobj +1197 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 481.033 191.172 491.937 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1198 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.767 408.574 274.568 424.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1199 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 342.507 212.711 353.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1200 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 306.642 264.048 317.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1201 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1202 0 obj +<< +/Filter /FlateDecode +/Length 1911 +>> +stream +xZ[o6~˚Hdkk(GIز#)ia}GHI\CQ&H+ |Gya |9s Ϳ:܋I ٤^s$O'{SJ3oF}o20>|^eg}L7=J/|vyzo'},k8 +8C'4Dbr4lzkRdas|~}U^|;+`7]U5nպJV-.$f.1U3^e ?HVFSkIUTZ &4 lN gp^KavE9b438"T`܌(pDa 0ϗF"I%l +|n55K.TMgh +zF?͸OQas!ՁUҌrNo0CFֽ@DVYH|{C5Jgf봜O7΁@ A,iq*qInz1BCl*ӫ.j-e"'IozyYk5߿gՅ_%EWin +f$o)̹A>WxUpE}W(K^_irN("Z? RlHA]iKU_Oviq;hd-/a-W+&D$}Xqt{YTg.LkZ^uR/j5%h rȞJ^ 2G DdViނ$ÝJ-*Yc׎XDe>0ҽG1 'A+ࠥ/ܧ㸘PD21 Hi]CpYԦi,C~D` `9`./SJIBI +b7?S~LdH?xg.n>b =N~ff/.gk=(T}MBv)ÑM!{e! ]+dE@`S31ލD7Un~Vd=,PY3Ҁ%(mc ^O\faF+UMNMEZ~v==ݠOv +,CesS߬MjP +%LټtA"@kЪ^Su"΅$7Yjuc}=!@z!n,rf̨*ܦIqUER t8}͸qW㭜ߝ5C$I=l`C3ܹQg#'zAqЗk,z1tBeB%1:IPG%7XΈ3`( +yW%"(@c_pawDh;QI\Y*ҌdCb4X VVU~5ӇD!}R]%:4wEZ EǤ])lk)uF`zϝt`I jc/W"kEf>;Mk,8 4H?,+`HzhO[${UQe?gTJ˖ߓ7~G|:K <5#mX!fwNBN>C}C%k5Z0J~D~:FyO}nU{8pfߡ A_ +=˟\kQ]x04*w%IuN$^'o`R&op:dsq*>ڦӌ#]6a֖0a?`endstream +endobj +1203 0 obj +<< +/Type /Page +/Annots [ 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R ] +/Resources 1212 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1213 0 R +>> +endobj +1204 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 611.14 179.805 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1205 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 182.793 611.14 216.108 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +1206 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.097 611.14 268.073 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +1207 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 271.062 611.14 299.157 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +1208 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 302.146 611.14 351.122 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +1209 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.189 416.569 221.418 427.528 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-metafunction) +>> +>> +endobj +1210 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.477 416.569 307.744 427.528 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1211 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.242 416.569 425.889 427.528 ] +/Subtype /Link +/A << +/S /GoTo +/D (intrinsic-metafunctions) +>> +>> +endobj +1212 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1213 0 obj +<< +/Filter /FlateDecode +/Length 1834 +>> +stream +xYmo6~E})RJ%Bi$kwbǹ'.]iBع(4JY*MDF$.Om˄GhhO'p ,:9%A4qG{&[γ0SQ"W˪ȗe>%xUr^%8$\d}= *cBJš_VG,EJuBtFDQ٬znM6mf3|k;iK~1g'maڕiS8%iȢ jfK4) jiݤ#nϑrfI>n6?WDˤ3 jM{Vִ zizP4ʼB3=Z6Ү+k{{As;?1?t_*oiƉkm-+%SY2BDiVVHyq?3ѳDϪ7MoQf[z\zyYtL$Rє3"cި82Wf*X*MÑWI[\eZVn7UYMQ򪊓+j7$;͌+NDP8Ga1* lNfAC0X-GM᫴sQXQ($%q[h:)#Ou<8 fMq+xcN5m8Q+* ^A=UeeɨuLG̥D WzF[]6s5@us|\nAf[_c, l]<+EOA\~us\e'FN !') @HA#=E}>lvY@u p-U Ls ǁx*{9Bu(!HeΑ8T'ԅ.ej:+fv;m0JMu2}E G)j,+G:o''b;Q}t3PÁʃywzV֨=Y_ԡX +dE6pFIʝnh@wxwfs6'Z]a1(OF^yz)IYz)(  NE:hI4N(JA=4E,eS"/N(XC_LZݴ>4'\`i .q,ð"]>-IBX"~ۉClj{׽L7ޗ(6%q،qٮf6VO-9WuMah&TRNLH|yY"SȐ  wDahfc:= s8UJ:{YlcV\zyɀ!"%D^_ZWevW;幧UQ_˙e5~$EA"L/뤽K^d4Ȇȸq~>YSY}qV6laXYY@4_O`endstream +endobj +1214 0 obj +<< +/Type /Page +/Annots [ 1215 0 R 1216 0 R 1217 0 R 1218 0 R 1219 0 R 1220 0 R ] +/Resources 1221 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1222 0 R +>> +endobj +1215 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 166.245 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (intrinsic-metafunctions) +>> +>> +endobj +1216 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 169.234 739.339 289.402 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1217 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 429.252 191.172 440.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1218 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 356.794 246.681 372.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1219 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 305.073 180.074 315.977 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1220 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 269.207 225.991 280.221 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1221 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1222 0 obj +<< +/Filter /FlateDecode +/Length 1835 +>> +stream +xYo6_!`/ 0u~l-amAD-6D4%Q؆LǏǻaA HhRIY +g0 XQaDىk +/Γ3Óem~]b¤i8G h&΁Wq(ݔ_^=1h:?l +1B4\Z"WaѴ&P ܘ<晙gHbb!n1 +mR >~˜,8'jѫRt<-`,Yi_JH_xTۜVe/4p+FrR+hW+}@rd!ۚ* ad,)7nd z'E.!.$ja h9uW¼S7Ml/x.6Ez07ocs4vXԭsUW%]mԊ 1r^\ [1aχ3B".%=>z_A5"4TP@foT0pT]٦h:^jT"ΓҾ e{4O(7lٷ~(S&IxVA7(['^>ֱy҉;(0$!p]Bt,{K; +u/[uz R{BSf-}`TgЈC'z9^7jG +Ixg}KO.p}u +N $!|AI%p{q'٭kۭ{J)9[!{omɡzyrdӘ,ɪ̛hi7˽[ʎDۊ~5Ǯ~9O}$|(0kn\X4La!)ģ#Lqs +uhAݹ j^GrFH[6X ) d'Wb&Q b)\9($ͮlQy kվB"{U[XWu۪iXD&A#%u#Nw~4ԓ>o3)v4`#Oބ ֦<I@$E)cqbऑ\7 LS +;l`;Gkt'fb.?r$&԰BoǽShf']ͷժhI0G!8 HD51 «et?q +L᏿Kltx٭e{sRra )ԑgIwPm0wk>ӣ/vf+[ո*"o7w+UUhv̋.zwY([qcn. w7$]ʼŶu3c5EF33}SCٮY gBa>Խ˪|: {Рs+ӣuǶt\eX?ڮȰ6%vo-ԏO鳭_ŘGzv +3zendstream +endobj +1223 0 obj +<< +/Type /Page +/Annots [ 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R ] +/Resources 1236 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1237 0 R +>> +endobj +1224 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.518 758.562 228.431 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1225 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 240.177 746.661 316.341 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1226 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 571.314 147.168 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1227 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 150.156 571.314 257.284 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1228 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.273 571.314 288.367 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +1229 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.356 571.314 319.451 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1230 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 322.439 571.314 340.093 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1231 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 343.082 571.314 386.838 582.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (distance) +>> +>> +endobj +1232 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 119.153 364.789 142.475 375.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-part) +>> +>> +endobj +1233 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 261.282 191.172 272.186 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1234 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 188.824 259.263 204.764 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1235 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 397.875 174.478 421.197 190.418 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-part) +>> +>> +endobj +1236 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1237 0 obj +<< +/Filter /FlateDecode +/Length 2086 +>> +stream +xZm6_!_ fDoj)\S4}.E]"5(wcp=!dj8|f83 MRGs"HI3x=Cx+$'9W<,ZNLzht,3LJ$SJn[Wja^ x_TvQ--~*Dʤ2H>f~?IIxN d3JZO.'x>YYpE"R@jIRﮭɴ-/ނ~D( OjBSiVtWe*Z3i.DxRD +Z8p5ܜ3`=m1Ex(ڑ +XXϣ*ù U=BǗh߾/X}=ܪI(ǎjbbPi{?}ϢR晧,w~ndze,nVvaUHZ۲9~wty| 7@f <(% r<Ԩ_n] ,v.I* 0.ѳ ettu@1$E#k73c=FdU4pGC =@--d=}G3Ѡ2H85iQj!dmFeG4W74%眤J*yC=.yDg3%.PB1_8'8#)Xp2׻kbX|wJr@溹ߖ*[p afi^63AO"[l}}>т 7gI|V $m|(%Z;bC#侼ĕPi} !w=l#LSdہ="zѳ,fdR ~Ϙ)p,Gv~3}h'9oq9GSBydR<mg<҄`lXG(zYߛCE-ýqײINg^\gqvĢ@ khQ=mUJoߏ&=k?h{<&a`b]S/}4gJ*H,/I lz*8̽&^P}{cCO#|i;+' *q2Vǹvk(o߮ym}}]iQ@.Х SapAK~v|ST>{0x)'}dԚhßn0D!G6>5]>RNQh7JX +EdqDF +B3s(R +h+mh`5,؍͘y2%gil oKuNt,W{=\RYJϹr3R%s.TicZVg BhQO^o{hLx[mEMQ^hEM 2> +endobj +1239 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 192.657 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1240 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.888 669.645 202.211 678.621 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-part) +>> +>> +endobj +1241 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 374.726 159.75 385.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +1242 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 162.739 374.726 206.495 385.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-type) +>> +>> +endobj +1243 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.483 374.726 221.917 385.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +1244 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.906 374.726 242.559 385.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +1245 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 245.548 374.726 263.202 385.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +1246 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1247 0 obj +<< +/Filter /FlateDecode +/Length 1459 +>> +stream +xYmo6_6|nnb֢Pl%fˎ%~N(S"ɐ(rQwr?"$4Ba(j[Ԛ3Y9+l1+'`۬ئYa +x.zY^DJ*%<ɛh|fF.\=#?W2I%*yZז Ա`OQHSxiCa)LV|fg'PNE($g]v1"*>HN FE:[P3EL "0:֎ +E$}ͮ0ij0~V_baN/^ʴA' g˥'i.%,|%zbT^,#+3NMfP3uJn-M=Y˝X`2+ϴ5n{w&T\l񿱚[MX]V)CCܛjOK^Urf*5~fky^K§qKJ-XϚ•Zq 5Oh2m?/qnϨ?ȵ +U\ep&ˆEn-Mlzg>8vK۸> +endobj +1249 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 280.187 625.635 324.799 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1250 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 438.434 625.635 545.706 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (label-sequences-classes) +>> +>> +endobj +1251 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.274 541.352 262.108 552.256 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1252 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.756 541.352 352.11 552.256 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1253 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.161 541.352 472.486 552.256 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1254 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 126.108 530.114 226.601 540.3 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1255 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.596 530.114 391.534 540.3 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1256 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 519.499 138.311 528.345 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1257 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 0 ] +/Rect [ 221.099 489.611 247.998 498.457 ] +/Subtype /Link +/A << +/S /GoTo +/D (cite.n1550) +>> +>> +endobj +1258 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.015 416.495 148.65 427.399 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1259 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 419.905 416.495 496.396 427.399 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1260 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F74 263 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1261 0 obj +<< +/Filter /FlateDecode +/Length 2816 +>> +stream +xZYܸ~_1抗 pE1yAfO+-ɒڳίO%Q6bpRU|(8JIf9J]=UrD`X=IQ?G~ňY<.;Lv=.㲇S,M%w߼MhDb;YB S{q@`F`QA8]V9͂ݭ`2Tz_t6ݟv=|t "NcXkvz`INU[mbpSfZQo(Gގ: U\lqH-aW~л;#f7ʦ~H R\(~cB|QS'\`T&8h2ŔBiKebi""U'..EY6A>{ܺJ=I<HҦӛ bx=KlMOHhk. +F +xo!{ ̚1Z +5Is{<(| T)LPl4gܹ;aoȞԲU'JY=mKP.76-ai63vQS;(z[Ko ^ƛmX7McH6Uqv^=83J$aOhޕ,Ρ# ~3 ~^ߔܴPM6MKG mdK#uTVN"P۳" c82%Rpp%E:)LjlVdS)/?{x(:VWX9o׮v.,FsvByæ]ުoY7/)|f4zk8E9%6DY\{Fuc9NM_.ס'>*{6Oi,W7U}mDiKMȂeЊoh@K@-7yX'nTd}zzh{ᜬ;_ɇe{?vz>E9G'rQŤL*{X[1q@>KT Ͷ#-pa5K 1{u[i=lӞ?V&i ]² a23`mKlp:mfR=1SL*h YAŤ#5@9щɚ|6}媐!> +!3{Пvݴe. E#zRotOwW X6=)0z 6$8x j 2 +`l&[_bV#KE~ $]JʁbK!ٔ'LW>eᖞ3!T ;HJ(x'⮭ /H9"U`Q2S?~~ԀYl4*Ş8zhõUM!DpwBh\_ !CrOmHs!!цD +!igD*7SjNHɥnt)"MajH! Lm o}-p,%ΖD8S{RN Y% )&i rKGMZ4qBF>)'kƖu:8ustk1h3͸> +endobj +1263 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.784 727.698 271.091 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1264 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.784 714.781 274.648 729.292 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1265 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 312.988 106.191 323.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1266 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 312.988 195.007 323.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1267 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 197.996 312.988 274.16 323.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1268 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 277.148 312.988 305.243 323.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +1269 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.232 312.988 331.106 323.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1270 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.906 241.929 168.953 252.833 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1271 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.16 241.929 257.687 252.833 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1272 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 180.251 138.311 189.097 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1273 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1274 0 obj +<< +/Filter /FlateDecode +/Length 2345 +>> +stream +xZm۶_oPv:8Iid2;ӣw7 NrvT]{8ooBT'3<W#R*Qkzc[5)cd@<󕽤EA9Ce^$nwF~<")Fd~~8\gȮiSG@93osPP)J`d]==S9R(pI9;e~<|9E0ϯ+k!Wv!攠O'ck~j9}e(HZ֭崠e"Z=*| 1;3uwGo6Xy[;͛7xŤ-@sCl $QYl_hLw.QJ̖Oǘ)IA![xhG)M;um*R8z 8ΘDR~٥62}Wk]w\ $Mq+F Rbu~j ]mv6dvr;٣]D x_2DaiX#7ʺ_*DEBKFhd7$ _4^B¶٭6ֱ5ct,8EZ(J^I^+XV:~0W5 z؏_a98E,5ȼaq&1"0ރm:HЅ)k+3@h\9)$ehk[[oJ%1 B AfZFDxg:f$(Rle&GF?df[8 +W>moonX]9V: +BD8:EH?Y. +mA]5,ß~Ձr9GѴYʱKdH.ڽa8ړŤFgحuvP6DT_ Ј ӃlRkoو3"'z@s#՛/:[z:M.ʛmQpZ9 EpgkFw[o7Α1:DTNΠ\ OsocS,Q%C Ӗ$_ P!nހzlw~n5뛜 lOCFh6:߆y kAԝѓR9S,B3xI^K5!zة7Cllޞ^UzA鱺`N N5Ϻ[K,*yu׾Q/X;ھ, Y~e這?>+ է4"d˦1STNf3$xɯoh @#$\&4iX^pXT4xQW[ (q4\9A&%>^W]y + +?y,AJAJXHƣ(gdO<fbyfB}6ȒKhsho%; ,8!#FStv 0=gxFKY&,ؘ2mA0]g^+. |99=5F&4ȥF?&Y4W+ ulCIH_풖02i4@( TKn=ُkǨ=SrV&)hT|=Dh! | 11/RV2I+Zbt +ᐉ\:AÀZiR :-̞QDu_+ڗTph5`-{(Fud]\i3ǼRM7jOÇQUGXNCf>^* +5KG 0{ʽO.Jx']l&#S+5%\D_i)R>+EfDŬu~ +wl?lp:+w> +endobj +1276 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.414 675.603 305.721 686.507 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1277 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.784 634.955 289.611 650.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1278 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.784 620.609 289.611 636.549 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1279 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.784 607.693 282.018 622.203 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1280 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 352.669 106.191 363.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1281 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 352.669 176.487 363.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1282 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 179.476 352.669 277.746 363.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1283 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 280.735 352.669 375.419 363.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +1284 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 378.408 352.669 406.502 363.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (prior) +>> +>> +endobj +1285 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 82.006 281.666 182.915 292.57 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1286 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.422 281.666 290.569 292.57 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1287 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 208.032 156.831 216.878 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1288 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.414 154.194 324.241 165.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1289 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1290 0 obj +<< +/Filter /FlateDecode +/Length 2424 +>> +stream +xZ[o6~_GMiC&~<#jgF$_HQřd0,hģÏC_$?@YƓ~&]j&*zuN?Ʌϒ5N4쫶웶{\b"V`I i_5Mu|${xx?RD<)EWLpD_ջooVʙ@',6HaӔn QK^8fcl9VwDO;!b>SGgH3*RXuj#[<#/EgVߵ%r'(˳91[mi}u]d +Z\o j+,4@^R.>CO!p~i˩8^jյVy/skOX(D@;k +S + &ù5njӯ/zvXyPׇ[C72KgSz5?+]ha~=4Ui#ZPӀUS:G + 3\컠S!.L/-rUA#*V"k-w[!1LHL97o`,<,h3jڏpaq]N :/b(&]@7nhX(Zak`_(䳌!²S 1٥QT<2z-FnQ()":;R_2p)s%tp#a]*E^=Q򾚣dBiEQ2r_T(y"~6`TZ[n;p)Y5h!.P%.NM$>, ON}l Y xx~4@KYGnJ ; 1Mě0b2>Mrߴ}Ϙ(7PX_>΢G;O1g):|ղ6n#8݆m"Ǻ8OݞOGwttҞngQn12)`#qB#(p0cٸhP:Μ1Pqrpa1w`̚(s!j-1`4h7 z}rF&2.T32v*goTר: %NWL4ۿaDrx@ ˂jl!xz1kC30imăN["nD#͢ ❱鐈(,)6<ٛzSE2* ihUug'_šYҋ!lJD]7a1fc{ LC۪nd(iMp0vSPk]ډ=[ט϶ڦ` d9y9AbJ 3 aN~o=JMY ria^vmV|3L>CrA_l6aMf\8JB ھpm߲ f9V:lX<;z0b1%qڇ#vIk5=O8Ă#{ʨ<8&Ѳ<uos{,o!6{# ND } $QHEi~DiHCbKEBr04Q4>EIPQ.i0Գ@dQzla\UCM-+aQzKք`NhNIz*uyzx_WAgdC7^TT}=׻[yVE]RR5 3١ RMKM +t/%[joOHd#i:K62TGbka1A3kh/0C%2]$s(;ZROO ͣt& a|/)(ѷa?d〦K벯Kg bpȶfmt4eo'Mendstream +endobj +1291 0 obj +<< +/Type /Page +/Annots [ 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R ] +/Resources 1304 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1305 0 R +>> +endobj +1292 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.04 742.044 316.31 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1293 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.04 727.698 316.31 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1294 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.04 714.781 291.582 729.292 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1295 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.04 687.05 316.31 702.99 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1296 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.04 672.704 288.784 688.644 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1297 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 431.12 106.191 442.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1298 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 431.12 195.007 442.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1299 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 197.996 431.12 305.123 442.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1300 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.112 431.12 346.647 442.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (advance) +>> +>> +endobj +1301 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 349.636 431.12 393.392 442.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (distance) +>> +>> +endobj +1302 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.205 208.679 285.558 219.583 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1303 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 302.932 208.679 363.295 219.583 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1304 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1305 0 obj +<< +/Filter /FlateDecode +/Length 2173 +>> +stream +xZ4E$ҭc@H) P]\3q_vu@Hdf<3yvF2 LLI)fk^Ͻ_]Ξ}'Yլ\3D.W_'ѧٜ`'ϫⰨvx@W7eUeޑ=qe(V-@g1g#uq%ֳ[>MEl12IT#eOCq`ΐyBxF X.1JbE-~: +yOQrK*J)A^>Ϟhsu.%Hhn_vJϧ%Un;t9CV:N!%~hUsw54u8| k \S?<\ۛ_f56:) KԷ/jqy~uY9\&#:;yaz$#X6op\}{R,P+%jD" L4k=9#:΂;9wfI9u$XGQTНŏ} uT[6})>:LDQH3nPl X +^@iB:5NXt20Y(`O@ 5`.2OҠw4iuFF @bivp +V;Zdp^a£9g~^ݙ!:k=RB 7Ǘ$C* Husʃqs)ȠHgAiR'iGh!0΍^D[ةX<HlpJڒct>/ju,6`ryXfDdQngr}?<Պ0jFVbsU7WAu 䳸p 1Ը:>:Yc"5`BHHx@tDR@0K/ՙbY1].>$E,hRzߏ#y@>Z.lc[!!Szrz|֑Lۄr]؆caU$x9GT;o)5¿T,%ZwhQw0[=8E{/MnFch.R]fU O8L`U)WTh|^kWjg׻66}oMkPԾ~[" +zzGϜIsHJ~T %Y|9$Z%>{A B:> SġjvL.}^WEm0契m|UP0[#w+sמj ƞS +Mf벃ެad BOTn.MW;f2# < f=a4I!vv TS䴵:쀥U*E/9C4Gs&MhӴuG}>˻^oo22w2*iGT*d4j5"8hG='ϐz_?^q4i-"0lj8Em}-uq/v4݂џy=O&GX> xE;nwcS`\!̤~lDs$fj+bzڨbqbo=f4S CCtxy*((C~o V_yTv?}d7}xnVX1ٵc~z*(h= ~Mq\}oM?Ց%#G5bTuMaVekRDc"*E &w4qOP<߷s| 7Mýv -MZz1%h {]tTO\NJY~@Z'MhJUCZdߛ}u'(Oz*CBFF}P,VE$$'>zߏCGbtp~^{ M& ݠy6R_y#Q"K5dTw {DK6q韑| +n{޸/1&*b#Qu{Q?4" endstream +endobj +1306 0 obj +<< +/Type /Page +/Annots [ 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R ] +/Resources 1315 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1316 0 R +>> +endobj +1307 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 718.661 247.33 734.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1308 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 704.315 250.767 720.255 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1309 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 652.594 191.172 663.498 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1310 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 94.097 600.814 161.404 611.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1311 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 238.943 600.814 309.687 611.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1312 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 565.082 222.554 575.962 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1313 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 228.253 547.015 295.56 558.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1314 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 258.19 304.669 356.46 314.856 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1315 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1316 0 obj +<< +/Filter /FlateDecode +/Length 2076 +>> +stream +xZ[o6~_GJdHwbKⷶQ83r.5E6(3xH~ʏ?,XBKrڐ,Sr{M;E_,c&C v+\''8MRF)MN^4h6Fg:9O^,^6զ!&?-/@y@>ZiA0:ϔ0cBo<XɜC錑%1Lq $2љfUn2L]E]IN&ꖾ8Mt[ϫM,ߕ{U70<@ȱƫo,g@5FtW-J=lLC`#F$s/"鉭G>bd%jؼ,6;}LU +aE=@/of[ljӮN:jQ*3Q"Q +T:h@8=|5"Ȃ jL TCaF/A!BPRŅ#]GDek.ѐ Fghw ':O¦4at&3O΄;5.|)fE¾:6Tf6z!a,3FN&iCr0 5He) WrE?aǔ#u u/U|{1J뿣0~#̹0WyWJjդ4i +%e%Y\Kpwq9\7ۦ2v9g,Zgi I=&po4(Qw){Oo)+Ay\R(E$=x;^& +j<({Pq/,؇3AĵWAth(x _ sN/BboPUF{Xә# +GB ym۷j)zVsÓ4ӮDWֈqW.P c+y񦅣әЇa##ԾҶ?3$ߵ}fd:k`N=(y!+`hlđz}hUȾ|ldnɬWE~%0ռs?B뾰S*Kau +߭endstream +endobj +1317 0 obj +<< +/Type /Page +/Annots [ 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R ] +/Resources 1327 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1328 0 R +>> +endobj +1318 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 106.191 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1319 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 739.339 229.348 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1320 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.337 739.339 276.093 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (distance) +>> +>> +endobj +1321 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 279.082 739.339 301.956 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1322 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 390.373 532.813 465.723 543.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1323 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 396.619 247.33 412.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1324 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 346.09 191.172 356.993 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1325 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 294.577 171.217 305.481 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1326 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 258.711 225.991 269.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1327 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1328 0 obj +<< +/Filter /FlateDecode +/Length 2016 +>> +stream +xZKo6Ћ di>E1mrh I|K@ٕm]g%'1IQ")J^;>(hO adfP(E,pv?]ɋe +)XOu4;]/eGlI0ѯm/nP_Umyv]n蛪ȋ_8{\J)1ˮڶZ";:ߗOP`$"<TXhFp|%so'mP"F6׫6y\?ki!PH0ya3;bgS>֤vsTxZ78նW̍vԁȡ+n:5 `4ņ_r]퓩KH;zO^Gb|^2øM&t?uLL:=!^xܮ7t=/7Dt)8VuG;NN`,|"2Ew\;k.r- p"EZ;Krxc7T{ 7էZ +զJ_*(,Vh!qB i (!vK߂A9ɓLB? :QLUPxߏ+r@fH4}m@ +)%9Ɗfb@?kf.shN >EP "ڞ?{ma.tmۖ)-v9#H=@Sݺ?ΒqhwnNz{|1/Fn01;X3:HRW.Y5TSmJ]6aho[{&5/l6` QH(%X,M? I}?[ WC; @m_ND1dIR!AT;H4ɹTo go #%RFCH9t#i|F)#UW(Avrq)cSuD!}P{)1yhfČ6ۓ؝dXz@3yXIнm׵.Q,G3Bp!wɘÂYK;Ŵ_0YYc_nϫ#͹x<}Wpd$Hrp\w,,Y^U,|y2z1?DZ "8Q^c.D/Bs/@vaUMXv#Q>M@ta|`aQԢO=ː$Y|9z.Oz4S>Ha5|-g!8c"5sUU???d@~Er:{fddsGc O/2YB <,TH*%w\Eo.Lw+D;[|T;ٮ^b[!7> +endobj +1330 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.078 740.056 362.348 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1331 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 587.902 106.191 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1332 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 587.902 229.348 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +1333 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.337 587.902 270.872 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (advance) +>> +>> +endobj +1334 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 273.861 587.902 296.735 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1335 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 299.724 587.902 327.819 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (prior) +>> +>> +endobj +1336 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.773 381.431 290.781 392.335 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1337 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 427.978 381.431 498.986 392.335 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1338 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 233.282 247.33 249.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1339 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 181.561 171.217 192.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1340 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 145.83 222.554 156.709 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1341 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1342 0 obj +<< +/Filter /FlateDecode +/Length 2238 +>> +stream +xZYoF~_1@Vu똮$%Q$~/7h۳գ[$|%PAgXQ8 }@|T4T^ىC%HNVSArƃ 5n3FPfVGW Ds5>E^87ߨ5Uc81<1|#]}^^L,zN΢6b/ +`S)NRP> oFg(~V/j Bh'VӼB_UN.ˑ˞Z/>ޔuGDW]!oXzV?ħ,x2:uqYo +][{S\d3l'䞍`Xb@b v-ɒ-G\%/ +2Ԃ!, e{Ⱥ$yj7YybI +e';+x,תCRI88&-,bf1'!^Ő\mDTEˇlf-g #]{NK=TjmL$c-F I@D됪ConЖ>IЀ@z0{Tq4O tQBCXj"H%xpDcg$ڠZ3FWiA/S^UZӈ +yQcDyˆ眦OiLh`E7UF讚J{l.BG6Kt%!Wgm[|**S90PSPsz]wcO M|Mzm 2sf֫™T'mGOl!YUVSY'PT[xWVu͡qm މlx}Quʧ)0xU!JuOJ)wo^$E+{mEY‰HmPo Y4Zu&,/lgUMKR'bظeuFx_AX.ǪkS~ glS'?v)7 b;ȭԋ",]CP7Fc9}OmU*+Od'ze '{e;y6hkK5}ڤk;I슬ušOH]ɱy4E{eQj]3pݿrRLֹ M&)[;w'*zut? +V[;ǦL;QP[JcQXZTNT\ +I9 + P IRvgAEKu +a [;q4y=BqB |M3~/(\ 'D +Boe.#)Oe0O~G]P ކ'pq};{hR#8 (i-j&@3_iGΐ3tue$SnihY}V`ȶ%8! .e1D!DJ=$1 +K !'{t]Fyݐ)R54:iYϢ8AHg;яc;ccLMtw_L_\lm[4r AC]xe+yfmm rw!/8LbpӄYi]u}[F}Kz+ +yC^FtwDp%×3l@sJ'ptμz>gdHOwdP쒮*n9I""󩶃5DCuVhHHXEƌfh*$3c?=¤`4%΍3uٸa.-K4 +?Sendstream +endobj +1343 0 obj +<< +/Type /Page +/Annots [ 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R ] +/Resources 1352 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1353 0 R +>> +endobj +1344 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 507.578 106.191 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1345 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 507.578 137.275 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1346 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 143.033 507.578 160.687 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1347 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 163.675 507.578 191.77 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (prior) +>> +>> +endobj +1348 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.759 507.578 222.853 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +1349 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 242.952 301.053 313.198 312.011 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1350 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 453.492 301.053 523.738 312.011 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1351 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 152.958 247.33 168.898 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1352 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1353 0 obj +<< +/Filter /FlateDecode +/Length 2217 +>> +stream +xk6p@_zEMZ\{iv?hBks7*lɑY>Vt |}B= Z3Jؘee!NK(\)e)(5m?tDF`afe9 D +:刹mN?Դ)('OR% r'T~a6lS(!g3M,PÌB7R H7ݦT[T(Dv xwD,"|=Go]5:"rг0=Ng^^Hq A9[ ϘS3ړg: }Wfe2I]۵A~NJ„ ۸~\ӆ#7^Tu +& (܉w:qu7ˢ).YAVd>k0%΢>-"39% iH3)@w Ġ},΍e5`Go&y,"> +endobj +1355 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 171.217 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1356 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 703.608 222.554 714.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1357 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 434.502 106.191 445.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1358 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 434.502 137.275 445.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1359 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 143.033 434.502 160.687 445.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1360 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 163.675 434.502 186.55 445.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1361 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.538 434.502 217.633 445.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +1362 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1363 0 obj +<< +/Filter /FlateDecode +/Length 1628 +>> +stream +xY_6O/D|c; $(ЂJ ܽTv}GdVq2IΛ3㙱ˊzQ/b^'DJm_Y}4buJ^B/V$$L0b[GϧAxו*P%5#l4] +VU)T!%7CLF5/ 7I}$+ šo}+\ JKJ*K@o5*>ͫlc9{ Dq޺3H7wccЀ$3f'RR\+ Y@}S:Ea li1 L9#JJ MpuG8fGc&LKDŽI*b؉4VoH NG=_ -AGyS=>BS4boD$EKM4mhYS5$TTu*L;*'>f$$ab!ý~--,!#%6qLdgLy̒qlmVg{8dAKgQj6ګJ/wj~Rۯ_CbP۪2Đ([x ;3R(_)J~ͪE߳:/BF, ۷٥/?H~y֢Y=Cl/hTbIr܆,nhrDPԶ5ual:yAuMUꔡvrpn NM8jfbs=xVz ћ? %bS"{ &X>Ov&: Ḁ!֜z\U#ݕ4IÎ7ɎֆdN‍UeZZ^M34gR:ߐB%>3WI7ij2"Y Ŭ=&ȥamg34s[mGPbpVdV>i͓P,Լ!ռƅi2$CK6p1 +H]cC {"~'$b+T҂i4CJB6.ؙjz$In 9@:vVߜ gqq4Ozl;[4lwm;e.셚iw;!#vqo$(ǭYD8ќD^B]?a۳)@Z/;RC[ +6z`_[_PbԴ}hWF^>E ĩ6"ڣm(;n bW!wKb„vºrJ"V?PQ}۫ +Mq`߯Yendstream +endobj +1364 0 obj +<< +/Type /Page +/Annots [ 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R ] +/Resources 1371 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1372 0 R +>> +endobj +1365 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 742.044 247.33 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1366 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 690.323 171.217 701.227 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1367 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 397.441 106.191 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1368 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 397.441 137.275 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1369 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 143.033 397.441 160.687 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1370 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 163.675 397.441 186.55 408.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1371 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1372 0 obj +<< +/Filter /FlateDecode +/Length 1897 +>> +stream +xYmo6_ P(- +k;tXɷ[vؒk)Ma}GN:iVl(¨w+/3z!(&Rb;5ܬay_܋I jǜy #ԛSUOb,Kdu/K5G2jfcz_f2*AO0qǑw>qmg" 3fsXiD8G"0+9E4AwѶ B#] O?(X '2 {7))8 hOҏ B6ͫ\pQP&e#]Y_b JRXyo}@(@ $IUi=1Auw/ksPg5_(ЈJYVt@u}Ҧ6dpCy0[&pQ';Zm^1 +L +~7 Ld@l.SR +۝͕eY! ^nkPsèmv{뙃#|Ab?$" +C=G!@C0FZK3-S -S 'NXuRٚ&se*5۞8{# mKzcKǘ֋sgcQ7$Z -wH%^ƻ.  KOA}XƑjDJS6km:Ri@tnIRt<2 ȐF;ɡݝq@K3!1=<"_f r*/HI ,@4 KWcCnc-+E&L!( 6 Ҍ"hHg6Kc6 8w=֕$[Jd-jҵ\}Ӱk٥%:8'deP0ޜJvfM`ޝ `,C(UT7*_ez,oUnzݛjs&#hDkݾ+bٺM{iC$ֱm ZW,Y%d:eށC9b ݣ]B_%UkvVΠ^耡rhPAiKs4Vp)5_jA 鹖n-? +۬:l*5"ϲJٶID]~DvEEμqTuF&+\?貧WcV0yw ڥW׶30Ԩ츈ߋ;p&ר_bܩ v/xVxY}=_ z=Ǐ脋S"oܬc4;;o.NZSQ'Ҧ,$ґU`~e/^&($:<ϵ+_ՠ˹ $A#W1ܺRxw*KH{"2qYgI 4 +<"{C=BH;E9g玧$zw7FhGjԼsd[i"|Z{C3veD 0"?FrTPy!/veSŀZ{}[\Rw&̈)ጙ)Q9sW Щ7VwjN_cӹLwNa +j=?tywjGm m:;Bi N;Wv=(oWEb4oUl6xdiкO*!w?alIF:ˌrtD/Ku`,}fJ#t9pl#B4k7:_5(('5P8pB-7 ,C`]ېG^yhh׺=p?*LĦ@DľѠl~ZW5x DH\23endstream +endobj +1373 0 obj +<< +/Type /Page +/Annots [ 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R ] +/Resources 1380 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1381 0 R +>> +endobj +1374 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 654.926 242.573 670.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1375 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 603.205 171.217 614.108 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1376 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 567.339 225.991 578.353 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1377 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 371.706 549.351 439.453 560.42 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1378 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 274.273 537.396 360.832 548.355 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +1379 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.437 526.213 293.707 536.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +1380 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1381 0 obj +<< +/Filter /FlateDecode +/Length 1883 +>> +stream +xZ[o6~*- +.mj+NmemVedfPÏwnd>Op?$ɥBBd:d hrJD!DwWNd/WgY媨5!J +DzW.b1|H^O^@50x?'J&_9CXd>a9Gu6y7yq_t،9y3bVALH1 +Hey;WvaکiL{aڙiKXxNhdڥ׮M[sӞ{ +jڕi 8GX{aE=0I0 RԞ̉7)wyfRxFe zyb^MKH;b:u>ntm)&G72PdDQ=DNlINqPHJxoҩEsrNof 8r^.>X3٭uFRpd `_:μs÷IjԥMsVGb+p٬6A~oFG5ru<"콙.̅ÔV_\I*y F]!a\wovd[w~GO$I=-?Ep +0-.IӱVʠE + E@'G:sq[vXt\CV-7۝Y7l N=*o`0X;g4Ɍc +YLHL4l.Ia4R"FeN(w"Ff<6R&izmt +p?e}_v+T@˿ӳeKꋕ%~kya؄`Va[lCbcPuܫ~p]R=}0NfN‰Ĉf'8ꂫq[ nV#b{llwOFv2}+LgO4: rĽ`ڸ* :Yo>V7FY(3 w!݅IbM:Yy~,#KNPڗms' +T@k82 +s2BE~t/ g]O=f۝_GG36i3nJ!‚'wE>JEo;32uHu*̃D6DaX'b#z}Uh=fժ4E g +IEU@@'3 +&T0|58>oէc%#Crk)ζ- +@hC@dHmIx?T6 Q-f.0hdFA,H (s,`ш}Dú.Ja4PX~tHP |!腈 S#G.?6#?rfN+ B(81B:qPpb( ו\q]0qet"6 )eP 0ϗkU_FuS$w8t\՟e{L3me@kTC_e 9CŧKģޮ{]tv o$WZ}FOr|K8YT[9> +endobj +1383 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 106.191 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1384 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 109.18 739.284 137.275 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +1385 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 143.033 739.284 160.687 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +1386 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 163.675 739.284 202.211 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (advance) +>> +>> +endobj +1387 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 205.2 739.284 248.956 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (distance) +>> +>> +endobj +1388 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.944 739.284 274.818 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +1389 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1390 0 obj +<< +/Filter /FlateDecode +/Length 531 +>> +stream +xUMo0 W*qVmK,@珶UCJ|!rj֊.5~oǒ\u̡-H+(3`0 9m}7@[VOwv5ݦڞ`Es& +t #0[Y,}g΄stKQ 6j?`VvMow#9y&Ba.zQJMU!*$!=wkFCa|}LOnΗU,koi~?$ tQYEҐ{58Mo;}1y]@uQSu .IHϽ\.g٘YEYh> +endobj +1392 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.94 506.084 240.128 516.988 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterators) +>> +>> +endobj +1393 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 372.654 476.196 405.072 487.1 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1394 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 109.208 464.241 170.416 475.145 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.sgi.com/tech/stl/OutputIterator.html) +>> +>> +endobj +1395 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 503.993 452.286 548.197 463.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1396 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 440.33 114.51 451.234 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1397 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.462 353.357 117.88 364.261 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1398 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 263.599 353.357 324.871 364.261 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.sgi.com/tech/stl/OutputIterator.html) +>> +>> +endobj +1399 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 242.746 341.401 344.402 352.305 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1400 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 312.819 299.558 420.023 310.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1401 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 349.327 223.867 381.745 234.771 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1402 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 320.628 168.873 402.032 184.814 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1403 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1404 0 obj +<< +/Filter /FlateDecode +/Length 3140 +>> +stream +xr-RצJrȦR!$g}4F[rHjkwAnM'K\%I앧{j*Ҏva6zwo|{-;23A0 +KǑ 8홀PvPHi?\!x۱po#"qKn +!B2eYmHg5c=cU_r~r3%\ۍvr_#\.=< WGatQg\l JY8o +'ŧХaEDH%Y6#Qpjh&a2Z0PiXDr oA9gö@CA#Xp1F^ЩJ#A ;9f 6,QQy:N@\M+ѽPX{ڡp$SV% ' a(3Ƣok.T Df@&hC4&B rZh%jPceݝV?`B`h?9̵vqG#M-̼Y\'*q\0RnURʟ*jb)txL` +Myjd:+7 $X3䍕6QR48~-;| &#{:Ev'X9yK40WZ"rzVx"C&[Iة <覶'xnDFO!=#f9E-$g'>4YmQM# K.pdk@s["OőHfN_n%6U#3T |{/d~j"W!å?ؑ95Enk]Mj- +@~yVLH !FoRה%AǼR<%.kR >"J88 Ξ*S=t{܎E)^}zسmjCM!~kUEL f 68/45MT.7u0NFrݾj\\ <Mk5GZa3]F>;?n + BS l~vlqixxdx1|BL2qm$)D*tۂfa)wDBEw09R +h)`K÷/Mc4#T$"m KU&>T< /9PxRDuFu̟CKf-Cx]ކ}o;Z%[JB*Ϋ~Py/ Mo[s7UkW^7@K hVQ2^B<:\yɜyxMSヰVq?$#M~y7yg(endstream +endobj +1405 0 obj +<< +/Type /Page +/Annots [ 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R ] +/Resources 1421 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1422 0 R +>> +endobj +1406 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 553.247 139.666 561.326 ] +/Subtype /Link +/A << +/S /GoTo +/D (id87) +>> +>> +endobj +1407 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 534.368 170.989 543.394 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-inserter) +>> +>> +endobj +1408 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 516.435 165.768 525.461 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-inserter) +>> +>> +endobj +1409 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 463.444 118.385 474.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1410 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 463.444 232.875 474.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1411 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 235.864 463.444 279.619 474.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (id87) +>> +>> +endobj +1412 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 282.608 463.444 357.687 474.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-inserter) +>> +>> +endobj +1413 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 360.675 463.444 430.533 474.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-inserter) +>> +>> +endobj +1414 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.086 392.385 169.693 403.289 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1415 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 427.698 316.694 515.449 327.598 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1416 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 124.782 304.739 200.946 315.643 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1417 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 258.649 304.739 291.067 315.643 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1418 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.572 264.091 379.736 280.032 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1419 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.572 235.399 379.736 251.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1420 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.405 148.784 275.126 159.798 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1421 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1422 0 obj +<< +/Filter /FlateDecode +/Length 2667 +>> +stream +x[[6~cx6e6ObؚX&{(^DJM*!)[$p$2w4n.y_hRw zA$,\Q%N4ޯC\'$?,X#L2PD_mc> Zۡ$˥_a"Z=S"-Xm?Y=|#*g9:# <|pNHʦ=A8єվ8f-Krgz;ƅMQDxZ +TKz&eN ) cIN9ʄ0Q)DsHT_:02tor!ٜd)C"OhN9wA&:"wׯk]re;y3 }( )T)ŨxK)biǛ. `0{#ީyp82C/3pZ?ZܭAr?9$}(MLPd9:l;lT$%9EPсA# $.G.4&3 +G8;`Nvwu:R +dIX +n6VvXow]5ʝ:myCW!LNL/7c½cLS:1X~u5#iGw^9֎K/GDRrt7N޶΋_kCX2rPj?֛r(`PpΠԢZFDǖXcČ@yx?cQ[$$ T,*ˤꁂFI3Dq4J\Z])Iק;'mn $߲; m2m,`tksk0Bܚf&Ff`&fV95[鬶M$Iӎ+E Q* +0`-:Td祑E"3cq˾B]X^'j]W%Ary<F&Pd>k-<쎙0GeI(N(KٹY TAM9̄qNv|t 喈fо|WF?Zz|&{SVɺ~Cc4Sɬx< +&1[awۈq\R A)od2|7m>]պ ]`9O&vj[+ܷzKwQ۪V?Jmv,GVpeӔ^g1Ga#Ǥ"D%,widAԤ.wv[+W{+SoLy|2;r]IS謹0@YvQ9`j]>ۍ"W=!Hɏ`<9%%ةH/ 2TyjfEf6b]Lԯ"嗻-=ٯvMe +~BFb68b%ra`6ɤMDͪn-\f}&k/ױxa.HSI/WYDז1GAP@_x +--iH2$@( c@18E4v# qP:= +P@UGSEf}5j K + g xJxgr($y`\Z,)c}!&d|VTX $bx FF!|6'm7( w8,ɹ\ڝ*0U铼syyn/g'!>fTgNrL u +^ZUҠ+|>ffXk@#<46_^3]ҔЧfφ晁y +}>4\D|ό8⌌ j|9v`,HW^_};7:j{8l sLϞV& AL-goN'Hn<< IX`?IR"IW,gI4tA꫷.^7A;f?b~ 3I~f_dljX \2o*ZpX-cyX3K3 Fav@"xuShjg|?ATA zVOI&mʸ;;p/Hq#Ċ!?㹿:9gn|0"*J8t5E˥mp@>p9mrR3}GagJ>m>.Ik#57% &y^7CeF%oWm xZRZ}09vl>TVH,0un endstream +endobj +1423 0 obj +<< +/Type /Page +/Annots [ 1424 0 R ] +/Resources 1425 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1426 0 R +>> +endobj +1424 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.405 543.424 275.126 554.437 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +1425 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1426 0 obj +<< +/Filter /FlateDecode +/Length 1648 +>> +stream +xioH{~?< +얕V{m9ąg~N;̀@@dž(%l[4!zl!ֳAp$ Ø!(^.j: +>gD-,'e1'ש=9krȔ89 "W5& ߦ{*$<2&PbhE^EL +zFt2^=kGXPlQu MlIptӂ7یhJK#L@!`vrx/c4M{.<ӘLy0.qF0"mɸ&`e Kc$ 3PkFauAW,c DF Ah, K1Q9QW,"q<|h8^>*n>BX>`98_O:y5e;E5E:GG6= /sj/_VN}N/5Mm!7D41; ++\!E,[t +=1>U0$#gy3#5F"IJSȿp_Stn{+JyywT&B0g|KˑY3`/U(/̂ 0av^%˯UBڱW[jRW0P:ԁa[XU_H7dAf]eD~J \%acEY#cm~Q)V,ӂT5;+-8> I[]B*(Ϸ(!>eО҇PyxQLmb~>ɂ/HAbn LZd (]lU) +t%"Z&{,.c +Xh@i8KjyZ66SLù +.@zi q,&Y +D [$=A[H9ytaNc#Lk{Nk1m2U2c +bg3t io5Z4abȡ'ɢ჌w0Smsr wS=UTxk\e0bAg\R45 {dA1 vn4z&2 3HӷUd\kQ@rU#lءiU#tMѝJ՟O6>!xHˡב806Q^Vm2\X T*6SgNa`-0_"T6Ɂt{txYsx[XF<tN|s9h=3?mBv=ÇaaY*Aij ^L5Ewھ~Tc=a0Uzq W3*}RP(M!ʪt+;NmBl&IEh- Xendstream +endobj +1427 0 obj +<< +/Type /Page +/Annots [ 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R ] +/Resources 1437 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1438 0 R +>> +endobj +1428 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 697.038 144.887 705.117 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1429 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 679.105 129.225 685.381 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1430 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 658.96 134.446 669.252 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1431 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 607.234 182.504 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1432 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 607.234 217.911 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1433 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 283.289 103.422 291.867 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1434 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 208.774 278.202 224.714 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1435 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 157.053 475.274 167.957 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1436 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 139.12 211.595 150.024 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +1437 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1438 0 obj +<< +/Filter /FlateDecode +/Length 1602 +>> +stream +xYmo6_!`_b(Тb&ߖpl91DrH(Fv Paݣ;Cf +X$/Je*F4j +)Zq6:~$%g^ +Of1̏QJ릪U%#Isx^lVRV,ȳ\C Q""sJXY&_Vػ*jeFJ'yHo6@oCϟ#y;p>RE27f5ČK3>5c}dX#/X!DSd$N +z#-h3R*{P7=ү`7 S.ͱL'֫o6jD)+ B7ѺI̜uy޷T(WCw)iCڬdfE2Zcƹ7Hf&)a1-Bje>mEN}F~lEN} U * 1O +A A +zvmpN+0rwl6q ${ABi(BC&fWbvX0=­hхD*,fDJp#]ֶcM}abjLpp7Mwk`_y%K_L?,_֛fEd +Jt苶I%M~ +b-l<.V RS>3AF*OMIdṶrJFTf[sLP>b<6[=k)WP `N9ՙ71~Qq竹˪֋k[]R;5qZVj{u/z=7mV$&Xeߜh}D,zGy2_ A'oHDy+Ȯkw!:C /$tu@G6,F9ՎQ2=A +v4軠>dUvޞɃ>q&esVR6 +쬕р3E=.a LzN RKB ³iP@N:+DIz4N X!2CJ`*HH0e!aZfD\ArM.Fbث}D>f}ńflٷBz\j,.7psOfP> '=PD d󌍛],, ؇B؈׻]d #A0󱼄|viЅVv1m9zc7CK%vpUڪL~qR{eR|77tU$MN<[a`UG,7ۨqMu2-7=^ͨɫw)Cr- u(:Zd %P+~Y˯ۑ3>}g&_$UV:E|`uX,܄t)e*Kp?FgYht{p2sIqr|*4cj{~؀_"(xXC;endstream +endobj +1439 0 obj +<< +/Type /Page +/Annots [ 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R ] +/Resources 1448 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1449 0 R +>> +endobj +1440 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 256.466 743.473 288.884 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1441 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 512.36 118.385 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1442 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 512.36 153.792 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1443 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 156.781 512.36 244.989 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1444 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 247.978 512.36 291.734 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (id87) +>> +>> +endobj +1445 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 294.723 512.36 369.801 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-inserter) +>> +>> +endobj +1446 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 372.79 512.36 421.766 523.319 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +1447 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 204.385 103.422 212.963 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1448 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1449 0 obj +<< +/Filter /FlateDecode +/Length 1525 +>> +stream +xYmo6_!`_ fHo隽&(0[JlkV쿏"EDѲf(exo;>'$$&ReH̗TOˋ"M2izq=ig)&W?=)'{'jUԷ~>x=a!ly@{R贱[`$tz=.2rMjy?c4!RKvY޼* b̑%R8f~+5PDW "49Ѳ̈̄^;UXcl>I|]VټQΦםӰ=ޖ } k2)xf7F +^/LTS6n:߉m}L)3uk*L8 J4pPԶ⬫:UgPk(WsO#ke 4 <1q37c r˽CwW}{E>>>|D$M!Kcx +m Հ&ldLwOw";fYqLp\Z%Hll\Z"kɆB!``BA[cI%Fq.iu<Kh+q (ҳ/@L DhNU֗E#:|:,upc!N r7ӷaܖB\XKx gn%sv?VCpQ=Tb)?ΨV؜z΁ٟQbVÓMBӘTDYx=mq|U՛CE!k9ȗy>Fo6!MeQ޸:2a?|aֹs>"]eosbmsP.g`m[ +kpK8i9PnOlwAn\ +a"#3v@p;2(rlTDR~(X͖z2(>Op|\_4l_꼹5L{ooD68Y1vKendstream +endobj +1450 0 obj +<< +/Type /Page +/Annots [ 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R 1457 0 R 1458 0 R 1459 0 R 1460 0 R 1461 0 R ] +/Resources 1462 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1463 0 R +>> +endobj +1451 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 742.044 279.318 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1452 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 690.323 475.274 701.227 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1453 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 672.39 212.711 683.294 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +1454 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 256.466 633.172 288.884 647.683 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1455 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 402.059 118.385 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1456 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 402.059 153.792 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1457 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 156.781 402.059 244.989 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1458 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 247.978 402.059 291.734 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (id87) +>> +>> +endobj +1459 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 294.723 402.059 364.581 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-inserter) +>> +>> +endobj +1460 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 367.569 402.059 421.766 413.018 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +1461 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 200.208 183.633 232.626 194.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1462 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1463 0 obj +<< +/Filter /FlateDecode +/Length 1904 +>> +stream +xZmo6Bm R.(^Ev)Zە~CQHvch 4M g(c)JVnis˫hfapųſ3g9fg4۪U<)v!!kh/ַmW6۰XEU ֯Ao~9%,BEzq1O쎩9+$Q$L=f׀pAJYQ`f2Dzk%XhJJ#op1[n*pZa9?EInVSf$TF>|ACVdgզjvBgSֳUVHCJ+U]unTM1R<=mrI 8#c6IdG@#ԜSṟVE3g3*4hnм@2)Ahd/zh OY}$]_$ߣ]\!3w~|8; ?)c9;ҋNHeh%-݁Gxu^sY7zNI "{ F䭒+r,:mfVj(t"s@('u *cˇmnIH?= F.6QbY{V7f.H)ODz=Cpq}rj6Џyϙq#&@,Vtxs7 >||p +L?y0jn?v6M{]RQNF$X)}9"Oh9 ގd^,)#YUP;˂p50O҄K9D_Z*{G&0e=u/yR9u'eȔ?.uendstream +endobj +1464 0 obj +<< +/Type /Page +/Annots [ 1465 0 R 1466 0 R 1467 0 R 1468 0 R 1469 0 R 1470 0 R 1471 0 R 1472 0 R 1473 0 R 1474 0 R ] +/Resources 1475 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1476 0 R +>> +endobj +1465 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 689.615 103.422 698.193 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1466 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 600.754 286.279 616.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1467 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 549.033 475.274 559.937 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1468 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.855 531.045 213.259 542.004 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1469 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 284.301 490.398 316.719 506.338 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1470 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 212.948 118.385 223.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1471 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 212.948 153.792 223.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1472 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 156.781 212.948 244.989 223.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1473 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 247.978 212.948 323.056 223.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-inserter) +>> +>> +endobj +1474 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 326.045 212.948 395.903 223.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-inserter) +>> +>> +endobj +1475 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1476 0 obj +<< +/Filter /FlateDecode +/Length 2327 +>> +stream +xk6á3CA5h4o"Zڵ[JrCRG,{S@.Mgyqc6I(`~sK^gϾ\ L-ͯٿ$~2_ 拫]Uzq( N-RMނ?^^|(V|`<ndRη3u6_;Vm819c%qmy8˂!% +X1.$ՓK^6dDd;=BnWvL9H=d|xBmVt!|6 Xݮ6Ӿd %g$ xWUoTҏd@bJX}ux* E!}u;v4s hz* aA| úDB^e T-sX) zYL1"L\@ ȹD$I4G +$4NHr7PVIl2Cp]YnY1Bc1Mެbg\f$RlktKuF$Ѩ1(#D(-)|qmx=m 2+:a7°0| yM|-EYEHӦmN&2)yYP8AH8(|{2tߑw2|]i0TS=zX%04 noO:oQGxz,(^IL׏4Buӕ Tvoݯ]wQЋ(@apw&Va}z19S@=6wEtTaQu)= A.TҘDI$Us'xrw琑XF;`z8I>J`jJ$O^7ƩSO$L,$_>2a"!.BhPJCjt y1_@iu@&%9*8bz,|"CNʬp]h2OT~A6tmXܤM K MVwntS7nA.LTm{ue5b^CQOB*hzvlvZ=>ݘzmU~$j+Mo+*Kۇ;/܃(nm_Tv2o-pUR}"i:2Z 6kw/٤fyaul\9f͈S6 Pz@<|0|uQ#vp/~kR_]F|7߰e]m6@= _vueF> + u+TH3t٦w}[oCujB\U١БvZTeBX8^RazqxD,/X@ߤm.\ ['ٟMm;l2Jwendstream +endobj +1477 0 obj +<< +/Type /Page +/Annots [ 1478 0 R 1479 0 R 1480 0 R 1481 0 R ] +/Resources 1482 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1483 0 R +>> +endobj +1478 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 424.49 237.175 440.43 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1479 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.619 395.797 272.023 411.738 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1480 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 344.022 180.074 354.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1481 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.719 344.022 300.123 354.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1482 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1483 0 obj +<< +/Filter /FlateDecode +/Length 2103 +>> +stream +xZ6B}]`͈/=ڠ@zM-k췶8hmyWmy%9pHJ!Vr7y~ 4Y')",60_y{;{.AJRޮf&Yp\q¯9 0ɫ)-a^YߗU}Hh%azac3|Kd(^dB-udpU!|q -wuQedL*|ЀH +C/씪s4_e;HƖF\\]7S׵fǼ`sJ8EQ`,C ѓƼKAhأG z&BCl ObN=Z'4XYφ7F,$Ibu_k$E056սw[%_u^K+ pH kB{zDN/ 9{;]QbB-v`΄r9gD]^/b_7KYà>oն "d!7U^׍y*W!~Б#l[ TmV=yU`q$ε\Wpv=$Uy'lQk/| +.b;7#(DX 9uqo[Ǣ ±2RaߨQ CVՍy\d).͔ܵ`|o%PZ L}]Xv8nl{ogGq= +[3 UQ_7bxOC(Xo7^"f$OfEЧ)I&[Y-JŽ35S +]j3DcJ(ݜ3^;;Jz_G,.'\^p jxV"p{k? !Ȣ),<ϰ$Н^biy/c//+rt0 㢈E|t(I,  Zdn=6wϻj,$d͙PI(T|qQdJ6`P)w>kAžm g Ag\b4UkFG'Bz-Oy(Ӝy+fmbQi=3=3ȁB<(4r?|B/Aiܖynoaƌ09-DF_oXW8>NS=!gvˈœZ3c&6& DWHcMO}[*_5i,w#@м2~E4>{ ?Uf4P3Cp"f_e=h Ώ71<7}&q(xV)0>3qOR.U oqZ0VVm InFendstream +endobj +1484 0 obj +<< +/Type /Page +/Annots [ 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1491 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R ] +/Resources 1496 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1497 0 R +>> +endobj +1485 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 658.96 118.385 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1486 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 658.96 175.571 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (accumulate) +>> +>> +endobj +1487 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.56 658.96 243.197 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +1488 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.186 658.96 295.162 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (iter-fold) +>> +>> +endobj +1489 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 298.151 658.96 388.891 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-iter-fold) +>> +>> +endobj +1490 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 391.879 658.96 414.754 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1491 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 417.742 658.96 456.278 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1492 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 304.34 237.175 320.281 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1493 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.619 275.648 272.023 291.588 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1494 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 223.872 180.074 234.831 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1495 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.719 223.872 300.123 234.831 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1496 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1497 0 obj +<< +/Filter /FlateDecode +/Length 2406 +>> +stream +xZ[o~ׯЇ-w۴& 9ZZtJjK.Ҳ ^Ù\>acAƢ(Qt9w;v'ףos:.Q HN/)"g_gEbie\gx9b#-FW_,FΈ)̙@tX Qcc$D9( _wj]ԘV LQyɭ?}u^ij_9ĬZVZfaqkBuV=Kg?qcL${5.x8{I[@V PQNJJZx,w ^oxp}4?8g87G84 g8ޯCf.޿' axB mમM"u49A8o#W>kڋ i9*kt*hE/$ C\5ddC"!um{+{ g8čhod&ۭEXujP?QY4so-`.D5cmO$"gBgHjPa_!z;mhgi7n߬T?Aݽ)ubgַH:KOv;יIana,S۔p|U5^ >ሑnf)o>@MS*mT~eV,S'gmQ(4J#B(+N*e2]b !{5OZ#YFNBt]Kf5.׺Zٛ_(܊60_ꄟXS =ҝGu]Ň+H-azѹP&Yh@ƨ< +R"Qh\6DE;N)5HC7NX;FS]Y.QQIbeb١Tb/-)$z$YucV5մ 髖\\&C.˸u"2i%%ŀ?0Es5в^"MְK ++q0d19AٔTiǘ}8RMh@4+ Q?ng(k叵!,dmDo5J]7LL +b^M#z#,\XRF+ib'N@20l6^]nQTuRfH1ZOʻ#(:H'ıEXd&"ӈk=!qv_{|7wVxwN$v@3a7&Ss@Nilb*OBQ(g,Xvk&H]Q)Z6O"z ǚw?RD[C `xW-of 77leD"RWg.$jL֛4]DN۶t-3!d#]S閍5jqϟl} WriF:W{li]eͧdQUDWzQ0}G?ēC>gPe=\z$@^u+0p#m $ FA3) }dS I^4IX' +7[4^57sM r )Q&>/K &vNciv!yg?,>6yyl쐞ye1%8Иy%̆ԣu`Cċ.< $pTVE,("EYBKb~זڌB!#Ʌ MoeOm&' ~メ?B:t\ +꤬ PP$T̖APv#$n;'8cTPWg\ l =k^}L$SRTߛ)LwPr9?T,?"<^%^Q%19|uaNfIyy޼yA6,$Y"^$//endstream +endobj +1498 0 obj +<< +/Type /Page +/Annots [ 1499 0 R 1500 0 R 1501 0 R 1502 0 R 1503 0 R ] +/Resources 1504 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1505 0 R +>> +endobj +1499 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 429.87 118.385 440.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1500 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 429.87 212.114 440.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-iter-fold) +>> +>> +endobj +1501 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.103 429.87 237.977 440.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +1502 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 240.966 429.87 305.603 440.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +1503 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.592 429.87 331.466 440.828 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1504 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F14 11 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1505 0 obj +<< +/Filter /FlateDecode +/Length 2025 +>> +stream +xko6 +};2|bд!Aw-)Wu=wHH: E.97g#,<љ!ifF_hT$g+\fo3Aģd(ًC^.n +\]Ym*b5Gɯٳ><Ֆ@WX_/g%aN 3&̤V׿ֳ/ cOVRZ23T*)#Zrnܻ1w +ͯABErE_\D[M B3*"(k 10ptx1ʮg.N^dKO$] 7g<#Rd)[ 0?q=wc^y1I2iZv=!DJ6UtOT,U + sN4X:c#o|cۀ2ق +f)DB[T(5`4rb̞-v3u)l[MLCdjUFm!?釈f];o#Q"M5wyGqCАiˀ{GhD_ u«v,O^^/(,#S XԮ\S-2XC\݂(YI /yø.a3$tY HoA\9k;qgY+DoAPw!F|{ʘkJ lmpe:#J랞7g,rS9%eMi'S3 (8pmSqEm4:_|,`P?X֟&0kX~ѵp +ϓ]p$7ɦyT9`}ΣO Xۛ{69c2DοCڽ@"x_(40j4hN0N W)hF~ݠH FĠ(A !poV@) +Oz+kn#U`5`,G.N>pwO5xz] pT*7(~BTrJ8Gg[SAsլ>u0An|@~| +tü@v3>'MqS +/0yc~6.weXWhREZcʛzAD.n1l{Ҹ!ا 2%yfjQt9DYkλNa:Zw,!e 0#:JRB=>JO{v4 w^BlO^=.|i4IYJR=3>eGGi/(߃ 8}-;$ق%D@WT^Vo1[P``Aݾ*"!h +xSfN~=^W71n`X"dMJ dMpV'pF{z\#Z/n] {ףݧ^mGY[ +$"m?B}pEυM)3ʫeY7>Ssm6:> +endobj +1507 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.767 647.603 241.931 663.543 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1508 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.376 606.955 276.78 622.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1509 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.376 592.609 276.78 608.549 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1510 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 540.833 180.074 551.792 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1511 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.719 540.833 300.123 551.792 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1512 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1513 0 obj +<< +/Filter /FlateDecode +/Length 2105 +>> +stream +xZn6}߯2Sli􂢗omk[+'q#R(7jBkWCp̐I0#J5R$'v /O^Jh=Z5CTrkrɣdI0,=|E<9cUyUn['/^qRj0%~i1"Z'Wzzǽ{\t)ըm]e2kxTc &2o`(igYaڭiW]δꂲxa]M[i7 ߗn@hϥoޘ*e@B}bgm˰`(5z+ee'ap:NuWO*Rr#uf2y:1a w1,%WqgN1J!H08DG>n)!]ۻv|lo!XF1@P3uMe4Eد,n,a +!d.'( Jl_Y^7 A"%9@B]}_.X|#vѓr4I0]?)Y'vz;#iON~v0E&bk4b +HSɩJ#-JzS(вAW̃ Cokg5b[TE6WծtU7i|.(!.ܔ~-)lkUʻs=6U=uf4N\~rK|uW徲i{kcXT%b7(zqOf)fHb1EB+H*枅 +ĨCT@| +> +:Ʃ`~ʪ +J=T/E6B3ݿ]L;!Ft45*&Vj-l~Sgm>%lx'Pj0zCS&ƠW] 0u=Lqs +D/x" +Watғ\5"TMZLZa$I{@.>| <l{DI*ŮNu U7P*+c{AbU'<ҏm{/}=#FJ}p"E|\[ {`6 LEd t_HD9!y`FC1eȌ4f.uƴ|. fhZ~q{W +lmJRk( (+lTƱDBN,8a]̜X" ttj +#m'rtf>X"dȦQ) +̨S>ugǧ. 0̿Kt5la;_Ё[\'NDOmn? bgadlڳUn%ޞVNPwߞwJ ){?޻c%S{PSIU`k_9O^囝Mtt~ۜ^U|m~mg 3ZHʜwVTQ$quQD$E a,c9" + MOm c)TKӆ> +endobj +1515 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 659.015 118.385 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1516 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 659.015 144.248 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +1517 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.237 659.015 237.977 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-iter-fold) +>> +>> +endobj +1518 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 240.966 659.015 289.942 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (iter-fold) +>> +>> +endobj +1519 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.767 268.475 241.931 284.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1520 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.376 227.827 276.78 243.768 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1521 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.376 213.481 276.78 229.421 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1522 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 161.705 180.074 172.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1523 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.719 161.705 300.123 172.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1524 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F102 888 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1525 0 obj +<< +/Filter /FlateDecode +/Length 2483 +>> +stream +xZQo6~_! IQHڢkc!jmMkwH)q嵽izBk!͐ 3aGFi&Ipt eyj=#W.bD]-g?Eg1ϣ9GgߴEe;4oַU]wFit?Aϣ_ogﮆ8)O%0/p ha, 1"BDKD_G;y"{NX:I3!)J,J9Ai}GgsTmVת]#ud^wzcA"I.+gW3o hyڋx@_NܟGLt猠֪Fr$gp0b!y❹tNWJRWn9(` Vi/U{jPw7nߩ3gF~tbX\ :bF_8+7as3Osʐi4)JpY( ; +:>WvTH*e>UzjyJ3O= +#39p У)Eqzhf+%b.PfI;iVews AKe\I&9`3eNdҖa2B~ISs4YӶdFi:b41PH`FuE%(׀jt +6_o]Sx&NAA|8ﻏ."NBCqqz  +sLP Q+aܙĆKG AnDž&126?Cx:}z\oGZ_Us6fπQqtҧ ${ꦲ ?#u};`/Y2WRa@{gp Gs]x}%PJ@BhD +a/!vH!Dvu]V&!1,3( E𧚛=쮅]Ntcͩ!6P[|+3Y< gjql`L5Oz- 0.̓"_#6J3poo #Sxd%X7:B +26`O!A/:$UX~B p\n[X}Hzz2^O*ؙGU,jcEg߬H3D{B J3lWWrY,/mvVzXZ VU-!J:^'_ۇnݻ6iR{B׫7Ml)0FuPē!Z + jwYz"W{*P +Č! Z0"FTp M{+'ѾBc>;#]9T9Gd9?w7~"u1,?]fY1TU'ξh8: -)0h fG~H3$R1M4Uضc1D`p`cH\ځ@.&T0 #7{V}!>)hd^g}?C=>t~ɹ*+Fi'^Ga|.zR!'30{Ii|g14V[*J𭓬_÷hq->^N>[,F\+PJ%\ȑ q;YBW/TEi*9IalO)F8J{ d}6E+B%l f$(D=i) ?;y/=P]Y憪j &4m1*<.~ORU_W?}B߻ž-l>ju74[I i:7 œ=C$}$OY>z<x3 3 Z&S ץ׈'{[Sq]B2+Ŧm[T]hOCطW]B\(\ŁqA~/`8\RƣNoܠU/ա I{gۼ{nC1f>?Jendstream +endobj +1526 0 obj +<< +/Type /Page +/Annots [ 1527 0 R 1528 0 R 1529 0 R 1530 0 R ] +/Resources 1531 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1532 0 R +>> +endobj +1527 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 154.956 118.385 165.859 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1528 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 154.956 170.35 165.859 ] +/Subtype /Link +/A << +/S /GoTo +/D (iter-fold) +>> +>> +endobj +1529 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 173.339 154.956 237.977 165.859 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +1530 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 240.966 154.956 263.84 165.859 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +1531 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F14 11 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1532 0 obj +<< +/Filter /FlateDecode +/Length 1929 +>> +stream +xZmo6_(ivˆK|[uD84;Q"u(MVtLẍ́!b5",V0?,ɳ"hah|3ŵG!|"ZQp q)gD3Ġu)WDH鄌%:k{pI%"\2/b R]HiXΞeQ37u/[1Kgqe@o.fQ@GPM¤«4 J5p^! +ȽBV*zpe$ѝ-~Wk˒&Άb}8;֔EI(}@w 1Yga&8%5˳]r^հ!j/ st7"61-[a9:֘Gcf,P~7]6k{s&Ŝw: `{g™;:_d{%zf hek`ڽYWM*;Ĩ`r}0ª`$~O, Wm}OmSy<fU"gYLVtRe^&T\@p[jJMK2"Oܰ@!Zun35%zakUficžpܝ/sq!_#pta`pZKQK'tw~HѵGooZm(Ƞ:g Np9A܎Of!p3VhUt +ZEۂ`#{,9bSu71l=2o ɯh,Sdf͌kD_f8|?r"|S>q_ex:[tΐ {u#|W]΃܂AApq>9I\0_<@HTƄR>,>4~:([SĨREx뢛7̒WjD<֒%V7 +-E#MД44uC Ħo2z*IzjARdپt1΢CC3V,suL;a" +J+/yK0ٕ]%7KVeq, EB)aAU/feendstream +endobj +1533 0 obj +<< +/Type /Page +/Annots [ 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R ] +/Resources 1539 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1540 0 R +>> +endobj +1534 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 364.562 548.674 387.436 559.633 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +1535 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 424.49 237.175 440.43 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1536 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.619 395.797 272.023 411.738 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1537 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 344.022 180.074 354.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1538 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.719 344.022 300.123 354.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1539 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1540 0 obj +<< +/Filter /FlateDecode +/Length 2195 +>> +stream +xZoܸ߿b>-zIKvɃmZ&q"EQ\6hDJoIaKI2N|mپ]ūw.v O(",׋ߗ +GQki[T%,~|̛nDH`$z#),o{!"xeܓx,]S4a (4`! V/Wx[w"PI;F^\]S׍|æQ01#f=tm'=~203O̠g2 OІ$+xީ!O76 86ƑvL<s4 Gڹz;3׌ ;-Ea{;Y?!*b;!Y#EzkD4+”(A<&(e&YD}nnoZ 4,˛a3*tLǠ,T #qۮGuĻ:-}T/ʕ14a-jP?Nj NLZ"l U\ e[("uӚY|4rmc F|Ae5&ef'-Jn봼#~#A`qJ33Vk0b#(*`WAVL$YIpv* Ipɜ%ڏK]|iqֳrmvW89\#uw8L|xrwѹKnsh X񓚶#KFm)c]DQ&W"`z1`CC })cTrC% Y*LPC-&йzQL a7 v vZ5;09(AT[mdbj2FTE4!f}BHrłUFPb3Dcy\__ V +!9yEsewU Y +|ola3t1r4[gY;߂jq-̐$≝[ȑcAA~cJak5\*wp^CREߪYFخ7kHg5` ;2sx\1ع" +]&;_~u>ԕGwV#'^ 쿤ۛ~ݖcP#q΄ +Cѧr拓"s +aɉ";%uoe65 .i֩ +{hMq3۷~49xFu+fm5orn n@iw>Hc~y 5(]y{fibHsOfʘ1 2P$|K tfLsqn'95u;;raJ^m+F9<ֆ5NY瀺:c#v!' gdHṈEY&\o9};q=Jٺ6 vjq8ϙ([اTuOu?{ %PLJ]4ֻKp0|6B?@]"{JgzcnO$lD(,r +ſ^Hendstream +endobj +1541 0 obj +<< +/Type /Page +/Annots [ 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R ] +/Resources 1552 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1553 0 R +>> +endobj +1542 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 658.96 118.385 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +1543 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 121.374 658.96 144.248 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +1544 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.237 658.96 211.875 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +1545 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 214.863 658.96 263.84 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (iter-fold) +>> +>> +endobj +1546 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 266.829 658.96 357.568 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-iter-fold) +>> +>> +endobj +1547 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 360.557 658.96 383.431 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1548 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 386.42 658.96 424.955 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1549 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.429 312.335 263.593 328.276 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1550 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 246.268 180.074 257.172 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1551 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 210.537 222.554 221.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1552 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1553 0 obj +<< +/Filter /FlateDecode +/Length 1908 +>> +stream +xZmo6_!`_fW][ EӭE׭:rb Si ;/!)qR2x{xwy"E%,/nv codB +|.WN@b˲,.b{+Xŋ]77y;#x$ja|I}3*U +%JB|;>v]җ +%TNe+TIYT2j?%8qۍun,ѯK`8O37.qݍSOSX鸓pm`Wf#:zooʊL4n\v'[Y䘔HJiB鋎wo<Ɖ'nzb45ϫ 6iӞysWJohFM,>\C Q3B%ܻ~YofjX*?ŁwRoU+tn=]bismlv4jsN CbA&I{ch4ͳB\Œ?BP l +dJhW~guLnAXJnDc{^HNk/To?Ȗ{aDnnm[:A3]ഩ3D!V +"vDN!k,6e2#[V#dC>c +XBJz#"XJ =@-,RJ + +ԟmZzMTd񽁵`)pl?z09U &@Dkhҏs7c$ӗ䨂CbHcX>8|Vw(P".]wF=! +}pHWg;8l*> +endobj +1555 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 587.957 158.505 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1556 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 587.957 205.249 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (contains) +>> +>> +endobj +1557 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 208.238 587.957 246.774 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1558 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 249.762 587.957 277.857 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +1559 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 280.846 587.957 340.263 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +1560 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 257.192 251.43 273.133 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1561 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 242.846 284.057 258.786 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1562 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 191.07 180.074 202.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1563 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 230.336 191.07 311.74 202.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1564 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 155.394 222.554 166.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1565 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1566 0 obj +<< +/Filter /FlateDecode +/Length 2101 +>> +stream +xZ[oܶ~_!/1eě.M=uzA>OM(-Hr?#RFE+8EΕ+ bIJH* 5^^x˫UVFjeC zI:{pHx˪ULuOҝ^13jgP3>}`mRmgʏ0Ij +b +p@mW7a1ޕ 2ipw: qF ©u}} oՖO8I@^w\M67EPgMQH!¡ʷ&kr7P*z3.1\]6s aGGCm-9&P>6ZsҐh,_M\w3)ԭio>R׎t&>3^0CCxgxL{W.w)DD.K*1kB.|jYOF|Tb/ Yڊ2֎gHԣq)]Ѻf֨CФ pʎְ8iSJ(?Lpn.KmjQ c0Fu-[\D +'8>_wDCy_,n8d 8l1)nbBH P9-8<\$Jg6[qEJg/BˎrC^WDLK,\s?Nu:ʬwAI$RKХ^#ruӐeM-۽f@?AZlˆ! =318QúPgnmѦ:"^s !A[Nxi{𻲥3]V6Ŧ^٨{va4ԕ0M@*׈|e#_Z"!_{w4L-DF[j8fE{!Bj +,?7Pp*x<{!z߯ UpK:Y~5$Gp;."d E4̭:WKU7ž$Fv$H;Q!w0T\VJ=7 -M4=?˭[32_/1Eڱ;g&,yi +KSՐXV|o 8u_$o ұ嵝}$Ixz_$9CKdے~S' zt{D(Tm]qחiqKNڑZό G g~(p]ִDu'ugg pgqSVP5]endstream +endobj +1567 0 obj +<< +/Type /Page +/Annots [ 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R ] +/Resources 1575 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1576 0 R +>> +endobj +1568 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 537.521 158.505 548.425 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1569 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 537.521 184.368 548.425 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1570 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.357 537.521 231.112 548.425 ] +/Subtype /Link +/A << +/S /GoTo +/D (count-if) +>> +>> +endobj +1571 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.101 537.521 293.518 548.425 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +1572 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 330.941 229.757 341.899 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1573 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 206.756 256.187 222.697 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1574 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 140.689 180.074 151.593 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1575 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1576 0 obj +<< +/Filter /FlateDecode +/Length 1979 +>> +stream +xZ_o8Ot/u 4RKZzd߮UE7$Aڅ4}061&MuҩkuFP'`NFDYgsѫsXkD0..g'gbΜ읬"%L |gO$}]իAY.LL5 _ط3(tKh9">h>j~ö_$:/G3&( 3ػ|iI}x}fo#БϸZ*1iƋf<@ɀR11mf| +)yW +Jaf^6R}|~VlLnNC"xD{s(SY^J xUyɥR+v4wdUWjʭB|AhiR:Lyhn63f=-h"`o}WiUY%wiuoeAck]%1 3vJaU' XB6 O|p@%2YUis/`)XwlVd. CTpz` s +2$ZEY*$r-B.cߢ%2i^C,PtKsTh~Yl0V <<6Pidkcˁ$g446E)+mǘqV[a|+j_6h5͟ z96qOc##C >y[#^}I{JfNDIψ+Q.GZ1 aUO2CGR~8OU[3a\\q>U?lrׯղRP2Da2P,}ɽҰP +CA7Lo`4:zzK){ +@&Jơ[bR/fR/&Q07 +vԋԋRuAXz2;|iM4FJЛeUq(2>oު{""(zU$HJP=t<G-lN d(lZFsDuK5H-.{`[8a1pĶ诖H7օdu<zm*76Ȋ=Jѵ[~6{^N!B-` s}, .yp69)EzSw}@:KM5x(6J+( 6-) np +ym[sD>LO&{yvg%ֱN ud 7g>5(t]B&ddUwYMEmQvgqh%A:]Xu\#w<HDIaM,d<6R"X~DDA%ÑrDLEF79? 0mQENg`q.C1(u`& '7H>}>M*0!df|"Ba׎%`T&źO gMZL/C$SaU&rH0!ޓ@Y5ynSCRY@~lbP*p=:kج `mS[K7qV^&q}̻OcFD;\֜ Tkw +lr:r# {΢fRmѾ#U,# ".쫇μ5mi7"20gg\|I".liN8j> +endobj +1578 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 740.684 225.991 751.697 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1579 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 501.655 158.505 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1580 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 501.655 184.368 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1581 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.357 501.655 225.892 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1582 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 228.881 501.655 256.975 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +1583 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 259.964 501.655 319.381 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +1584 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 170.891 256.187 186.831 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1585 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1586 0 obj +<< +/Filter /FlateDecode +/Length 1829 +>> +stream +xZYo6~_!/6eK GoMȻ-`[u"5(eC[ej8p.R 4P,P:&Q$jW{;SlLj1a]N1'L`q") 08Kl}L'˫M׫m9 %;sfYOtօ"U¸I`~`NBc|8VLXrr>7 +)cE($f8橥edz'`m1 f$Fy-ַ;lTIn^h>AX;+YkxQM4 6'1E zrEN`rYƼ!PF&Y8%)l43.{e}ňB'BЎ'VtTC/=2a:"G_zY_->[‚¦tM.[ HeN9-+sf[8>؝"Imٟ}e5Z6lCZ)YsP4ɳ-d4rlAW!MĜv,x5)M>2D +oثTCڒwhr\˄lvļFQX+γ_!z YB\x=x52ڶM}U 8CjߡDojTu>J5y[ !CG:qǻ$OysUn*TL(g+Rƨ8}@EgS~NEiJOzc`Z?,C kǏ}6))zZْك _>K*-_KX^ZZNCXeq ="Z#TӷT' #8a 2RФBJ1(вߖ ,ee~w+X* e7 +KF -)gTrRh^.mU*#pHIW o7RC7~*z\kt: Q[ ܅`!zѳ< N̈ɢhNHzڝX]N: 7Wu|qq( FGP(Lwz_58tydm)x8^M|~ݺY9hpr!^D(IlP̶UI6F}l YƸҝL{xWf|Eendstream +endobj +1587 0 obj +<< +/Type /Page +/Annots [ 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1596 0 R 1597 0 R ] +/Resources 1598 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1599 0 R +>> +endobj +1588 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 180.074 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1589 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 703.473 225.991 714.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1590 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 476.4 158.505 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1591 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 476.4 205.249 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (count-if) +>> +>> +endobj +1592 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 208.238 476.4 231.112 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1593 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.101 476.4 272.637 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1594 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 275.625 476.4 319.381 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (contains) +>> +>> +endobj +1595 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 322.37 476.4 381.787 487.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +1596 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 145.636 251.43 161.576 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1597 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 131.289 284.057 147.23 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1598 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1599 0 obj +<< +/Filter /FlateDecode +/Length 2065 +>> +stream +xZmo6B}q,#Ki mkؾO"we[֖$n~#RF/E֊3y# BGD)l0l{нFߜ^UdJ0n` + |]< her'N6No@5\ ϡpÓܾ+ġ`D +Rw Q +5b7iI=tLBnfG36a(*`SMk&[IqUERܹuڲiN8-;Xy7T&OpXIx)%sƏt+L I Cڴi䗌G`[榵L^4si_;+rBEK3C-=& +F1`5G3!I- g2diE  j^f^i$aP?`9#yXy}LCQϫcr&A"]iNF`w]Zn2g3;I\g"2ݟp]ojeW TF*@t,|AeReŝG"f41QlYN;Ȱ{d-=rL}&Z%L,>E4~*(:\ZwNjq/3aݍ +q{8F +"٧UZs0EZ T/2^;&{E43#U!u#aW\Iv| ^c@:vH{IzsK};精>bOֱaSHu<;h +anoTmXo#u}Y(ChnG ;@Gc0KF#>F+ٟogg*$0P>jI>Z(uОPsG7OcNa7ϊ#Xo*@ o _^P*+Oysca(< a9Wendstream +endobj +1600 0 obj +<< +/Type /Page +/Annots [ 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R ] +/Resources 1609 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1610 0 R +>> +endobj +1601 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.284 180.074 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1602 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 230.336 739.284 311.74 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1603 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 703.473 225.991 714.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1604 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 404.669 158.505 415.573 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1605 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 404.669 189.588 415.573 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +1606 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 192.577 404.669 215.451 415.573 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1607 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 218.44 404.669 256.975 415.573 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1608 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 259.964 404.669 303.72 415.573 ] +/Subtype /Link +/A << +/S /GoTo +/D (contains) +>> +>> +endobj +1609 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1610 0 obj +<< +/Filter /FlateDecode +/Length 1787 +>> +stream +xYn8}WbV[%]v߶EJb@IN.wDH@ߊ $gə!y7  F1 Yn&sTPsbC4c09g~̨.- |`>nr]nK~lY|/8Y68}h?N\ő.ql&< k߲|YQ5M >6akmyșU.renn^/֚g9₹`OZރ +(U$_M2IN14MpLR3$.p*{TyzKejA:z4+̉=?{t$v).OJ ̣؁*Q +*%dsJfY҇Qp7%3ʛGaEzd CLKQ\Yd."|n_ߏmaV̇Gjo9[ Eڠeyt)^ QDR*&ʵj(+Q.JW|J6L$`c8*Ed+"L])T63)8Q4\yah;שD{S&ȫe]ìc LɌ+pc;A 棳 U юsx/z]`I!1Hĸj x< +p̐3&x!ᾯ;9;d5FWH8A@/@ ym 4afXpk2$v*ocTC C&?9AwϢr<#m~_׏oj]ֵxDNPҖh +k|M1 5VmݫeeU7J}b_YP6)UZBB|xA &%W[.A[@iP$nn1%[UYI7rj.7q˫{rԣendstream +endobj +1611 0 obj +<< +/Type /Page +/Annots [ 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1617 0 R 1618 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R ] +/Resources 1624 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1625 0 R +>> +endobj +1612 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 666.881 251.43 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1613 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 638.188 286.279 654.129 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1614 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 130.749 586.412 206.913 597.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1615 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 245.558 586.412 326.962 597.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1616 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 550.736 222.554 561.615 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1617 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 463.028 451 548.197 461.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1618 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 439.045 101.21 449.949 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1619 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 239.787 158.505 250.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1620 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 239.787 220.911 250.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (upper-bound) +>> +>> +endobj +1621 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.899 239.787 246.774 250.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1622 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 249.762 239.787 288.298 250.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1623 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.287 239.787 350.704 250.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (min-element) +>> +>> +endobj +1624 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1625 0 obj +<< +/Filter /FlateDecode +/Length 2486 +>> +stream +xr6]_}gMdvݦtM췦efJ=)l;c /?VYLx?<&4˙Pbo!PJX{udXh' +iZ :2dr[Zr +OJ=zcRO^zиcz\q@sEcǫ9oy{ߌwR1Y8#2`Dy/6ԨP*=g=$zY ̬hLRFh/diLRp$$a eCi2GFnPR$)}W|ؖ`Fb iNٱh&i |Z,6\7eR)$JcQ)RE.vopHT0Yp(d}FA+&{0h82ѻ}Xuw(S@jx + O ˪d] pb b䝘R0{Kq|O LӴegSM8ڽŽUȄEϾe_羘s,IE('p'Oh :Gxȓu%\8; OOyv6I0mQJ]3qx3IbZ)\4*C!z#rOCPz:eY4ɗ7p_=b F (r$?O%)YfTr/κ+;-(P=nkw#|@O IY0c`YIIItۼ?lMhĞ7:sPřd_ "188u6Lj%(,eB-?.My/o?= "BAj,>"l$}RΈrՆtzwd=.EcF̡=zw֠Nl2tH-QorPʮBZZJ `,EQc!c(lR#W&B@2-QW:C'kˀv꜁ 9~if_Wۻ:_vu=mxO8O,bu]WnOLGkΡ<2U_q?ߑp1oc^[[p|PK֏-GpJRzrPl46UHќ9שih.< +5D ؆1j'(g>.e{$}Ȃ/*TBȜLRÅKϠ!"K ƾMCgKb1{?M{S}ki';cA?$?endstream +endobj +1626 0 obj +<< +/Type /Page +/Annots [ 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R 1632 0 R 1633 0 R ] +/Resources 1634 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1635 0 R +>> +endobj +1627 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 522.821 251.43 538.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1628 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 494.129 286.279 510.069 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1629 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 130.749 442.353 206.913 453.312 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1630 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 245.558 442.353 326.962 453.312 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1631 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 406.677 222.554 417.556 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1632 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 463.028 306.941 548.197 317.845 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1633 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 294.986 101.21 305.889 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +1634 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1635 0 obj +<< +/Filter /FlateDecode +/Length 2423 +>> +stream +x]sܶ~g"O}0ESgܴd2ԉ;I^$%@$Hx rwbGEiHhY-=]%z٫G(/ov ,^8O%8:{/r{ LmUݦV2Fc$9arH'KҎaa1JEH%act;B K@ҔY %iȗGg@sǝ =nqc͖55zڠ#Sg DIlח,&YFIom{=!l8ֈ+=Vֲ$_G}8%k4<{!cD "LI3Bg,-:7/<}HI^0EV$|= ߖLђ3"chVukjv /NEu޴vҠ4K=Tu[A%1'wH-`XٕB@9YB@2 \RkUq) {=j1j(!TuQ#2KA"](UFgUL4h(D1 >VG_!3. EB (l6Hx7| ʠ¼7E[MX! +vtLJOJǾiNf^ŀzxNg4B)>/+)ˆ& +Bw!_BE7K(M3^eg9ѦضcZSv*Z-YZy*qGTJ)I +DTktKW +0$i0YLg'u $c *'p&O h :Gxȣ]%\8 !OOySEMgs^`/$[ (cơha?C 9O6I!񩃞OYzG Q䛫kg/vu4ڈe08y$y*H̔ISɼvNk} ue>' ᅽd(gx:%|oV|ۖfK !kf`P pJ!L>fz>7@%Uxģn0#I g8.8ܡԵNbHHZYQ~j $$R0R &!`? }9du뫲\G(08dW:aQ}&dA>{iT ?N7Wh oK;2TU +^<-Q$AP-6-PIMe0M *c(bL{ ܙrfVcC6GvWuS8h6'd lj +IU@XaFo:좫3Ddvu7ƖzSntbo}OR{+Gs>ҹB(;AV IIIt鉕V7{`O!̬J7} +}%[2zɿIra xQT=")85:ihV,;HD +gpX5(gpȅh{&%5b%`I%A՗6;"' crGoFe+DjW06uPk/HU +\u\rV`벩^* e`mpLnp}hԻm)c:`DX;aA6ࠔtY&>63j EH2`wo!zTD&|ݹ0SG D࣪c/6 +wC6oIU*z%WJ1$s*0WK9i zi]s]`{oo tuSٹ94_lv"Nj޺DU8'X(UmZdCˇy:S?u* q* -O= + M99ih.< +5Dn6F6`lO~ ̧|PPa$}|Ʊq8QV~w4KDhzo97K=^0\o^G=4) =uj(|[ XaǛcP=lLt&cr^1dG{i#WOKca&&v=qwbZ&wy۵ lݝǏ]CgMo?XCc.^5 +endstream +endobj +1636 0 obj +<< +/Type /Page +/Annots [ 1637 0 R 1638 0 R 1639 0 R 1640 0 R 1641 0 R 1642 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R ] +/Resources 1647 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1648 0 R +>> +endobj +1637 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 158.505 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1638 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 739.339 220.911 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +1639 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.899 739.339 246.774 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1640 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 249.762 739.339 288.298 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1641 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.287 739.339 350.704 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (min-element) +>> +>> +endobj +1642 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 408.574 251.43 424.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1643 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 394.228 286.279 410.169 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1644 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 342.452 180.074 353.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1645 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.105 342.452 314.509 353.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1646 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 306.776 222.554 317.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1647 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1648 0 obj +<< +/Filter /FlateDecode +/Length 2136 +>> +stream +xn6}b}q ëDmmEQ46 yFUőI{HsHQ@QTsacs],SfFW|^ߟϞļ  ݧY2cv($/ 3 \r%9@/AwjLٍe]W JDC&x"{b*Hu$wš[fy]DĶ8"8D3j`'$"6&!۲KDUC3 ><]PZ~*77Mնɂ2'KapfP^:6b3r) +u9'??D,wZ!ܱHgyMvrqdzU&~XHE{uͳY 4LP< +=F{CiE$gr3y1&X瀧!|h + +f 9)  +mjhf9/qZ{rI (yWvHɜܧZTWJyc Ϯ& +J(2G qj"ʓ| zByduBV2N2D'NYҫYNvцMՕ^aDg]=fZhgiv]1l7lꚟAog<}&M1RsDB /aH[ ܕdmd> Wi vT}a!vh`>gtu.m.w”>ƋmUOW @oSݩ/Gh!ӖiXΔ5y|[Sټ\w#LP 1Cf{ p  +T> +endobj +1650 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 670.916 158.505 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1651 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 670.916 220.911 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (max-element) +>> +>> +endobj +1652 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.899 670.916 262.435 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1653 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.424 670.916 324.841 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (upper-bound) +>> +>> +endobj +1654 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 327.829 670.916 350.704 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1655 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 340.206 251.43 356.146 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1656 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 325.86 286.279 341.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1657 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 274.084 180.074 285.043 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1658 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.105 274.084 314.509 285.043 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1659 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 238.408 222.554 249.287 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +1660 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1661 0 obj +<< +/Filter /FlateDecode +/Length 2195 +>> +stream +xZmo6B@8廤 \]5E!ʶ +KucpFJv=!G333>XBKRYNVb55az__̾N$'9W\xr"_$sF)MNݕC\WכݬNw>(%a梯'iG _?(y|kJX'Lݯf'b V2%5~͌gXqmƌWf 5fX$ [DfkDq +p' ff|  R9#R_U̲A)2D64@/?'3E_!z;1{ÉlpJ3.Qhfy%roC~xa"As.INd.8QTt9/KmFN%a T{.Q!i+z +?Z0YJ/ͤ}FVӈD͉\{G<J +^Mrvi\{cn4g I39I3îr},+xvKdʅ@?@q)it41D4=BVB 52 +p}t&74SѨٌq,'6@qr@^Ť%#L$Ϫ-W/){|ql*-g*rmr1sf&rm#e-b:#^}1ֱl9"1~pL6Z:4nwA;EwK~':}9VRdYf[Ŏ_hOQ +_d(r jR-abU6fQ ;\K"ti+XSB-O.-E]mwf ߗzl]YM~6WqYrr]6;7で㶎Z\x3==ّ1qC,eBXl(DϏA#|1H# Cw&w6r[ˌaA[l7b]J؂$t>} ʰ3Nz@elBy#{ч|L #"ʲ$ OP9aBŭ$rJ Οc7)K3*S}!RƏc7ΈyO!l"5K82ܟoa]Ny`c6$g|l~U,}N5,׮%wDz( ޥK#zY'LC($nz('$8gpA,-[Nӯ.=MQ/n%.θ&ғq&~gA/1O{=maZC$(TF)ԏqtsD><^鱴 +-V7ۺlhB"ډ@08uF(ϏV,bul| J~$*^PXW]L|#J=LIʘ抵r +laSB@H(h h& 'kTَ|WѶw4:GHb=ͨ:vK-1I ;~e[**{h_R\~OL~_N ڋDqx=8{`|r 4S^iT/(hN4ӾPj7{c޼W{˶()dؙ<T!~wIm.r +AF ٶ`|G{ |$2L{h)T +-Z6%zu+#tqwTz3xӿrbZ/vouYO 0Y֛aTW#(#!y噖mV֙RFj)PiqXnF @b%X웴}qswm@6P*5`ہ#}F[iqWصeu1S75 +w}i{HPw*&endstream +endobj +1662 0 obj +<< +/Type /Page +/Annots [ 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R ] +/Resources 1674 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1675 0 R +>> +endobj +1663 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 627.727 158.505 638.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1664 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 627.727 220.911 638.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (min-element) +>> +>> +endobj +1665 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.899 627.727 262.435 638.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1666 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 265.424 627.727 324.841 638.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (upper-bound) +>> +>> +endobj +1667 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 327.829 627.727 350.704 638.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1668 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.657 409.247 230.615 420.206 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1669 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 273.108 270.442 289.048 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1670 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.887 258.761 305.291 274.702 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1671 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 206.986 180.074 217.944 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1672 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 278.923 206.986 360.327 217.944 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1673 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 171.175 225.991 182.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +1674 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1675 0 obj +<< +/Filter /FlateDecode +/Length 2256 +>> +stream +xZm6_!l5#$5^% +eG/QV1PPJTjZVyPCj*DhTvȌa`ZNytbUZcE| +#ùGEDU)8#$uaSj_.r}nv ϊusޡX KTl3Й N +&z9F&ջEj?^ԋM/01'q@>{;vv8k1(WF?LYU'"&y6N 1GjIeLx@C)U-gT|(,9=Tm *(Isjl!8DUfMH* *=Ic+"[Հ`}O)/8UJRIZkGM;+{tiJ{i8a?My.DiW`<hg4} g"v>IP!v1s~j BZy\Y y =G}~YlW oi aRt!ucP;u X`gQ!W6ݩK0/;wAqKȌɽ7{/]}>$`S%Rw☇U {q<K?b?x*BsѹBU*Ȉ ưc"jYqXHb&*bqg2c/]@qn{ǟS+1C0CiJ3#ƣ~9j/?1 D Tsdo;@19a"+5?>|"QI;l1]bnb̜+VKxg=Ƹ,@ ڳ/|endstream +endobj +1676 0 obj +<< +/Type /Page +/Annots [ 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R ] +/Resources 1683 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1684 0 R +>> +endobj +1677 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 567.409 158.505 578.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (querying-algorithms) +>> +>> +endobj +1678 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.494 567.409 184.368 578.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +1679 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 187.357 567.409 225.892 578.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +1680 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 275.502 483.125 307.92 494.029 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1681 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 71.004 471.17 132.482 482.074 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.sgi.com/tech/stl/OutputIterator.html) +>> +>> +endobj +1682 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.022 453.237 312.721 464.141 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1683 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1684 0 obj +<< +/Filter /FlateDecode +/Length 2313 +>> +stream +xZm6_o֌DziskonpZ,9{~CR(v6p(p83<3$$q%2UEm,nD% $SݮDKUJ8WQFK*4Zvb޵@)Pl6z9Ჰ zNsK*zxu닏\$xkPE1J2-Ҝ"͡Gn

#-u PEDGⓓgdPpQ +)HsYyy dtk[sa~lWKPH28!ܔ +tT/Oe!)T!}NQN}PUaׁ7~מSbrZZn{iv,3kz㡳 +>g,E׉4TPexAt;tED.q#]jCk3{a +bd4p5߯eMQV{`3hktI/ +0* +5fNeS<=J=ۋz 13F0εΥ17Xp9X/ +yzځWz0Was]ZY_!n0 $Me. &d T ] +^_J3DyHOzPkvV+P$>qy9t=~$$fJ))nU +n&T5G(:تHRY7& +BriAYRC ngtJV).QA/jVLB&.k:L˧z< vcriԄ[eFۍqz*7Ms?:Vendstream +endobj +1685 0 obj +<< +/Type /Page +/Annots [ 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R ] +/Resources 1697 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1698 0 R +>> +endobj +1686 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 687.558 159.212 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1687 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.051 615.1 261.215 631.04 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1688 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.051 600.754 217.469 616.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1689 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 549.033 531.064 559.937 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1690 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 531.1 180.074 542.004 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1691 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.546 531.1 251.964 542.004 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1692 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 220.286 182.504 231.244 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1693 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 220.286 273.701 231.244 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1694 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 220.286 341.328 231.244 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1695 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.316 220.286 382.852 231.244 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1696 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 385.841 220.286 434.817 231.244 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1697 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1698 0 obj +<< +/Filter /FlateDecode +/Length 2094 +>> +stream +xZmoB@؀; 4N&`oW> ]Wݹ#RԎDgE[ÙC G?,'Zdk?pƿ^$'97vz.WAz&"]~vF % 9͈1?e,99Ib@Q-rfS4ߪa^\^O0ƶ ۮl`ۥm @]q۟m[mc7]vA"*4h[b;lܵtX aM J'nA?WbHuEY݇s5:܈)ꇝӏ4)vu~U5Tpzv*Nnh֩+h@P%ZJ8GVI90 +PX &i^G?v+IDJ(S$U<Rd a E=IMY%WC  ׺4Bf$g7P:V^ʭc5l=|-5H0Sc uԗgH +APЙw}OC{wxb量`y˲ I.׭%j=p;?[>y^zg{ vRlurM 7`y]ګ:3N9H2ոM{j64WKC3>AMSs҄K. ҈ 2RH_P". A/G=a C08Bţ3d0v]~}.MS.>v*s˛"2qx޼^8w [ +w=eR)zg^mVS6w~xYvWgj}E$n&*\ +OdR]=a:E|BAVEu6p|sh&3rzyJ%6,fH.AOϤ uJ<:nB)vYG Q+: |֎lkNyz1'C0u,O3 <'R*awW[&_ZO?TY( klQD[_R9T9GRmBmTU?GyFDoŠ9#O[svGq[D6)F54"4pX\`ġ[ࠩx1GaOs[6I&NE;/?jTYF'{pR]DU6(9nW¾(1]!+y?26$ӪF{5ؗnZy Hr-C͓< ? W`6 ;P#{D} gAнxz`%JrF` ct7ǧ>f6&IpW)EM wJ>H䘚2gY%j]m[ѻҶW+4u4?"݉] G/ ϯ~;47-N{DyQ=3v`{s@:B׫E_~H~ᗹ<*^]Q=| `45J;IƌzJDf@x'dY> 'IL<ͤ^cF1#1ԁA`y0D5KUJ`xyIƌ%"#ԓxY:ه2 #Q0LiD:iDF#& s,"4"#8Q r`5b_R%OOh8ݳO&QH-- +vu:)hE{I0 ]dzs^z3UƲp$E[rҞww~k6S͝r>޻u5vNj?O Um/jendstream +endobj +1699 0 obj +<< +/Type /Page +/Annots [ 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R ] +/Resources 1708 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1709 0 R +>> +endobj +1700 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 501.655 159.212 512.559 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1701 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 429.197 256.187 445.137 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1702 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.41 414.851 288.814 430.791 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1703 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.023 400.505 212.441 416.445 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1704 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 348.784 531.064 359.688 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1705 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 330.796 180.074 341.755 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1706 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 330.796 309.249 341.755 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1707 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 364.382 330.796 396.8 341.755 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1708 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1709 0 obj +<< +/Filter /FlateDecode +/Length 2189 +>> +stream +xZoܸ~2K4 ⒶKOw]i-EEQ{}!3őV4 bIJH* n7hw׫W#$~0ɂ`͉64 `}}"XY/&uUJ a(U] jبK;in4L.w׮,zwgxE| + Vpq%bIX1#j)b"$N (KP_2vSwͻk]z4t?kDJR) 叆@m/msbB˻GLmw-ݏ0oKz9o{ IPgZrPG["Bjj|6V ?^s` /g$+`N|)IHƎa!lgD]l]%,/xk.2s) ١|gl+xحB?T(j͊(o6?Ǽla(k-#[f@bw'x)݊y#Y0aBcLRnpixp`?Tm/K>8B#yU b0;EniڪKeװ @^7`ͧ 3c֓q{C Mt)목>4N|hL9`_k(vxW/:} xiyezPqs!8I$*)Ici7|b.%T]a5t_4zn(;n4 p ++ OE;ŏs{!=D)2J& ϗSG)Xɝ>IC[+|>C!w9= atm ՗O^eX)l@`O ` +(\ +׋ [^{{uF`-c4elH7xȗv-kԆv*գ7zc0lOςLJTC^hcL{B`ѢC3Qdd]P92&WXvȒ0L ̢Г-,S ٙlQH-[wD/lWCW.(fE *2Gt)gD b0Y<&hC o^w78C7pocy݋!:g5Tmy(˧,IYs9 7=oN gH1.ciOc`¯2teuM<̇A}# A_\0>MI'|f1O%j0F5 }DYhuE_Ӡ*T:j'[ (@ԇmR}~PQ{pdP=y[iS\ Jendstream +endobj +1710 0 obj +<< +/Type /Page +/Annots [ 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R ] +/Resources 1718 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1719 0 R +>> +endobj +1711 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 507.578 182.504 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1712 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 507.578 273.701 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1713 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 507.578 356.989 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy-if) +>> +>> +endobj +1714 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.978 507.578 382.852 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1715 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 385.841 507.578 434.817 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +1716 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 437.806 507.578 492.002 518.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1717 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 141.509 159.703 211.536 168.549 ] +/Subtype /Link +/A << +/S /GoTo +/D (overloaded-name) +>> +>> +endobj +1718 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1719 0 obj +<< +/Filter /FlateDecode +/Length 1419 +>> +stream +xYmo6_s|صZdZKI HQ>dɰEѫ,><ICEj$H&N_ё%K4F/t4_ ~OdD0j_yE%*2$Ax2\g "..,|Jo!r*U8d_o1&_3FDd>J Z ;~E +uĆ"RĘL$H3{ ;+WVf2Ác6ǣTZ#F6rߦ]3IؐlQi~2]" ˨Uo٤m,E )b ?=x#[F%ZY9b$h\fl:QEU\vU1])FiJiKLe 0+LeQv;&xS#N W HppEkَֆ Dh.:JRV;MVy%&ck_cבLk4V j/D瀴Kvu M@tx7Gs$~W3N {s`9P= g@[ li߂ P^ʇ'}H 8e0SՈ2Iت1`W+ |midN ʏC@+{Ix/?|G%k~g1L3bPό|_^,̠hРg\D ֠sCbU7k(Le,~/.Թ  +QeU7k+d=[/US}gecgQ W/p]&!S.Z?o|`$%<1HCL |LΕS)JRL%D,vB +W] <>Mp3jw  +@d0 +{P@#a]W5% YHo 'ODA9 `@1َm Ld:ӍPv8KC3Ժf.C{]6f-8-Al!1i +|i9PZgnj#6gYLXu 2x +N&dZtrZ;gӢ?eADv,G0 zxWu;bN,7O@0(2 kE@k tki/4;2; ])N%UNuq|.:IW:ui^ߙ6]WNWeê d8c x`dVLK+G=Pxb!1y3o`"sF h\Ӗ%k:/YNƺÀb +>nFz鉏mZEbu6iȴ_^aNn'unټބ .q +1H^BBXrzк[YUQr$_l+3kP]Vi^q[+k?G'/X@+=뷡h Mfʌ +*eqPo)0lƿTߊ= ~݉-S>2Wλ$ߪ/IzɅ:sکGN5"]ksUttH7ާf 52e04WAc)ALP)"1dX#q{ہoh\>v֣| +(= #7ksK^'쿐ͽb#p/K$a]-5}D\h ApP1*Vc+EGH"}&'Ie`3NTy"G["=4$TXqPLySLpEzhCH8HcQƒ"),V}@7Wb/>e)M} n5 zxg>W-.FD~oRk -ԵH@Ï 2ſː -endstream +endobj +1731 0 obj +<< +/Type /Page +/Annots [ 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R ] +/Resources 1737 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1738 0 R +>> +endobj +1732 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 471.713 182.504 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1733 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 471.713 273.701 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1734 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 471.713 367.43 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-transform) +>> +>> +endobj +1735 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 370.418 471.713 393.293 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1736 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.281 471.713 450.478 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1737 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1738 0 obj +<< +/Filter /FlateDecode +/Length 1831 +>> +stream +xYmo8>ܦ: mR{ͽT췦.Iv ll DSU/yr3 ##ˆזּ3׹L/s"U#0938 꺮3iy- X$G|3k{w 6rmB[ehDqZ[V Mtwُ#%Efe=B(#G'@mvj͂8[ E%ȉqK֣S H^ #f]P{51leT'р3Dٗ"*'hD&Qz /x﬈T"rdj![Z[j>X +^Z4af\UI;rS]7Ϩ>-kS!18ژr +[U,J+"dHĥVky74UkqjQa2Hz~\k@Bfͭ +Xت~ݠ쿖/j c)8GbnGvU:7z{W89%"!'^C4^qiT7&*OЭ;Iۼi-atMI=צ*M#/MNr- aouJ^'cF7kl:6h\$sEfgPL*y0UۻD|nt,GaW&/zE1@cש@(AJ]TGOiV$y*wټn\j6-јVJU${tibkvGM>OB_De۸*4Rۋ"Yh9\ T* WiaUfVJz*I68*.CqƘ59qQ6Ɍyg`+V K* &7 oI졧Ң#! \iC&Q9kpTKB5ĆB!J#4;{DWE!|f/ʹ}g(x9tim,Ç&>gk*j[AV_{Vendstream +endobj +1739 0 obj +<< +/Type /Page +/Annots [ 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R ] +/Resources 1752 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1753 0 R +>> +endobj +1740 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 159.212 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1741 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 666.881 251.43 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1742 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 623.842 207.684 639.782 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1743 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 572.354 531.064 583.258 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1744 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 554.367 180.074 565.325 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1745 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.67 554.367 235.087 565.325 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1746 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 279.63 182.504 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1747 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 279.63 273.701 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1748 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 279.63 356.989 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace) +>> +>> +endobj +1749 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.978 279.63 414.174 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1750 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 417.163 279.63 450.478 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1751 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 453.467 279.63 502.443 290.589 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1752 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1753 0 obj +<< +/Filter /FlateDecode +/Length 2274 +>> +stream +xZms6_͌{Moӗ4Q$*^lR %Q^{7]<].y7I +hYMF|=I_h)d$z98a%׋ɯ'<4MD䬜mydr-׳] @q-9:YWm2N{<-~:T)]w')SB,YO5V/-?S?A +MBQuďE . FDƜ^xnBGi%@r3DܟXUa߬*QiW/5*U@(CePMJ#|3^z + $fD},F󱛥 #(2&%UI cTDGnTQ ђ5} f7ԕkF8էճՕJ}]ͫyYܺxj)$ZSi) m6`ѺZKچp )J4X_ΎƎsguwR_eՃsqj'Gf-Em]wHG Dp qat`G`?9lx*f֞dU<2S'ǾOeOx)֧$)>%5'?[Yqak;>7uNsVGˍGo;ۈq;Q5}E뭿+l/Ɯ4sA-GJ!:F8A z xF Fn4>@!1Y N^1A 7^ Pù=Oy:5z:D-*/UKQ$ ?R((SL9iHX.ߖq<[T%ce ;~F׏n_av{|QXΆć}`d67uiBB@_^ɉ%Jp~ )Qu4{QhH^ObˆcglTH-[y:D/3[yWD &QwE'Rd{\rF1E D@viT{k1{!:gxO;['uئP{(Nkȥ/]߮.u$bϺZaM^. +3|zGp^'q@^2݉úgeQm7.+`Zr*@EHו檁"f5ѐ4&wur\ ݜ#ڱD[ϣ%ڤ-6L3^tf'r8ff|@OTܬ)lYх߇|NN٢qð`$Oc"jYsxB'G7vg4עcƎ?ލqxw߷`fǭiA-ݹQYSN~٪HߦwvCDPO7- =&OY[]]V54r(Qa#dY4@biF +ńiMQGb{M7%r)$YG4"UJ2-DS""a +jq4b$BXԣ,iq,q,FŏŢ"`SSz-i(Уx˝.D\ Z}DIU]7۪ 27œ`| |ը)R/nwӿ6׾C9oz$RWm^dG`Rk,~KYC>z<,%ƄV +JGm2P#!L]a2o#NkP?m].S+37~,ME$oƇ2DZendstream +endobj +1754 0 obj +<< +/Type /Page +/Annots [ 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R ] +/Resources 1763 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1764 0 R +>> +endobj +1755 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 549.476 159.212 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1756 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 477.018 251.43 492.958 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1757 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 462.672 284.057 478.612 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1758 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 433.979 207.684 449.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1759 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 382.258 531.064 393.162 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1760 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 364.271 180.074 375.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1761 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 364.271 309.249 375.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1762 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 347.505 364.271 379.923 375.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1763 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1764 0 obj +<< +/Filter /FlateDecode +/Length 2467 +>> +stream +xko6 +kG]m&OM`Ȼ-`WHrlpFR#+;Ad.9&,X@ "DqBP݂Wvt+4ŋwrLOg1q4X^eV_*!O`)g'A$eIU,]ZgE OgSy5}?CiAHڔ$ v )_oifXdD<\"qDQωf/A~[/ňVݴyttm􆒈0 ~P&Iw4$Q(*?j]fY͢ht}S8 iۈaEC&miK6sH]ey5+Fkmp^N {U-P}kR /&[P }p,~m#ĬFj.}un.~ƌ݂.yɀaJ&Gq~|ODa[ĈR߿I0 +" ZB ]gQQG2mD`W3﷙0uѶNڮXeyZJDiY}:1#u3PveЎ4 0E bBc91`?tT|LZ›ya]5=DGߐϑضߛY).E-зs)<icGSC7S"7_bR@+ƇIX [qXc'x*ZaKS1,54S4:S; !)AGEH$Lc17\D-NkcaH!z9VY:0&b7C4#]DQ/T(Mx9URd ~Gr@rq!۸G\aB'Ywi#Y^7bJx4PDc@`|58lp+'3ԖZCԵ90-׆)\y=NF}Z;= +?d:,ѹ#gt 嘫ܖw.&f_ZlD84?\lð&6 I=*eg +j^Ov@]v.)Up%\'endstream +endobj +1765 0 obj +<< +/Type /Page +/Annots [ 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R ] +/Resources 1778 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1779 0 R +>> +endobj +1766 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 706.781 182.504 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1767 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 706.781 273.701 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1768 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 706.781 372.65 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace-if) +>> +>> +endobj +1769 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 375.639 706.781 414.174 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1770 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 417.163 706.781 466.139 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +1771 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 469.128 706.781 518.104 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1772 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 342.951 159.212 353.855 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1773 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 270.492 251.43 286.433 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1774 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 241.8 207.684 257.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1775 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 190.746 531.064 201.65 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1776 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 172.813 180.074 183.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1777 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.67 172.813 235.087 183.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1778 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1779 0 obj +<< +/Filter /FlateDecode +/Length 2356 +>> +stream +xZm6_!>X3D)Hzŵ[7(v-ٛlp~CRF-;]CDÇƑ?Lh?I,'iD$ ghw)rC;9',a|55r\E3q4_ERDfQ"DӺ.e] Kn,5]o;eyLFG&,J {_&~ĄOv"dBXN~q|숚!IEvY0N##)}y) %d'XQ|FG1aR4KRgiƆ=7T d~kӗ}KJDbjiF1Ŕ˔<9SK=rF|rBYQD|FG4#49,(">!"[?/"M]Ҍ1:Ĺx,dYFG*d}"˚PI mizU +BpI]Nl*ybsq1ArƿUۗ0yHTȩuӏeF-41W̜̌²IcyT$$OA];dcX7eH2"&zO%fzg +E$|$t".4;:zZw\+R@! <$}tISm?_)[M3Yj; {m߳R5.M&Kp$κuDjPnVeh;ݦ,%=R?8N±]:Gκqfub)hG9'l){{̷ ud "YSXt";8J)UJ˲S^-{7؁ rz׫MfUڸұ1I?.Q1&*„ qlZ9KS@GH m_,VJ)%`?Y#_Nv2~58{kKJBP00mJu'h7c*6XB0t% Q*IvedҾ\~)]J8iӘ"lآYl pJ!3~V6p'WjV8E6#bY_ TFL98v9M!/Ҳ DtJ '/%e7*,(dvxɓSFic:aIuA6A1e u_~]w 6j~ OԦ%$sޮK6qu ܷ3'1\DhAe=r_xd3.7jDzj{C##FueC"BcFDܻLuPpJA |v]@]8F4/p_h]_cʥ(Ze61u?uQ] gfG5x ߋ|"@Yx"@ y{$h/]t+&k-\t]?taD%6/ +B_&DFpm̔W}FtUjUᒔ8i]4E뫲qC[NMyK+V!*3,aU׻zȇ_=/'<&q%ٵ4r+K.JОeƦ$A!ӓYpK=CCG|ALeyf֗/34z\4d +*Fa8tќ<,(x>˓QBr:E.{?g 3Ԫ3,P7,g_KC`E$6iIߙ_ݧS4^{Fϸ:!ao  l1=u|aЂגo}3TXGgKYgf HOoHĄ$PAGo:U Z} +E'.WN&ɻhlۯ˳8t(/+4endstream +endobj +1780 0 obj +<< +/Type /Page +/Annots [ 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R ] +/Resources 1788 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1789 0 R +>> +endobj +1781 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 549.421 182.504 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1782 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 549.421 273.701 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1783 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 549.421 351.768 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove) +>> +>> +endobj +1784 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.757 549.421 403.733 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +1785 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 406.722 549.421 429.596 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1786 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 432.585 549.421 471.121 560.38 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1787 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 185.591 159.212 196.495 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1788 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1789 0 obj +<< +/Filter /FlateDecode +/Length 1905 +>> +stream +xYmo6_!`1+Hڮ@e/E۵M5EL"In ;"uhI E͌z>db| +bg0@/f~ڳY<;[>xsJ#oA}WyVכXb9ώ<)ydoJ>zg/g'gCY(kn@G_/g>q}Oh{azv:{gz  @#I SLI /dHNľZ + ֩$Y.QA%u,GR P@b/fj??ZeЈDLyqq:Pu1ht`;]$7kmӪ]>"`l n6ohSӦf!Oqˌ =mM=iOoV0h0[[~7۵M;#U9U%ci̢+&jݱ흟O 5m\%OJnڝY n ;KwReYav7d`Ѭ>=d+5G?7yYwPߪ"ӬTE+K6 n7ۤ6 g8 D:sMs;~hȷgH؅eok9JF4ǯlqOЬЬ> Jɲ:j +!aLŴ=4Hb);Ŀ8i ËfwԞ6Yi6+4i#sG몵AZ AdmsjhtHo R1Ć~:UFuHI `#VTWm E 1ҢxHiDaQ_a"Lj4d:vI 0_geW6_UZ@k$#&114z ńII(<C=/!K-'9,8@;9;Lb7d;o3ԓ Y;0O*|0x%Lch&2ڋ%4:C=ΐe"Di"Nᄀ{sxGН;/ "$y:FK3jPXM +DڊE^lO%J.˷e_:KߗpaijsJ8d$ebf:8Ed8 !h+:Lt:Ϝ("7C?O-bݓn#a~8Fh%` Et0["+(٤'=]=P +Jd(EhCAxY4}bIS>_΋RH:'HU)Nft_j٩l AuT̳*I, +VU7 " BD9 +Cfg?"HR?n p/D慵X/Z1QgK<< 9W67%vTGb'JxiW-PtTʉ!YFw]O*I͏p6L8$+-+ gש)gk?/Vivev*KSWѡik|v0C=g>.=_ZN-5nSڷrd.Ў⺰-RY筬@(U=wZVh)@]mo /ΰ-|>[^-et {]ޕ eU]&I0!tvqWn㰄s㞘.#0|1꿪dU#Gd‡+EY~_hH.ߍLBm_ wݴ$L'F&wܚy}:_57@@%RLUg2XTAD:=fC+XPk)0~9pXZcM8OIoQ4cxk j6k?0c!Kwpvendstream +endobj +1790 0 obj +<< +/Type /Page +/Annots [ 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R ] +/Resources 1804 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1805 0 R +>> +endobj +1791 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 742.044 251.43 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1792 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 727.698 284.057 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1793 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 713.351 207.684 729.292 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1794 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 661.63 531.064 672.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1795 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 643.643 180.074 654.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1796 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.546 643.643 251.964 654.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1797 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 321.832 643.643 403.236 654.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1798 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 249.197 182.504 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1799 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 249.197 273.701 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1800 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 249.197 367.43 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove-if) +>> +>> +endobj +1801 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 370.418 249.197 403.733 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1802 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 406.722 249.197 445.258 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1803 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 448.246 249.197 502.443 260.156 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1804 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1805 0 obj +<< +/Filter /FlateDecode +/Length 2309 +>> +stream +xZmo6_ `Hm>Q~DQu\=*pfp^i=Oh4,IJ|9G ghW?($aR/O9aEDhF8.n/#-*+7ŪZfbU @qx\UD]<-7kҤ0 7Je[tU)] a?Nb'x Mh9ZL~ؙzE3? %*SX bI*ͲǜԄ'*xIL@S AVe|W9P8"ίQҲՔhUϻ4`E2/\3©>ݨ<&Q|3q WM)%тKMݬ Nba% +JlQ(niLތ͸Cof7 }eM_V;uVښ͚݊v4u{toCr&LEĹ2 +Huu8Uʝ]u9cQf sCq⌰HȉGgzۧg7}_CmCZNK@b`O hh•DCy6z=vYf^m矖#1w-ͨ^.#ux#sal9y!3$uL$=Z"5:){98ZO'G(tRNaG$=N/ZHhGqtYLФj,K3 +U{D]8匑%GhGtY~i}*b(-(AsG`CPୠ2 +RF +!,jfr{ڧ8sKb0/͸{Sdɥ;k.M3nqU]Ʒ5 +c ;M!` pKb3vW9eΟJԕ#,Hω%}M@=nQA33D3%il]6dlQƓ۶{ ~]7^sb +(D6"Zԇn9Nj,5fiE D!򶃾Őo{UW` +Rws my(O%X5SvY 7-sN d9W[̚L٩=2C1v s3r0-?4k1䝟O*fOxx37H 5;eHj`b2m ڏDk=FdlEؾ-<_3xTWjŞm/ƔPWtEG仟[;-^d^/yKq((,VXC.-WmPx[q"a  sV[VpmTUΖ+9:;4-8,7E<>M̽_Jt8㔼EW 'w_-CQsK'v8eLhAK#sp!wܺ7K wh~hEԌ7u3C_tC9$vܖީ~#"Cn_.{I^bM]kfMX$t(֗暃퓝yARS+,űx$@endstream +endobj +1806 0 obj +<< +/Type /Page +/Annots [ 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R ] +/Resources 1815 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1816 0 R +>> +endobj +1807 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 513.611 159.212 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1808 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 441.152 251.43 457.093 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1809 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 426.806 286.279 442.746 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1810 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 412.46 207.684 428.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1811 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 360.739 531.064 371.643 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1812 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 342.751 180.074 353.71 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1813 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.633 342.751 307.037 353.71 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1814 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 362.17 342.751 394.588 353.71 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1815 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1816 0 obj +<< +/Filter /FlateDecode +/Length 2251 +>> +stream +xko6 +6eėHim-koMPȻZ[,m;"EjDq~hD֒Ù9&)b92,64so/ggyVyˎD!:ƣ-{;4\U{-`wXDfnx^wO# 3 k'YI)6hhs&Hd)V|W6[V /X޶V́Ya^K]8Vn7~VvwUvcܔۃG/,w+OY{_{D 4MDꦺZ{̘%*5a4hX + +2TEc?65PJBJ=T KqxI.8,DQyTP A(t"ra~ $T9~]"dUr S1M25%ݐqEؔR~t"6ݼ]mX0 G9W`eD5}T_̰g<8Z Hڽ 9O-'LEȍR- +#i'砞f96ݖPȄSD!'q*8)M:%w2Ycc?MrĀoJcSIz)QZUlS|%afXυu'qKOqNڜi462)%LA0pO+tI/OԣYcHupU&I;I v;IhSp|p*.Bݘ{2C=xySF픢^bꂲ=+m{f[zj]߻4^V]u`lU6}-Pr!8ߜ=zGV|I^r8ezaxL"|rtC}m(b{¡C#q P`*')X#x\UfySѠ2G@X2'I=)S,$tR|fR|y5g`uLED^h-;zv?3v O7|%ue?@hQy6=רgAiqqxFEgm`p/#ڦq׹120, e'0Hm N9&\6$f5E(-ړH_rlP_6wv-YT˔oO 9K T{MK}IOJ5L$L HvO`Tœ#yFY;=Z8Ѹ@ , CAL]y媯ȾCw/?GɿGp\3F6AwK4f2j? o#ȡ@`6B2'%Fcsl3\uO.{ +m~L~y> ?kdS2INsbF`oQ G?=>P]w:\ ;s&:o"r7Ye'Lendstream +endobj +1817 0 obj +<< +/Type /Page +/Annots [ 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R ] +/Resources 1825 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1826 0 R +>> +endobj +1818 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 471.713 182.504 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1819 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 471.713 273.701 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1820 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 471.713 351.768 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-unique) +>> +>> +endobj +1821 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.757 471.713 388.072 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1822 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 391.061 471.713 429.596 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1823 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 432.585 471.713 486.782 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1824 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 372.202 229.322 457.721 240.28 ] +/Subtype /Link +/A << +/S /GoTo +/D (stable-partition) +>> +>> +endobj +1825 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1826 0 obj +<< +/Filter /FlateDecode +/Length 2050 +>> +stream +xZn6}߯Ї/#^tkIЦ:(]+%mbw$ԈuE&!y3݂z>^ļ(NHz]A +X<>^B(/0b[rx+8"-4O<xˢܥuV x)ʬ>iYզQxk/lY5݁}y>B'4IBDaoѣ{.QCAØDQE!Ug2(%ItqooH2k˲-k՘mYelKi+Z7^WdZ-ZR[߭(W"r *N CR4y@>%byR!#l6h":f3_v#C__!<> G¦1n`>c6ǜNsKflejzH8$ފ33b~0Ԭ +0/Y.S$0+oey Zi>m t]o{)!'?gyCzX +u- bcDouJk%fmw1a{vgIֺ+9yχppK=eWlq"&$TtGw^ߧYs 3׃1m +DďʘYZ#o?& sshTaɨoQozfj٠_} +jE6=_?'a~/ +w@U oŎxVaXpW :Z;ee+5q"DCQ$L鯮iˑ1ZAIm(Ԕ_{R;k@huj]f{D3YJ-IaPJؤTk%2_K#_7Xyfyۭ[ymgQs+7RĖM$0^!@oj с<HA"' +1-l>Y'~gdPXNDDDž'AAGdb8MB*Iv[MKMNthƹ1vڳ_SySOg"=G.3pR`v\v&ǚ{v«^z*Z8:TOG +a?#x9%ُN^塚&C"n8!W_nc#9c Lwib} )/V*HiB}_.+u3Ŭ4߲O4yXo-Z#[2?=ĀpR}2m#lͯQ92E#„qt '/j7rhgbbɏ2Hl4^ Q +?he#7Fpԋ9g/3l3TN$4WdOPqK` +ҖNԧSԷMiRjbloDendstream +endobj +1827 0 obj +<< +/Type /Page +/Annots [ 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R ] +/Resources 1842 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1843 0 R +>> +endobj +1828 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 159.212 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1829 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 666.881 270.442 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1830 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.665 652.534 303.069 668.475 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1831 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 638.188 226.696 654.129 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1832 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 586.467 531.064 597.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1833 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 568.48 180.074 579.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1834 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 568.48 309.249 579.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1835 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.487 568.48 384.905 579.439 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1836 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 164.931 532.614 187.805 543.683 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +1837 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 209.9 182.504 220.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1838 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 209.9 273.701 220.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1839 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 209.9 367.43 220.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-partition) +>> +>> +endobj +1840 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 370.418 209.9 455.938 220.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (stable-partition) +>> +>> +endobj +1841 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 458.926 209.9 481.801 220.858 ] +/Subtype /Link +/A << +/S /GoTo +/D (sort) +>> +>> +endobj +1842 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1843 0 obj +<< +/Filter /FlateDecode +/Length 2349 +>> +stream +xZmo6B_/+Simiz}-ܾYNo$҈k{ӢE--fϼ݄&)f6QJ&WIOx}>;œdp=ԯg0ɒ84Mͪ* be:9DϏ-*_n&UȷjYˀ/7LZ; ܟOR3|qJh%В0|r6o B=PPh@a5+~1+Wݸ,H~g_hw#}QʇяL +>L3fUɇ̧3pbyU T>؁ɜjB9 &zH&CM*q#;# V4#FS=4<(nf#qq?LCO,!A+ZpSD>Y]ͯlYUǠDچ:X`چ`oN~:ږu*7Wv$ 0F!4Z_M-+uH k!䲖3e#Q){jôU)eL j̡-s4z3~*|6 ӣE!ڂ[Ծosk]m"_n˫M4J(\oȋ2؎{a-כDUlV|HS,fl?ۢ:YkG"mTj7Y<ӎz.%OILOpÑ)J` +i,hv3–Yh#SHP%4ʘ2"af Xϧ: wH@'\7D,)bs2 ]-D{"G Y>E3I> +ӔhE;[`uaBi9t[=aԣ0,+@Iq͸Qubh/j1*o k:,W2ƗӆnJ@T5T fE-)zkÑX5uwv\W;ɸ'ȑwxn T ĝx us}X學/sI  #Up{_ަúx8%ajTש(wDE&J´t_Qg]oeST)QCvjik7 D6Ft +z=w]iN+eAӒ>mLu=?nf2AbsXU[WU y7bVXy|_D + l۳ 3'*^$x~Aԑm:DďXiwuz'R A462'w~z7+ߒ(.fj^%Y\p{JlYd}ڻ7!2X?n$sJ8436R=ߒ _!K$)2V0NO6k4⿈ f ;DO]o :+MjOߢ^4*޷cb֦5Acwqp>`|ʧ0p5X[QBF`#@jv? <#,_xDmթӌ2ډ Ӛ(Sd/KQ؈ч ڃ]c|MO3fh'Ј=ԣh,3mX $hp48v(d{Gq YbW}t߬b|fCpLN~mʼn[6> +endobj +1845 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 453.835 159.212 464.739 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1846 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 381.376 270.442 397.317 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1847 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.665 367.03 303.069 382.971 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1848 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 352.684 226.696 368.624 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1849 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 300.963 531.064 311.867 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1850 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 282.976 180.074 293.934 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1851 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 282.976 309.249 293.934 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1852 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.487 282.976 384.905 293.934 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1853 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 164.931 247.11 187.805 258.178 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +1854 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1855 0 obj +<< +/Filter /FlateDecode +/Length 2418 +>> +stream +xk۸~.fėzhd`K,7 )")Jz{"V3yH8RYG"O/]x(G9\o7 =pݮ?GWh8nEWmQ7Ujj! ^M[u@~ 3_a_Gon}I +>a} a# +>}pGK9"n~!9p(R> GiQ*qG"y-嵖B^z} [`ԉA1cs-w׊V$g ?(B/f%eJY +ɕVݓY* +}:<ݷ~H̷rgYɢ`ug1uBYcr SZ[8fžQ C4 )N1^MRc9 7. Cy jߕU[Ȫv1k/IޕݩeŹT@=U^=Ne* |ll5zk0va+eݙUmܗRĶ?eKr qYZJ^PCu *) 2<&$C) gb+(Cõ74\hZUwK Db¶mNK8k"xUQr] J'1|tr(1Py`Kl4,3펢L-Qc]Y,qYa;E9ar\K6Q<͏MW k#q{_Lѕvy^)W3R,DJ,i1G'} *>EB,`}jf+2:7>7auQaʡ>Ugm4PqsjQ;*«h{<qLVN)?ߕ1u " +…@H4PknpУq"UFBzN1PIj }Dh3@fQw'2okߍ +S'鋱WV4k^XBb ,p9_u-3-AjZU7ւzan )vyL_:f spY 2nIZm/!1y` Bkv#=,!.ŀS., +<( +8"mPb&5YNqswAE-bR(%xUfY9 ̗긥䢐² xMsz\֛bh0@:i搜u +M{B;}IDr&lBȝP@i?k4 $wR0Ԛ +4 OaN-{=Lm$*(I<&*b`zk ̀216K tM ;j>߭ mv2J=1A1XÒ"- Ըs8*^ 2F[q˔]$B, +~Iqf5NmxH.L fߕ?40]"^=TZzsé8i׺jlϚle4F1áX#rKƳ3Z5EmJO0#Ns^Z|B(Oۄ #OaGʯ/2D81J9<%@1.")Ũgw>3$chzgcZGendstream +endobj +1856 0 obj +<< +/Type /Page +/Annots [ 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R ] +/Resources 1863 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1864 0 R +>> +endobj +1857 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 411.937 182.504 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1858 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 411.937 273.701 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1859 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 411.937 403.973 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-stable-partition) +>> +>> +endobj +1860 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 406.961 411.937 455.938 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (partition) +>> +>> +endobj +1861 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 458.926 411.937 481.801 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (sort) +>> +>> +endobj +1862 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 484.789 411.937 533.766 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1863 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1864 0 obj +<< +/Filter /FlateDecode +/Length 1908 +>> +stream +xZo6B_9@̊(JmWݲaE5EJ"̖IǷN8 2l(Jx݃w\ϰQyv{oB^'ԋQ,L.)"x7x 7,ʬV I̽9E̽_x<*.<¼yQnWuV䒞u8|gGˮ$Rk|-=#ﳘDZ!bmfw}#W APAQz<Ĉsġ8#ԛgBܜbDc3f֭5~ >T#ǖ{rV50 % f+0v-C$@N<EBXn`pR$Uc"ǙO"ȸ"S4b +&OXﬨz 3ðQxA b>5.M%EX$eAGM+oĮa("їURo0v+5z}T ?'`bZ7vF k;jvrh +pl>^v쿫@cFNs [ +gكV;9[n/{&UzC}-`=s[ 98>_ < L sOU61Kܣ-'yH߀/x8 ?Lk0h\Ns9sqOzb—xQnS>)#9`I%B6oij; MU f+"frJL}z<buK3)Q E{aoٻR}援2UvI{%$">Le4 Q'&w鰄 8}0nQ. +OPI-$]F>Q6wK={%h!Ghit:ac鰄xF'M$?>>#^ia ~_3xOcizv:4"( l"A4߫A{T_bWe=u'oi ֏֖ޥx!vr]Y*fX';cdVFwK4V0vG^M-f 6[,TO[pa2Ϻ0~7[ft>x<"x= c +|Iݥ'%2vIZߔL"_&7,X^ߤyZըk6;M76.rr+E +~龼CKs%Ѐ^8{W(u|pPH(h\C^?XmFQ9On$EeK mvT$,@nV-jYz,88/-E#E$50"9.VBQ˫L'9_yh4l,2!"˫T@^G*yU#h?Q (V_\E)iȚUcBI͉b"ܙʴlE˥nWy%հy⒍ynΫ4rQ!;8fi"{rEc_|$ۀaծ4^e5slLdU>h"D&<(vM.e*Ư? &kqry/yiHZJ<jI/4R̤Dž67ku[KK@|?HTE7\ +endstream +endobj +1865 0 obj +<< +/Type /Page +/Annots [ 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R ] +/Resources 1874 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1875 0 R +>> +endobj +1866 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 687.558 159.212 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1867 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 615.1 270.442 631.04 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1868 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.887 600.754 305.291 616.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1869 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 586.408 226.696 602.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1870 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 534.687 531.064 545.59 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1871 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 516.699 180.074 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1872 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.633 516.699 307.037 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1873 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 362.17 516.699 394.588 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1874 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1875 0 obj +<< +/Filter /FlateDecode +/Length 1994 +>> +stream +xZ[o~_!/6`qynlMͮ ={ڹx5n}DsDRgbiY<< )?<+JCVzF;ߛCwNb7pųم 24 +]4f̸.ͺ/ +$ެr S]ܯwkM;;q~]0:u{~sX3JzgJ1z& Exjnz),ThFgu54dɉ4<5}M0F0&~ +Oˮtm׮Cλכݢv׵dvݵH+$iG5hplUՐ֜nADQ/^9/.,kCIe}oGrhVm~[[_~nv˛Ux:TI8C\L)4ѲsWM(MGIY@y79u bd91y7"X[ JIbJJJZHBIKi>S7HP?,P X>+JMٰ& +/dzw,l2A*M:ֳ Ljt2s%t;}?'@♬)8lCJNhl6O.0.y7uN ҁ +@ 281*_FpT~#s+"BM&*"Dҽ7jW،W~?Ěد=O wrs$UZ79zKtA%F ! #䄗8ΩpAܹߛz՝>, +?$TNşRո{w 9,;>vaNp%]$ F)h'g*K''s!R0_R+ vݖуRP+01ڴ}s엷;0Ťafm:1pBO^:O;+oj_%m7O>H{{/^E]_Rdbv\֗bRR |&p~9Px[9r/E@j,(LyP#ZP P}s$@ 8+ E9D^^2&iM)b9"g}r3Z=i9I'=d'%L'(dW Eovcb J7sz-Ǻ$4Tܞ+ 즆OLhe/eKEp^;;!Bq3e{",`+vE Wr!rf_ELg(Gd(@b'ZFኺ#y8?}q_" "'zw^~D +[X1a{>=IFx}ZҒѶ _!1+#*(`_QxL9vvXxWGF ;yEf?*o/aO{>N' =) m6OZ<$D%9 -9(; Ou + \giY:(ܪ&g,Zǫ=cޞr0%*~׃Cw|(v%|Mor^2won} o92q b ٯwendstream +endobj +1876 0 obj +<< +/Type /Page +/Annots [ 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R ] +/Resources 1885 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1886 0 R +>> +endobj +1877 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 587.902 182.504 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1878 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 587.902 273.701 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1879 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 587.902 325.666 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (partition) +>> +>> +endobj +1880 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 378.09 381.376 442.727 392.335 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1881 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 227.304 251.43 243.245 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1882 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 212.958 207.684 228.898 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1883 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 161.237 180.074 172.141 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1884 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.546 161.237 251.964 172.141 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1885 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1886 0 obj +<< +/Filter /FlateDecode +/Length 2101 +>> +stream +xko۶:@J| +dwv.ɷT[Mؒ#9ka"}$юzEQ&AnD1K"E#S"I gh۫ɋE)Ia4iPAhPv͒8򦪋%*i)#_DG:+O'ѴW٦^ 0|~RNj)?a3cip%-'=Ӟ@pELRUKy~#+݁[9v% nrNsLPezA-+8 7v}r}ksm^hz2Ll;ob[E-&Ѵ0fxfFڌ/33.xΆb$_y$tw-j0[6nʮ 8~g4D`'pzLc$dQ=Z[:o K5$12y0ve3A]XW{W"S324hŠj4 ZQ,%ʌ 5W:Z'Y +g̻"Y=*O5%ˈ;L<(RjF2 iȠ攽FHtDQFR"ߚwh4ތ?so7f@kQؙt\MF̯#+?ChmOtW;B(7AFPi2}8^6U0 +.KM7)[@1y?Aw^]# P{4 GT$:=Lx=_h|$1yTQbOdQ4;A"RApËq kV sCB:T{A ԔBh"cWTBL6m]ltȎˇZ7E4&x~V39JkQ,;f a2KZ%Br6d]"0[17 j]A52 jۚ!mvei? PϺ|v\ִr Hz>S5p[`'.MP&.J_y 0"ͼ.6s^l|uz ۛWkfJ6&c̖nrp$N)Fg"4|AǍwpmj( T(hX|z̞C +R{Yrpp%J$"=BPJxQ9gmd$zX 쬃1(H%lt [ a"&7J rʟ:^bt 8yqaBٱPKff0Մ )0Fhȴv-ӻ}oo +!Z-{7Q`.e%p}k눪'ˮ /8yJ,:B8G"4r43PHSz\Ӗ|(:>s|۰2a?*Ԩm#? 0|kے4ihǬmG !i)LGdHP!QA}‚=ny#at$8@h4ʽbr D#\ TP~{i v- \~v.:gN{CQGi_ŕjB2d=)KaVcwybu?U'7bYuK0B¶;1?O)endstream +endobj +1887 0 obj +<< +/Type /Page +/Annots [ 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R ] +/Resources 1894 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1895 0 R +>> +endobj +1888 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 531.488 182.504 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1889 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 531.488 273.701 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1890 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 531.488 341.328 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1891 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.316 531.488 367.191 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1892 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 370.179 531.488 408.715 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1893 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 191.568 159.212 202.472 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1894 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1895 0 obj +<< +/Filter /FlateDecode +/Length 1639 +>> +stream +xYmo6_!`5+H,@f/E۵5El"n ;"}hZa(x/wGvB~h Y q,֓0 gh|)I4SNXĂr!r3a0R*+'iYm^@"x.|{7Y 3fQ&N|WŲQ4K0$$X}~Hh뉐ajr1yؙf3?c$) +!pI&ɘ)1ICj#!ߨ'CEPgNk^pW9Ͷư?\~@h#e"')_mkݾ+4 ћ\˩c5j"53uȐW^L|esyb: FLٍJĐjOjqA46q^( +12aGx[,]M UBV?!4$D$@Xei&IUu~RP2Ɉ QL,ͨ^}F1aR8Rdgidמ 9Ҍgt/.")?/K=W}q w +1nK3na%%T/zw6q$GK3ЪwBPn&eۓꓮ>-="&rShD 9^C5%Be %2Wth9%qN"é/\-'BОhß|rn|!g6vi=:뻺gJ0v#pff!I5ڟ + +x^펬{=`  8SsL 텪U17FRԮjP]c"ѽ)?] +u^d+;U۝*qQE[?I7= o3ɍM2~5ʖ2/`٬rh%*Y^ԪڪR,.uSCЬ:`s/7jo@CMl:Tm+Dw#/"I +a,uU[*iC]kW\ C^/l!ypT,_ܱVeY%c"LFY +H!x] ;cl8'2!{pzEWKbtip+\CE +>㒏LJ7ON;' =\(PDLDdyQBz  @^=Hct6<5+@R_ o^cˡC^"ӑw}ho}uڠn߆*KHHS_IVendstream +endobj +1896 0 obj +<< +/Type /Page +/Annots [ 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R ] +/Resources 1907 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1908 0 R +>> +endobj +1897 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 742.044 251.43 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1898 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 727.698 207.684 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1899 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 675.977 531.064 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1900 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 658.044 180.074 668.948 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1901 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.546 658.044 251.964 668.948 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1902 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 347.229 182.504 358.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1903 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 347.229 273.701 358.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1904 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 347.229 299.564 358.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +1905 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 302.553 347.229 382.852 358.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy-if) +>> +>> +endobj +1906 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 385.841 347.229 476.58 358.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-transform) +>> +>> +endobj +1907 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1908 0 obj +<< +/Filter /FlateDecode +/Length 2072 +>> +stream +xZo۶B Ԗ 5v[#7͆H#ĻÆLǏEJfeD)M<f +Rx3T0ɲ!e,<ϳj3-0+t6d,"n,c26nZV2.apujΔ4`a^\E- k~׃_<wz"?pNe-)8 rI!L٫.Ԅ\LhjBfA_eVb/]ׁ8?GIǮWS ђ)f!5ٰ\],׌pOc׫,7P#e-lm=TSJIRS^y/{$k-Q>(Bt5xD=Yt U@m&77(P ZSmw`JK?нu"\Nfm"Ȑ0RF "iB>˩ +wzk]MVkkYkHzB0Vbf%ERg$|c썞%mI99F$ia䄵%Xd`.}4QpiAWw_Vtv0D.\}^aE\ĵmpS;.7weA;^$ +uE7m6ٲ)|?OwrwogM[=!<'2-ߑ)J i,IyX7+%\|R)hAC=Bq~ X>;`uM[EG鄋^X")boHb8,r"!71dyP@+U~M/XLr"d֬Uk%'Bx̾JnS"YYTz>ҸPƮVרEUg ͼG} +1.y=z`| ɤƇ1$V4Lccu'XԆƆ/uXs*i:r4"-05-Fcʵ QtА4;;WjSf +v4٢xy aKRg `L3sً+dԉ Ӛ(QG[!K+;Y:#m +C Go~s"ű>{Y..ӄ= F^M/!n! `Cݏ`i:a4x)Fh">sv[pBƽٰ .F~Z?MQů3vpXendstream +endobj +1909 0 obj +<< +/Type /Page +/Annots [ 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R ] +/Resources 1918 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1919 0 R +>> +endobj +1910 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 605.889 159.212 616.793 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1911 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 533.431 251.43 549.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1912 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 519.085 284.057 535.025 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1913 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 504.739 207.684 520.679 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1914 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 453.018 531.064 463.922 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1915 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 435.03 180.074 445.989 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1916 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 435.03 309.249 445.989 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1917 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 364.382 435.03 396.8 445.989 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1918 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1919 0 obj +<< +/Filter /FlateDecode +/Length 2244 +>> +stream +xZm6_!>MҠ5h6-oؒWfR"5hy˽ VÙƑn4  T(z7ۈ Iz] 'Lj5Xr"/ 0X^]J*-Ed,}e$LZ~qĒ ZnEś,RZ[#<߀/B=܇&I_% ~8>vD ""Doz]V]#˷чH]UEmIM}OVldUO׃}\n])s&/ҝ]gwYvhҼȋl"F3&J&IŀyF\3sxd!c榑h%DD*pލ/XpiOe/% WS} yYm,`0=vyhvQQ*Ej0ÅQjVs,g0@\:TM}Z4">!` -fJI+e7^3?Qcb,^or ܱIwi9)0!H(4+%h )`yvGGC + cLj ~mE`bűov$"I,1kamٙOW-_m뿬0`[sOZG#x M6=LH(:ꦻy7ʚ ,?ιKS Pў[H%UD$OPNR BSCF(F{cAfߧ̱I"#>f!q /21R2#?8}HQ?GFnVP +ADI>\'P&_Oe +:ݬ~g(qBV\-P߷md-{.wwUXO&-7ɶ`GNh?%lh𑂗NJ4|*C+}^vzٜx3˜zpBO_|s?OIu,!AmRd1v|9d"VѡHCm1g@u9Pr~@ GM3ޜ30ߜ1tuF(x9lj;=/:9g=uL5"Q$gED,9k6-.Tn'Y sާщLw%ukt|ߝ Ougmƫ&+㞵SyB͢5E߈,kzJӴ<&ۮ϶UwmβXwq =n.'TeD'RĬ,y=$NtG3+טѸ-*Ǡ/Jdl>MBfvPԠ* , +O݈3vwE:L8P8(w4IX߁~1u#I,#ԳHY⊇0OY,,|&9< `t'GC?PK= IPX"G BfE1f];Qc4Xؒb4w{ڶ16B O6mF^Qks}^ +_\R߄ϤtБm4u1y8dsF֕2F? q(%^~z!Ix{.EOebᅬ6+W7BJDu˺/. ͪ/x +RCzhONt4SAj~ȾM}t@wvSY~lendstream +endobj +1920 0 obj +<< +/Type /Page +/Annots [ 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R ] +/Resources 1928 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1929 0 R +>> +endobj +1921 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 603.817 182.504 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1922 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 603.817 273.701 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1923 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 603.817 315.225 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +1924 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 318.214 603.817 382.852 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1925 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 385.841 603.817 434.817 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +1926 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 437.806 603.817 492.002 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1927 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 183.272 255.095 253.299 264.788 ] +/Subtype /Link +/A << +/S /GoTo +/D (overloaded-name) +>> +>> +endobj +1928 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1929 0 obj +<< +/Filter /FlateDecode +/Length 2073 +>> +stream +xZmo6Bn xYD)M 4hТMA ʎ]i-ӺE _5NZPahpFF1` ei-ͮ`z_\,wƣ^\/',efKLE+qf{v!BDKNR7q$Zve_E,m+uH6~G2!݂0/b‹<1EH 37;#Q&BF +cNI +2EA!aTM +HEFX8 _ޫvJW)hSZ-R~fk N g'ISQ/Uۨ戩Hw)#IB=hV잚yHb!1\##E&#?^5ns-i_+g :ԭ4;nу_5b1sX#IAJ'ԾQbGW?on_Dk4zV|RR /w?[T5vϯƃ\Ws*-z.]O7vĤG XDEg$!MUmXbAbfa9ݘk8FH֦axj؏9\iN1,D2|E.M-f$ɋԶ_W:א VR`D,'Vf('LىXm"*q ae2+:Qz"#Vz_%HMfl/#3ϗ8_r.NH婜C\|0uԛI,;Vf_Qv<>5ZYv|Sv,+q=v-)j +k U2b%{j׹$v{Z-+?Y`Yr'G. 1+!zjSc/X"a4ۣP.骟սXa9yk;gpQ0#9W"Ddg\,!<˝cH]MG"ʽs$KOgOg?Νb}'xhqXTC!1r۪_w^\6s8\񁝺wiNEsr2ZzX!qyۖjc5.ћp`ί,$_,b2^@;P\ɞf.-tΚMZ}ul/;j?Mq@ [i:8jWFz+Dѝn٥3pYSh+r(кcH{m{꛺)w_UvcB,+cیc~{_77 #[ P5V9Ƈ+Si\tl{V9XqSJ "UErIpa +uzuA ++$D䩓(6 vr> +X{X^V67 F2Z CHfENdsl$-"utDc];8 ;Ll_D$n6,ALDuDR._&_*hNf|L9}f8B$6heg_֝-{&Nx +řt7,fF{-:Y2yĂi +t˽_wq$~6r0yi'^`D<a3HMGDا9C/ޛzIL5A` +>PӮꦯЍa\.{C0MkҹReElж]*QI·o{*Pٕ͡^a+H iSwWz GSr/ ^Ú{yl=O6$X#a/{6աg*[]n(mKCZ  ><6y9t,*K2x{ڷrNJS.zWkLd[w)9endstream +endobj +1930 0 obj +<< +/Type /Page +/Annots [ 1931 0 R 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R ] +/Resources 1939 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1940 0 R +>> +endobj +1931 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 687.558 159.212 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1932 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.529 615.1 265.693 631.04 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1933 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.529 600.754 270.933 616.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1934 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.529 586.408 221.947 602.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1935 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 534.687 531.064 545.59 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1936 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 516.699 180.074 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1937 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 239.88 516.699 321.284 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1938 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 404.88 516.699 437.298 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1939 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1940 0 obj +<< +/Filter /FlateDecode +/Length 1952 +>> +stream +xZ[o8~_i_Zc|V`/ho@v +FK$It`B}r}(cQ̣$Dk]f4zsX'G?h%$jV.?#Aq4g8etTqUt)V.߬+8_:^miƸ9^Gg.Kx5/g`)aIf2V׿-gf/<R1 +Hג)KY,9 ĀHQ$Z+j`$$4[X,UΫq]ոƻj\TcV\DGկoqm5Z=U5 MQ)r(-,bY-ɶ\Vǝ Nq,UP:$fʹ+/;(+i˶ݲef-=Y._23ѿAء.騩!P`HW!%$'2n;ns +$fd5 +SMcu%(c(1'$,^$L&(R!Ђ2KWVĜ.ֱ+ i,0D +di[}iB!" u\ԆE3@qN<bឦ% o=5FV +e *ӯ@(!8~`S|pfR+l}ɵ$:ihL47aܽc0k)X?` 8"@@1h]pDV)<)>Vc{ː3|a%3-.Rg)6VڣF&>S-"蓭C<{ !my!H*PA%9̐K  ='jc.>zC^OPGZFU}#fP +5o.7E^A0pCңMCKZMijۻܗOtYuЛnU.R¦Z Z&'2e|A-%Rhp%rh@=w\ys[ԟ-禷D*r`~Ɂ!%b{ZpU5yګ'b O)z 3|S;E]b^Nkvl {ld;{3tw`.cڟ:Y]pC4\R 3Y}kջ@BYdbV: ^ + ͠j}ջBY bNb_N`Vw4_,Ots;Zs LؿAhjh :o3pW{Ccc +1)2t(ޞ;˞,mwod\GBC +]fYE6[tWf2 Aݵ[j؛ RhW1ڇb1endstream +endobj +1941 0 obj +<< +/Type /Page +/Annots [ 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R ] +/Resources 1949 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1950 0 R +>> +endobj +1942 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 587.902 182.504 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1943 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 587.902 273.701 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1944 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 587.902 325.666 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1945 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.655 587.902 393.293 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1946 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.281 587.902 450.478 598.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1947 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 224.071 159.212 234.975 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1948 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 151.613 251.43 167.553 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1949 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1950 0 obj +<< +/Filter /FlateDecode +/Length 2060 +>> +stream +xZmo6_!` 1#R")mYnkے|[AX-4w"E$Ѫf,> dTYQߞ'evyY4|up9AK,$QfKNXi=؞fKr )[.7۵z[/c$\&y4G]ح;w +DO nhpO*^>Cn׺c=#.;^Xq`KB"l] F#%1KRzPF҈@&n@V,j &h8-Fa{ +CQZ LBDtHvy0_eQ+ >8wR͐/s JICL0f#RbYd=μ\ J]!fMhʰumC#laz͎yF)̔cEY+Gӿ!?볁%e+{Koiup-*=̛|HvƮ&c3%jkdm< 4ʅ8xi@^ "=ҝ?JOE?ϑi_i9q V-BCeo>gGrR:3(,G'qؕR6g†Uu>\NPǏ.61=&% I Y)85әϜ qF6Sh _*7QUYcxL2"C>ņ5P &%8 +<4B|u,FPLJLWA)AX)R +ccѴgzK$O$Q}5J.cdp3[*bNJ A*W"B[B}Np%z71# GlBWEsYHB "x*W\#J"Hi˽ +lOxm1>{_?g4%J}C[K|$uX}])3/yfW4IS +y>,?._{/1%R""&H}HpIh0{BS髽FՋ*ߚ{KMc$e`jiʏMsO~Y)"[ϵz{X}sw['/UZ%? +!ܱ 4 *sLQɩsB p l7kM$I#uX +A_;$Unn8\tV˼/Ur2 +Sb\K*y^ԪکʾBy~YܜMfzgM+T9}uĺ-mՑ'c44"IԹNjwJյ-d㪛H9N]ojءP9:4[C:^䵫l-| C- #;6[|wT,_SqI0&.rfb3{& !]2!aTl“10~atPܬ :qpqEs1}t2 ބG}vD\u IeBw2#H*j"seUQp4 @dtзILhCXMHO}f` TcYB&c@ZuH)"GgT@)!LFT>Xnl@E G^8_C09D>z"1y3,0gDkq,谵Ͻя/4:T)zf*+V?ݗh-u]rBC27 +EljR +XN~~] D#)VhbRk<_XCAb" (&әMm:^ƭɴY:0=ߪt,_gf3n_endstream +endobj +1951 0 obj +<< +/Type /Page +/Annots [ 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R ] +/Resources 1962 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1963 0 R +>> +endobj +1952 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 713.351 207.684 729.292 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1953 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 661.63 531.064 672.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1954 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 643.643 180.074 654.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1955 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.67 643.643 235.087 654.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1956 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 368.749 182.504 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1957 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 368.749 273.701 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1958 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 368.749 315.225 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1959 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 318.214 368.749 414.174 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace-if) +>> +>> +endobj +1960 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 417.163 368.749 450.478 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1961 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 453.467 368.749 544.206 379.708 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-transform) +>> +>> +endobj +1962 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1963 0 obj +<< +/Filter /FlateDecode +/Length 2188 +>> +stream +xZmoF_6md+^6RDbtl p[ kSw kϳpPu1ifBKOw>`iB8GJo9X1$ɄVǬԄ'*IL`SV`Y,wYu*% hD_ҪDJuBw])xQ,׌pO֪Jh"x@z{Uȩ7hhݰ̪kL ȬS/[531^A sdGKulcs831oI5"6E'tgY<3d~hf\ ьot 7E3Cޟ?AnL 9B2Gzc\?7{y;kFp `!p]{~ɐ&D +#Rh~0( +f?NʯD+rТ""I$J?a'RL3c9ɉ+iMTJl(/,endstream +endobj +1964 0 obj +<< +/Type /Page +/Annots [ 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R ] +/Resources 1973 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1974 0 R +>> +endobj +1965 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 593.934 159.212 604.838 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1966 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 521.476 251.43 537.416 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1967 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 507.13 284.057 523.07 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1968 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 478.437 207.684 494.378 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1969 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 426.717 531.064 437.62 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1970 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 408.729 180.074 419.688 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1971 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 408.729 309.249 419.688 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +1972 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 347.505 408.729 379.923 419.688 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1973 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1974 0 obj +<< +/Filter /FlateDecode +/Length 2480 +>> +stream +xZmoܸB@? _^p=%KȻ-`Wڬĕ^Zpp8oE(Qf$U.ht {нDX|(#W =<+]DgLh(u/ۛmx̳$:D(>o+MF>G/]8ȾDditϔ, (»_Ϟ#B"P2!GH!f$I:!|W4}+1_yvv_i) ʢTqSԿZ+E%2%i2w3e3f:hq*d4SX,0T2ʴ:Gb-t^Q֪ۘK7=R7w]XGcmH^uPY[Xiw(#J#s9 mŪqL*/70|Bb*%C\#-p4HhbIe9m*+(EIG +$Lqp/H&3#dYRR%R0$RIUX:3Qtf2+# 9)mAd(ENCcǘG]+Kb8ڵ#u}?^'t)d`@Gig<64ho?Ԫ[1lШĨhJg +rڄG\!鹟&8mbU] y#IGD,?uE&@h̆ *>`Qoz ٣֥osx?3E $|,QB~+ mӝ4GC9WkERJ?f\,58b~?I(R 3#].;=Ón[s+iIQqŊb4OM|J0T: p)A933Z IyAcsܢ5zz5/k70/:U]Qzst[#sBv:O|WIv?ynR_Q |,lGc**rtd>Eݦ/ۇN[?UڥЙOoUyFfFaH BJTNo_m$|cA`cHbx1>j[7mpr%o))[r"aij>~h>ך ڜqSh|ʑ)[gf`DpK=[O_ut=AODw{n|q2 +n~~ߠ܇#y-gr`≚bgz23]f }"!vFUW^'63???jT8]%@ϋLendstream +endobj +1975 0 obj +<< +/Type /Page +/Annots [ 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R ] +/Resources 1988 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 1989 0 R +>> +endobj +1976 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 682.871 182.504 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1977 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 682.871 273.701 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1978 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 682.871 330.887 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +1979 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 333.876 682.871 414.174 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace) +>> +>> +endobj +1980 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 417.163 682.871 466.139 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +1981 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 469.128 682.871 518.104 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1982 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 319.04 159.212 329.944 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1983 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 246.582 251.43 262.522 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1984 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 217.89 207.684 233.83 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1985 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 166.169 531.064 177.073 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1986 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 148.236 180.074 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +1987 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.67 148.236 235.087 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +1988 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +1989 0 obj +<< +/Filter /FlateDecode +/Length 2276 +>> +stream +xZoB@?4b=^+bJ"oE1wb,<83r3A2!KT<[nfyvg0=Y^|WЬD%ۙZ^RD8oE<<ϳy&XvUyFxvvд[ !(^ڮ9Vgz]R pÔgo׋X|R%; _!~#\fG~ZϮfz>nFH@ (X !e& +p|2a?q Gz|:XHJPTblFWz\/zGU@oz 8\?Fd#@*+MF;E@qˀҼYUH6X:k?\C09aE6Zu\յjo[4Vuw2ÀR6[(i%PͤD1##Ej1Y ~b!Kem{#}sG%$ ILͤ\1G1!B :G=; O1Kw蘻_;=ގ%D#,$BG!y8Ibc]B4>a1vfѣ2,ǺD0f9Fp+8pIt,4:%v,:zXm`Y^C0C َf$a8Qg`JiTfhhlZYasI?mݾI\?JQNR%5j6b=q*aIaĐHqRV-FO%&Iei$6B&c9`0/-xʾ]qBO5EHkϒl[y3>8/yFi#FYl7i (qHtZ@ Uu]jWҡ :"N5ĩ(EPN:-eT\u -ᔁ(O4=!CAr*: )$/S7@KPU/DGɔafTpԂ͊.GT#.¸AQy[fz+[}clUǶ)J])ucW mߥS؋>=HmUWI89cINRwgƜ(/PBK3)W(/2 F37 O0RqX>#ƢD9X@`iF2 2Eɔv4͂{8@STő9IbOWI$B*D76ֳ4ԪwU]*][貿L6J`ӿ/TaCV8QhHms,ý)7%$Y"^_>Eu;3endstream +endobj +1990 0 obj +<< +/Type /Page +/Annots [ 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R ] +/Resources 2000 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2001 0 R +>> +endobj +1991 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 513.556 182.949 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +1992 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 186.495 513.556 275.148 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +1993 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 278.693 513.556 312.008 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +1994 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 315.554 513.556 406.293 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove-if) +>> +>> +endobj +1995 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 409.839 513.556 474.476 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +1996 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 478.021 513.556 526.998 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +1997 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 530.543 513.556 548.197 524.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1998 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 501.601 99.098 511.892 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +1999 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 137.77 159.212 148.674 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2000 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2001 0 obj +<< +/Filter /FlateDecode +/Length 2052 +>> +stream +xZo>Љ mJ>vo*" d ۤUll`>Z?u#}X$ +wY-)ͫ٧c1i@Afeu5H B0H/O˷[,m +LВ/}RyZٶ R.iF+G >X!W첢6XhD"yĂZuЏ'̒rF|E FI ~E%yLp+L/5GK\~c[ۺūU  xLZ7ۼXj\NAmf-ēJQ,1I]Ƕw%4Q\+_&\l\N [2}'Ǽ* #6!IL 7>'tQ_eUw +.*߿Ua̋*;6"v=41iT@B}M +-Gl)Y(iR lШ:4+{yR0dIKH~fY`?ڣUz$Zo??BhlE z՞p6?J{$&v +ElO/%zLY._S /黵,3>|WYpo vm;e`ZNm؟hX#5LZYX!B 43kYdMʐf@KĬbif2Ą (ㅐģq0T ?bqpB1d4  ˀhg0Í^@9(5,CFPԃt)z!ˏC3EttI/8y|b\ _<>D|%f7}Bj)b7Ӝ2sbf.5T:vp'΃>,}\2#Q OXkM~<#h +d=umWZc DCl+GtF&ѬEw +PQT(B02 LI{& -cȪT 1sswyśסDw6Y~XeYfKjOˢNre;3#e Xu'+ 7[tv^..-HRt]DFKGcBN/J Ղ [Sq8 Qyd݅LC +)*~o} m43TMLAF v 1օH<\ +]2ˋ[19vyfhWEH姢t-nUeqV#pjAmXꞳ6$2DžPюb. +G8Ȣq(hnn,t}\Saz yS~<޳[:͂ O dvX42CqŘ}eݓAQvS04OOy?DDD%1#(EPMdU+W_,LVن7(o(QlV* +8},`J/ߕlvb7v6-U=" TOG$q}6*P5~zƛ'iI2/DC" /OLlq&&0-e/s:ٴ?~YGendstream +endobj +2002 0 obj +<< +/Type /Page +/Annots [ 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R ] +/Resources 2016 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2017 0 R +>> +endobj +2003 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 718.661 251.43 734.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2004 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.653 704.315 284.057 720.255 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2005 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 689.969 207.684 705.909 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2006 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 638.248 531.064 649.152 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2007 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 620.26 180.074 631.219 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2008 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 219.546 620.26 251.964 631.219 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2009 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 321.832 620.26 403.236 631.219 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2010 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 225.815 182.504 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +2011 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 225.815 273.701 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2012 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 225.815 325.666 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +2013 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.655 225.815 403.733 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove) +>> +>> +endobj +2014 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 406.722 225.815 487.021 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy-if) +>> +>> +endobj +2015 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 490.01 225.815 544.206 236.774 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +2016 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2017 0 obj +<< +/Filter /FlateDecode +/Length 2292 +>> +stream +xZ[o6~c ,/"%u6]l1m'٧"8J"[#QH$nX Fsx&,%O JdޝH +R~=^%On&Nd(4lS6ier,˶^5@%P\.V嶻xD:M~Kn~\ݸsu=;0 %X}sJXQ$II‡_W ӌb$$~@rS.l;F<%,gt + +RyDxFl>"RBi&$DFddžJhEeYN2)ƚkPWV˪i}]EƉ`٩t5좺c]Mj)$Y*Neݬ{38;0Ȗ:(s"2pE.MUǧ4qn7z >yu7{X WvsQh?-}lBdk$iĹqPYO;zb,*c७JPy\> ,]PQ AEs]Y]$xvOSm11R_My x=D%Ǥ!rORW.?ޕM7vL*6Vi]%0ÑQƞM\Iw+s<{I5UP_BR)gqPʛRfb??V;qioT}yvY-w}L@bj¡?.{*e$@p"ei-m'm&LE<.N.(Զ|;4Q\FZ/VT]/N02iJ +% +Tj afe# # fS +GpI!wN/[sH!PGqtY,˨q M,.tGU]rC!sCGh,CM)a,@3xȄzXvR +l0Ծ`zӾP:} +AйEWn=PNyjj);GM4B@F.A|vbXCb*UZ$Ј3C)2 +z&X|LdLT^ 4ŰePEcR +vdqڍ#b,鹶m -U@%d (g"ӳu8l$5f_DI\Z!ED&"v08 +(v,]5imгmy(_Hd5y@l/]#PAe0-Ӭ/̹{ntRYu2fH`!ة/KyA>{˭))nxx*6 $abER *f:303DRrKt6Y]Tn c&js,mr.vlG)2”ݶhqEN l'\=(`}ipڶAA?)oD~%rt;W_γ͠`(U+G +sq+_.[p6Hѹ 9<s]Рeu/'i3VOSu]\b Ew/*gᓯono Q{_"z}g@{uj"cҹo@98p4^ui{?0MG$U>l'ueX60?An D<9hS&B0˛Er&VU_"i^ > {{<$22ڋ 4pDHL '{Բ_δB3DqFcv$4: +҇$%1)gĐ34Q\F{KiF2b|vsBSLCGaAhi)=60 uA zKQ)SA8B4xZ:~Sd©~ؼOJ92luOxS~iVm| k;f@: qcҾA̖n492v#-ne88/(n]0>}1д۷gn__'uPendstream +endobj +2018 0 obj +<< +/Type /Page +/Annots [ 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R ] +/Resources 2027 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2028 0 R +>> +endobj +2019 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 489.7 159.212 500.604 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2020 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 417.242 251.43 433.182 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2021 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 204.875 402.896 286.279 418.836 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2022 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 388.55 207.684 404.49 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2023 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 336.829 531.064 347.733 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2024 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 318.841 180.074 329.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2025 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.633 318.841 307.037 329.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2026 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 362.17 318.841 394.588 329.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2027 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2028 0 obj +<< +/Filter /FlateDecode +/Length 2271 +>> +stream +xێ]_A֘si 8H&H޷K@m3<kܢa.E9ۜF1Q¢DD)8uoWzsxV(%)\/ oS@ ʣ$ Tϯ;/jda c wF͵h[t?aUGKut^w+'uKFZCk+V?}o[<0 Sf٠mP|I/x%W+k S 0; i Șw+O8qޭh/u;wy}Wmэ+7./y;䱵oeQw>/k[6š dՃ#sw: 2[PE0 +O4Z:G jy'7S>%nVY+*iY3l3l I毽)N8]C +2$}r)V%{96}"w0NaUQ+ x܇Å}Ӛ kPu5͘ sD)7ȀIPހX姓-j>+b} +jʌ[w5Z=82kLahj@x]z+8fA[;%|l:+vg YgA|`, 7XIrcה/ApX%'Pvg>B+ +b(P!X3yBGIO(E(Pqei~^5RU#Bi 0ן~;]-yUny'lt+ݧ}mK MYRFՐ/fĒ ͤ4UB!'X!Oc T ;YctI* fY ڻ~-A."4aRh.=0irJ!}$`!jq4e1 :1x(L;4PwO=NJ;g#n'K(Zozm~"95PQ5`r'x<{ 0J'5B{Au򑙠:!pACS٠"$<=`L GnK!+[+>bG2cdOcĒA XF}>g@3Uk4sqy%ݦj..9g)]72E,L=Y>֓ a:B8GJIXs7H(HRA=̎}&ca,Xp>LE22%LhL&~l&c'S偅8%W2uYݼ*+fNtgt4II!wD48TS8Р5{s]_s5f1$iBjGm :> 3>f64d8bs&5Vi?lB+(1ꩮig|*'S6f^)h!bQD*8jϞS3c I'_ teнT;ӊPІ>~g5t Mt<TҦݜueaF QB*L>u"2N`&Ёt.ĆB![l=G|+2b<_;6BwIi#VtjYׂ̑V&ffTCωj  Լ`k4}7,!gGسX+Pk`>^TJ{ǧ٫G0m3C>ߞ^! "k<%3d'4_s\0 + 5 mD,z>}@DGҵjaSݑˌ@m4=ڔyurHl|JS??`}HMZT7fѿo^ <6k>Yq1|Ҿmm"n?pendstream +endobj +2029 0 obj +<< +/Type /Page +/Annots [ 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R ] +/Resources 2037 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2038 0 R +>> +endobj +2030 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 447.802 182.504 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +2031 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 447.802 273.701 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2032 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 447.802 310.005 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (unique) +>> +>> +endobj +2033 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 312.994 447.802 388.072 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove) +>> +>> +endobj +2034 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 391.061 447.802 471.36 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy-if) +>> +>> +endobj +2035 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 474.349 447.802 528.545 458.761 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +2036 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 413.966 205.411 541.248 216.37 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-stable-partition) +>> +>> +endobj +2037 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2038 0 obj +<< +/Filter /FlateDecode +/Length 2001 +>> +stream +xZmo6_oK^ۮ@uÊkkBG-9&wEDъ.Pa!yy1/^'$ oQo 3s螣ُKHr OH؛3Jw8";*Ӽf3F ,N>z'elږP92GX52hD +m Gp*;>0)rhRs}A.by\ QaB !pu!뜍#^ 9xPZsƜZgά$s;YLi7qH$3b۬3|4 +6;7Y.S9"0`@dy 4_io tYoz⤌x/41͐œ%!wlHwMlct2Čܡ1T ;ѳTk]U<ħa0"eEf,dD;ͧ1IomWiל=( wb \$3H'휣( L -jMnШ%Q_kW/.r\d3#>dǚ##S{\1oʗ!C0t%0p[W +R!Cl|OP^c* Dsgm@і jU-O#o;gwK'HgUce"߲Ϥ4mSNF(S4rj=J{ᛴU"螡{;6 6YGLc1~<\A0jS^ه16GD4BCLeً"ahha{b-j{6KЄPLEPEA0D';Pkߢy/dqDhNB։LB6TDb O6T0~{#J1R& &0v1vy"!<"?ymY 9L™I<6!۬6mS~ڥQ./vU-04~+G{">c3xߕ=w ];S z,F,Y~GL7d.C1^qL"/S\ddn/&&ߕ(B8%^)Qݤn}`WK3#.ECsd,}j6/ev!_d,"䩬oJcI`PߥYdj̗ZW",ѸN[fp5WR c-u'h%Fkjf#Be?xOF$}̊qn^ +jtJ;lX-B?l{mjXΤv/Jk:얰vi]j҉ B…0D`T$]~=/٫a2gNJBۘ_3 gMu Dh$9[>> +endobj +2040 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 687.558 159.212 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2041 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 615.1 270.442 631.04 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2042 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.665 600.754 303.069 616.694 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2043 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 586.408 226.696 602.348 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2044 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 534.687 531.064 545.59 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2045 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 516.699 180.074 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2046 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 516.699 309.249 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2047 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.487 516.699 384.905 527.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2048 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 164.931 480.833 187.805 491.902 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +2049 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 158.119 182.504 169.078 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +2050 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 158.119 273.701 169.078 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2051 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 158.119 325.666 169.078 ] +/Subtype /Link +/A << +/S /GoTo +/D (partition) +>> +>> +endobj +2052 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.655 158.119 455.938 169.078 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-stable-partition) +>> +>> +endobj +2053 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 458.926 158.119 481.801 169.078 ] +/Subtype /Link +/A << +/S /GoTo +/D (sort) +>> +>> +endobj +2054 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2055 0 obj +<< +/Filter /FlateDecode +/Length 2378 +>> +stream +xZmo6BKj5"MRʮl o֮"5(Y^[pp8f" +X(I3^W'he$rQGſ&(f|}Y(IoWɮr 9I& JDFO ˲h"kxo!(RЌ$I+%'2㡙! 5/c4FIF7S~R6iMnۦ]5mRW\D'O?5=6퓦41|M[Qs!`i>k%zeXphnU.:% cFLQ6Җ}fW1~P[SBb*%>.OfɳC]Ѵ@*G`(MI +ϰ};9u tbfF] JA',,^ZC@ZvHYL涬)H5Q6 Ud +R8,roRiJca- "leLz@x B6н1ڛ >nޝ&DMFaW-PD}c`sekb,:[WYBHx0 N2kܥ5\SvydcE2qIpo¦=n?Nc B쿶yuv! x-u,/ͻUn8!]PNh"JHВq:-ܮfWDzޟ{Vr'\Q,O偠M"rAjfS\ +l 8sD5)w4)whQA=wl%0}!mELG9W$:~}4M=xn8g=GWeè_=bc_2!((mF߆V l\R;pVc\\rǽ0IVܽ+lUo ;p]t떧{*remeۜuO`\f GJARR I=hz`rN{RK2cc@Yg%fbHcGj(>{:Fð|@vϒ ί4Lx`)#JgAP ݎf$)IK=)If)JLLO0J)< ь[F/EDb-}m"-fbki'VE NFRJRNkf`_K +, FYUl4~mI S>CEagpi"ߣ~yjV?m؆S Jl9nH޵~TrHMB|yM.Kbwme ǻ}&0b$ W.<0V?R{Y%9r  +1br-=FTjUjM $:w4oIڪAC + [̽p)ܖ.WuS(oo14`1%:&hD3&8#F TM3|Ox.ymx7yg/m,XkY[ )읩;h ` W _Ả&]߯:1P+HIdWshM7IHpUK%[l1w+2:IW,48JtмH}=/*\њKc%d3MpƂ cKyf;.8kLyi[m 3Zczs2j;ޜZ?5O^<`>e䄼Y0"wl +)bE=>CO7*1}W=V-Y'ӆپC3bׂ,ZQ$!:3ebsN0aqgf23dR8-ɤl<6<,Z^B +dR4b]#fROgֻthoa^?MX BuRWլ:J+jZ/XcQ_ 2u/^Lagc̢Tk~Bq+4endstream +endobj +2056 0 obj +<< +/Type /Page +/Annots [ 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R ] +/Resources 2066 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2067 0 R +>> +endobj +2057 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 403.324 159.212 414.228 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2058 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 330.866 270.442 346.806 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2059 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.665 316.52 303.069 332.46 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2060 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.278 302.174 226.696 318.114 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2061 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 250.522 531.064 261.426 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2062 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 232.534 180.074 243.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2063 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.845 232.534 309.249 243.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2064 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.487 232.534 384.905 243.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +2065 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 164.931 196.669 187.805 207.737 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +2066 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2067 0 obj +<< +/Filter /FlateDecode +/Length 2437 +>> +stream +xmo۸}XČ"Qu:\vmZ8lɕa})")qw Ezy>-p?q,GiD"6/Y\Ii7w =$$Y/~.(J.%88.ڢ.#DM+$jiڪ.wXNIڀ 2x}OR.|50"FP}=)l[>\Ae^SYH 8,ɐPS{k\AZ~3I++h_Zv8it}Z$X{-N'WFmֶ̐1vnzC Rꅹ~,? WA{Cݔ$,TS.R4̄$٧PYYWV[Je1q2&%5{X=t^9\np]ziOQݮ mv2I=1A1If 4~n<"SO4;{ jSDc c 1EB(Yi{Bq&o5'&Nmh=K.LO΅JGߕ?L?A<0N]*fh=TZzЏmN7ZP7,qZ4…5Qu8qfm3^>t$-iԥ)Ěz?ߗ#R]*(pbÙz[ce H5(#Ġ}l8\ +7 +(]>"wD.H3Z5EmJO0#e+g覠4y(QcCc3y7aGSv&0WA`DIj裒Q~y&4QQ3 Kb(F }T>- q){|s+#+ ak>)2΃x)؋@gѷ~_>)Wvdg։^(b.MiYZx&EҫQRa_l(K 3!ĵ\)r 6#`1)C1G= @#iPXCwV$[[/FG# +"މ(]_itm&ǵ_G| eBL#2q3O>]vչܩ)kV_ȯHT8K hv{378fN~=%endstream +endobj +2068 0 obj +<< +/Type /Page +/Annots [ 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2074 0 R ] +/Resources 2075 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2076 0 R +>> +endobj +2069 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 364.116 182.504 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (transformation-algorithms) +>> +>> +endobj +2070 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.493 364.116 273.701 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +2071 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.69 364.116 362.209 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (stable-partition) +>> +>> +endobj +2072 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 365.198 364.116 455.938 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-partition) +>> +>> +endobj +2073 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 458.926 364.116 481.801 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (sort) +>> +>> +endobj +2074 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 484.789 364.116 533.766 375.075 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +2075 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2076 0 obj +<< +/Filter /FlateDecode +/Length 1347 +>> +stream +xYmo6_/l fw [65[I-;|(EIEQǻxwۀf QJe7OWٯAp$ pDEQ8zYobF#Nd|:GdLv* tڴ)[v 9:7qƄ@hIXm\o+=IxP)Cb*K(c>+M18Gs{"'4;r6¸.R{\) ̦J?OGklR U1b|Fk)#|J0%PbD]^d66/Aq X ,OjΝ<b'CvcxTsbcpp^> +endobj +2078 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2079 0 obj +<< +/Filter /FlateDecode +/Length 277 +>> +stream +xuN0EY&;f!uTuhFj5&TP9^ϑ @8 Z-CxՂL *?lX<FBXW79! 98 Y_M@m56݁,Ґffll/g!R71Kb#%XQ}MX0Z}Z۳LJ> +endobj +2081 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.276 625.635 308.069 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (type-selection) +>> +>> +endobj +2082 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 431.545 625.635 475.002 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2083 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 477.781 625.635 529.039 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2084 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 613.68 143.738 624.584 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2085 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 418.86 613.68 461.25 624.584 ] +/Subtype /Link +/A << +/S /GoTo +/D (arithmetic-operations) +>> +>> +endobj +2086 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 464.684 613.68 513.162 624.584 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2087 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 516.596 613.68 545.706 624.584 ] +/Subtype /Link +/A << +/S /GoTo +/D (logical-operations) +>> +>> +endobj +2088 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 87.88 601.725 118.654 612.629 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2089 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.306 458.263 447.691 469.167 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2090 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 415.694 416.42 548.197 427.324 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-metafunction-arity) +>> +>> +endobj +2091 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 404.465 125.2 415.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-metafunction-arity) +>> +>> +endobj +2092 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.92 217.89 361.591 228.794 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2093 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F74 263 0 R +/F73 262 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2094 0 obj +<< +/Filter /FlateDecode +/Length 3397 +>> +stream +xZYo6~践iFue&$ $>,֋@VnaRGRu(J-`,:>U _ɢM*MMu +6Y"h myle*/hWv@U"\fXv\/o`IZ?|8Xwp~LkA¼K6Bu)T@eZ} 9 af۪9 C s}Ϫ®Aٙ ZуUͲ:q_2*[wq<;OVF'X^W'CU90\?vx_K6ӓRt,AGӚlܶNxoL؆*N;vmەg#UE<-)}nOv ]Q5FIpiMG[zgdɒG4݃ڞ  +x."EQPqlw"ɾ~yY]c#EPǑJtF EY,YVW 2v`eZAzQeBsY#gg+doT~e9K^( ttqBsq%ͬ4LUǯ\f\ vؚ(aC`9LKA/O!(EVx.M#\*4KF* [{(RiRu%?8_y|E!ǁ7H)ݱxSOp/ٜs?IB,Blmj΄H%+K/ifWV1\=zp0M/Yh.d➓0SIVW֞䵛ֲn.{%|r#0q, Wa` }=>x(/Mei..\uX;6jr)DBAXgÝԮ@`P7t]pZ3 mP,4~oG8k,LS&@㬣,̦X7!`(T|?; Hl *y֟5i; NZ0}`_Vnؔσ</rcw5סc=0,@NMIl:kAcc4mVH BLkEMhZP^sVc= ,(Wydg}uw>GGT^7̰o5a>@T }6+z8YJcprUpjA损:`/:ڀ$,d?.%$JixD(< c^E*LTU5*K’GTua1 f ~p=A4vvi`W,%9D "/ipU9w DM=8rچfֵcnN52wa.G>G3֦"Wޖ|vpülr@).uc<wh{O$gM\82,\LgJ#c@N>N>)O=L('H9,׊oYzl 9 Bu򕌀`3a;!&1kNFSO!CNXeO 4e=ư[a?Ee^#G$j̭Ez[p߸cF>YqPqLҐ!/~zKVOJ+kvR-,Z +\95H$D HX7,CNRv.<  +F5z< !7A2,Cݩ2TJX|A!͂+Ua|Ze;yv~OZ731cƑ+Z|Qfa%-ڙ9tY [G@H>r\v4!ٔq4-w%6'ׅ0N${.E[#KԌ!+o{K~o-~߯w;%*M;[o{=_+kQ& Pz4[hJM#nO |ʪCgh}hhz,H=X+DG1ْ*[\]ZhBKpj/`쳅F'C3|~r8C_w\О8?KYtU-r(TpEO|vfp- +. vEЅd"w Yq4i;B0d%lO[5(oty=wƲcSWUsʝX +WI]7H .E`jb飔zPi3HDܙ Y$ ),^2JadסP쾻|!B$v +EϤwqr*OUSa Q$w)ӁHqc$* A.$$ny=ʒI^Xʵ2RUA*B׀Po=3,m)0N31߆Xˋ/J3j!2؀-STϰ,WA<+e&rdH#,Tx0Z-|!2#p4^EYmt3{'C1-ck}|T̜Q]?cף\KQT1eO5z@ݸ VZ2,.l +t& c)alXtjk0BT*X,j6ftLw}X&:`]UZ‘$4]P|H<b4UAYؽ, (7CMd>rqV!c\XRNS#_6-C+ũ@\Dr;286&6jbЗ"'1-m&{Jq][6h蹖-ڕ\ieruMk> +endobj +2096 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.299 614.328 268.97 625.396 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2097 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.299 560.529 268.97 571.598 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2098 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 211.077 506.731 266.748 517.8 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2099 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 437.018 139.666 447.309 ] +/Subtype /Link +/A << +/S /GoTo +/D (identity) +>> +>> +endobj +2100 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 419.085 118.785 429.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2101 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 401.152 124.005 411.444 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +2102 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 385.431 129.225 393.511 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +2103 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 367.498 118.785 375.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +2104 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 313.506 130.55 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2105 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 313.506 213.288 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2106 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 216.277 313.506 297.681 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2107 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 300.67 313.506 344.127 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2108 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 347.115 313.506 375.21 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2109 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 378.199 313.506 411.514 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2110 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 414.503 313.506 437.377 324.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2111 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 295.382 230.492 351.052 241.451 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2112 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 305.92 166.811 385.67 177.715 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2113 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2114 0 obj +<< +/Filter /FlateDecode +/Length 2478 +>> +stream +x[ݏ_'/E mFؓ FPAׇ.TuО>Pu/ 1 A7*ctaнEB<᝸J{$syA`#ͬ$1{`8φ1H{Z쇃vÊ^D)"\Bh$0l1%b-<l@0[4 E sRHpݵFrMG=Yk\r@Fjh=FsE85 ހš30`1>BkYM)W`c8`C<ԗJ/(Wb}z.SOe3%M_mOsYl{Hbu(CnSag4lzg])h!dBi6ot&_F'e 1.*7tLIJJMhXxLj*>͞d6GnԦ+MVXE@Y`Pkz͌Œ:%ZxRi.lL=ZF"Ui*HKqNo,p;+ΐ,Мuatª,=Z<0WU1$VCɘ{%:RX]Y-P#22-3]fWꇎo\ĕāxf0ARʅJ0Q>>T@P3$q.CAR7vYڵ:s8pcT=M\ y-d +4 <꠷*)2}( CՅhV*j. uT>K"K@BL"{ /!\FsZy w?o$UOupP#~r4Y[ ='b-q#2!R}S

> +endobj +2116 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.299 641.028 293.049 652.096 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2117 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 213.299 587.229 293.049 598.298 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2118 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 335.41 533.431 391.08 544.5 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2119 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 463.718 129.225 474.009 ] +/Subtype /Link +/A << +/S /GoTo +/D (always) +>> +>> +endobj +2120 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 445.785 113.564 454.273 ] +/Subtype /Link +/A << +/S /GoTo +/D (arg) +>> +>> +endobj +2121 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 427.852 124.005 437.506 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2122 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 411.185 160.548 420.211 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2123 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 391.987 155.327 402.278 ] +/Subtype /Link +/A << +/S /GoTo +/D (unpack-args) +>> +>> +endobj +2124 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 340.206 130.55 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2125 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 340.206 189.209 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2126 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 192.198 340.206 273.602 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2127 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 276.591 340.206 320.047 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2128 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 323.036 340.206 377.233 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2129 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 380.222 340.206 403.096 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2130 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 406.085 340.206 434.179 351.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2131 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 80.687 269.202 162.091 280.106 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2132 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 253.327 175.66 262.173 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2133 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 233.337 191.7 244.241 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2134 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 147.367 151.668 227.117 162.572 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2135 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 244.491 151.668 340.281 162.572 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2136 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2137 0 obj +<< +/Filter /FlateDecode +/Length 2454 +>> +stream +x[[6~ qy.fOmQ(fb-OlO'{(EQDWbu~NMdIr7S{Us\/K,))"22" +8ioT)\t* hqC 炲/Q&d09X1[7{]ZcVF%S)Ì(sCB% ([È,PApYcUyl}dC!CvA> DRczS">OEX$9w4@aegBQٛ,\IH@mΚ#th] Es:Ч8p$T"Y:0Gbk +1aFuk +ڝvzdύƍ~oՒFf@'2=> wHg-[ORP4'gw)>O!HR\)~tyR R|ʂ]O2 }|ȴMҽn<8L{QP$pB3=f2f,d~O)}9\^@N/NSA~,l'c8.}@%zw**_DIx[&I$8r&B^RYz)+N +g&(A rRe6 QLӾ*SMSNaAK$Y8COŹ>+#P +qɓ0i偠ŅZ=f-P@s Twy}|]-Oզ9i[7KRi#'g~ 0Αs +YL7nf7}3.h+֝w%ibt&&L#Z"?UyI٫ɦElCΈ*i ![HnƗ !pbIZ.a@+f-c}{|X2E0縅v:cNօrY5S{yTJ0"N  +E3̱\/BbjOи Ul=$l`:tZw rNMJ(-&<4=p܁[tZw ھ[u{7x)&I$4iZ@*Fp"m>VVRMl +4sޡG< +㳗;q"+6A62DaI3FQ ~훍?(!P$3Gɑ"84SsÌVAWu;$Zפ-ܗ _ׇ~E!3dlȄ8ar =t~z6YL R D^,-wΏm=1nm9Xx'Fw x7C|[t6-?Otz5ݟrdFv^e1CZgr#GRi!9z[2igsɺvӜ|No7ղ~۬zgL¨<6w횤f{g;m03 ܩ]cv/RwՇV(mw_RWfZ)s<Cks>,zax>uvl&w]O}{I\KQ>f|Sܹ{:M ocۘ&mAHS]E|y:vAЄ> +endobj +2139 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 739.284 129.225 749.575 ] +/Subtype /Link +/A << +/S /GoTo +/D (always) +>> +>> +endobj +2140 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 721.351 155.327 731.643 ] +/Subtype /Link +/A << +/S /GoTo +/D (unpack-args) +>> +>> +endobj +2141 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 633.705 130.55 644.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2142 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 633.705 186.439 644.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2143 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.428 633.705 217.523 644.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2144 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.512 633.705 253.827 644.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2145 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 82.12 562.701 179.344 573.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2146 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 285.67 562.701 334.137 573.605 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2147 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 166.843 550.746 262.633 561.65 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2148 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 397.843 498.965 493.698 509.869 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2149 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.536 469.078 353.004 479.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2150 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 371.205 469.078 466.995 479.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2151 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.691 421.257 306.201 432.161 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +2152 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 370.687 108.344 379.713 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2153 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 281.775 152.408 292.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2154 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.397 281.775 208.298 292.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2155 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 211.286 281.775 270.832 292.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2156 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 273.821 281.775 301.916 292.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2157 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.904 281.775 338.219 292.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2158 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.437 210.771 203.107 221.675 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +2159 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.907 210.771 277.578 221.675 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2160 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2161 0 obj +<< +/Filter /FlateDecode +/Length 2411 +>> +stream +xZmܶb2"7E'v +WE]ݝPv-i\}")+E?Ah-hf3!oo -J<dɼۻWta?glo_lw8INݾ>Z9TåۏͩG8Mo% n7??lDY ŒmQ/F~ÿ 7K b9FEGq:69%(edPZjJ,4Dbd1m)b% [zxgrĒbnVMf)kVuhEIYn0)!,JP Q!IQ( +IȡgVCǬp/V/EQcڕD@2('yaY$mMAfC9hJE-DbzLDt"YEʬKi +b4eeFƒ;~9fcm8gŌS-Y7yF1da|.!|%TH;PS`+!@, 9[>8 \ڽe1Qž 6BРjt\'Rө=}he&MևL iBJTMo?uMiS?nV!t`ܛ ù7U+U~B0Cx[Wqj539; YHJXwv!5}0V]^;-[dZDV?Od/yBk&j/HZ™ u).nt)ם.~32DÒ.k<KBQMנ`ruX&fuQ&|ea]|/`}7LE%b,Wd8tcFVQ7c_fT9/ @v+OV[ 8`8)IpxJf=5-Odǥ"!]iLԚ0+5̓/=iϩk͌6!v)BV;azx8-PAue#9/_zT{jȊ3Mמ1t54;Y$m]e6Cų6 hA)tt +|kHkڂ ugY>184kP/S 6'dZ8~dGghh|ŀ+%xpR1{%+Z0sWz{,۫#}ra_I'j{_2(*ޓ,X%3 u"xrgfr~<9|ӱX(dV4WG殐'SBNP$@KWLUt}5e?^z2 (F|U߿u7e_hͻt_?U 7 rt=ib+]R=` uƾ{U|^/zՑ$ 3عl !Fendstream +endobj +2162 0 obj +<< +/Type /Page +/Annots [ 2163 0 R 2164 0 R 2165 0 R ] +/Resources 2166 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2167 0 R +>> +endobj +2163 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.413 203.374 203.034 214.278 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +2164 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 382.624 149.576 451.995 160.48 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-metafunction) +>> +>> +endobj +2165 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.645 137.566 282.334 148.524 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2166 0 obj +<< +/Font << +/F63 10 0 R +/F73 262 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2167 0 obj +<< +/Filter /FlateDecode +/Length 2542 +>> +stream +xZm_obHQt HsM WeLؒO{u)mz)ZKp GzI +pI‹1'n&/nt `O7_,)Q 7녜^f$Y-~J0ͯ%N4z#j}h:y|8C$]S][hI|30.xB +dz,N.d-M$^ܐ7!srPޛ[}LNL` *s>sA$ȍtk"Mj\_ ~$d2` e_gR1fV@m޺V_Ki[H5DC]SYc(%L]U,۫yhjDW^do#vb&$59Tl,Ÿ酰f3)7sF\E6YaAa9oA[jed$#jC O=v)!"Ǎ,kv_4nſւsendstream +endobj +2168 0 obj +<< +/Type /Page +/Annots [ 2169 0 R 2170 0 R 2171 0 R 2172 0 R ] +/Resources 2173 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2174 0 R +>> +endobj +2169 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 236.569 160.548 246.223 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequence-tag) +>> +>> +endobj +2170 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 185.561 126.674 195.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2171 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 129.663 185.561 209.413 195.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2172 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 212.402 185.561 305.422 195.747 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2173 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F102 888 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2174 0 obj +<< +/Filter /FlateDecode +/Length 1326 +>> +stream +x]o6ݿBCR(Au +@i) +EfRaHr[w߉iJbԤI)tHiSz+:ǿ%Q xvE(jgp# B1W\nf^.4E)=+fMզD$Nzgc-i;-=_/E" >#"D^Ĝ!?w7(|沘# {+j*jwV4ʬb-Zn :V^f́XbJ| (T+f+"+ % +:̬h[+u[W].WS-ڏC#Lc p?Gu˪.MVgRg5a ɺAafE G/d] (Y_6C^ g=DVV'eYa0W+RsQpt/RX[᱃~5"!(Pixz& W^+9Cv&#Y(׸Mnk Dzv"DଵvW +>-_bL'HK0+^>~M>딁&4!r|Cx3Qv9*>u7C53xjJG7?x|b9(a%##tna4dߧGFű +'-^=s簇*0x^yoS#a8 + +_;}NUwƸ;}3GW]Ar&un^A!ʳ{SͰzUdiaE#]3uOAѲ)SI}O6# _]oNmv7/y#ZZEn0 Q Y?@)pBQ WUZ  \d1|D1b1!y+p &> +endobj +2176 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 80.809 720.061 173.952 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2177 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.865 720.061 311.278 730.965 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +2178 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 447.987 656.27 541.552 667.229 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2179 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 294.066 603.668 364.81 619.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2180 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2181 0 obj +<< +/Filter /FlateDecode +/Length 2213 +>> +stream +xZ_6kHJLrI{Hh}+ +Wjˎ,+wH)QZom"V3?ΐz $h f{Ov \/>JDw 5\r\.\]&K1N.)Pj[/I + =Cѿ֫rZ/ZR)--T/p2,X~/s|5"f.g:bAP L)j)=p /4 `NwL^US픣:Ͼb!˱rr,S0澻y/=jm/s4J$Hr4𸥙UqtV""[4Xy-,חI3][e^W]Ѯޕy)%ќzr*kTCu[ރ4L(Z˪O)jMi_mˤ,G{_mvrSm]RnKBtwiTٻM`,oqW:].e3%t$9p=qCeobb[[^{)<Eqv4E}k7{2\UƘWNP=`EVX GF /ݺX۲q +otVy\@,q@3#Dp GRR/=QhYH3f"sj5C3ːo Wjܰ +.6 A f0kif!:1.iQ6q4F~ {qhD-撨LX1stWQ +dP&B)œDg1c@_2+hEsSM:,QZ7ʡ<̓cX + S$ٜp= #sч|tq)X1VZ9,P +x.I<:"t6(z: + PI/`#ǒIGmNGECoڪjs5+C3,9DdD'}5T>w5GO$\=T IϳGVp*!v:jZ3o4}J {BFZY(֓4\9B-j~yPwTi/7ۦceYՁ{)#ޥY;ItC:HqV]:w\0̻J_7>=T:,~]BcHT%"SD,([ǑWCY~Nu{51P +em akvP3Pj:r.=LK혐i ;>+1GRذ=s޳pbI/OŒ(cɌKOĒ3`@*Qh9u0/7PU3$i+Wml?JrdNDzwO/2T>HE2sѴz>ٴH3"rY喖f$ٟ$bD9;GOC-^F V0{jS:Ŋ\>*r%g6@?>xoMIz-/I'8㛮pa P0j(E="tAp +O> `ӑ`RRWGafaEEfKr:4(CPr C$0C1v{n]A'Lir2s1`X祎z3'Lf+͡l;9qOaWGLܷ/C?] j06ZXXJOJl׈~|􈝕?6aN}4 LbXG Vð(\a|%=uQ{,͝.2"E>)ԉa<Ǡ\o$w$Fs v,)Z&/)]k'ܚ2+S'$, % O\i#/g7p[jć}h~:{;/"W{`Q'gq7⿇npM\KmY>AXb D'1m ^MM`J?룙Q0qD#Q̌~5A;*7EБD95Z5<^i|#2a9-*Cuіj"RExξ~~l&ا-~eendstream +endobj +2182 0 obj +<< +/Type /Page +/Annots [ 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R ] +/Resources 2194 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2195 0 R +>> +endobj +2183 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 383.991 118.785 394.283 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2184 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 368.27 124.005 376.35 ] +/Subtype /Link +/A << +/S /GoTo +/D (minus) +>> +>> +endobj +2185 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 350.338 124.005 358.417 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2186 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 332.405 134.446 340.485 ] +/Subtype /Link +/A << +/S /GoTo +/D (divides) +>> +>> +endobj +2187 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 278.467 191.172 289.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +2188 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.161 278.467 253.707 289.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2189 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 256.695 278.467 321.333 289.371 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2190 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 81.247 207.409 166.489 218.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2191 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.955 183.498 216.321 194.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunctions) +>> +>> +endobj +2192 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 519.684 183.498 548.197 194.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2193 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 173.601 126.674 182.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2194 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2195 0 obj +<< +/Filter /FlateDecode +/Length 1769 +>> +stream +xZ[s6~_&3XKf@ Pyk:Nw2{e]cY:E;:G"Eq{fsv>ryȼ%=9[4 CSd;9|1~YCwbB֤:=,z-vb[Iè~/Ɨ X{D#$fDQ^[m嘙."8IyQHPiOC|v#۝lײMe iH%ki/e{)̌ +EjĘ]Iێ);?أ|9=`L9d GcCj(8&N@]iS׀EqckH39:3c]kp?4)K@I]t5 +ǽ}yndqƩ˝@0Ik:O#$PқbM^B[%bYkPT=˗cA5#F.u|e:nDƒ>p}qx"g;ٞ_l_ǀ^d{

>b9=t 9K_N ++eKw璢0 +}8'5EHL;:~vg]`9!gqv+} #y3vKD uJi4ԔRʧ +1VS@y;$}30q7Y l+ PǓ\4atMYfp뙥:| GOTj)c}N$B' &$s}%zY.zf H)ƍc(d=M2NWgBgw=H6B&5$Μa$˛+ʱ(j,T=41!(bOFUK"_pGo2uJž6*d8KL{6T<@ @ )Ȕ˚bJq_ȨÔG(LfCl)a Ta 鑁sNNm:Xh +'Cbl% $6#/FbG1R<^ҵcX(ӼPdM>SD %>Ҿ6[Wnid8t 3&(H, 4f0F<,LSSu7 )gM^ft{&{`i +wyS l%~v.q#-MZ,2/ˢSs2Ģd(t7VtWu|!/zq9wB0 +2"Uz/H.ҍg3WxeQJB`Nb^6@z0Tgn"7iV_h&H7yTӪRh?\LG]N1ހiRVEUE#|kU!-&CڼѠ{[T|Ƨ}@>gK>ZZk?$135ͤI4{Sb*޼ݤ(m¼4Y-W|PEқ|SqVcr õaؕ[5rZEEʫI)]öUjքZ6b\{a<3x9KĞK@+}FB9 +FH@)to$DÅGcD¤ˊ$ƞ3I8XKJlZIW<ʜTm] n H& & +(TF,7s*NӼIt4~5RrUV):o~Nx}a&^DӅpAm%m<(Ɓ#qOt]bTendstream +endobj +2196 0 obj +<< +/Type /Page +/Annots [ 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R ] +/Resources 2204 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2205 0 R +>> +endobj +2197 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 463.921 739.339 548.197 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2198 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 546.911 124.005 554.99 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-first) +>> +>> +endobj +2199 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 528.978 129.225 537.058 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-second) +>> +>> +endobj +2200 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 511.045 118.785 519.125 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-base) +>> +>> +endobj +2201 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 457.053 130.55 468.011 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2202 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 457.053 222.095 468.011 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial) +>> +>> +endobj +2203 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.084 457.053 268.84 468.011 ] +/Subtype /Link +/A << +/S /GoTo +/D (identity) +>> +>> +endobj +2204 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2205 0 obj +<< +/Filter /FlateDecode +/Length 1849 +>> +stream +xYmo6_!`_ fN] lmRZ$l˵)JD)^(#Sǻ;ӌ$DDI)fkv/gHha5CTr5+9!\&s1NNd]Vy-aaErmI.Oœ]STE̊Crz겏JUc> +at|gfƕ@]޶|ܛzElӂ+tľ%AJ5~u?MHdeiݸO=nmU6;{L1h҆ Iub.N +ooiON֙YlWnMy*ngv21].uZ@Jt(NAI +bm +ic,JI҉ݭX}oxm}n&kׁj%G(-Mγ{,Xb[|k!Bc/T{!H0yUfk|NfvW̚ `}-ck R|pulg+/m|QEAh sx` OX_eaƦp~]sO>QIyQq5;(4MW@ }C i>f2 쓡O{|V +SfTTDaaX:kri{ԱJ@Z?(HB<Jn%KTb[g_.ꃌ?:Q*.ylwWX<2ȅ< FA f eUf3.HY0="7SKa9|, pSJWBZ"7Y$xx$A*^ӰYP+16~q +|Ζ1vҧgP ƿѠsP>y!r.mۚ6C^u˝=`i\|"L"n.tuRwP8btq0W.^GnX6Eq@7hBP(f=-Z$܉֜GeRoX&u$o6lۦ+)|$5"֣v )ԏ\^k Vʥ7*{R_ׁADuQoTFY7V &!rendstream +endobj +2206 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 2207 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 2208 0 R +>> +endobj +2207 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2208 0 obj +<< +/Filter /FlateDecode +/Length 288 +>> +stream +xPN0+b֎1GC7Ch]Դ4 uҔ,f3HC` ǍѰ+ͻ#W]ܚw.RKK 2L "$> ~IM,l¢]hPCrrX*40?a7Wil'9Kr. 1^ؾ Î<:^$:݇qn}~zendstream +endobj +2209 0 obj +<< +/Type /Page +/Annots [ 2210 0 R 2211 0 R 2212 0 R 2213 0 R 2214 0 R 2215 0 R ] +/Resources 2216 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2217 0 R +>> +endobj +2210 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 742.044 231.755 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2211 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 675.977 174.654 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2212 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 470.796 130.55 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2213 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 470.796 204.282 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2214 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.271 470.796 230.145 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (if-c) +>> +>> +endobj +2215 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 233.134 470.796 271.67 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +2216 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2217 0 obj +<< +/Filter /FlateDecode +/Length 1893 +>> +stream +xZYo6~_!/6exSa WM~k@ xHڤF)RDk{ EQF+7C_&$T )E4[Mptf0=柝O,YŤZ0D?#"q4%MVzV.72,88R<:f +xs]ezq1:=yyՕJU}s#7xƈ$Ip%]M&;Sm$FDv5V Jx<"\/fB,1Jb(VoFy,I>JZvmUg_vKАQe_YF$Fe,Ft}| Ƕ'(&f7uQc0gsk%<,UPD"IU#AXC)e2$bez_=,!"UeQ[mFZ"O,>>,-PSqIB[#kbaR; %kSkLрy1۬IC.Chd2""[@ G8G3(Î]ajE`:?]\Vc\F&GFuI٠Ψpoyc-j,_cJ+a0.i2؍J8-мkk`VY*1T&r6]6ԋw Ja7xPn($_NkI9OIں̂>TH.,4oaǤ<d;:Q> E$2 ѓP!G'DON=G'yM+|ǭ3=νxUP-O?gz<ѣsh zcPGԣ^Su԰>̷I&M~pTש)Ҋ!ik,>ȮMTأ7Ao$F3y!A[Q'e>z jG*]zU4A) LxAn +rUn+DwGo" !bWY;e"CЪ{B3W*в(^UuW,a%9 ќxx}eB͚ e"xo<^>j=])v?L瞾oVyzf|GqǦ\vn |86b;.~,iNB1f|hݖ,swU W)1ezEzzC&kKVfTpQ>G=;,x+,ͨ:]F8_$s+Ne]{: h;XFi0}7ַDB皞r +#3,@͋-Q3rihuy`qήכm mS'w[C}%xAfkf V(픈n,Wi񵻉v%nպ?g:ZD1cҙ-< ̾f߷ݲK[1İIc7k'{v@_G.>Bܺ:?UnoDž}Znv?n싴WU08ݣSt9bT;do%[YyPK+3v!rv֮ݫS[ChsFAF ٸ)P? + _!2 q."pqg;wޔl11AX[ 3 ]%O)ENzП"@ %P  ^jUCC5Ԓ]~pѿrHlfl<(z(xQnx#p{@*#Sa~ȪkPi9X5uyՍUQ^ډ7c_>PyW(ɿendstream +endobj +2218 0 obj +<< +/Type /Page +/Annots [ 2219 0 R 2220 0 R 2221 0 R 2222 0 R 2223 0 R 2224 0 R ] +/Resources 2225 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2226 0 R +>> +endobj +2219 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 470.796 130.55 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2220 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 470.796 204.282 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2221 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.271 470.796 224.925 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (if) +>> +>> +endobj +2222 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.914 470.796 266.449 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +2223 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 269.438 470.796 297.533 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2224 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 168.886 252.315 254.992 263.219 ] +/Subtype /Link +/A << +/S /GoTo +/D (nullary-metafunction) +>> +>> +endobj +2225 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2226 0 obj +<< +/Filter /FlateDecode +/Length 1808 +>> +stream +xZo6B$@--n+֭mm- +V~ղH(JqREQ"/#`G&i".G81LѣW% +)'Wq4F''dL04Iyrr)pX| K,7.گ=JL^.&!V* +FLe7ƈ(,G<ֿ;TOĔ6c!A2o {3 ) ׏a`dj6|"E,0H^· %ȷ:!xe7H80mC}_|!ɒbYv]*$Zv`'!ؗE97Crv,GѠq~ Hюjes}6n? +CpjE4*+"Y[9p;83G3He a.h|lj@h +WQSEʭu*zC8x$X ֧tPG0ѩ%‰mgck{Yzi, 2U`BZ.笷<q;~&E4 +%E)i,_no[\F%)7wd8ڏKI^kapkѓcNS)K#FgXUP kIS=>ܡz}.DxptHHD9D3y$ժJ*. M5j&):(t$Uf ذ?Bo[ Z( jOgs퍋6 BP1l-  \YȗEC|=ߗ,a{̣cQy gq] Zm?JM`imq1i|85bO+.~.i[ |R>H@ogrC> +endobj +2228 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 742.044 231.755 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2229 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.937 727.698 249.607 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2230 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 675.977 174.654 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2231 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 230.455 675.977 286.125 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2232 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 470.796 130.55 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2233 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 470.796 204.282 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2234 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.271 470.796 256.247 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if-c) +>> +>> +endobj +2235 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 259.236 470.796 276.89 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (if) +>> +>> +endobj +2236 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.56 252.315 261.666 263.219 ] +/Subtype /Link +/A << +/S /GoTo +/D (nullary-metafunction) +>> +>> +endobj +2237 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2238 0 obj +<< +/Filter /FlateDecode +/Length 2051 +>> +stream +xn6_!`/ ]jn-֮mȉ[v-]0wDIQz:edo$yHH&)G$OɽF)JaO)Er[t9=8ur-Veoi,b0DZHf+yՊctjY}IhD_9F8MIHk19kzEHh=? D*a3]b NQʒjY SD͗(mJTƄoO# 62曾0Hf,¤A7) 1@>+CD'2/}f)IGc֠e13,fbmJMPnzÌ@R@H٨Ӷ)hR3Hrsy&owF@f nCiU(!)*ەyT'g~W~Y-8|_|$$luX/ *ubYJ+8AoB}!Shht?\w+tXR$\y-yŝ:H.ea#b ҜӜlTR@Fl:gMéytE}IN,zGXr/ef3d*7-Sy {틅(xX)u}S3JGv&6E@y 8mϑchx1 +3ʎhP$Nԭa0=vQjڇO& xǵkC4#B =e %)Q`vS"wVRyS14k}e oպ*] 0sZ?ȭL,mnbW9~ʠ hc{ϙ[mP*z{oL0?2% f+Ksv<3oɹ3g喽eSڭXC7\Bo Qm͆8}z(ԓ[W s?W_$ ǹy*+p", +[KޯJzs;]Bzaϔ (D}=&jWP zHFo*t "a#<4N Kp|Eyՙ5uk;B73mf<ᤋ?cұ$p~RLB[Y{tv]]ںWr.J%vGijQ({h"γSЋ`h*$ ^ԋXzyRzi>~mk֚Vw$v7ܳ +̈c*k ژ}nSw~ܸ`07ua>:vNF5?oěi5ݼ|%qݐC Zendstream +endobj +2239 0 obj +<< +/Type /Page +/Annots [ 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R ] +/Resources 2247 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2248 0 R +>> +endobj +2240 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.937 727.698 249.607 743.638 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2241 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.685 675.977 283.356 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2242 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 470.796 130.55 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2243 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 470.796 204.282 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2244 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.271 470.796 245.807 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +2245 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.795 470.796 266.449 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (if) +>> +>> +endobj +2246 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 269.438 470.796 297.533 481.7 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2247 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2248 0 obj +<< +/Filter /FlateDecode +/Length 1710 +>> +stream +xZmo6_ q|5Z]Z #Vn ;LRd޺vBH$H$R$'c;p?}LD!dTOW QA/ G4I 89y8M8|~:M|,fQe)&ŸYD}rbty¤2a|IaT|gR|3hm6iؑzFL_31FsD/!s, R<a`dzY9!`Lb2֬kRźr]"`i "%#L}oˏ) $yrRŦ Q8Xn,c9$ʸS2ΎLK[/}3ykkQ$I58m8>#Rq@s`Ŧׅx.fw ipS zQ49r h +bjr3;ЀE՗po9jE4oxl'Ĉ!=k\|Gcс;N FUv6+w +TaRͽ_6om;x,] 6xv]6eHs?0b}ZT6f7KTr&uվx?|oޢX*(MlRUŪr~:['(y N0Yzz0=wV'@VQmGd(#,Q,n,E_8z!L!%NwG9EL(CP[A>#ZS"&ekqK΃쾏$Yh +bGLII-шtmJe'WN-q3c̡!s]>ĶQz7&/TCoN"FmHg](onUF֜s/!<@rFdhTTSu5v4hH +BcZ`Kӑҋ/lN#! !Ǵ (B)Kusna{=_S( @P YaլȘ.{Ŝ}Y̒Y̵Z[&+zY w?8c>sZL] VdҙXׅBHDWvRuЛRoN.ærL9 +Pk׷-<:4{#y) WeQf2yVԞA}r(;(zT|aE +U+q$8P_K=,;`id?~RJ\ \9#ݯCF{{QN bH7W(SF6G %鞘4Ê57Ú,귃 J?CCA\qvS{DDکj5롼[,W4 ˡ͢w}%qىV g?*maIQ}"ݙY/m.E|vbhs7" +{?~O=kfp3=RnTvc?ϭحxYv„9T:|88\޾'{>`ߨ*4iF ߠ&:]-~#Q${m/EM(SP|n[ðSZƵ曺/o5eDhiK s+XsS{q'Ng(/~endstream +endobj +2249 0 obj +<< +/Type /Page +/Annots [ 2250 0 R 2251 0 R 2252 0 R 2253 0 R ] +/Resources 2254 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2255 0 R +>> +endobj +2250 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 111.253 539.464 191.002 550.367 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2251 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.204 539.464 290.608 550.367 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2252 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 415.225 242.415 431.165 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2253 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 349.946 185.314 360.85 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2254 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2255 0 obj +<< +/Filter /FlateDecode +/Length 1837 +>> +stream +xZo6B8XMl-ڮMm- +5QZcNHIumВx \t{2fJ%)&8,'|%5ɣ^"^⤰{q&¸^SxDȳ#ROQ6qXiW-X71 y$lf|wJE:E.aX]NObSBnc$@3$D榃b>! O;=-.b0M*"`` vr*C c,겱 KﮧlX+:G&M EH<&3Abq$qg\Ao,Ny̓`l1DəLU[ X~@i9 +u`{} XGI,}}`b^Le9UD1VMIdfLT(d60F|E +J6-J ]R%ډEah8 n) TѠV(3 X!2"Yl?" +` j˲K{li9.at"!fRbVXM +%moU`Jm +BEԖb ŧfn2XDy7nYry+JH,}y&+*I2@;YQF2? D}) 䓎QkK=&6ϗ@N ƙj3h<5{Mmhn~a8X|G6VD+ +-i1[NN{ެI8pО1S_ +4?h(a9wXn?TZ[݊Xw+fݾ,ż}1m󊛢AXw;~{64~՞-ltթM .:ẅw,|LS' )fʕ`?pSFmT`9{5ѽ] NyNXfՊ8$CtN%dIx.>pzkhz@ZFAe Zl#,L_3XR G6*meH1'4[K['P(_OqD葴 0;7y4+ʄ"J\{p<88Fs [ |c=  +g[d=kTL/#e; .l˷hlHRY{:||xx=k^% +,Jy~5^cOu8p^pؽ_ɳR2lB }nxѶ"( gx,ΊUzB:GEeW䟯mJ\o}ck ~kzP4endstream +endobj +2256 0 obj +<< +/Type /Page +/Annots [ 2257 0 R 2258 0 R 2259 0 R 2260 0 R 2261 0 R 2262 0 R ] +/Resources 2263 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2264 0 R +>> +endobj +2257 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 706.781 130.55 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2258 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 706.781 187.735 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2259 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.724 706.781 224.039 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2260 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.028 706.781 255.122 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2261 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 258.111 706.781 280.985 717.74 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2262 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 111.253 297.073 191.002 307.977 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2263 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2264 0 obj +<< +/Filter /FlateDecode +/Length 1493 +>> +stream +x]o6ݿB^l f!Jbumm&~[BuX-w"Eh'^A4y;'6!?4WYZD,H\\N!iLCf`by3 |˴K3JcLgMzy],"<+&Vo3_o'10ƈl&a'gO^iwy Қ# qDPw~ ' [L…_$|/G Y?[ +tDZ}gU8o,$nV:}-h(۾u8#IMEINʌQLmެڠH&+z`ҧa%uԣʪF=Bȟ`t\8$D&g6pe [ǨbyهtM!Cߧ˲ZYfWzeSK*5wE[-b't#YUɴ* xS*d{ WÇ&SbȨ} +2boG"ɛ[|ga+pC0j|"`!g Fk[uַ/feEg$bimUJ@o˲XuOl;UVeդ_u4Yu|}jb啎7u衲j'˄MulQHVҠ쩕Tٝm1o90J&E҃[^d8)CNqwڿG(J]X~ 6uQEJ 7c6f{=b2ߜ`_(QUhdB$r/b<~bTHSPҷbV]E4[endstream +endobj +2265 0 obj +<< +/Type /Page +/Annots [ 2266 0 R 2267 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R ] +/Resources 2275 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2276 0 R +>> +endobj +2266 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 742.044 240.76 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2267 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 675.977 183.66 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2268 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 159.907 130.55 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2269 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 159.907 176.995 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2270 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 179.984 159.907 208.079 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2271 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 211.067 159.907 244.382 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2272 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 247.371 159.907 275.466 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2273 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 278.455 159.907 301.329 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2274 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.318 159.907 342.853 170.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (protect) +>> +>> +endobj +2275 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2276 0 obj +<< +/Filter /FlateDecode +/Length 1899 +>> +stream +xZ[oF~_Dӹ(@*8ɪ k)B=xxk$CDe>;V <o^\C>sB!ɠ22@SIb7|QTf".JZvQMӡWsАdA(XYF5boZvQe'ϋd3_c[}3ְK(1¼ +H_| KLHRB2;(% L +RܜZB$E p+'J* )rle)G_ՠp*6O I QO%u':je}u|O4U@\ڇwD3$u<E4he/n1nH ::/hEOgX`i, إ|˺gUD.\}_ybwPFWu,cC)GtNUjF,b/Ì:5aGSjaG(1GKa78ǡP[_AgA 8 §"}]ȗ}~W|3H2X\B$=׫|P,) h-Ch*2&y-Qj4Ҭf-Թ2kY/hf4kG‘9pap,Ɯw46>p{' sd5hcY:k=y(enPɷ{>eݒ)ژ2t%Dx1kjiF ^HDCM}3oZS%vĞFD%1:ق2eF[*1Op-& ,-T" LH9A=BO~L)o"t9z pq6ʐxxb2JӺh.[(DcVEkfrT3-AQEhhU 6Y;4Wżf2e@ScfɾV՘0P=X;IY{p}QL:=*24):c ypdvᑺX/[RSM H`sx50A\ިOmZ +IxGwCVyk{BeΈrBv1rT/lt17΁bG{1w^nmMQŃ2"śIV?cC0.vs{)MH8@ ;`7pM6{ٲlɇN}޷^Kz.cٸe22;&ݐF7cΣ G}/loEC6_=ၓa"ymQh%Y7g=jcǾ7Yq?uY;>t?tؔ]ivFjFa4 nry,gwܛh{*=C.Uph t"n8O1h|:nt +u #@ĖZle;N|)-M\ 4F:C<<0`NoܯX!(& +hJ(0nlFUS#LƱhiXxT:lv+N1∫8$4J#.ȶqImRGYky!@k'(7ă M*y;'uo(2iIǜ4z~~W眔煈>6^?¸N)<+D^7ٿ8x=endstream +endobj +2277 0 obj +<< +/Type /Page +/Annots [ 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R ] +/Resources 2285 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2286 0 R +>> +endobj +2278 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 263.654 584.539 345.541 595.498 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2279 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 411.225 584.539 491.457 595.498 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2280 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 471.135 150.754 479.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2281 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 396.619 256.67 412.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2282 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 135.87 344.898 217.274 355.802 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2283 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 309.167 234.997 320.046 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2284 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 196.313 291.045 276.063 302.114 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2285 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2286 0 obj +<< +/Filter /FlateDecode +/Length 1901 +>> +stream +xYYo6~_!/6"ETHm9++n#!EZ+g>MF dT92MW$_c4|rrQNr/'zy&Xt>qG1M$:}}q8g3-v SƤ^ru +u}_NN},gIB\E_9!4ϣՄKAXk9y?yq3zEhKr-gHy1~-_nYz֋:U*<Lc}Nd~<fhҌ+3n͸4caFL󤁝R`!:̮hX4::k cͲ(]eƽG%یe57#6"O+k&OғL!K͒bluOoŒZq#!mǐ4#׬]#'f?IڬxQjY*?rEb~UYffr^e5Z"¤ aPb]_nb=w|) j&vڋ,FBI"!'yf,giſ*VfmUAR9Qt!yY`oH!q +< gA])Hiz&گ*nBG=BEkC˲ 琴2:CG3CC2!ouXL%De29JƔ3tiA@}7@I!$PZ\:~Uw5 i~+ с( $޻zI"cA(q'>aZ,Bc7JN= -tTl(} +``Q)d,N}BC~5X/pK,1R M(a z"^+3BƩIIJLb0'QwOɱdGH+'a~0-;auz쮴<ڣ}oHT61:3* +ZI8Nk4Y\bZvfMZW‘Qe \D08cyh@:Gs Pu2 jSkt8 (mY*l3HrەV0!=xBeX>Gi +K{7hPHƯfnk/]sm;7!BI]9Y!Ê9ESLC⺠ݾƮԙ҃9q, |8QCԅ{#KĖ1E3j|X vś͐Is=q0<F;Ns}$\[7= \PM):`]"If)ь"aR!|UEAV( 2pK~ظpB`oT.9 +XDisWZ}Ct (I75>r?.wƤB)-nvyn,56gR׺f`imxjD?Fc6". +c[Bo1+u(t5 ;[Cso=sqaG0lڹc6\_v.N +T)s\oNĂynf[KtV@;qpg=nϞ/@Uk۫w+{^N$> +endobj +2288 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 130.55 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2289 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 739.284 214.943 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2290 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 217.931 739.284 297.681 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2291 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 300.67 739.284 328.765 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2292 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 331.753 739.284 385.95 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2293 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 388.939 739.284 411.813 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2294 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 160.799 445.167 227.33 456.071 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind-semantics) +>> +>> +endobj +2295 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 374.619 333.611 455.809 344.514 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2296 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 242.898 206.139 422.384 217.043 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-metafunction-arity) +>> +>> +endobj +2297 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2298 0 obj +<< +/Filter /FlateDecode +/Length 2229 +>> +stream +xk۸~.fDR#w(6dl?IȲjK$7-;K$Ek &3Ùo  4Cq̂b ]yx&A2"Hp^| +0ˮ%0z_ñ.;X%,PA^5CU`)j0eݫ՗Uu%u޽ oX_Í~]fi!YQv43 E :C.1FI",v]="(ʈ 99jd#-1cԦ\Xv 74B3﫠i;(w~Ε_~hˮD0EY +A2":)SL!('h(Wx;),Fq a9q 1);[>j i2 H AtZ@i=R^;W|r8 aI<C!Q" &rˋre9RUwnj!Qd' ͥq~!!Yh0Mys>vYB.;0n0kcU${0&yt0goR"`JDG °cI,QDx?IPa/Injǟ-q0&a[ X8=RGLHX~A9 +$ޝoT%[M}0>7F۸]@VxyW. b#Eo%G%ِ +"R Kmu"xWűj3.д{/-' %[$RNT" GTa-p7UW跥Z-Cc*mpQ |ܼ4PUA#P_ݏ<:ߗkԆAp8q &(@kH@ +k% mWQ"d,#\ZR˼vYō[$J9IQ1aU%d{>>4 d֑uSvj^7n GaHR}^U4Ǿ@c#`[vS4u;dĂF,G@Ás0N}(ZMW󵘧ȻuTҹvīc<#\7[[ x;Ͽ8ۿ _(ꚶU[}%d yFċ^ҊF/-J+"xD[!z2^bm !tcS=S9/#Cf$N9Oހ 9mӗϽ8 CqV_@\WmVzWB`p=mY+cǽ8Xu5'xi$ (jH>m8(&\6sL1Yr*f%(L3 \Δf;2wﮃ +4e7^u6M[=_DFGliŃVU6obhբm̯Zx^JS[0YA̤NPv^SJ ʲ1 +fFAߣ727YÐuQ;.M֌5rqo~JFaxϊ#cI׏Y,ڍ3 QjO nڄl/֩Q*>K(iSLR&A >޿6%`gy]* #֣JmN^є"f Ep#I)HR}׆hAV0ֵ^+6ߎcqu_1I"?_~A2nO3t}0(#TfKΫ%ڸmjx/j1[#aM?ʿendstream +endobj +2299 0 obj +<< +/Type /Page +/Annots [ 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R ] +/Resources 2310 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2311 0 R +>> +endobj +2300 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 607.18 218.669 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2301 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 607.18 239.311 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (arg) +>> +>> +endobj +2302 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 242.3 607.18 275.615 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2303 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 278.604 607.18 301.478 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2304 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 304.467 607.18 332.561 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2305 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 335.55 607.18 389.747 618.138 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2306 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 107.674 400.709 204.41 411.613 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2307 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 350.515 400.709 431.211 411.613 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2308 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 162.717 234.997 173.596 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2309 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 181.435 144.649 277.517 155.663 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2310 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2311 0 obj +<< +/Filter /FlateDecode +/Length 2158 +>> +stream +xZ[o8~/ St 3ΠPl%1`ˮLS )RE1NehIf$df*/"[lf8ss{/gJzN/f?3y6'fݯm ϨGeWyF:YUU\7OBξ]hY"ykve!*U `/a[0bE}>F(͌+hk={?#팘d8S *Q$/OE\1$H)']%z"HZZ_t3_e o̴koG~m[Gm5sR%*8w4/87}](}/5 >O" P@ԵňB,nB +B ED{m`ϯ_ +ΩH`Af7f켈,P1уsoHg 8MVX2>+n3[܌.t{mѽ7FJڛUk`@>Jގ>`&p2`(tf)XBB:i֣?z{^z^?;+޴ot˙c@<|FꝌ5;rn?O*Gl(%sm}UgF $h]>knλ (`rX]be8&5dd_DVI QF8{DwѤw09N<`i^Ε/2ő$EZMZiY(AMaάz5(11yZ-Mr!ɝ3,9R'w?0A.d.XFR` BGBA)áXJD ӧ-0+UT!LX=:`/Dm,hKnM?Aɱ+ri Ŝqu8f( =?Eu]/byskd2 +#& &d& 8fZPD y֓, luwIg`Yp~bz]#3 {4I$!۪WS3Deo]SWK;͉@mzxe}S-QR:*2G<0*쁽Sؒ,Ÿ  -/<; +|l¥?נ{; +^>n6mMuxC .,z7sDS[PzF:@BE#-VI<.}2ҲK"%aOw8Q8+"w$Tq(ձ@ +! cBaܽckpfx)n"zLg{^ lQdW9:>4u×]uz˰&+W n/o]>(ПM!"ޛ KXBKX,ag}aHʞhIX +S!%yCsb{_^*X(j&"i|Fjӑr=p^#pLb4$t1DHD!dj! q w"I +$ܗ2! bi5i&ϩ#oM;;–f@m@`zZ~x:T r8#MLPGN2VQp50p-MM0ͪd2y`UWMύzХ|S}h꠬#:.4@}xI×=Tu°N/}6Of.ﶊQ~8r["-k !z~[Xy[ +kDn[c73?'Ǡ<7HOendstream +endobj +2312 0 obj +<< +/Type /Page +/Annots [ 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R ] +/Resources 2322 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2323 0 R +>> +endobj +2313 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 651.155 234.997 662.034 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2314 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 181.435 633.087 277.517 644.101 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +2315 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 302.323 218.669 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2316 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 302.323 265.114 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2317 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.103 302.323 321.004 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2318 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 323.993 302.323 346.867 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2319 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 349.856 302.323 377.95 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2320 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 380.939 302.323 419.475 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (protect) +>> +>> +endobj +2321 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 422.463 302.323 450.558 313.282 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2322 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2323 0 obj +<< +/Filter /FlateDecode +/Length 1864 +>> +stream +xZo8E>gp t fJh7[h;iySUo6g~x#`#r".G891<;ϟ,QlTM&'gdL0b;]zU]J(Gܒ^^yEQ5YǛ݄ղXm'|uONO|]h*+Y/Ap 4z>ˆY1"y,G\ +DocT3B.QBH2$eL T +8EaCJ#Ή%CY2X,)ʙC)%6f177EgW݄E?ɢρv5E31Oa:OE\2ao..*nxBg dj:dS΁r ΖA#QpBPi.UhPc("5*h[cge(Paj,lK:dTJ\w*)xxL pd]Ia]G> y< +W?l n`I4lGJBJ5<d|A`?QQ#jucs^_Bumme5Q[\ 1eW\8˜$>^Jw[^+i +qT[y4!m3@ֺf$#N[rD5U'"7) JW~ߩj^/&zqVl,,+uGHPՐDu ZWcUUq*6:;Wg2ʛMmshkGr;\1* {SIqD=ޠwb1 1|]_xSDxT; z+pCVx"~ː[*v8#܄YίS=#}M-o% lNF 颛#)ߙW7!jSL(K:U;"=>|hJGڍldnv:뉦8(2eӁn'gMխu=AmؖB&|OwVG9{A)XBAE7 ~ "{UÓ|C(xؙ[8k3~Iwk1ZDMD=xX_sCC5u89O_8s53gu +Jۆ\]G~>l $׿B7oW Qv1t\4E8AQİ@ΆGΡtFzݲk7`߻7 +l 7?j>#[wVPX6>6I9u&.Ǩ4G8χBPS߲ve蚲(>^YPP ugvKR,B:p2I4q=F b`{,G\$xQi(xQ`bb( +5u^{`7ʗ q CEgԋxx ^f s$`h:x?4!LZ8bw$s٭QioVr[O|Mg~_ܻ{4">cwXS&C Z j~)P6+gŲԑj\I6Wh{nY ;]6&UU8Rzena^:m:w̪_h~P}Kmm"'S]ߌοendstream +endobj +2324 0 obj +<< +/Type /Page +/Annots [ 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R ] +/Resources 2330 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2331 0 R +>> +endobj +2325 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 216.2 336.226 296.11 347.13 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2326 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 335.11 324.27 382.223 335.174 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.boost.org/libs/bind/bind.html) +>> +>> +endobj +2327 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 399.598 324.27 459.981 335.174 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.boost.org/libs/lambda/doc/index.html) +>> +>> +endobj +2328 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 222.766 150.754 231.613 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2329 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 148.251 240.76 164.191 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2330 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2331 0 obj +<< +/Filter /FlateDecode +/Length 1482 +>> +stream +xY[o6~9@E7QܺIl+a6AD%%!wH2E3j.nEQy G Ñ $JS-Y]cgl8Mi$L-Nh;b$I4TMWnʦoç^q{a{`͋zcNzU֗$oM~U7)9Ggg? +T(7=|_Zg 2qQ5c#ҿg|Z +l͑)(üߠQV?\?]罊#J@ Htac~9T>p_q 1{`Vv$(Ѳϭ~.w#\HtK=4ss8CutHvf頺pƅE p-!%<Ҥ3$3@+#I|oނ/Ȓ 1@J>,x4zp/!J_M1T_]A.)|?ɧ&A|ͼ"NAO=y5Wu?9wG99ڭct SxBnٖצv +̑S2(TRj3*/ +0wܴ+563mYAS<!8hJ`u( +il5^wNmc\W#KIt #B<XiXtɒqt5Wy2㓪[i)Fa{yeѡp0lUhs8 ħ 7$P wu`f/.mkc[<ׯ&D7M; +…vO6 +B]e/j4b}h!od)Q$r$Fᰭ1Hp1F❩ga8|mH_Rm^! {]8e a6rz+]zX6!\/Kc>xp +ɠ`$SȰYxs9(1~ +Fn(Nbt]q-Z։D e7 1aݯ@%S)Eۀ x-2(R0I2j3x=VYe#%*Z iZ< RGU#%$Y<`A `Koif%MBQ j4W9/ί _Pَsgjv +w';haw d<~8ֺ6}ln=ޙixbuwR3-`-? 4d½^F=8s֫|S|:yU7a9LQ_ 4I8+v/4+Wendstream +endobj +2332 0 obj +<< +/Type /Page +/Annots [ 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R ] +/Resources 2338 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2339 0 R +>> +endobj +2333 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 183.66 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2334 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 691.653 234.997 702.532 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2335 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 173.26 374.706 237.917 385.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind-expression) +>> +>> +endobj +2336 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 256.118 374.706 304.586 385.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2337 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 319.211 302.975 408.111 313.879 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2338 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2339 0 obj +<< +/Filter /FlateDecode +/Length 1790 +>> +stream +xZko6_.P|bXthPl9jˮ4͆]DQ#PTK*&$2V(D0[Mppl8?ir~F ༇sO[8Lj(&\ +DU<)"D#x˦KL6]%.mymuXy)RGzL[c!Ha!"B8H^%mJlW$ŝۤ@IHZ':9m{B^!,2?)GB(C +8H0ѭ"=UMuL: eL' cmsICSlD8y;Jw +͙xU9~R +W1GT] ޹8)YQOAZ7#Q$xKOOe4&twShY6D{@O! + vqmԅ{|Rdܐ@86!H1Fdj/||sI~j^*ydNn`g,a"1) _yb0=Հxp~bqcn7qf7S)O1cR?::he +iX-g+s_Ũ+<`ލtklf:oWv̐G = ?NJ; XN,?6?T[ Bc`qIr]]2Bq$ 2&?Pa)9K5svmtriq-fdv\ĀRڿVO[cN)'2r#zpػ6ݺ V(bun"FP} 6z8@ɶK.9BP_Z Bcstv<}k&=T TDA'p;NV|Z:WYi*= +Q:Z#Q-tHX3TЧpđlE#!ۚbdbV'J(`0c8Q[y(.vGߠ_6%o.*GkP(S](־e!t1Q8.52<-(doˎk eF&#y|f fFcfogFFj_zӃ)_[ +bb6ۦ0a9ٿv4$F8juдDB($;ܐ&MI>K;zaA =3lWJmYz.ǰ(QqH`_f5rZ}9[з\crDOo{1JGqImqNeь9&7]IEcOe^~$I쿝!"\J˵N&ƦMyO1}z_MTendstream +endobj +2340 0 obj +<< +/Type /Page +/Annots [ 2341 0 R 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R ] +/Resources 2349 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2350 0 R +>> +endobj +2341 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 324.216 218.669 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2342 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 324.216 265.114 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2343 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.103 324.216 321.004 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2344 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 323.993 324.216 357.308 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2345 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 360.297 324.216 388.391 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2346 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 391.38 324.216 429.915 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (protect) +>> +>> +endobj +2347 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 432.904 324.216 460.999 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2348 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 463.988 324.216 518.184 335.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2349 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2350 0 obj +<< +/Filter /FlateDecode +/Length 1244 +>> +stream +xY[o6~ׯУ̌xKfk&~[e׀/eQǤ(Nɇ9#mL4'i^H$O'$Kצtb4H*9%uuI$M?C,,ϛͦZTԽܞX=zIz.b=bt܍g|,Mj'DD^|bS֛$CT!,eJXuq%u6f8Q 99JHfy 󷍘d( Hrn w- )7Z.k m~TTpBT1kPqHZ~ttC=w?_vl dh{-'Nokئw,o&L#?XVF%D(s-% ce0(FMLXѸ5@hth{ [2[nouYo)|gmmim}M~Z 򝖗ZWZ^w`*1Vzh&*{[3-m\|83>ʼ*6)|0pThha >/*#e+{HMw\ourWred,k4aendstream +endobj +2351 0 obj +<< +/Type /Page +/Annots [ 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R ] +/Resources 2358 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2359 0 R +>> +endobj +2352 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 290.698 587.229 346.369 598.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2353 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 449.78 587.229 529.53 598.188 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2354 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 485.78 150.754 494.627 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2355 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 411.264 226.187 427.205 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2356 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 127.422 345.142 183.093 356.101 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2357 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 297.511 234.997 308.39 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2358 0 obj +<< +/Font << +/F63 10 0 R +/F83 476 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2359 0 obj +<< +/Filter /FlateDecode +/Length 1889 +>> +stream +xZmo6_!`_Z b*QYW }ɆoC?eGR(-;EE<ݑ?4JeDDW5iu9;HX 1D.糿g$ϣ`gM+զ+%GyYo7JI(rn_ϫ˻uQ6U9_p.4I[aFfLF_#ezShCǶ!]c,AN4!(M[ O/R0C2B-s[\?]VF xe~w鸶MW'T]‘PPpM硨HENoP *F&\g<ȗN~-8G)Q iυnZA^vHJ2h3u6fpg5V&m4x|O#xiYrǯ]c5Ō"YMQ_U!0TKȌ!IX7U݅rZ^SM5We[n "?00;J76 _|kwf%Y\`+I;8f%Dg=Z/(dcG\!wءJ30A,` BAlA"o]mQ 159JVzPeJ뛼ǘH06i2+3d۾ Eb4z;"Ȏ(Ax)3x3H5NmcE _+qv܏j/_B8LX &14-)<_@rzf^X,2A|j=r$G(zSC2XY+31H߭7iy^)ت HqP*.9"Oǎ \N aPdZy_Y@-#!Uj3du D`s;ҪDJR08cq{RajQ4~jpuX+X(dZ]e?҃< AN%$0Jnibg{]OArA ^lX +r( e$r1D;Gbx N'8<pM\Ml,O5B,KQFր ]{j z4})b' u)p;ҾU\J]Nnbm֡lVWirOywseٙ$E 6׵CvlbuX_WTn):W"\Yq@. TC3[QpK8A$E8K< $ ² +#/IQJz8yeTR-=.4i ΋`F !S{lU>Z3޹x9:wNxoΙ]wNbȲ%g?4N:=;`(ءް+:5#:Na$lU}Jw\)P{*YD(#22딩L`ZhFeg,,cJDZZ !;rF8#33"?ocՏƹS HRфm 2 XPpĎ1c3SyХeY|Ï;׿l7toYc,Xى@%;vE!՗--dovB +9 S>[v)^,D #8 `OvYɔ^Ho||TuS/`D7p8`c5Uq )v$"E8 k`';Z'<#_bzo~1&mYћQ)D-͵mkc {W6W"ŘjO7"cf;Oendstream +endobj +2360 0 obj +<< +/Type /Page +/Annots [ 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R ] +/Resources 2367 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2368 0 R +>> +endobj +2361 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 386.009 218.669 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2362 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 386.009 265.114 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2363 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.103 386.009 290.977 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2364 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 293.966 386.009 327.281 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2365 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 330.27 386.009 368.805 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (protect) +>> +>> +endobj +2366 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 371.794 386.009 399.889 396.968 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2367 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2368 0 obj +<< +/Filter /FlateDecode +/Length 1340 +>> +stream +xYo6BTi)$[2X5(\" YG|$ZQ'PyǏG|0R8I' :•?KACj'ˠ.)"y[8` (|mKLܾm!VZECi6OUI$n|fm 1 ߇5P^^ϕYQ{:`1G ;RhB5=8'R8.cuk n4P L\~3LbݞP/~30L2!M[ h!HDOM8Ac`ѩemtۙ7dS&D6"Fa$祘0PrP`ޗV]ReqD68F4Ohrf$k@o-|'HH4K)3b$)-g仛S]졀ӈ ,Qxd']1].O "j6lvؒצ@b=8k'TFq%? &ew,j"vON"]~wsQ}/ҙJć;>Ǐg;KԱd n K#1qvpkޏ=} Zuj8(gLZ4* ?gWchY9]eq=獾Wnͮ7U?3@o ^>wl!9pЈz}cVā +%FZ"NrbeNīBԖ2Aʼnxnno `~[<0eܞc 0{:@x's_z_T;zk)B賭9wWbS%!*X +-SX AIbı[ese>))6Wbz.\4g{b?r tWKeŜ`uõpxQ4:;b&,#H-J~/ŭRw7v":(/uYXEOendstream +endobj +2369 0 obj +<< +/Type /Page +/Annots [ 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R ] +/Resources 2378 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2379 0 R +>> +endobj +2370 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.141 647.005 257.891 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2371 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 242.898 471.1 422.384 482.004 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-metafunction-arity) +>> +>> +endobj +2372 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 265.865 218.669 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2373 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 265.865 274.558 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2374 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 277.547 265.865 310.862 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +2375 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 313.851 265.865 336.725 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2376 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 339.714 265.865 367.809 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2377 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 370.797 265.865 424.994 276.824 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2378 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2379 0 obj +<< +/Filter /FlateDecode +/Length 1981 +>> +stream +xkoF +KHm)P҂ +~!I,݋KI;ڹ +g絳Z(4,IJd> Kv QJROG&Yt:јq̷b- 2b "jj)J@Tǣ~D<_lb1-ч٩/ S ыQLxD9&4MHhIXk6:7劐R$-PNH+Jth/7܌+3̘<%n- p#Rq1$",wc Q܏'"H2BUp)% RڌWfyO{qSa+Bg1I=kB(&wDٟľ~iy L܏ i1gDv|3Y+{ +>CsL5(sNk7|Rd bS{:%Hɘ0@exb}Q=EA9) ?YtybR$m<`9a2%<'ˬv|{^ "^/yf#mN/ߐDyvkMu4!R&1̔cSel܁X^~0Y ; q>[>3IDCLA~3k]u6Ϸ:`;SJw Tc}8ꥻ$q,Do1Y MbC&4HZp#Ri  -N柮t6Qy,%R>  ڍK *`Kpn\gr߷2頧୵$D@&v!mp=zbb$.h&V/e: lЖFƖd\B]\Jᇿv̫Cm$!aCmƂ}դjRIY ?^9Ƕ٠,j6&i5)1͝l¡))TIvUAPp -Ҿ-aucq>JcČfhƗf|mм}~`}mzl?ʌOs+|Dkvhՠ`YP4e7>"E>+l]fo0M=`O4&B4u@HTK `(,YޗdWj>|RHo`X46^1ǮCu6v"4nסڔXBMVkZ] Ĝͯ <q Hܜ!y;#'99B%`pe[kBbih O aӡܲQ#}KT{ 4/l"xjpBpw=m *c&[~vWuud[A;Tߝ +x[&"v鋞u=6ˠf*%+ ^ى%}h`RAv| +fWQU(R"=LCYhg$\Φ5ӜHu0qQ:!R,xݡݪ=stP \y8%Rp0ꂛe..|Y'LpI4K`/ #oo#ęk5fH)`U!WD=ZΓm"n:1C:r0>F&H \nhܳ> +endobj +2381 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.045 682.871 305.494 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2382 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 528.491 682.871 548.197 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind-expression) +>> +>> +endobj +2383 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 670.97 115.457 681.874 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind-expression) +>> +>> +endobj +2384 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 175.266 546.731 255.016 562.672 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2385 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 495.01 183.66 505.914 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2386 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 459.279 234.997 470.158 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2387 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 180.263 441.212 244.92 452.226 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind-expression) +>> +>> +endobj +2388 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2389 0 obj +<< +/Filter /FlateDecode +/Length 1780 +>> +stream +xYn6}߯h*)M I\@ʮD+q{7(E G QJ4ˑ]vλE$R01"#3Sp(Q, +AAPIv?`\(6"7V퍥<4:y?8qk^J!&+gn?~aQ)@Ђy +FAG[>cp)Y61"3SpA hX0ͅXBMJ!2 WK1T>b΀"gq6ҁ-應x +pE=+YV7׫ <&"A9ǃ@cؘÁ&fە2.ۜ>bFJ*6~sD",0ұ#> ʣCgȖ *Ɍ# d4"]18E08b D}7gXfEL=bnP.&nVrئxKj^[8e$\Ї>nN  +Zn4ݶ n;2#긏s`pƆh=7B>ch'x +nle&3#V>u2dDt,?6Q`M29ٜiȡxm >:>1($N }([)EIƣw*/hH7 +@JA5}y߽%<\IȋsՌlero"^b*1o쇟e\?!%IQD{gendstream +endobj +2390 0 obj +<< +/Type /Page +/Annots [ 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R ] +/Resources 2398 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2399 0 R +>> +endobj +2391 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 611.14 218.669 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2392 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.658 611.14 265.114 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (invocation) +>> +>> +endobj +2393 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 268.103 611.14 290.977 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2394 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 293.966 611.14 322.061 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +2395 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 325.049 611.14 379.246 622.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +2396 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 239.429 164.024 248.275 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2397 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 164.913 241.261 180.854 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2398 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2399 0 obj +<< +/Filter /FlateDecode +/Length 1561 +>> +stream +xYmo6_!`17QRH_֭X5\[Ir")a}'ROq(({?D<(e;::Dqhgc$ olv./⭍RnQD + 7t6xߢLsdk?P 7 ݞ" \"5%sm H>̚GaX@Տe8nqSLpRx,Mm&^\oVL!YǩCΠKYf}):@IQ Ӄ34"[(Ztc|a FT/ܗj47 >Oe]#{={Vv b1$XEp 68iՍ"e$Jiz͚k45=2 '}F +8w .~fA0C{_ Ǐ_ğxLLޥ tM=Cv` ]9X8Oiq1j8w[ϫ:UbETmZNc}Msh%NBBE},9(r_2'em9Qtrm}lpUwpR ETA#bl`8۬DU0եx1uk~kCd8?Y&DV:/endstream +endobj +2400 0 obj +<< +/Type /Page +/Annots [ 2401 0 R 2402 0 R 2403 0 R 2404 0 R 2405 0 R 2406 0 R 2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R ] +/Resources 2413 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2414 0 R +>> +endobj +2401 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 758.617 548.197 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2402 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 746.661 126.674 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2403 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 734.706 184.915 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2404 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 682.926 174.654 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2405 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 647.06 225.991 658.074 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2406 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 515.553 225.991 526.567 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2407 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 300.38 162.37 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (arithmetic-operations) +>> +>> +endobj +2408 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.359 300.38 258.379 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2409 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.368 300.38 326.005 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2410 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.994 300.38 357.088 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (minus) +>> +>> +endobj +2411 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 360.077 300.38 393.392 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (negate) +>> +>> +endobj +2412 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 396.381 300.38 424.476 311.339 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2413 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2414 0 obj +<< +/Filter /FlateDecode +/Length 2102 +>> +stream +xZo6Bbҫ +t[;lcm- +VZrlSE)m -wǻ)}?e4i-73]h ñ3E*C4j.sE1GޔmG4'w~V 8y_P/Xc Ef.|i >|z4Èy+1"Emft.7%h/?}V+1i˕UղD4ͮ\V1KmyE[Oui'VݶrqSW%(Z֭rzJsEz3!1n(!tMwx r/P9NJ!HMPQIJr[/˝ k^n-+PZ7]o" +Nښn]3\,wU@tM )U)©V!jc^-fWv/V*_o[$PH=Ч1yCa Y cʓ1ԱC>R)cݖʈWdvQr +RCELSdbb4 f #3Uze.(qS>X"7ǔ쌢3M y4:܀e ~}̭0+9* \ѭac|hwa1&y_1? 4ʹ:#ENKS뺥k 1(X@ dL!ApD tB)2y_&2BA!,X^b;GA9"< b\]9;󥧳ӡHUiF+lw +v + Se{0( Dz]ʖȶseXRBBԶƾI .W@Z]>|`['R# ZAy/~V%Xo{3kDm*]$( +c HBN +(F&{F);eBL3qKԞH0b$RJֹ)M!p@jH|=}e\b]֭m(45T&㠪 ` М*v"ڮ 'Q}tclFԃcZl|h#l(.(?3`9 w+T+aŞOMn)Fy.@W}zD*@Z,B1daHO@o#RdHNF 5چPC_SQÄjRgtjH0FYƧOG3,MrhijSxpeBE͙?V 1( A,'&a:m:LaF3j0j }+G_;l/^gپp?uULo:/GG+jLG\׬ȟ*.mO.ɠr"WݘeR'^jrkPY3k_{C&PD,#W:7vfXgwMp*"S/fRQv'1E "YzȔ_DJ6iC3htKv0nYzn +jct^3 I{I{F()4&P 8Fq :L+ 4ʹ > +endobj +2416 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 569.466 164.024 578.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2417 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 494.951 241.261 510.891 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2418 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 466.059 548.197 476.963 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2419 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 454.104 126.674 465.008 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2420 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 442.149 184.915 453.053 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2421 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 391.167 174.654 402.071 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2422 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 355.302 225.991 366.315 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2423 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 223.795 225.991 234.809 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2424 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2425 0 obj +<< +/Filter /FlateDecode +/Length 2062 +>> +stream +xZY6~Ї:@ԑ=moMP6wWm9t[wxhl(hiq83|݌$$I^(Dpr)L/2L-/&/ɜ^q2AvVvoi"s$<ɓj7j^wYog/,Wʼyo +T~+1"elf<OϞQ+bͪkPo )C04#$rDFMw͕R e7mDXo$f$cӢ xHAu@XVfX|SQNNJE +x&s8*L*y1!\/Ȍ,}qphY2bVE81DZݤ$c|wl*ueJl)JWnRWC {L xJGX奀k*M*хqZbw_ Ek#6І#m'!ϱHF~$jC}uE:wHbJ!ې%$]:β$#)I %ǐD_HvqmL$GX ,{ fua9ꏓ? P9Z~jdS7m?6+HeaQǧd9.ـfҳnx隝ܘ,HGHZhϳcؓendstream +endobj +2426 0 obj +<< +/Type /Page +/Annots [ 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R ] +/Resources 2438 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2439 0 R +>> +endobj +2427 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 663.593 162.37 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (arithmetic-operations) +>> +>> +endobj +2428 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.359 663.593 258.379 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2429 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.368 663.593 326.005 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2430 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.994 663.593 351.868 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2431 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.857 663.593 388.172 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (negate) +>> +>> +endobj +2432 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 391.161 663.593 419.255 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2433 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 307.797 164.024 316.644 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2434 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 233.282 241.261 249.222 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2435 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 200.839 548.197 211.743 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2436 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 188.884 126.674 199.787 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2437 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 176.928 184.915 187.832 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2438 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2439 0 obj +<< +/Filter /FlateDecode +/Length 1941 +>> +stream +xZY6~Ї5#(5mfߒ PmnV-9tQwxh"(083o[$?8$E%"Mߟ?4)Q Bn/)"$,CvE2N>Ljsc㿪n#:ge%0(Z\z z9*SDhez5(ԸWjFhrU% 47ƥS5>RWj;m;lzN6bQoƨ+4^=>4GB䁿3>^>jtx{GjpVx{5ͯgj|uf^7A[Uߎ_ٗ?.;M發/j?KoͭBp*$J%%8jV֔,D4C`:L[y9 in)_4#SV2 ZysZAPi0Ԧp8cypHq,[̟VΙz`‹"F8wva+/k) ϱ%HѸѨ=1*2 `)c>tM8J1 [띇SXm/Dث +]c{egu+y҅b6}ڦj-O9 )\j%Ѻ|i㝸\H0=jlςG.M4t۫GG䳘Py^{.b]yv-6~|Ƃ)-PQS2֝;4e8(%XIsi&jpmʯ* +h>d789;e!e/wc(̊j[ +Џ!Y9ESs~ "ǽ;0mOQҲ ,PB;Ԧ +YE#+de7,9 ^1,Oѽ))c Tt+!^D%^ +=#1>> j@,1ҟgP#u) YF+ɬOp_}f1' ۿ6}nڦX>,E '),꜡\Oq4 +Q.k44?{:4II +_^I;Q< gm/&aC'wudR^h<-6u׋}5c׎ۉU*MIco@|6my3pw[ܚMok{%dan~ 49zO%d 0?e߂rk\HTefM+ +)SKef%vʉ8۩񷜮AzG}rv `nSkgИB^;F9>NDEf˵kpԯUV8֖%˥?Ɵ:Чu"atiq*zO&`yj =\ C̫S(K@[Lbڼ"G L4kk"()%nhP +> +endobj +2441 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 739.339 174.654 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2442 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 703.473 225.991 714.487 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2443 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 571.967 225.991 582.98 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2444 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 356.794 130.55 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2445 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 356.794 226.559 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2446 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 229.547 356.794 294.185 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2447 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 297.174 356.794 335.709 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (divides) +>> +>> +endobj +2448 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.698 356.794 377.233 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (modulus) +>> +>> +endobj +2449 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 380.222 356.794 403.096 367.752 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2450 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2451 0 obj +<< +/Filter /FlateDecode +/Length 1770 +>> +stream +xZYsH~cBÜ:X +ذű$yۥR^[ l'ok5ɲIxڢȚ>ˈE(Q$IT4ht fcѣWrxv1*pţ舥A3Jit؎/l[,$Qly^lgr^b=+>EgoFgϴh aL_돿FtӺWiBtޱcX>2cIMMT"t<@7эف +#dgLH'$"?4ndPZ݆ͻfZƀJnw3SLwifG% h, x_ZsV)ߓpJe[o{G•Dendstream +endobj +2452 0 obj +<< +/Type /Page +/Annots [ 2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457 0 R 2458 0 R 2459 0 R 2460 0 R ] +/Resources 2461 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2462 0 R +>> +endobj +2453 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 625.879 164.024 634.726 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2454 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 551.364 241.261 567.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2455 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 518.921 548.197 529.825 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2456 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 506.966 126.674 517.869 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2457 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 495.01 184.915 505.914 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2458 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 443.23 174.654 454.134 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2459 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 407.364 225.991 418.378 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2460 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 257.925 225.991 268.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2461 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2462 0 obj +<< +/Filter /FlateDecode +/Length 2131 +>> +stream +xZmF_޾kJ(H-ܷ4,]kWPTBlxfvfv񽞑 ?4+d\d g/ߞN,+Q L^2Dֳ߲9G$[q6ڋjܢSe[`>o2v5)I2;{2{t6Ԙ5} נF[cD2x!uW_DZs-;լ.}G?SެXP~n+mu}gUƊ{e6uy_0H`kO6/1*It/i\%1^(sT"|iVQʌf2ڌ:l~\a:3f<5ƌi +}̓ !3^D|xYO.\N ^t1Q*R#iAa?~2T`Q~Ҍ& '4![?B '$gSeȞf`狒#^ Lo7IQ.H½8s󎗮Ô 5 :@P.+(byD"τg&!dM'q[;( +9Sv4;P#,!ds+,0$dqC'A0mjkT.D}cmuiPT.lH9순gaNi^]Q{\'8k\Ípgn h|v J.3ou&0mezeQpY5ZjkfB#*4;^`LWDcIy}ުbM{xu]ɼlsxҔ$#dI͟+;CNoWOGn/n4zTP$ RQYDDB%hX٫zR;cD=~쭧kPlu]cmxݾyM;~rhHDaX+Q[ٶFNu/êֵ +ok%Qh{X_ Ӝ_#@#x)ݔ""fdO$4pmOa8iud8.0zE2Ð}bQ۵_@%shx32Ҧq!5jVd6 X}:aml{C7^DcX+6 G3΀"IwE׭bkzN 54l4)=J/o!e2{hX^z龗_lGwwS!VC'Gau}ƆQ܋z+ČgedtE͘ /E'1W6lyoDލƤal +)vcgt ~t$QզuLII]YzU';(8Ҷ]Q_> fR!xC#䞋h9˓Va֕FI7q$Y93D; ++kCa.8젢`ՉtZ7Oy/ 'һK/aQpt:,:aHĤQ=Hro?raяY,///1n2E47;,:z,"e*QmD*\Qbtx;Eb>*~rv \K;V3/ka~/ :οgDs6m.QNe 6(>h!d(G}39AH~/9T<ѨsBDCmSsBuN3dtPI99,Gr Ρ + WARH duF4‘uN s(9:G3bpuz sz> +endobj +2464 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 663.593 162.37 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (arithmetic-operations) +>> +>> +endobj +2465 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.359 663.593 258.379 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2466 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.368 663.593 326.005 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2467 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.994 663.593 357.088 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2468 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 360.077 663.593 398.613 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (modulus) +>> +>> +endobj +2469 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 401.601 663.593 424.476 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2470 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 343.663 164.024 352.51 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2471 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 269.147 241.261 285.088 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2472 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 236.704 548.197 247.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2473 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 224.749 126.674 235.653 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2474 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 212.794 184.915 223.698 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2475 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 161.013 174.654 171.917 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2476 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2477 0 obj +<< +/Filter /FlateDecode +/Length 2022 +>> +stream +xێ6_!`,6hdޚPmNF-9v#xYE<7+=,K2dyAT%݂&l7ϿMERƛۅA/'7/ɒe*Y1Ji|^nag4ϓ$Wxjmׇxxq + ÂQ0E[L}m?tZɌ\p,r̒Y+iL·rdjHIAx{;A[P/Vv<x`\ّّU“g ~6yD( \{'?НƱ}&L5}!nx})Fx$,>"w8ٽ-Ոa )I kXt +By>eү8AC<@1Lӝ:>}}4 EAq(nemC7 o0.8~\Ԅe|W $Pm }+n%-S21ɕ`C%9gQoB JaeuNƶjz㿪Δ)uR.]t 'fuXM;P~ޣnmNۣ߯̏AD,C0dY;!9z' $HFKiT>P; йp +}XynXO^7Z%(9io3݀ն: +fh>HSMO1Ƿa_ɩ5 jE:^=^6%W/ {u Lvq.w+>ӂ=!b,Xh*̼8yJ$-q|@0{ S4A87p:Ԇ(otB <Z}ٶIfށu{N Ugf>mZ2:AT'TcB3` _"_z~q[.[KI%hdJ@= s, pk!R!?CXi8s S _B\Paʼn'L+B?zjtZHvK2_Y2endstream +endobj +2478 0 obj +<< +/Type /Page +/Annots [ 2479 0 R 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2486 0 R ] +/Resources 2487 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2488 0 R +>> +endobj +2479 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 758.617 225.991 769.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2480 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 633.087 225.991 644.101 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2481 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 399.982 130.55 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2482 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 399.982 226.559 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2483 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 229.547 399.982 294.185 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2484 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 297.174 399.982 335.709 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (divides) +>> +>> +endobj +2485 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.698 399.982 366.792 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2486 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 369.781 399.982 392.655 410.94 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2487 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2488 0 obj +<< +/Filter /FlateDecode +/Length 1704 +>> +stream +xYmo6_a5+^5@_ҭE_[@G@,5+w|N(ڡ(#yG$|x1$%QĽz{+[=::<|1/%)ˉILB1)G!,R=FflU3N7I>60sC7s sZD>bo# &R4ldz[&ŬcMqj]"N*X a$fH͠(  ){$6VKBDϗƇ|UkV"B*~fax ƍbcCq_MAgvH5<1Y/"pz}ߋBXAFDDMuQ#stfhazhhrt,XFfKZBP.KnC9:򡐍5|\#3Ȝ]ݵlmӇh@ 9)FFݣCn\zSm7OkSm 9} +mkQao|gDfWKEhWX˧_3aښ 1}?ΈCz`jtn笝YOz#niؔ/}s7}/ר Wlzky.A?r Plĸ3圅XѕwS(.гL/3Á)cv-:$v6#QH*lo ynzoI +bk ;*qrTFVRM emjGM}c!ጏvn+Tެ]s)0". 5 P%(p0; +-5 +vt +:CVh`!ILi'Sm5L Fd<)KDSe08p.#"fR#C(eB ܊9-[cPvοP"\F S%f61տ%*rqz~[nNhËKPqiDp(j0ʼuW*Λ3J}YGGJdeG亸HP ~=u /smL^B¢60Q;/65k}> +endobj +2490 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 741.396 164.024 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2491 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 666.881 241.261 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2492 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 634.437 548.197 645.341 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2493 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 622.482 126.674 633.386 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2494 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 610.527 184.915 621.431 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2495 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 558.746 174.654 569.65 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2496 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 522.881 225.991 533.894 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2497 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 451.15 225.991 462.163 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2498 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 235.977 162.37 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (arithmetic-operations) +>> +>> +endobj +2499 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 165.359 235.977 258.379 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2500 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.368 235.977 326.005 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2501 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 328.994 235.977 351.868 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2502 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.857 235.977 382.951 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (minus) +>> +>> +endobj +2503 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 385.94 235.977 414.035 246.936 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2504 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2505 0 obj +<< +/Filter /FlateDecode +/Length 2120 +>> +stream +xZ[۶~5˫DEsi&T[+Ivgě):޴E+KÙÙo/HI2d2Gi*~otWo׋HY3DMůɒdU"dzU“%G?M*uYo= F,pd@|-^/~qz~FlgueYö*E9E){^2Zǰ0r.gi+#?ԣ6(QʢIT +$I9}~SV,Pq1"}U ɲܗu7O.>Vn+~_:#]}2}`BGM3$9^ZKIJ4I3xʍ3zX2ʐa0FVh뮄)W+baN9RRHPG0C"4yAiO8Mѧ l +7w}*,$gIwdnɩڙ 2ȯ#a[_]@9Np}[~il{>hݵjrk?Un+'Mc)4iq;c MC{I-M-u9L)W!LVduYF"PɑjWh[BA_8DEjnv(XH,Z'4f*Μm{s7Q9C4/ڵpPn^&)*nE{ +WmGTVFeXnUCK+{arrhGH!7«xg +/z"H>@"Sq>bg= Yz20֢Qb1ꦼuB~D"NO?h{5k=8ڴQ}7ǰ.kj>jQ#$u#nT^lC`a"qxD= sOG&!,6!}a͉z揠iL9Έh*Zj<ƭw 5d%^5j_qƯF}" + Ģ]Y-9:{= uw,.=yFv,V\I-4 ~t ++3 'TDZPKD0fm@Գ2#Ou;u6sFhm)Oxm O9Xy +=me.J}GyX`w^ilFDNv❧4YUfiVը22cT\٫!"QDYz1?{ي5|ƒG Gsg*;#7D!Kw{^o`ԉLn8xg: hw`7q8gI4s`RhcTOz_uP%W7򏪻=4?4]p6./fUE)MGdv9={يy[7VL/wO^Ojgoѳ\Sz7__ o:o:7*h=5ؽ]&bcsff> 0'}ܕ}k# NYgV$c_ džݗͪ=nae|f^Ui0,Bك;oVC_"CLY?XY,I?@Xy=Tm^r$)Uy?^^ޥR0geef*0'?]Fx[Bm8H0p/z#=@~ RY/y/ q^0^TP5J84٘'! ~BI-!?/ +iDlCAw¹Ƕ΅8wJguӊ.=Om*lՆҠ*u%~mψ3rUx\XN%9U V^!wiOM#w/+(> +endobj +2507 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 647.06 229.757 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2508 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 533.601 164.024 542.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2509 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 459.085 241.261 475.025 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2510 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 426.642 548.197 437.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2511 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 414.687 126.674 425.591 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2512 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 402.732 184.915 413.635 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2513 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 350.951 174.654 361.855 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2514 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 315.085 225.991 326.099 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2515 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 243.354 225.991 254.368 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2516 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2517 0 obj +<< +/Filter /FlateDecode +/Length 2004 +>> +stream +xZm6"R?Nb؉R[/Ri Pv}\͒dת87wg3>,HIr@YƓv?e0,M +Tr)&䌡`0h+ +í2'GQ~ +iJԩI|/Z8/n}\d7Il^1KbmDQ1Y7ӦN6mL H sqҕ`s^iz1 1*poCr['v0T-c7)9H՗áRu +ufM!HFGN/@MwgSR{#UeFUf 2q>uoqTfx W{NRE~SU2,4$W %NU`8?Ot L`keS?(h,ޜ31á"YY(/\(%}hDQ 3JeJTdhp~ӻMvd1qVWUc* `;+ ;V}]ҵwaӹyXwnT+)#eBzC^c%Le !ʠ Y%Y4S@ RIKaJXn[ נ]iOsjtU_TѾ L}֞QW*"tC +Z*wPs>үWZ+H.y1<i/21: s$M㨗hF,DbQ,ͼ:"C #uX mPG',סܭdP%oTDW!F%ѳ?.l[RJX+`jF%5ύruؔf)TB'}níPXyuF| 2֏CiַMV7gS.wɐOj<i!HV k8[5Og*9NxI`9 z k?"1fL ++g*K4IU`9I 䳳:U$?el,PKA%Hft^:Yuƌ@=C}X=ò$F+attVH0~8|\w Աl*sm9V~ uˀ jB +hnA? +7g<cЅ >=?N7n7;ck){=a,$7|#3zK,kҡw{,Sg&,U_xOa4G˒s=%ǰt(X +VNҞq,4ݸ/WX^;-?JlUw}Rn/鋩{pVFǓp#jUf=UXn=-uԆwWnkxWZci1Uſ2Bendstream +endobj +2518 0 obj +<< +/Type /Page +/Annots [ 2519 0 R 2520 0 R 2521 0 R 2522 0 R 2523 0 R 2524 0 R 2525 0 R 2526 0 R 2527 0 R 2528 0 R 2529 0 R 2530 0 R 2531 0 R ] +/Resources 2532 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2533 0 R +>> +endobj +2519 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 663.593 125.578 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2520 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 663.593 221.587 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2521 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 663.593 289.214 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2522 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 663.593 346.399 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (less-equal) +>> +>> +endobj +2523 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 349.388 663.593 387.923 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater) +>> +>> +endobj +2524 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 390.912 663.593 419.007 674.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal) +>> +>> +endobj +2525 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 457.122 229.757 468.026 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2526 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 343.663 164.024 352.51 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2527 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 269.147 241.261 285.088 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2528 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 236.704 548.197 247.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2529 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 224.749 126.674 235.653 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2530 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 212.794 184.915 223.698 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2531 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 161.013 174.654 171.917 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2532 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2533 0 obj +<< +/Filter /FlateDecode +/Length 2071 +>> +stream +xZێ6}WC@Ĉ7Jm&m}k@]HvE%fۼAhZ 3_(8H)VE]ﺷ1\.>OiB )"DogE$I y,6XVR1 ȷPeF?.]4S߃| HE<-Ximvz5"4I24c)FYNٟaA,'!Sݐ9/cg#y$Lg˟n/uN/tnrțn_9,-mO@yh'Mtn8C<ht7A] ?Htσg* waF [90pHŶ%MS$lrzV_W^v$u&aÌf_ӓ\xee&!9)9[+}Jci'reawֹW$x+3鋯hB8WJv6~\nvX9 ' ΦjetDQxxy*"y =2d)$FQ(2$-+=ؾr"H:(uCL#)GDDEFSilD\0,P2jZ3?(tH8Q:iܚ3u+Dm~g5FWMEg`J fG3YÔoWxٰB9'U +Df {bE#a& {YeBf@,>+i;ǒ1|ɽcNRIRsLڇ#UӟHsd$a4׎=gRHgMp*v/삽C228:}}3N)J][37<&E!9+b'S$ ^Q1 +9wc0(gS^+?ԣ[:ڟfd#օ#L0S\ڦ> +endobj +2535 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 758.617 225.991 769.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2536 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 686.886 225.991 697.899 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2537 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 471.713 125.578 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2538 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 471.713 221.587 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2539 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 471.713 289.214 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2540 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 471.713 315.077 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2541 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 318.065 471.713 356.601 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater) +>> +>> +endobj +2542 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.59 471.713 387.684 482.671 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal) +>> +>> +endobj +2543 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 265.242 229.757 276.146 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2544 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 151.783 164.024 160.629 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2545 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2546 0 obj +<< +/Filter /FlateDecode +/Length 1657 +>> +stream +xYo6B8@͐HQiWl]fkokQx ++~t͊;!(JQ (#͠lń gߢaBY4bhbLn1D7~rsXMylTgчhzp9qox>ękJXEA +bp=x[qoN#\%zװ14J%#iV&IFjYD4\A8h6E3L0| w8۹x2! OAu:5?:N doAHJόBILTvW Quqw/tЌ34<ׂ(PEzLym+ 0x\@W`JD&Y=`cN1B4T qJ!*',bNˍ3t}vBˏZ>qj~%ZNPs6;s\b_<MIlLcF]Z@wH~DoQpP4zbԅ+D2?&\dm.;)9G":SYv#^r¨k:XV?v9"޺ӉW0w2"t X3 lԝgoʀoF=I 4#eȿ_ +B2UVr37j6-9 /uᄠD2~"ڷ-Nŀy ZшW-Fϟ!}#/|,ؕyP1F +}BQ )ʢGzCo.WrV,+Sh^!B8?5i=%=,n:W]#bXZrvO9S Ƃ  : h,V(Ϸ4ZN!QcFLzin:,m1uaǧʍ88N,8pؼޣ4WhRL)S4Ҧ^)Y//P{X0g&f VPP7Yvg}Fa_O>!;V; HgJgX$RݓV;M؏0u<%qud;/G>ߢwfWR4Nc1jV;|D#ڠbO,옑s>l;oY!cљ{wmHyf +d}ڠ󪰞LJLWpzWQ(MFRXv5t@Q5Mrs+g%XAոP{n-6Tc-MTx^v{G !! JKEb #,ڷqS1XCn$>p'j~+uBhkZI5q 'ݙVXg\`bz] NTzl#fh^b2&:f"*#M30Dg2*q ڗ Kx[?WkÉO4q$NiHR£#6okendstream +endobj +2547 0 obj +<< +/Type /Page +/Annots [ 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2552 0 R 2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R 2559 0 R 2560 0 R ] +/Resources 2561 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2562 0 R +>> +endobj +2548 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 718.661 241.261 734.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2549 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 688.691 548.197 699.595 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2550 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 676.736 126.674 687.64 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2551 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 664.781 184.915 675.685 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2552 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 613.556 174.654 624.46 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2553 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 577.691 225.991 588.704 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2554 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 505.96 225.991 516.973 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2555 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 292.456 125.578 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2556 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 292.456 221.587 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2557 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 292.456 289.214 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2558 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 292.456 362.06 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater-equal) +>> +>> +endobj +2559 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 365.049 292.456 387.923 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2560 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 390.912 292.456 434.668 303.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal-to) +>> +>> +endobj +2561 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2562 0 obj +<< +/Filter /FlateDecode +/Length 2216 +>> +stream +xZm4"߸I +K@Ѫ +k&[8kɥC l2?y 5+5=ܞ?h2eܳ9CX"K.(LlI0CElyW !.yۮژ_^^uj+u:IȺTDʣUiKpWc;4m^n +wv9t%D0)΢ +D &(= kcG|4-J;^kb +(5a Bn)! +E22#4$zu_W "@ox 8Xo[SMz\Fvj(z_oV|i.N`\śJD^Ex7jw4u~x ڛ{C>ьa82}(zt숏Sy( CP2Ѥ1iyMH$,A TX +rRbBnm#`Pa_(JSG)avUnET 6sՋLMXή3V-zfC:{>=KE(V#cRGMEuy2QxQ׀grjc8MV=͗TvYU(h?mJa:d)l"XDN)j7"ʙ$p?:le$_:}&W?*Z˛{G.6dtYG[zjSwO$_:JfsOuQHs;r@ Xֳp3}x2Ayim`=V"C?tF'ЙySks ޲ܳ=:U2f}E×^b lFCy}䚐`df}M@ClmwU**UJkgendstream +endobj +2563 0 obj +<< +/Type /Page +/Annots [ 2564 0 R 2565 0 R 2566 0 R 2567 0 R 2568 0 R 2569 0 R 2570 0 R 2571 0 R 2572 0 R ] +/Resources 2573 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2574 0 R +>> +endobj +2564 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 739.339 229.757 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2565 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 625.879 164.024 634.726 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2566 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 551.364 241.261 567.304 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2567 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 518.921 548.197 529.825 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2568 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 506.966 126.674 517.869 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2569 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 495.01 184.915 505.914 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2570 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 443.23 174.654 454.134 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2571 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 407.364 225.991 418.378 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2572 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 335.633 225.991 346.647 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2573 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2574 0 obj +<< +/Filter /FlateDecode +/Length 2074 +>> +stream +xZ[o6~%@͒KWu[^TIؖkma}WQ8N(sxHD(Q(Ix4[NptuSzN'w%qLjr'#hJ0j.6e]jxBXtB4v5kJZG瓧}l4IA{x?'y}gHG K9br2y9"HR:,gr-ap}n[4U a0k 'ٔ1 +EF7Q%@v$9F)!!CT8薜Ω7^_]n +'R+TPVsB$M9A֪mT{WKծ=j7V-Qj{d>z +O'R7n p=Bp edАPsϪL\vsX.jQS>]Vd zSiT͍z+0}a_(*ݓB|)#&4_f.˥gBN<(o]`)ý՞z}ת{ГSվ4}ZQ8ѽI)m4Eם!^q[WKgtzjG[=o/M_>&>81t QyoLb5짥PfvXC+1 ܓ^ 5$endstream +endobj +2575 0 obj +<< +/Type /Page +/Annots [ 2576 0 R 2577 0 R 2578 0 R 2579 0 R 2580 0 R 2581 0 R 2582 0 R 2583 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R ] +/Resources 2590 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2591 0 R +>> +endobj +2576 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.284 125.578 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2577 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 739.284 221.587 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2578 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 739.284 289.214 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2579 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 739.284 330.738 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater) +>> +>> +endobj +2580 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 333.727 739.284 356.601 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2581 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.59 739.284 403.345 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal-to) +>> +>> +endobj +2582 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 532.813 229.757 543.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2583 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 419.354 164.024 428.201 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2584 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 344.839 241.261 360.779 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2585 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 312.395 548.197 323.299 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2586 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 300.44 126.674 311.344 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2587 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 288.485 184.915 299.389 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2588 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 236.704 174.654 247.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2589 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 200.839 225.991 211.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2590 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2591 0 obj +<< +/Filter /FlateDecode +/Length 2132 +>> +stream +xZ[4~_N%5qhHh[[='ޚd G8.UudZۤ`)AYf,aTmsc]}g'/C Z2$FH@v]G3+6ddd# w4_ve]}#Y=8Y,!I=P*Hv&|CF6$7'=XcǕ=R"Jy}Yy}aC +XwvJOPw!>Ff5hf52ce]G=v޸qFb1K3Sp5^K=mv#c[kuD;1ьW +'[Xp/"݌Su00zM5ӌ x 0ɩi wNǥ~pTrJࢎiFqTƵ;?"%pKv$8箌]=Ds:v`Iivx0*!>He[kE $^RD (䒫ޤ8(\!^ʞfxܠ:L5Pv4oDC|p1{ r xWpNA +Ѓt,B֧oƇ + r+wG3S7R..2bO_GQHř^` +7ΥqAöjZUjgpd}4rU +0 ͤEk%þVsˍN}[}h`&KN2ۂY Q^먗XBAdjR9 3IP +9GKy#1Wb=@EK9qK||6=H>#Sqqap@,20rv#(AhT-DР z%McMJ kZ5QaQ1Ca-VyhŒIq[cX+ c(r,4K3'`u*c9Ҵ;չvMʳ횐Df~)5]k-f#^}]:΅&O ZD@upe1bVagTs9ZjLsh#'LTw :p-Phgp? + ]t4pBFN$U';{4SHv6v:Q6'ь$Ub2H`k1\"r(%"4ނ@ug0 + P]"".{~Dx܌Gy?/㗎E.GnK +GoT@v$|^-DTs7U#?:.ZǨB׃&#w^S]BD1摂Jߨ1_endstream +endobj +2592 0 obj +<< +/Type /Page +/Annots [ 2593 0 R 2594 0 R 2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R ] +/Resources 2602 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2603 0 R +>> +endobj +2593 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 758.617 225.991 769.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2594 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 543.444 125.578 554.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2595 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 543.444 221.587 554.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2596 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 543.444 289.214 554.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2597 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 543.444 356.84 554.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (not-equal-to) +>> +>> +endobj +2598 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 359.829 543.444 382.703 554.402 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2599 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 159.013 336.973 229.757 347.877 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2600 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 223.514 164.024 232.36 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2601 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 148.998 241.261 164.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2602 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2603 0 obj +<< +/Filter /FlateDecode +/Length 1760 +>> +stream +xYێ6}WC@̈7Jl/A4~kjk7|[[N 'zFhDeA7PX/pd҄4 z+KHQ%avQYDe4\;owQTRp|d9榺@HLU NeYX7|>,e?5ʧ%Ҭx1Vܼ4+IxOcp'԰TUOM9 SmlQس|)צ3apѳo| NĂyff{e?;܌- ~{ݰ HvDW(b3>qg +mNSwgY#t@_:G7nyOsn{̉N<%NʨOh( tYm:%EB`݌EP$:8}QgxRy#4+,fD&jMݢ&lYLdF;d:WwIlWim/Q-hSR5iW0v谿LOUTbZXKIr2Ob t|ygJ/N%alg/WUqWu3˻j@ntNĢ)lvQT( +wL؜Θǐ>f G{F+xA=y~v=qvj*E=Nҳ}7s]_Ap\ŕᶥn5Up%D!}\:KIL/r^fFGlwh^W_}fWWL4jQg1,9F#*oO/znWHN0 Iꁙ][fJTd֢2@4!*M=MMtKSÝA͑Pȧ&X5eVFh'bnrJK&n/TVMBE!2QXCČn5,vfa~ mWiQ:v03p=C=>M '1SM,~Vɴ`x4fUEYl숦@֕ 2H=9κSN2LA2c6hN3 +$OP-ҰwB# zZk@:uHi* 3͖dQJ2y_`N&& @zR=+yǯfonaDgA ,叽VUM4@( bY^GzߥHC`e]%t; d ;`hb!6VQXڛuunx>>tVw/ۈs{e*sMD\MJ+lkJu닼ߪag|Y~p^l}?r%}Xu< "%,csendstream +endobj +2604 0 obj +<< +/Type /Page +/Annots [ 2605 0 R 2606 0 R 2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R 2613 0 R 2614 0 R 2615 0 R ] +/Resources 2616 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2617 0 R +>> +endobj +2605 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 758.617 548.197 769.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2606 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 746.661 126.674 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2607 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 734.706 184.915 745.61 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2608 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 682.926 174.654 693.829 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2609 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 647.06 225.991 658.074 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2610 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 575.329 225.991 586.343 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2611 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 360.156 125.578 371.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2612 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 128.567 360.156 221.587 371.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2613 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 224.576 360.156 289.214 371.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2614 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 292.202 360.156 335.958 371.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal-to) +>> +>> +endobj +2615 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 338.947 360.156 361.821 371.115 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2616 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2617 0 obj +<< +/Filter /FlateDecode +/Length 1928 +>> +stream +xZ[8~Ⱦر,qY`zHmREķ8bp9'߹ر G1QJ4,ZnfqtOx<x6'Qrhg˝j`]6XRFSi1V,wqLQ)vV|5ݺv`M/e/]s0 +Qt0d:b;cr uqtehyDi8ˆa1xtf=s뺥1ps @QIXb(z;8ws!Ly t`ˇ g$ʵ5mhŗݪT+؂rB^ֲU?8ϲ˶ػC{ӹh~_o;mTeN^ SbDpr,xZ QԾ~R&zW ÒmVȹS'0LұHԠM`BMټ0Is|A4֨=BJ!7\Ca)pN33*6~Z+uhVPFu-hrHuz +f,BaB3*G'Q-k`JfQ-;yE7yyψx9оa?0 ^UJ%n!D~:r崁\~'lf ߡ ;e/x /جzAgixJ-P >3JEp]D9ɼ4mBVȁt./T[3SQ}+o&3{=Ի[ﻥ,r#PP<+:jGhr0eCIK}#3el98x>kGk9"R^V#*b'n7zS{7cc".vJULOMBpG:~J\Rz{gPγHZ7Za~Ow C'q_ċ]20X2OhOYa&!9b8m +Cގ}zoXxtBbG{ݠGtWNmSKK'N2ڥ,CVL|i4_|k'ՓaAkAe8|"l + ¼ JTZ1tӷS#C] (o S> +endobj +2619 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.443 603.145 259.113 619.085 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2620 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.689 551.424 210.36 562.328 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2621 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 515.558 225.991 526.572 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2622 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 437.85 225.991 448.863 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2623 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 214.736 130.55 225.64 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2624 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 214.736 212.173 225.64 ] +/Subtype /Link +/A << +/S /GoTo +/D (logical-operations) +>> +>> +endobj +2625 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.162 214.736 232.815 225.64 ] +/Subtype /Link +/A << +/S /GoTo +/D (or) +>> +>> +endobj +2626 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 235.804 214.736 258.678 225.64 ] +/Subtype /Link +/A << +/S /GoTo +/D (not) +>> +>> +endobj +2627 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2628 0 obj +<< +/Filter /FlateDecode +/Length 2160 +>> +stream +xio +Rpy 47GM&c:-i(HEQu;(ޭH$&2ˑDCf]{ lPPMh-3)bWe/;Y2xG̱ԕIlxt$$Ci&1-(*(EXq팕CG0irJd0NV_wǪ !@S1k2눠FOƤ-`ѥ߶bPf2CLD`b&:%ot!#a :B(bA]+<6d<s^~6J J${M=wȱBs9djfec)P~-"4gND:-XKD9-I)l8$2EN% Il";Q{IpTT(S=7Ű V҆y(UAqK",U:kN/M{~ʝ9 YC4rC; Nmendstream +endobj +2629 0 obj +<< +/Type /Page +/Annots [ 2630 0 R 2631 0 R 2632 0 R 2633 0 R ] +/Resources 2634 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2635 0 R +>> +endobj +2630 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.443 475 259.113 490.941 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2631 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.689 423.279 210.36 434.183 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2632 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 387.414 225.991 398.427 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2633 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 309.705 225.991 320.719 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2634 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2635 0 obj +<< +/Filter /FlateDecode +/Length 2069 +>> +stream +xZn6}߯ЇIQ6@:m\5AZ[ެ6 {HQ%MEZp89ΰ|Z{؝%2@++Vxϭ<5yN+ЂВ,ܽ$%-p+ϭ^牖N%i_ȫ|QEg,Ns nG.,#n(RW|WX1q,(ʀtxwSh;Fju4FQ;۲ABk,Űfl_juR:VaɒH[`fHu7刦 1K}Gw{ލ 2.S"Dɬv,LJ91`B]'>yo"Xiff)^TűmjYT% i׌RS)Dmq%%@ f1c(N +&*}3qG74nE(V1E}ߕu%[=X:0KpX@+b]Kx?;zAqCf8Tˌ*2գ lJu#zmHu u^G";nZCEV-ڱffEt9EpAGiG\}.$'X>[3U4tnp-==pjQXռNu 10"ɨ:Gb.(?/BY{^߯:qg"'Fl̨9"JДƣ)g .V#{ 22:ɘXPR ?v&m6~byCH"(3R´( Qک̏<$#㝃kQw='`aAorn&?S$!:=YWdIv + O>ua^+Ň JƃcqslwH K s\kgsuf(W"ޗ[(9ϋY֫*//u :]T +- yݦfSYyND6J$vJҺ: +d`_tx6(7fbF/H;xt"J8g̳&C@"sA 0Ay^zC#rs7luycu̽1y#渊y$y%3XZdw76y7<;tA#Nv *$S R'4E1.ZZ_+}qK`"-M8{MIގ4u!_at mAZZq`ݺVz]1|j_ +g})ۧ,y >[7F]I%+:e ޑRK)1{kVwo(3{BrK\Y\XP-ybdhr;Rvȫ|E[5_[g=ko~ٟ3G}vLYO]Z4?q%[TBx.LSR)W7E(|H> +endobj +2637 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 130.55 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2638 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 739.339 212.173 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (logical-operations) +>> +>> +endobj +2639 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.162 739.339 238.036 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (and) +>> +>> +endobj +2640 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.024 739.339 263.899 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (not) +>> +>> +endobj +2641 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.443 408.574 259.113 424.515 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2642 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 154.689 356.854 210.36 367.757 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2643 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 320.988 225.991 332.002 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2644 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 249.257 225.991 260.271 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2645 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2646 0 obj +<< +/Filter /FlateDecode +/Length 1765 +>> +stream +xZo6B>fF|Jjl+Lm+QR~U(JvEZw;~$8H'(Mn77;7rtz.hR\^PD8I.F&cd4M/W7i97.jordjrj_8OeL" >+b"Z?"\b26s|\S (ˌ*Y78vF+)7"RIfd3E cR i[z2H qRXjb"#A+XA$!^+,VeYj 0/xƿ#hhRZ oh)oXjZ^AEJ74 a-/vQJO$,)nZof"ÈQL +1jrVDh4Rj\qҳyb`S(A\yl*)KO̒d|nc0S;KRCWqƩ}E;F0׼JS{6 NsWFiF[&; ~fٹg'wV0DE!}lM x1 vQ!0L(A \-K~2m>>fp=s 0HulG>qa|cП W]ѷU{nξ,S?6z2%`)o/= R[5L=9Gt{Hnye%G<}xsi5ߧaXVjg=U@-lBwӑ_Be=LL]lj擝xVT ]T%i"; +]F1endstream +endobj +2647 0 obj +<< +/Type /Page +/Annots [ 2648 0 R 2649 0 R 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R ] +/Resources 2659 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2660 0 R +>> +endobj +2648 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 130.55 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2649 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 739.339 212.173 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (logical-operations) +>> +>> +endobj +2650 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 215.162 739.339 238.036 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (and) +>> +>> +endobj +2651 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.024 739.339 258.678 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (or) +>> +>> +endobj +2652 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 367.573 164.024 376.42 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2653 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 293.058 241.261 308.998 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2654 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 260.614 548.197 271.518 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2655 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 248.659 126.674 259.563 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2656 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 236.704 184.915 247.608 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2657 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 184.923 174.654 195.827 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2658 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 149.058 225.991 160.071 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2659 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2660 0 obj +<< +/Filter /FlateDecode +/Length 1999 +>> +stream +x]o6ݿBjFu}n+nmc3r-]0(Eъf؆ +%w|$8H z&vw3oIrx]L"IrKX' iL_z~,THH2eH OKQ)-Y)ߗIh./Nd=aGľ&o'[I8FCZ -gfUԭs2^jSW(fR(p|v KQw}@ /x>>Ax_F$9&>_KU߁ q@WEy.mүwH#(KSYAMI)AgMתVxuLK$|ໜqԵSRoȬ,|1P +. tT⺉#L5 :d#\⌡4eoԧ}aҹs(Ős~?:d#R6,H6X0 k-k%9؜ID3I~5Lvv䦇D);~{2xaҥ> +endobj +2662 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 645.043 225.991 656.056 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2663 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 322.328 149.648 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2664 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.636 322.328 245.657 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2665 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.645 322.328 313.283 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2666 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.272 322.328 349.587 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitor) +>> +>> +endobj +2667 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 352.575 322.328 391.111 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitxor) +>> +>> +endobj +2668 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 394.1 322.328 448.296 333.232 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-left) +>> +>> +endobj +2669 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2670 0 obj +<< +/Filter /FlateDecode +/Length 1610 +>> +stream +xZmo8"N[56opoݴDCobIl"buǏ홱#F mR2-Fqt +}dt#C ɨn8aEh,ދiI6)f~>O<[-7EVEi>=X|HM&G&RGhQLgx 5&ZD" +Fo*;MQ#e!}"bB b(1 TEI18J GQ.l hkժWi6+PTh^oE'gz.s?.*jhR ʉP9#`#+lW8F++ϭL.ƙ2G +VZyf展3+pRT@ӏbvQ+!7X;o!BFxL #-Axq S0M}b181:S1Ee4w3%?4^g18Ea;hVQ ZVfAzX "D5A%uߪ"]"5ۅWw~kЫ`Ҟ4P|N:8݃Cw0i;SƋ4$܋UZOˇC;" jŹR2O~ +E>-^3c b|} iTˑP<xtV2hxb[V -ap`dZY~UH O||xXtgѬZ) -\NUƚ$\;]qϫ|~[nga)*w%@Ul@;_4/v_,/K~t$lZVOHY9A~i_V@发V,/P] rʪQ{;vRhk|X/70Qxx{W75\!s+Ɔݺc +0kz wN3I_9*nܐf*J-[H%iIhnڇ(k0~uH̳~Bzi(Uz4t!m0vi|4YT-Z3hs&zNa:e4 aJk4n8 4T8~&f.{ODd01TQ0͈$6j(#v?# sLZD,DBx/CN3pTMX,_Q*QMU)~OTӫәsqaK%2VA'>;rs~m#9JagV7jpc۹稴Y*qU bF6|AR6; )kuZb4|Pk=հ/ey%<*A~tх4|ne7_Eܾn'zlVނ//> +endobj +2672 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 593.376 164.024 602.223 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2673 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 518.861 241.261 534.801 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2674 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 486.418 548.197 497.322 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2675 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 474.463 126.674 485.366 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2676 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 462.507 184.915 473.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2677 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 410.727 174.654 421.631 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2678 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 374.861 225.991 385.875 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2679 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 243.354 225.991 254.368 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2680 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2681 0 obj +<< +/Filter /FlateDecode +/Length 2040 +>> +stream +xZm6_!>D ImzM~k±X${m{"%Juӗ 4- g3~"$hV%϶^9΃_|UYj/.Wjy] iv[IMe9goe>l=t𔊒l͐$7%ic_f߬\5e4y ^ +{cD:ۯX߮VW{>Z2gJîոʪ,^fSEvŗ۞ڮ_łU&1Uƛ$}k/=*`' +h-ߞ:0 +z`X@$09RyYn@7~}Ci!_NTr(N:ؽ)~<đ]]A[=^Z;=c֏Wzlcz0|mzG%7Z3>S>﵅NoA퐥Z~.Ůk5^ɳQ (8xFSpSu9UTĺ\Lp.kfmt,L ɝbH0IWNYzFffc> lP8eF /*T'u.BݢbC4}&^76tJ9s?ݢ:RXi. %FMGXBJJ*31f|!Ih,}?!bưwbJra>fw^ {+q(N*8)t6ӖLrG[?^%9 &u)ÀoYHtPWiqȏXt_ *U?eַu(_g QPHVg#,p4${/<#5*'6~_,QE~ƯZyʿo'}h믰f/ Be-jwP!t\n݄/7nao܋i>޸%1K4 }endstream +endobj +2682 0 obj +<< +/Type /Page +/Annots [ 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R ] +/Resources 2690 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2691 0 R +>> +endobj +2683 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 556.051 149.648 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2684 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.636 556.051 245.657 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2685 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.645 556.051 313.283 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2686 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.272 556.051 354.807 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitand) +>> +>> +endobj +2687 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 357.796 556.051 396.331 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitxor) +>> +>> +endobj +2688 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 399.32 556.051 453.517 566.955 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-left) +>> +>> +endobj +2689 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 200.201 164.024 209.048 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2690 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2691 0 obj +<< +/Filter /FlateDecode +/Length 1402 +>> +stream +xZmo6_!`_lf"RTXh5 [IܤG|(vbY<|$h ɼ[jv`d;Q F^y4M{A0$iwUr#R4%fa! ^NGTD&bTep1"q{a-f޻J)` (JO,RԷQ)W>5b'{Gķz80y+MMFA) ~]h[Mך5izD5 )2UXc (a?&.>.>/JVƾ(C1)a;ѓot>WM߀^4$\7[ X\}m,5Oj@l6l ꪱ1G5}foCXAe}ۇEXo5yX7Jmk԰>rpyq<Ǻ)ePCFǬˤjdzls9W9M/[oˇ >p6wvt;W J$8ktՖS WgEΐ`lG-wڎHfӉEޚ4a脡d + cTn, 5\f95  =#Quey:rH;e;rEǝ8H5S(IwYnDApxW݈8"y𥁆~1GnDJnDA#FĎXND\fmwHSI}1W v{iܭr*PFj:+P(QErĆR"obm7%Z@ZmFSenN :M7)*QGlUU,4k_.2U$ɔ7Ejz͋2ؤ)ZJuh +~ B= +2"]xP)-6_CQ.5@-#)]'su +oEfݑ?{^U{ ?S/ „9w*&t*z*',/|6+**Im1rbYzկN|t~y d*m߽R4Ե(:/x~g' GHGx7 㰩;zzoendstream +endobj +2692 0 obj +<< +/Type /Page +/Annots [ 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R ] +/Resources 2706 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2707 0 R +>> +endobj +2693 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 742.044 241.261 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2694 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 712.275 548.197 723.178 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2695 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 700.319 126.674 711.223 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2696 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 688.364 184.915 699.268 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2697 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 637.185 174.654 648.089 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2698 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 601.32 225.991 612.333 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2699 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 469.813 225.991 480.826 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2700 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 136.948 149.648 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2701 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.636 136.948 245.657 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2702 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.645 136.948 313.283 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2703 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.272 136.948 354.807 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitand) +>> +>> +endobj +2704 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 357.796 136.948 391.111 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitor) +>> +>> +endobj +2705 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 394.1 136.948 448.296 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-left) +>> +>> +endobj +2706 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2707 0 obj +<< +/Filter /FlateDecode +/Length 2310 +>> +stream +xZ[o6~_˛()M,ZiSl 3'q{xEQxu4(hss%3`$9MDBdIlS0!l9=$)'zS&s +GٿmZ~/Wna_%g?ΞRKM^W~ 8ÈE1"eg<5VEΈ-YOI#* +T;_1s3TbB~2}>xYX!+0*\`Tד%ź׻a0!JZv#yu"z*JYnRYF9"~_ծ=T3;SRZvT۝}4x%(جZSS>]nO +ؿujyMtnfZ pʖSGmwo ~sUw/ܪ),fBѷE 76(D)3{N=m%{R@J#e_U ʹ:@:6!, yIiM@9lRov`:) A|Tbb}iz X5U('6^jfc四p !/X#< rDV L02!57t?B8U>b|#=N6m#t}ӨPxyLޗ-Lޗk/h{YDb;GCOAa8zh>\RYcSo/;Cث+q=C!N3XOQN[5Rcew 7nRL@"uc{,b+3&|D>(0/"pܐNҐ]z3ˋVFd ;PhK08/a1sji& 9 %KdP&3>tɘ Vi`J:%Ւb{sg}OVgR;W&0Y3Q IsTUFƩ``o8f戼ؽ[Mp奅W^lRˆFѰkbkr>u~y3~&=9'5'ZRM_=kj@omnM)FE!C[6j֩&%ۃa8xY݀xKfn.<>c˒\Lz"6\=йk. x7ьː_L v F(9aEbp >^h +u dթʾw!%^ +Op2 Np3w͚:v훿jwT6.լkUΎRt42QΣǮ=oXѳ$:Zυ/\zV+L/Gڸ.[y뢱uч"".֥CUVcm{7P㙷8<4?xҟ\j߶ +tfX&DaZ;މw}} N>#qWq? #Ra?8y쓲1lcO~6.FlnYݮ27%Vm vЄcD0yϑQƮ.DF N4ͤ!݄I'Cne, fds$$ dR(a Xh$dΰ\0y^y]y)E>+d4#98/K=WRAqiX04ӈ +zF$`9HP0dXi,FX¥8 C=E?9p+Yuk19b'<Y,~C27)wƿB]ַIًzvw)> +endobj +2709 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 471.135 164.024 479.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2710 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.051 396.619 255.795 412.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2711 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.728 382.273 296.472 398.213 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2712 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 349.83 548.197 360.734 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2713 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 337.875 126.674 348.779 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2714 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 325.92 184.915 336.823 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2715 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 123.975 274.139 194.719 285.043 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2716 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 258.27 274.139 329.014 285.043 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2717 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 238.273 225.991 249.287 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2718 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2719 0 obj +<< +/Filter /FlateDecode +/Length 2051 +>> +stream +xZm6_!_6@ň"{A$h&OMxmzWb-;$E(CF3 g3d>pV$+BBl-.!ukAקڭӍMj^z cHݦ?; +10Qv۫Y),ǘ_L-'&> /IQ\@HF /!9B,Q e@O|86pumL(w.$t$> ('Z#YM  +VA}:/^њp,VD(vcn׽'.v_6P-Kϑ=FaTT >C(h_(f,.ǤHN+{'oTəsAI39lJ*+L8 Pn)qȶ1é2@qGM#Xp PrSnP2(.J&LpcJ$HnY"V +HAzqq^_M Z".K +0E'hv]mZ<ʃAK$ SmxJR"Unzu>Nק<-xZ@\BɶzLR'Q>TĠV/@lA| U>_CXo0?lq# +˩eNr⥜ %}gW&5t=7$kMţcְ$&ܯ~ji^To,֐-7ow[N6]q︷Sz͡׶0]n*!hLe!S`Y,{݈;XapzX!QʌH( M s:5Od/v[{kD]y\j]n9mI;?\X-[FvfZ spMc@)_jQ[۶k[;݂|̹0+zuA Vm,DSpmz,/K*wf$fVL.0EM%L&;O,z +C%w#'X"&eſ;@U'/rۚTp +Ll"ACY^B@b`}7hhp +=8%KTqޭihIi@O=i> HMW24 8lLm oiFoŧSZOY_x ѧ;!Zb)R;&:`JgR'IV)38mH[m3;[b1&WLb":`/$PF٩!~vGbrSsO3 ($6+A4*y-VG3X I%: p)f 92<~+C {,ٝj $q7Flae# 7 Z" _w#e]΃>Ar8`v +O ܒ{CY;g9wz~N^49&?xV󰹔D6s}7jҭЄ|?m{*ȑw+߄궾%E= > 1endstream +endobj +2720 0 obj +<< +/Type /Page +/Annots [ 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R ] +/Resources 2728 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2729 0 R +>> +endobj +2721 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 758.617 225.991 769.63 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2722 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 459.757 149.648 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2723 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.636 459.757 245.657 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2724 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.645 459.757 313.283 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2725 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.272 459.757 375.689 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-right) +>> +>> +endobj +2726 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 378.678 459.757 417.213 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitand) +>> +>> +endobj +2727 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 139.827 164.024 148.674 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2728 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2729 0 obj +<< +/Filter /FlateDecode +/Length 1543 +>> +stream +xYo6B8@̈IThlkѤkok+4+ć|(E <#yQχԋɘa=ߛLwkȽ@W0o8iy?Mf1b Ly}Adr:)&qd# HYHn@=Xz޼'0kֻ}*ؙ z~""cS(XxDs5)1UL($Cg8Γ|y4 nA +`VC dg1M9BJ0!jPjyv[䉆:F3 /-:`aXH]@$8ܭ Җ1JEH`b:^0?!.+|Jv1]KU'15fɏ^(:DNCh5Ds4y!g~+~?5_Wo m{V+o wSjb@31#J :pŀ=f s \1-:lDNPY0{2Hhv.BB{Eq֮HI}tI>yZATi$\G9hn]umIpѾa K+F'0] Ȫ"J9ZZch*zNa2jiuWUP8 eGYVUEF{¾"~"ȇ{{"SA$zp{"R74$婡4 @HmOӫ2K9>.L[,W݌Ew:NM˂ Z+3*؜m  +FA+}/xd0HYEұ3qÌ;qu9D,(Bջ XܸfQ( +¡ }QfOy֮6Yt6<%&uyɒfVvGW:Xd@**RQqEV̰oY_9=d:Q0I\hd2|veT- x|/^%R4R,Xk +ѣRY߱oшt2?]N^‡<?u8Ӑ],t.X~K%at_ x5 -x[_F%(/)~ gEO2-f`/Fhendstream +endobj +2730 0 obj +<< +/Type /Page +/Annots [ 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R ] +/Resources 2745 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2746 0 R +>> +endobj +2731 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.051 718.661 255.795 734.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2732 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.728 704.315 296.472 720.255 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2733 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 511.345 671.872 548.197 682.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2734 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 659.917 126.674 670.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2735 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.171 647.962 184.915 658.866 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2736 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 123.975 596.181 194.719 607.085 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2737 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 258.27 596.181 329.014 607.085 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2738 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 560.315 225.991 571.329 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2739 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 452.719 225.991 463.732 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2740 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 153.915 149.648 164.818 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitwise-operations) +>> +>> +endobj +2741 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 152.636 153.915 245.657 164.818 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2742 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 248.645 153.915 313.283 164.818 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +2743 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.272 153.915 370.468 164.818 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-left) +>> +>> +endobj +2744 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.457 153.915 411.993 164.818 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitand) +>> +>> +endobj +2745 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2746 0 obj +<< +/Filter /FlateDecode +/Length 2249 +>> +stream +x[[6~ qyI.Zi>5AؚLl9bLI4Nm+R(Z(m-'螖𸌞 + ;0D-._3yQqqn> +~S?6Ӧ^g?Tr~"1x[\|7yy1DJHbo~7]|k1r•@2)W%AJBt^=LUSm +a  @ 0(!ufq7 #(ba̓ +i# +&+՞ @H0Gz YV+SI +k`4A\~]mgƺFC#eQi援\ ;u+0C(7}1=O&S`Hh飓j/^Gqh0 gߞ/ŷ2f+4eT΃ JðIB 0aaAlLid<pCY ԬlPed3/] ͺ u!gnxƄu_a2sCzWj*{!Nˈ|aD'5҃;)!}4G{=a1d*c[Fđ!,<(3%˜ۯfbJ4p4M뙙@uxqqOt~ 6~&fԇz1v3[X~.v[P*57 ltۮ~{SO;ZY +i߈-^vutnS +r.# X YCLPZ<} l ŬT%.}RA؂*l;h7mGw;%%q (gYR +)Bw{wbF@Ui +d6P)h +d @$;G$0DmvOIa{XFGBh[7*eYa͍UDiƙ1ɓgn|I_b!Yr,S==MPpKΚml~K?(Me+M1 +2mGh{1%ýwSb#9e2pB ${Þf$m+Ljw8f4{1Ȱ_BNEXw&Z.*UOK6C1@倣SSCUhNޫWVQtN;u"#/، Fl>;@|!I0 Vyxs,c"!P9oxgE0wwj‰J8sI8G(Md9$d6LpOM&d3dtW2 3yKܬd[K&ÕSɤɄShp2L"I&r]M,:лxޫ^R8};LͶriU]6zǣ{jN~E7J.|rє\4))P.j [^?Fw?ޏ/zuh6Z+p1>';㸞$lMKM5YSy̝ }v ģ}̝'y'c?eݽop-*w"Ye[5] }$ndA u'thV;R@_{rUB?IUCKE2`sP d?>N ztܩ YW/#n9,r#Q +4Yu # +Q 8N_:!;_v:ZDz<=uu4`tXG#.u@р_]&ok!>N02&ciGS +t]F#zTq,Zp8w _OZ# "US-UŘ{a-@y_|$endstream +endobj +2747 0 obj +<< +/Type /Page +/Annots [ 2748 0 R 2749 0 R 2750 0 R 2751 0 R 2752 0 R 2753 0 R 2754 0 R ] +/Resources 2755 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2756 0 R +>> +endobj +2748 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 202.177 739.339 287.347 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2749 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 321.62 727.384 463.124 738.288 ] +/Subtype /Link +/A << +/S /GoTo +/D (composition-and-argument) +>> +>> +endobj +2750 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 221.502 691.518 314.234 702.422 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2751 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 504.824 130.55 515.01 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2752 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 504.824 218.22 515.01 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +2753 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 88.986 293.621 121.424 304.525 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://mathworld.wolfram.com/IdentityFunction.html) +>> +>> +endobj +2754 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 192.116 126.674 200.963 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2755 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2756 0 obj +<< +/Filter /FlateDecode +/Length 1941 +>> +stream +xZm6Xd/i ihW/=#8,Gό" s +;m׺ze91]VCQgtH^;.;W.mU q|Dp/۬(* YZãAȧ3|@Zaős}H;Xݬ=bNGb}턾s˿P<}[:0<քұgܫo~CSYGݩ&kUzbL1ͭ꼳lҮ%.U*׎Ǥݔi= 12D8Z-kH2NI7u`V_uYUMI1zwu3Q;]dUWܻURf2ޥėbmBkȫ p)3m zHnDT6I5UI}%8L`8;&bEJM221;#cZ3Ny\'u2TH#ߙXLnC(}9LAb)X:'~OZ6 A*Y)`3AR=2؍ +pei@{,P[lZǼz񱼒D}})O> +Brn'QҮ%>#* PWb4KLb"pFFexLR8CIQ 彲՝ͯLQZr6qf 3lbJ@(}%_$`n%"16FL|` ti'v<"g&xv j?wne4:\ZY&bq6dZp,NIfQH] l蝟My3 H|t14?;XG 0(=%?*SC!3WAG0Ap&sX ^DNd\ EIEj̽h ,haՒ4İcSLp+BGѦ ߈ZGOE[Z^(q9LDd˧X!YI$2yXe6$-Z~2_0p`Wx~peҧ܍*v\=}HS_ƃOh`Ոn2C:3lCF|5-KhzB)01o8mY,Ns%9wзR)#02yG[ 0 +\M G}_ DJD.[~>rH왎AxQ[]RRJV؟9ي B$endstream +endobj +2757 0 obj +<< +/Type /Page +/Annots [ 2758 0 R 2759 0 R 2760 0 R 2761 0 R 2762 0 R 2763 0 R ] +/Resources 2764 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2765 0 R +>> +endobj +2758 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 449.222 130.55 460.181 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2759 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 449.222 186.439 460.181 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +2760 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.428 449.222 277.985 460.181 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial) +>> +>> +endobj +2761 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 280.974 449.222 314.289 460.181 ] +/Subtype /Link +/A << +/S /GoTo +/D (always) +>> +>> +endobj +2762 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 317.278 449.222 345.372 460.181 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2763 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 228.23 242.697 307.999 253.655 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2764 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2765 0 obj +<< +/Filter /FlateDecode +/Length 1821 +>> +stream +xY[o6~*[kXC[IVKn ;"E(u Ex>p%R!!x4]qXx/F'/R0^\Eb6#3h8ob2[m Kc"1jjY8bQ)x=:h#" @ň*q3d"Ƞ`Kӑ5 +~S4)G1?鼕=;G0JX'l( (L bc1D b;!ԝ5iL3hMIkרP(,CK`i:aM&ozӛz\xZ3hx0|82 |j/K3PMḪ|őu=!=q ~yL]JyMmiczoI#[{Jui[ꃱ9Z?5 3._Oyq#ĪF +@!dohț"Vi+@h^xaǷzջ̣7{>ݏ{Og2GFѠ|?* M9۩dl{mIECc~lg[\דca;ر1r[`IӆvݪIq^(oxPpa]4Yg&ec[I%7oYňAߖkAMF0Dha=`έ=$'Ր:,^u i"O5m[_TM 3"C*$C*hUƛ${z%RB`b (k6ӝ=өq6/2/W"XR2MoZ?Kw:W;|^n x;߯mZ +3\4IU#)۫εٟ=%w}?(D?z⪢l#!vo[OEG3SW 0Mj zHH1$ +Yۼ|u/=oiƃ¶/S)[)T'Uhfy&Og4ѡ""8=kG-&-VƢy'(}70SZM3`BRխY1G(o2;-Pw7`"CТ#} +fpWWmdUn# I?Y+Efk0E戚E+Dt$$ up!+`>K/7'&$Vz\yOz*ˉNlӠ4<|Xz EZ +6"-^hYO켼 C~1?('sH7wƙendstream +endobj +2766 0 obj +<< +/Type /Page +/Annots [ 2767 0 R 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R ] +/Resources 2774 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2775 0 R +>> +endobj +2767 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 741.396 150.754 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2768 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 579.429 234.997 590.308 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2769 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 391.992 130.55 402.95 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2770 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 391.992 213.288 402.95 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2771 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 216.277 391.992 260.033 402.95 ] +/Subtype /Link +/A << +/S /GoTo +/D (identity) +>> +>> +endobj +2772 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 263.022 391.992 285.896 402.95 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +2773 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 288.885 391.992 316.979 402.95 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +2774 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2775 0 obj +<< +/Filter /FlateDecode +/Length 1602 +>> +stream +xYo7~~H9HPB%Դ@RAhl{qw)A{g54jo=;8"PP )E1]pԮN`y?L ը~0D-..GcbQ1!b|Vʫt7[-aI1=l;rYMq|tzхG o%|>ˆ]|9F X6˖_H)B* RluYA*@U;D6ɫV2Hnсa=6a@ RBH:{~iӀxqT[nE6 Z#M!DD64.xcpn_ϤQe"5E琅'C ](qc3բZXQy_X=,VF%Ұa}Zmڹi %6yX*jDĐ'("Kyݏvy@;Q?L2{?Λ(G.h3_ٻ٦]o%8h9N9'WzI0>ެ}nbr7oKPSsƿ^ͻnSnRHh17I\4=̒] +6T4U!~lK0Hk;Vv LdqiɎe֎xc0<͹:TA>4$Ax_ۛ"YzQh<poQ$wiHD>j6A: +Gv4Ԑ8q>Siz#sbѧzSmg=@DC{%%!@A/ $A.D+āuzck;N6䁟3;. f d͂9ds[; `< o_,Q}c"Uz\z4&wNCԓɴU`,C3|e *.vX?xjWO:i[,Wo mȁ=Zd-); o_ݾ=D') ΃qR>3L9&$$gV4kRbn.$ vKoC3qrmLIݾ$QC3{ ɠT4a9jFzA--"&öV [49[DdGSخ  k ҚmC6bfrpGy,힢s$EOlvA +o?/W,Q"iPkIˢg2W4 ĠP -sWL\Y%wCtp.%x'~bfǤ0>64Cz/$ +MՁWr%usc7 ^VX& 0aTAbbG9_ dI1ɿfϩH n* + ˯^TnL +.;e@&+_P'1'uG_N7s,ZV qT T<Ř'/}/G+]endstream +endobj +2776 0 obj +<< +/Type /Page +/Annots [ 2777 0 R 2778 0 R 2779 0 R ] +/Resources 2780 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2781 0 R +>> +endobj +2777 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 484.932 575.274 539.129 586.233 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2778 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 299.425 563.319 353.622 574.278 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2779 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 461.87 126.674 470.716 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2780 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2781 0 obj +<< +/Filter /FlateDecode +/Length 1914 +>> +stream +xk6HrH(R[-U֢*H%ɖP{N؎-**׉gr8J2eB4rHwrlx|H" BmN!܋b$Itlzoj[u7-m36^,^4Sb *E RF8"zfjcVԎ=9P*S$,R?`Þ$ E~ի7zq\6̣ňc$9wZhM[ Ƽ9ŕ~=V`3b {h3a)F❃40;l;M)A) m LNG4+EN3!sR7ּ[]+$H#ȴ_m,uo gJEY;Csseod`PfMpC!J0.ںc´s)A<'E˝rs.Lv_kH"ߚ~eGbe^.y3wu[fU%P3bMicIF CGBPa` x(ÜP"Dt|-66wp +X ,WL &HlBŽ-IQvw[!>Ŝ +)u)c3f2g \:ƘK^w*W'բl7Ou{IZͰ1 󼫚҈Oc߮uQ(|B2OSIHGyfR.ŞT ̄N[sqѩO1 R%\!݇p>$hFH ~.Ұ@z1CKC JEB“X/Հt|gEͭSV0.ixd]evq9^N A!V=dT= rbh G){pOfrWw1ҟ[>|SEL8%#SȂQdf25:e@;PCޖnᅇ'̂iiĒA\ +̊C1kaB  H}]|ؗ< M)6Ŷ xLt$E|K4ӵ "\d2*R(V\zLaBgP +QiҀW>}ytn@B2J'<)5JGOnVf6Sߩ%Uy<ϕɕKx\> 7|ܲCr+WbYәPC0A5, "a0ui  &&*Ļə)aml!! 1 .6Վ:ɢX6&(f% NҲJoǙVT +*5"W*BϢ"G f̎R UWPDrnǫ> +endobj +2783 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 190.766 130.55 201.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2784 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 190.766 187.735 201.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2785 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.724 190.766 276.243 201.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit-linearly) +>> +>> +endobj +2786 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 279.232 190.766 322.988 201.725 ] +/Subtype /Link +/A << +/S /GoTo +/D (identity) +>> +>> +endobj +2787 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2788 0 obj +<< +/Filter /FlateDecode +/Length 1525 +>> +stream +xZmo6_|,(nb$"5`+Mt͊(Q:I";}KWmDr +,<б!QfF7k=pg'7R&2`\[l`#FҪ!DPT|&olζm"Զoʶh^I(&F`i5A>0OsAlz(QRԂ֭G1Dčf`s8jz.-9~RX>1)rQA'ua Ӓ߼Kf2:L a*"Xl[ȩ_Ym!}[j`Mr4AJ*Hi6ny%Cf陠[d o!{ EUdX˄Ύq1º9y-JT^&U>ڧX;XqD"8Jjgؼ['y)q(lܡ̠CUҜdH2abin* ௥6X=_,Id\x b1 "C E$A"b +^bBT46C ׶]:Z9%q\h}Qdu9 +F/Fb'S"BnT_:G 9r42'K+ܞan`}LAy[+T[CXBjvZP^C|Z hcRwԐ, ;%#V6eIOY6GYIX77`\Q]C|ے]J%!iSHMILוZWRk޽RS}^ÙuQ"? ՝/.lY|x$v ݋럻4&GN,_أT+?P{bSd3>o—mӝM hz{}oG/C@8+> +endobj +2790 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 115.556 548.674 191.72 559.633 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2791 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 447.225 126.674 456.071 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2792 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 161.011 372.709 237.175 388.649 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2793 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 190.619 358.363 272.023 374.303 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2794 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 103.91 292.241 180.074 303.2 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +2795 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 239.601 292.241 321.005 303.2 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +2796 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2797 0 obj +<< +/Filter /FlateDecode +/Length 2078 +>> +stream +xZm6"R?Nb_ +monM$ \qon9V*\l<3y#AD(NP`]Ռ.axi?X%dAx^lry4X/8"@$^}z?$D M{2ܪN= LӞbE#bnQiKAYpvq`VR_?+\!cSqymqT6yihf>űX؏6Z=c-,I%E併MUhwiKae9Y29x35>9< *[ߏŒrnKF_$kVuqϬ*7X<1'`'C<.\ezsvYT!oB8 +1ё da!1J37B^*`YK?VdR庆=lP(ҦmwUK!~^g.UFbO8&mU4XN%*̷!Qy~30  G 0]qTlЁOwRJ\aΠ["Ͳ|إTt%!=,)|7o<2.LtcZ7YE\Zd` w,{OfyP3P. A .ˁCzҚR +d{U)]A`Q>FTzhGɪ1ݔH$t:UN/ ',U =P6brZS:,?Lr +uUbgjvO!e Cyg=~E|QXz17]|T~i"8(&];gڬ.(2f.K0W0c:,īJ/8TbvsRҥ+UfqڎN%׺gs,Ni*^Aw'T=ZϩNS'-P b+0GIپCm&ۦe7rK+cò&ki"M٤O!-JQ0{#tnϙ`*0q09p'N9)_MU=Z&jF1ijdVzά>ʺ,=hoI}eJֱ<*̐=#=M"[ug?tԧO +jVߥy;#J#ro&(D̎5as t&[Or}݅ީDA4źs&@FVr 9\xn//a4bTH7ɂZ>pqS\#i|~;}Նgz) K(2BPCLs0sϤx.=p}[tNCt0>K^7Ze/e5,eKWmG @(+i ydM +ƟM.a‘ NίJ!b&1&Yӂj +:kc}2v"/.f;mwQb=?0 endstream +endobj +2798 0 obj +<< +/Type /Page +/Annots [ 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R ] +/Resources 2806 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2807 0 R +>> +endobj +2799 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 317.765 130.55 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2800 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 317.765 180.92 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (algorithms) +>> +>> +endobj +2801 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 183.909 317.765 222.444 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit) +>> +>> +endobj +2802 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.433 317.765 279.63 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2803 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 282.619 317.765 305.493 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +2804 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 308.482 317.765 373.119 328.724 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +2805 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 322.574 148.903 402.189 159.807 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +2806 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2807 0 obj +<< +/Filter /FlateDecode +/Length 1353 +>> +stream +xYmo6_!5WYm؀6*+Yv%i6uʉz6 xd>.CsfQB +},%aQaY^ZU?j F|Ds pv )›M+fCv*x^cÜ%'2CȕX=Bk$^)e\=mZab̹ CK C w0nssgcF0u{ƫ̦3ՁTc8՝lNHFƪ#m|`~.Hg"ARdqrWt4`ѻ|qX9RI}2plݠ5prīD~ms9 +F#a= R0EHYXOG@ÂHi{]?KKj}e㋱] !k9jg^ +E|w(=9y>4aPu%6Ω}游wٲ7 + +}#a?h #fňm752>Ev6/+6Ǯ;>θuλ{~2H=f0a:,8)Npn᤮u=<|w uż'+blĕi,ㅎTmykݑ.eFu/3DWuQ̤b[P{j4 +IP3nKKIy2۫nFr34n_ltO7"'D}bǟ`&=b .<@OzitoLB9%,=ƞ7tfGqlnzGH|f#$2&̤Q z~[d.kp+ +g9*Ya+;<(a޾ ]eC ?{铉x{Z?2'> +endobj +2809 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 666.881 241.261 682.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2810 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 170.517 652.534 241.261 668.475 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2811 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 515.37 600.759 548.197 611.717 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2812 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 588.858 108.423 599.762 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2813 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2814 0 obj +<< +/Filter /FlateDecode +/Length 1768 +>> +stream +xZmo6_!`5CR$%A.X٧T[Iܦ(w$E(qvCB{x?NH 8AB`ozjr%0^]O$Dj>#8a`J0ɯy9t%̆*ޮfU^bv^M^\uգ"?0?%_M0 +8 $ qDOɻǼ+|vr=LEQm/Y: +ʌ"P$(G Q/zF5YZNaIƕgj\qƹ37apr>~PK5Vj+FSK~VDlɾ +V0L`?ZNZmY{Wl{h|/GlXdFj)`a+୑Xrs`cH;<ɲ-&-z gnmz8(r^'sYv$*v !%.KnVLc!ޚv8c!F'@Cm:D4`H幷9 CwVE0^ۂם/:>;°6ck}1!IF!,QRO;] +pm~W.ab}߆OIL/]m V)N MOV;YښYe +64=ɭ9.3!|Q`I_9FO)sؓ[C ;b:,IfAzYdwygl@qMdOi6  /R) _2$WlH2n+T93:A͜[m+7j&9*jr,Q#6R/>|X8$Ms+:vM+gz[qݛK3i ~8wS 1鼼W>JtK (ؐ &uTU~}]ÃN2Tkd@3ވ陑U$h!qf|oh"hODg,#>n'q::ڹ n'0lI9jyR^ ^Th;XF;Y GSKI z+789O[uv*ׁj'oSp6=畎e.M:|ȷZጼn^.h(/`n&t)wּx-mMϺ'MPIO_7ucendstream +endobj +2815 0 obj +<< +/Type /Page +/Annots [ 2816 0 R 2817 0 R 2818 0 R 2819 0 R 2820 0 R 2821 0 R ] +/Resources 2822 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2823 0 R +>> +endobj +2816 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 444.41 130.55 455.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2817 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 444.41 226.559 455.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +2818 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 229.547 444.41 252.422 455.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +2819 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 255.41 444.41 283.505 455.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (minus) +>> +>> +endobj +2820 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 286.494 444.41 314.588 455.369 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +2821 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 139.005 126.674 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2822 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2823 0 obj +<< +/Filter /FlateDecode +/Length 1255 +>> +stream +xYYH~/4} KE e&o Bęc`)1ZB:ꮪ|H?'4NR|B^?FI+4.rb +O_bq 8a3M2LS8"ȓlmA󼋧/<*RF0b*?gR:@ԽM%Ǐ34ByaL<N ,ldkǀ7m7?O;*endstream +endobj +2824 0 obj +<< +/Type /Page +/Annots [ 2825 0 R 2826 0 R 2827 0 R 2828 0 R 2829 0 R ] +/Resources 2830 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2831 0 R +>> +endobj +2825 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 350.203 130.55 361.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2826 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 350.203 182.016 361.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2827 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.005 350.203 202.659 361.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (max) +>> +>> +endobj +2828 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 205.648 350.203 228.522 361.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2829 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 231.511 350.203 290.928 361.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (min-element) +>> +>> +endobj +2830 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2831 0 obj +<< +/Filter /FlateDecode +/Length 1693 +>> +stream +xYm8_5~ w: $tpB]"iIRt&vN'Ɠgfˌ A'$ UhppKX^׳'/C$$vּ׳$.%y6v + +c:=:#4\W><F/ #<_W3JD`N K`;"]9>vyç9CՐ(j5}NtYYs8& ;N$2_Z.BJ01%1O$"qa$b#-I,D.ٗCX̳mVC2BeXP-I”.Y*}6C*DGCxVnټLA`:R(c"򘔭߀KsK)a$ưqp8qS?dIOgTL{\Al")& E"&䝝v}Zfd"PG(J*WMDqoS^UlbVe۴Uu& A+/JzZ~2-;Ty# +L W`D"v +X{YĀɒ{YA'VO:T; +!azq$틜I^{=fz\-RϷgB 7=>EWa[ꟿ so3ȸaN|i Ӓآ\J]%Ͼ1Š;ĺ4 B[HadҪB;+hFВ=ծXM/I,IfF*!1A Ox}cG`yz40b9w=opXmΌܕT +N*l#*ZmcA6Ȓ6[p,} +_M3ŧ{vxjخVH{Suf4O#{f뵢mYJFPcY[PEs'sJ8NRU1H baP/nugטl6.s[wO|[OG&NsvMs0GOd6i)hq? endstream +endobj +2832 0 obj +<< +/Type /Page +/Annots [ 2833 0 R 2834 0 R 2835 0 R 2836 0 R 2837 0 R 2838 0 R ] +/Resources 2839 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2840 0 R +>> +endobj +2833 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 689.615 126.674 698.462 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2834 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 246.642 130.55 257.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2835 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 246.642 182.016 257.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (comparisons) +>> +>> +endobj +2836 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 185.005 246.642 202.659 257.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (min) +>> +>> +endobj +2837 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 205.648 246.642 228.522 257.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +2838 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 231.511 246.642 290.928 257.546 ] +/Subtype /Link +/A << +/S /GoTo +/D (max-element) +>> +>> +endobj +2839 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2840 0 obj +<< +/Filter /FlateDecode +/Length 1711 +>> +stream +xYmo6 ~\Xջ.(ЗlCvm"p&%G:p 0 EE)/3QǢGI*Zg4fc٣ߴR5pţhirŌR_uv}YvSSAa\Fw%|9D&cJXFLbg7Bv*LՌ$Iky0dɉLyHy\0"ev2F[H5IiҩpX~9煥K,tiiW\D3[D+KkKY ϱ+<;x4cbg$'&ƂEEk21W5uJI˜m bqZBV5^щ+,VpjZoI`lVfRBT;8]L(QF-_[A<C$a%Dú"?ҋDʌ ˿~|S +Ca& + +C&`_բ,n¡4`0j]^0ӄ:CD# _^$Ⱥ$k<܈w +yx8>vf' 7,X*D^a`A"< UyG&+s2Qƀ~U/e1fWU68U:Ţ +F}K|ͅ˶gǢ.@Ups$6H~w&{l U4y(h0N`V2Mn C`>\yz[®qcq;CS$ꉥ *rbKװChwLr}[X +S  Xc3ˉJ.S>KZ$r::bmDOds:@eJTp8Cwn~z|b<%JѥT<?ncB%ԁziN;UU9Ui˴⾘67mnG{x \%qp8k=m4|(hj;䁖{Iˇ"'մ-ϴAy 9{HR\!`ѸK# 6gvpYBxjELݪ*+TptqTEƞ%?,^s2TT7:ZMw@ս_{s˩PPm}k+!\? +6Ek7=L9k/+Gzf!' ~uН?}˻ /N /ϕcogyXdendstream +endobj +2841 0 obj +<< +/Type /Page +/Annots [ 2842 0 R 2843 0 R 2844 0 R 2845 0 R 2846 0 R 2847 0 R ] +/Resources 2848 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2849 0 R +>> +endobj +2842 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 354.445 682.926 428.375 693.989 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2843 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 569.466 126.674 578.313 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2844 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 155.247 407.756 225.991 418.77 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2845 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 139.105 130.55 150.009 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +2846 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 133.538 139.105 204.282 150.009 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2847 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 207.271 139.105 240.586 150.009 ] +/Subtype /Link +/A << +/S /GoTo +/D (size-t) +>> +>> +endobj +2848 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2849 0 obj +<< +/Filter /FlateDecode +/Length 1784 +>> +stream +xZYoF~ׯ 7{@Mi0m Hc7E-%-3ε|?d4rx>)VϦ0OG_H(`<>!*hr<}L8"x?I 8{3]٬X2Ls˪8,tXɧ L +> |5ˆ<gQm6:"O3j&[U)%$(n;vn{Wf<7ciI|Z Br@fm Œ]\ s½Hk}H)„ JQ1RʍRF̭x^ǫ6|0Hk=,ER?JfV*%X"N5w(=~ُIl5]٢mUXn5EdK3eVONaྞ: ȍh,-藋>]3DfU,.0`uX+< ,M8[K:cG|L5yy/jAjM@|}ٯ9A8x88f8^rzR@LD!^32'X~ ̌fJe#K:@V8R,xm RPx> 87I} +,"BBk"MeǫFNtpu*I=MGn ,s˪UZ ڢv9[+돬ugH|@Y}rM>"#XT39P>XqDq$ѳJri=,n2<dzۂ Be obJ!wԞ٥uI_Lelpʄ+ CnexeYj{ŕϸw[\;`9ڀ@?M8+mk϶H-%QegqЇ.*"uKkAؘq\B(v@rtc:V]^Ԍ՗i*V1Gn>琺imx(^BDOdNsh!S<ɍndke[^JUgGZ S=+wr2$GC,B_ؐ +jN=J m$`GԄ۹w:f%0fNQJHt`"e˓'+r$j&rxFkA(lB2N3A3+\l@y+oKӫ3w9vjmst^;%В +2* ~ Zov?8hP_?'o%kf;FRLGf<ߙuI@o3v8e mM+ҢE@6,{^Տ͗7>@.}j,MʵV?U&@ipxj"wi'ێG_}{uZ֑ + u)"ߡP~W4 UH֔i[AmFVDƑ`bza-?x \ i3UŹ~7Ux|k5 1 +i炣U:bB.G^3 TϋJ7R :oּ,Z*1tabߏkJendstream +endobj +2850 0 obj +<< +/Type /Page +/Annots [ 2851 0 R 2852 0 R 2853 0 R 2854 0 R 2855 0 R 2856 0 R 2857 0 R 2858 0 R 2859 0 R 2860 0 R 2861 0 R ] +/Resources 2862 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2863 0 R +>> +endobj +2851 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 86.365 579.648 157.804 590.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2852 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 440.079 579.648 511.519 590.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2853 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 101.361 567.693 157.031 578.597 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2854 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 344.107 503.957 414.851 514.861 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2855 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 434.617 317.294 450.557 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2856 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 420.271 317.294 436.211 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2857 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 246.55 405.924 317.294 421.865 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2858 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.18 272.998 366.425 287.563 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2859 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 291.18 246.697 366.425 261.262 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2860 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 168.51 124.005 177.536 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2861 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 150.577 118.785 159.603 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2862 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2863 0 obj +<< +/Filter /FlateDecode +/Length 2256 +>> +stream +x[[۸~ bxXlR)Gɸ/\QD4iP!y0#*4Rdr)WQ(ݳ*ThS~at}2FDl93_ph]JJhT(նϛً7ey,R/~^7M3ήPqݛL]j7?^L"N '.Hx`6UI#QiTz **ծ.6b%^b~g/W.bde{/i Sְ댈7CPqD!] TYpo hUYwz{ ^E];}:`wC--\64@ +?DN~=a%O<+OY:@dջ36Fch[)'i!J}]C^$"&T&FxJ!&; ~~U:| |+k6PٶjbA /]UߵMnQFMfp '*a%͘v.7\4Ww,ו}ܬ}5nfuLWyc!J8D)R6Pؔ.|nCwq=wFgFv|eqTH׮qefxiPn]Ͻwļw0j0lo"TځoorcZ[D~!a"qT +)cA۪vGç0/V< +p>JkH MnU>Oz.^3.(8q ҧ%NEQ1IzSM\E:704ԕ|J*4pd8L +G{¼@TM_m.* C9 Jm.%g q=-_ASW_M`fd:`Rk+}SI+9bX ~v!Arť2˒!"BpsdCZ׽V\nӣuJxɼF\&EFF 9HCN3 񽾐EpODꎴ!<,trchqciYČ_zE`2h e382#b1#3@(3GyqT0vҨ0(eE%c幉6#ס?& U: _ ű<$- *U-08`t/3?.ԨSN=5r4ʪ7ͫ(d:fydĶd̞%͚K)rݵcƶKSuIɰQ'fXooaRǺ E +8mwSzS4fs%j6AjMG0(EB )ɇBޢ=Gc0(17O^4xybx7R!2&<Ż"/ϴ{DV RI5dpҽʨ%&Tl ailҹ#~عM"<)z69tS G?3]{q8SNHiݾ7Asbpﭿ̠YvUb 藆O"-MGLWmkOxMmG@` 1p?'_]@OP  b`,ӳ/(:>412$wџɱ;8:ZfG'*S!D)N~|{쏘%I2n,z'h8: !!Q y~)1%+RuؓQ*bqϣE,Vjejwv.`cu F@E'(2N m]躩N!Ϲ:-uAEDJ#*f~OayQendstream +endobj +2864 0 obj +<< +/Type /Page +/Annots [ 2865 0 R 2866 0 R 2867 0 R 2868 0 R 2869 0 R 2870 0 R 2871 0 R 2872 0 R 2873 0 R ] +/Resources 2874 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2875 0 R +>> +endobj +2865 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 758.562 124.005 768.853 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +2866 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 740.629 150.107 750.92 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2867 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 688.848 117.848 699.807 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2868 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 688.848 231.67 699.807 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +2869 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.659 688.848 288.855 699.807 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2870 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 114.72 430.597 185.463 441.501 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2871 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 327.035 141.748 337.939 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2872 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 202.856 513.6 213.76 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2873 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.132 145.651 290.855 160.216 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2874 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2875 0 obj +<< +/Filter /FlateDecode +/Length 1818 +>> +stream +xYmo6_!`_b.] t}YW`؇(T[n 6wE(I< E<;MHI2dJ#)E2]Mpڌ0z\L^Khy1!*hr1DO`wWb&)^+2/s$/N''7b̦3_]p o|?o'1:YMxpO}Ǎ}fHH1 HVK4oI$I+\#2_/<TuZ=?zi*H% iƆRlp!k=t:Yx&Uϼz.Q9kDJdz0x$1kE,_7ш",-V2IS p]vO$RtqeF!,G1W&`BvΝځJoҸKgU6'.n]'eI`18QtAP&@8~*;TI =nZ3))Dޚ0| Y(S$"fy@f(0c0Vd pn&ԛ?D`NĢ [yp~a3JMT" 'k}RƩIeɋzqN(Hptnq\~o%2>Y59{@o)ckglq+CB:$cwr Dpz! j3$?w(],gSe T^c@E>s14 [%=iJ!Q)QݠiSdH4P5i SP/LR"J,m@uƠ"ΏK29L9Hd,J\_l8>@ :rt#>ΆZҙ5'aW͹ܸ7S?.:?~w|dmYJR\Տk}_LEdb>S7X۬jf05fG麘5˛`/Vu6óܺ$|Y=jt"+7etqM݈bYu8'z=_UޯĄue(P\-9TCk_[,]9u\vXfO +.N۫H brf˝52n%%Q8\0db1T?S7 +bCc9A"LeR~2/ pxQ}m+{`m c! endstream +endobj +2876 0 obj +<< +/Type /Page +/Annots [ 2877 0 R 2878 0 R 2879 0 R 2880 0 R 2881 0 R 2882 0 R 2883 0 R 2884 0 R 2885 0 R 2886 0 R ] +/Resources 2887 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2888 0 R +>> +endobj +2877 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 309.947 728.166 338.042 738.447 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2878 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 639.683 117.848 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2879 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 639.683 191.58 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2880 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.569 639.683 217.443 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2881 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.432 639.683 248.527 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +2882 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.516 639.683 305.712 650.641 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2883 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.669 433.212 156.413 444.116 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2884 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 329.651 141.748 340.554 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2885 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 205.471 513.6 216.375 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2886 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.132 148.266 290.855 162.831 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2887 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2888 0 obj +<< +/Filter /FlateDecode +/Length 1966 +>> +stream +xZmo6_!`_f*R][]ŚEJb ~ EQ(JqlVedxx{HӈDHHűf/u'NE J!*h4ƔhB0eZ +xDGM=>D#N3R Z+N{혻ȟ:nv>dهfϏzc]X,!xԍvF0J8$H0iZw;'DxijVf l20_M( ww7ܱ7G+jMB<-?>mrqDֱ;8mtc|LڵvrYt'"Y5,t'ܮL rKZԴˑ,osmL{TKr #%H + _(qVzض~*ڋh|?W"]` $qŇ]Q "HtǶ[|ƶ+g"\ W; +ƩqVzpJc ^/2^{A@ +=Oe_d/N0y5pbQ-L19Tss}UqT8I+xrZo@FB|w".qv<bPw[&S~-gwqN!jFR~ﶧ2&_Z;,uRQG+ 't'y +,B / "d6ydq΃ yLl^ȡZ^_t/k)ߗbVpMY #f7Î5VQGެYp볰a|^Hx39FR6?+1 b`ˬP!{;o[7tb(C0 S)<=j**!XT "2F^ +,LP,D5ԪDJ>A}}Z` .P41P6x V XKkJ9(׷PHÒG J[1!U-nzj!NS8͎uuu4QQ9CJWB1X#މu_~Fx~+j3j6:U}4@u]qQi~S}K_>K.(mbHB!@*kd@U]c]T&$pJbaE=>TQw%@j "a@ZnA=Q+ ɇW%UZ2. }T}qD3# MyxkN~hi~-u+$M t TG+y8]ʾD Q6J 'm`s%ӁӺM(b+ӣDqҤ,.peFoXs! at+_;А܎iZ3*W׉WIy:<(oVaK-Zd0[' 19I`qƇ7)qTS L G%Q\؎O4k \C>`ߎ@Qendstream +endobj +2889 0 obj +<< +/Type /Page +/Annots [ 2890 0 R 2891 0 R 2892 0 R 2893 0 R 2894 0 R 2895 0 R 2896 0 R 2897 0 R ] +/Resources 2898 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2899 0 R +>> +endobj +2890 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 603.817 117.848 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2891 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 603.817 191.58 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2892 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.569 603.817 222.664 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +2893 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.653 603.817 258.968 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (size-t) +>> +>> +endobj +2894 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 261.956 603.817 316.153 614.776 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2895 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.669 397.292 156.413 408.25 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2896 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 293.785 141.748 304.689 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2897 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 169.606 513.6 180.51 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2898 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2899 0 obj +<< +/Filter /FlateDecode +/Length 1654 +>> +stream +xYmo6_!`_bfHKhlkfkokeWRfNH(Zq] ,><O#PcÃ8II`螠Q$v5ӐpɃ|gp$ F) ήyHPN"^-"3$ 6hx;tQz>9~5$L3 W " גrWBړtMJݠ7_M9zs4娤""OZ!#!L{\q@9IrJeYh-nzlhCX}X + lխRHzD}?,ܹxWrŽ!gEߛH݀ +ЊNl/&u3cJI0 7_8X. smyi,6wQJ5^oPVaĿLFz9M9d}i:6z#_}竜R [ͯ}oF^Jendstream +endobj +2900 0 obj +<< +/Type /Page +/Annots [ 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R ] +/Resources 2909 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2910 0 R +>> +endobj +2901 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.132 743.419 290.855 757.984 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2902 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 540.231 117.848 551.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2903 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 540.231 191.58 551.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2904 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.569 540.231 217.443 551.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2905 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.432 540.231 253.747 551.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (size-t) +>> +>> +endobj +2906 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 256.736 540.231 310.933 551.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2907 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 85.669 333.76 156.413 344.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2908 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 230.199 141.748 241.102 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2909 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2910 0 obj +<< +/Filter /FlateDecode +/Length 1815 +>> +stream +xZmo6_!`_f5ZZ4ZNv߉%'1(zş0#I)b^O?,3=9 CTtw6d1ϧ)|O2ųu^dﳓ#NR7R Z<\<:RJ8`{@aČ>3FĘl1 +V.FoGk9M9"e7W qFݔhr 0 Sߖ3Sf)bZ&QS$ɔ(Vzs󢘯cԋJ<6_L\ :3fd6" +d`Nw6 F +W" q$U/ ,ҥ-`cKg>F}h&F"YdƳTHS5M'<$`*D:/\$wE'!ƿ"9  ,J['Qj(u\!iHٹǹ=n!tsmǀ^Y:ѥ,?_42֨.OhykK͘w4/sS9v')!dlWi0KiMah 1g!y$4d%4榋E,6b# B4ľ;HxjU b i|.iX48 <*'; l~T~o [KOu,?ߟY&n\8`)Π],˚hUwάعvًҹ7:n@weMvmKv0>]\ +~y P|~9 +$< x^ڏ+5Wxԩuw~SJ6&MzSajW&P,ڊ` MgCEJ)3ęY)sNr[8blDgB,x=.f7=Hd_VzM##+*a8~WnȪ 2N +3ȹ  굿l9׻EVo;Eey} PH]E$/ 7n:i(q0hyG3%_}x}\̿^>~Y<@*W1N-`380 +ui+3rAv6Y9T<4m`糶VV[|hS@R6'*A,rn`; 3^ !΅cԡKݮR%š%ᯍȈ*] %7hmoOsSĠ`0{ eJrans B%GzcOj18OBmJ};F~7ںe05Kdr&:cC6G +6)Q\֧?{*}^1~"\J FT褓)vLX|s?jq>}>PMX؞+JW#_ʤa;Pf 6ptendstream +endobj +2911 0 obj +<< +/Type /Page +/Annots [ 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R 2919 0 R 2920 0 R ] +/Resources 2921 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2922 0 R +>> +endobj +2912 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 739.339 513.6 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2913 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.132 682.134 290.855 696.699 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2914 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 478.946 117.848 489.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2915 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 478.946 191.58 489.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2916 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.569 478.946 217.443 489.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2917 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 220.432 478.946 248.527 489.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +2918 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.516 478.946 305.712 489.904 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2919 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 112.498 272.475 183.242 283.379 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2920 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 168.913 141.748 179.817 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2921 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2922 0 obj +<< +/Filter /FlateDecode +/Length 1775 +>> +stream +x]o6ݿB^ fHȮ bokHdOvdNHhJq`I<?e<ʤ"iDnt#4|<8zƑ" +rPOW1 0! 1Ji4<) _$15/u<Ahx,Vn6gy:iV'ߧ%gx) D4o׃[Gǎ3Br'"#;2eIW庑ʯ-?-Xjm|ipz vH"D K*V+gyPG{ڹ^laА 2'9'Ia1J(vQI+0c9c(&JȞ4 +Sߦ3jD*%`KNTE egZYH \/J y=tc1Y,Vi4ryxO,J")G@u2!`W:LZKB j8q_#mZrӤD$Ґ??a[B^#ٕz6-fKglS8}UdFRIKDix' s 5>4Jx gu \$,p5HA~x}Ҏ>|e5unlbm' #*I EXJ@V@TBm{c\$mr#!ũ*_.I3gƸٶ/E>'r1";]9Ǣ^~@[";2iv/QE\Y[_&;݅ Q6 bZ8/`'4vf{:$ŎgTjTR +% O:` \_Ơ (f’-\̟xSÆ78endstream +endobj +2923 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 2924 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 2925 0 R +>> +endobj +2924 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2925 0 obj +<< +/Filter /FlateDecode +/Length 285 +>> +stream +xPN0W19؎1GCꡢ!"JYUfvvƳV-3FLhFpv_x869: ]Τ:Lp1,)Z{hS\_YHgj&'M&]il'ޚo8]_Ts&C +Hd[+qu#Y/]hY󮠬%c:aRqCyRϪvoc֔{8&~^F`#q?BH8 9W0Nyjendstream +endobj +2926 0 obj +<< +/Type /Page +/Annots [ 2927 0 R 2928 0 R 2929 0 R 2930 0 R 2931 0 R 2932 0 R 2933 0 R 2934 0 R ] +/Resources 2935 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2936 0 R +>> +endobj +2927 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 442.856 675.977 513.6 686.88 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2928 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.345 618.771 305.027 633.336 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2929 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 415.583 117.848 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2930 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 415.583 191.58 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +2931 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 194.569 415.583 222.664 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2932 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 225.653 415.583 248.527 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2933 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.516 415.583 279.61 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +2934 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 282.599 415.583 315.914 426.542 ] +/Subtype /Link +/A << +/S /GoTo +/D (size-t) +>> +>> +endobj +2935 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2936 0 obj +<< +/Filter /FlateDecode +/Length 1977 +>> +stream +xZm6_o/ &mp}em.Ԧ%ı8o{Ɔi||c;o'$$&B*y7tϜ/'_~Yj W ь&E4qrӪu^2J86f|9MD\i*aדrD FL=={(j0JRMxagt]P{.60yy?ʂOؘ,y-o +?ve(^bLba;@_v .oFhF5*jCcu1k H1u}W7G~`%6/@q'`D@KA`,2(+Ԓxu;sMq3,{1h?M Θ^/Ud+u.%9cTq~d )̎7C(e"\a!ssJ c~ٶ-MVmm_m89Euc=˳7 JgYh'C=sȇ=cj>eNfD @'qT0Źx(_`$|ImnkYFYr5PSP`BɊ# ~6zRnvgzoiUgE93iJ$`uF wܻ CRޒx{y0Xgw))|ypxh Uw&Hq/ v_#-7q˻UQ&Ӹ+::qW e<;@voԲp"ٶGKe &Ѩ(f8/|cG=!S04q=Fg4ȱPXjkgK' $$ M q/Hؤcׂ{cٝ8O'{}@p'ahx[q|*eXS(ܻ-GĎ#47vWQA${|gߐ{)wNeڃNm`(OF2ṰbNFiJ<3:R<_I˭+jn1;ȭFuuN:m ʌ;i`;I.ip }r8+|=`_e˫6j]/l~'׿m?)%ǎp0{w+j~5h+Kl˹wOeVq:(CGendstream +endobj +2937 0 obj +<< +/Type /Page +/Annots [ 2938 0 R 2939 0 R 2940 0 R 2941 0 R 2942 0 R 2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R ] +/Resources 2948 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2949 0 R +>> +endobj +2938 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 450.472 117.848 461.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2939 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 450.472 164.881 461.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequences) +>> +>> +endobj +2940 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 167.87 450.472 195.964 461.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-first) +>> +>> +endobj +2941 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 198.953 450.472 232.268 461.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-second) +>> +>> +endobj +2942 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 227.366 327.578 281.562 338.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2943 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 330.21 327.578 368.745 338.537 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit) +>> +>> +endobj +2944 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 224.017 117.848 234.706 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2945 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 224.017 159.372 234.706 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit) +>> +>> +endobj +2946 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 162.361 224.017 247.88 234.706 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit-linearly) +>> +>> +endobj +2947 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 250.869 224.017 278.963 234.706 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +2948 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2949 0 obj +<< +/Filter /FlateDecode +/Length 1442 +>> +stream +xYmo6_!`_lf"Rhlkvkok86%ǒΤ(ar㉤̣<=$ oPo cW/b, r&GޘQJi> +<yO[A,ƀR*zt*CyS}9};Dđʔ86_fc{#|Iz2"eoj:Wf>'~̛fb`PlB39F5 a!,0X~JD˙k-ZεT|7;-S$3-s-/hE/PMӒhy?1򧂫*ck 8H@EfV;2*tNInd;, [RkQIzI3WɬRAwi*=mfX #4iaU9J7iD3E.³1{vV0op>5VP@AFj/a2@ Ef^6XKZ(*5MYkŷe^++y>szfYiDV-ڹsQ8& Ze5VfxOYX[#%xe".͖NsJ'{s$ +!8 1cWZw$o wkPKo䕖5 רktޠ?hi}(?]5._}U§QEw1 Eb΍*Ou6~@CnY;qzfjQ{Zw!0(`UItBp 6#g$V{nǤߜdB{fPaD0u]\fRCԆQ7 N7 vb}Y(YpLOwÅթq.>#b˛lۻiP:>{)I٪,"/|]o Xci8mr4D+%/ߜ`_l[mUS,/zlŬ),#W 7 WƗ)4.v!xDD$(Qx"5i8bUn:5i Bw~Y^-܅ =Iڝ& |GafC$KEV"!)"vPmT>]쓙FP>4tKZFiսeL(mqߖEurMc;sIxl:3Om.~?w 1]۝peH͈cd(ٓB71R~Aֵ]v!/> +endobj +2951 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 504.888 117.848 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (data-types) +>> +>> +endobj +2952 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 120.836 504.888 143.711 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +2953 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 146.699 504.888 200.896 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +2954 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 203.885 504.888 231.98 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +2955 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.968 504.888 257.842 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +2956 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 260.831 504.888 315.028 515.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +2957 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2958 0 obj +<< +/Filter /FlateDecode +/Length 900 +>> +stream +xW]o0}WXK"-?0[ՇI6o[UM!TMؘ4:ƾ>p}y("GQP,"ۀ5jfg0=?,eđ +}P-W3b|G(!MRgYⱄQh!'&8D.e)E/E' +lu +@% +~A`a,0&jjEaqB#4E~tuW 0cY<ŮL~ Ԥa6pnnE[o"qE0(L7in|&iSӮLBn`)iglڝiO y{_CbӲz3&f50p풅뜻NN;jN : M@Ă.twHYG gE2d !fLФ>]eRol]uCx^60(`O!q[?t<5 bՎ3{-(6@= #lڍ˝F73ʢ_e"1QUۯu6yFϰt#+<]FX +yfBבgGFDho?.;/ Bmw kqvg;$ޡ=4קdPFBSNSYui>NY+8JQͨ]G*pkĩ**t\E˶Avmw KdT8!ԬKbҎ[9 1l\#H,$PxJJg36,4SZP[SqظoU [GoY%S //f4]endstream +endobj +2959 0 obj +<< +/Type /Page +/Annots [ 2960 0 R 2961 0 R 2962 0 R 2963 0 R ] +/Resources 2964 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2965 0 R +>> +endobj +2960 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 0 ] +/Rect [ 415.335 627.792 435.599 636.27 ] +/Subtype /Link +/A << +/S /GoTo +/D (cite.PRE) +>> +>> +endobj +2961 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 0 ] +/Rect [ 446.929 627.693 469.394 636.539 ] +/Subtype /Link +/A << +/S /GoTo +/D (cite.Ve03) +>> +>> +endobj +2962 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 241.676 240.475 297.347 256.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2963 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 168.657 188.699 224.328 199.658 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2964 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F73 262 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2965 0 obj +<< +/Filter /FlateDecode +/Length 1963 +>> +stream +xY[s6~_>tSXŲ[LB +$8v2!=,Y:KJBAѹ;-qvB u6٥&uǚ#0we0{#g#r4 ŏbvy`7%Nbcv@]Rڛ}j#ew<uce]$36"Æd]R7|$eiY7|gy' Aio_iʫU][+=۰ʰzfmܰ0W Jf m > pgž[@J"c)ng0pH +Y-oUÄO3 i[amͫL'ۚy"y?"j&g}$S B^BgfOWڦ,ޞH'.K #%@dZNCiyO}X K_p3t`."d@OsXQt$H?u7[j̧%H݉d;s@]Hi:"P ntaH\KB%}A6T*\lXŚdPLe8=̫5oJ1RŰ)2FU7.n_4˓Mo4<,פ/$J^y!ԆA} +8nt.vV:KVq0=_:, +NRôMy}7n| {'⧓#(Qlݨ?zq[JJ h +QZ[d" nhD(m~~̔7V!J|蘗5^RZoZ?x&sÇMW-KL+>n?$W,{vjyjl?ʽA Zkwc2#k+CA84ĭM[c'kkL:[&ޠK4Pϲ<_#g<2 GؖQ[#W!/L$%Qqk+n5 + u&8W X6[|_x/BS1* Fap" +=-gW;A1 \`f>{{"ٿWDʂzK罳 )(Dsy?Vt_YRDpXjv%ToﱲRv!%&dwMϦ/ Gi;Ns8?'DSҡvEϣ}=Y9-Sؐ?)^Y{ +MY*^ÃW3jgj+Otуt> +endobj +2967 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 452.535 102.326 462.721 ] +/Subtype /Link +/A << +/S /GoTo +/D (asserts) +>> +>> +endobj +2968 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.314 452.535 211.715 462.721 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-not) +>> +>> +endobj +2969 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 214.704 452.535 321.105 462.721 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-msg) +>> +>> +endobj +2970 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 324.094 452.535 456.597 462.721 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-relation) +>> +>> +endobj +2971 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2972 0 obj +<< +/Filter /FlateDecode +/Length 2129 +>> +stream +xZY6~Pчx+RwH-E`[r$mӠD+HQg>őO?D̉℄a,׹Oǡ$$qGXr3 =qfu]gzxYW'għ1b*ʳtQ84vEe06}Y 7| :qv Mg;񣀰n394|1æ(pf,"qb$$a@D$$9 RoӼݡz@$,j>Zou}s^5nLS}(lYG,Rބ4[5>HUqlvq[LK9r9.x?q(1͟rL帑㵦sm5T<y|^CVq:5 F +_ԤY`ƒ~  gE-x̸^^חf<+%QjS%|A $6)+)]ݦ-ݎ }ފ 2FsA$ר]qWTU!WNgjZfU^Tft^fWw,i7[^UZ~+fbs;2!-7Bǝa[nDLs?kZdHą8+鄆(XDʘN䂨o#!vcćH0C d#ޚFA)#!$ʥ %2do:hqϨeGyؿP +(ځ_v$.a0öL+9͗ۉI:D S#,(nP4?t0bh{BPVeu%qL{/OSɶ}~h<Bgr|!ǧ}DGr|8?JLWMe\"~G>D|o(lCX0$yiWk4^1C>{kChu-#1Yz;6a>`5:<) J߾{'V{lADLUvp+$P5T֚ݑ/o̢@Bl&C8/ Y%Rl"㭮\>BatUj=Ŗl@Lo\[ ˞rFOA%,59okMUXk?S<*Wn@K88lԺ?.pXY_6$cؘpxpV0j{Vg/^??B'(%=y2Kz5/Z4JC >|C0~<#uwR8 2^  0 Qѱ"z /R>iWWˇ6ym_GVbӾà B! v3m1%1 +_1C00 Vޮ}+9oⓡhtA47!kWBk(h<8 +1 +ZөLCeے]n2͋RNjLDZe"=:ڋ"J0?YDv/V(` ki0-!id]񲵹w*19nӌff[UܡUܪ.#9Y\+}e^۠}0f"8(OA%6p$&,0/$D)/2 +Ŷp 7Yv@>`jBP0Mr/endstream +endobj +2973 0 obj +<< +/Type /Page +/Annots [ 2974 0 R 2975 0 R 2976 0 R 2977 0 R ] +/Resources 2978 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2979 0 R +>> +endobj +2974 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 137.665 102.326 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (asserts) +>> +>> +endobj +2975 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.314 137.665 190.834 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert) +>> +>> +endobj +2976 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.822 137.665 300.223 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-not) +>> +>> +endobj +2977 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.212 137.665 435.715 147.852 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-relation) +>> +>> +endobj +2978 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2979 0 obj +<< +/Filter /FlateDecode +/Length 2389 +>> +stream +xZmo6B)r ^ EZʮl nuߡ#R%o׮ +ÄDy3Ծ ?,D Y\s;:9b1{eă..f&YX0FO9 08:[VMm}, FI65yD:uW{CyȢW W4 >sHh%azzcF9MAp;f 9IE2#һ|dLxy͖$mQHҘlfȪljh*%@3]4&% ]o囼,%Rޛݤ'DоzY}-bJPB,})ͭ?$i~K{NIt*(]AhQD,nCT֓ltkE.z2 ' ø'FgFX\fkq].]Dɢf;26UC_Wkd !l Pygp&Nm>;XW?!+H$4bxodLf#$|(dVcWYeQaw0NP]D$MA!~[r>"(ō)Ô)UnPJ#,eB j_v7Zߪ%u{W#4sp8?ӎtE4)N炩^sܵ}6uEu^ү0lz _H^P^ןL`r>25A/*czF-ـ26ʧ&.]eYhz\"4 +&7qTS J zԉ =*']l$wѣrW\ hN+Dyy ($,ї6Z9@LoBCT{zpVL(yWI\R }xE7\ FO~ $dRw~L.gΊSC=X)z,#v$[i=j걥cCb^Z)alZfR}F ,LԯoChyV?BpA⾯#h$Es҄0mÛOQВo},7_3 +3pKڼ^0͈ATbendstream +endobj +2980 0 obj +<< +/Type /Page +/Annots [ 2981 0 R 2982 0 R ] +/Resources 2983 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2984 0 R +>> +endobj +2981 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 232.178 520.131 287.848 536.071 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2982 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 168.657 468.355 224.328 479.314 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2983 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2984 0 obj +<< +/Filter /FlateDecode +/Length 1995 +>> +stream +xێF=_Vds$P +ʦCA[L6V;tU{_y?M܋I l9ǜ0ɼbwzMòTEUzOA##xgɼ8h=kgCY4ïa4 #=<ƱP־'->bVo@IvnًW//_zz'g-k>;a"mn +$f]TPv^P%(;YUuTٟJƁczJBOC߬z}9pq1ub(0^ڧWlGH'Q +)[wR[|d2ү^@([`.eIǪ ֛,Sp"e0L +g/6)&J̞ТLIjfL?1|MIRE0;W~jX[;E~PBN$`b>3 ґ6~}*GZºA6F W bD?f}R;z"٨J&ELGH*^D3V9šdy΍K"BDHYˆ@DToCAwPJѧzK6*ƴr /V rtiqxBTJ ']Q)"Mciѝ0B(-vwƊԊ$G<_fl^'͘b9awZCq>D@O!ʶUUes( =2iG2(@s[Kz.A1I"z; +fŏI<6[6[-h:56Ԩ %ȯ1P+PlCTR‚N ̈ Ȁ0}J.[ !8f/-H;0aŭ 4jDr޺HMj{BG4.ݍ3$NϦuڴW7ay, y]mS+ R}$vW+UOKe^%V^YnOj^Ћ"G|TyެmR@KReůiA +@t)_5$ka\ӠR]Tr72Rd]+g>\G)W/ + uSu/MdটR  r Ds߀m]ΈW73ɥ!M"BVlW$v:wƯ $fxe}sR84$ae#d گ-h'#l^w#e< X84ˎe*Cz;&ax075Vy_V:x_~8 ^)'$ $\:Ju E}EjlHs$QYt">h*@FQ iW[l{GPa=ǁgH.'*%q*|5M; }1&?endstream +endobj +2985 0 obj +<< +/Type /Page +/Annots [ 2986 0 R 2987 0 R 2988 0 R 2989 0 R ] +/Resources 2990 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 2991 0 R +>> +endobj +2986 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 740.056 102.326 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (asserts) +>> +>> +endobj +2987 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.314 740.056 190.834 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert) +>> +>> +endobj +2988 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.822 740.056 300.223 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-msg) +>> +>> +endobj +2989 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.212 740.056 435.715 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-relation) +>> +>> +endobj +2990 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +2991 0 obj +<< +/Filter /FlateDecode +/Length 2236 +>> +stream +xrܶ}>Dj0 /dd;CP]rMRN Z+;NCs~EAQ I3,Xlfap9|[_\ΞI X.#q00 ^8jw3#QdO׭#jo/.?)LOπٌo5{0jTG6?% !8 0GPY$?έ]b!TR\r,X9 Z`|wOkmIc.֒4 ûcۯ/SKC"lYqkqۺz'bg 5QC0CA?NZ(&4J*}*q1v6't͢.mQf\/9H[(uesY)HtjbY%_bPlUŊ/~.^nx],]TS%7VmԎܦ'iK]~mGȻ4ߎ#݇n== (YNoʯepUȿK^{c0bc^1E&"*M=W6+˽[0n,_[on1@CyeaPp4yE^ڟfhPN)E*gǬԅѩc\"$S<[Pe I)< +q>"Vhc[&9b +Hz?QoxzJ?A>$F.n@ IS"Ų,a4QfR݄co`,bj0wR QpP *يYȁMOadyBBW3~m\B\ku)0T`RЄSF܁SLSPB&`pz?=8Û))#C2p^ܬy+#W* +(ŹCmgvOO0H'|lՙKZ^#qÈһф(ƍ{ c>j󧘼wzS^vu^fj +W}L:ںi,=6|X4{u)^XoS^~̄ aF 鉿Q0VTZKp0q%(otD1 +Ici`"J{=ђ8B8v|j"Xw54Bj W-bgv{<#*@ lc'yk#cc1”:JdQ$ї] I ̑ O0#iCzDEbת}Ji;F ' av=!$'vSјܺʍeeD`V_l2ʿ/XѶrSѮ +KP*_AeE>.ЍnMͯukLo8 )-^6Z?b}4z7һ:h2ٯ(1;`VE͢3/J7qHJd+6KlF +eצ(E)N"皠f;N%![oWKI-km"60Fq_6=7_PǴ'0_'$틚&~53kIxNRHftǏ՜u24(?ILN.lܛ1xWAdUi.X4mľ-:r}8,hZ`n~p/> +endobj +2993 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 659.732 102.326 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (asserts) +>> +>> +endobj +2994 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.314 659.732 190.834 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert) +>> +>> +endobj +2995 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 193.822 659.732 300.223 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-not) +>> +>> +endobj +2996 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 303.212 659.732 409.613 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-msg) +>> +>> +endobj +2997 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 252.873 496.35 308.544 507.254 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +2998 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 188.935 454.507 316.217 465.411 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +2999 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 101.327 424.619 244.271 435.523 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3000 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 373.93 424.619 548.197 435.523 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-named-def) +>> +>> +endobj +3001 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3002 0 obj +<< +/Filter /FlateDecode +/Length 2519 +>> +stream +xr۶]_P4BNq.Ic?d&θDǚJBRi]\!Z}r2Ap],F} 4HYf9I8&a?ozz6y,ANrgW<,8O aa0YpPr-0>hFxjիbf1r"~|˒T 9p$$<ς`j1ai99i7bO8JG4ʞ'$ M(IS-cBi8h@>Vqavh^,<yK>$F4 KKJAGB:XD$I^II8SJ)ܰ{X.ԫk Bp;h=SA+p)QWH5 iw7?K;WV56ûXFm'>j=ϵ3)檁S$ 1t6%24p|?Isf"p8Z0e[{#F0B\Q:aJcy>j۲4` .!#ߎ )ÛKR<Jx,ꕄo$!|%|k( t\g\z#|_=jq=:$- /!b58u /#lOQ$~_!Ci0# ׯ $dٝl`RPׯO.^;)Ļwgo^]<=~MUۅ1`>IHbSrʷ ?&`qc/ gdԪ"z&[EЈr~ncd/bH:l 5b;' +tq +UZ{~2b$Ic[Z 4$ܗN҆e;kktY͵/뢚ep͸0yyZ(j],,Ʀ*o9ɒ< +="vHڻ슫MFaj>58{nBg渴l^1Eʹٵkw]tf|U7Xff7<$ E.w䙚ê3Z_e<;D;xNB,l\Ͱ7f,ʙ٪S#ZX +̆{mMX):BaQ6MzJBngX0BCO4.:("FbAՕ8ݏ0fWŬ}u(91NIVvh{Xu ?) e)<.1) " 4w/dl%Zϋ#bVGu=G2X4)vxG\656xXSgV뭋[6ˢS +~{Aƶ+Xe1UPS*I0ӯJ84ŭ5@=W%$#GH9(ָZ/œ㚛WM-D/eܔCiCಥCѓuI~'{b21:N_};{ha:OQ*:<Iw9 r=A#{ Ƹʉ2-^ܦW'yU\imTY**B w苁̌ _#4 +wTd^D!Q*5k"pGcd:Cٟ P"q׎'1I(d-0iȍrJF# gmiН:(Q@!TC1kȍ2fF;#te\eӆ-awyωP$`9'ahzKKN#b.& 6S#]D*`(8cU[&+UouSK_If~L6N!0K +m.Nur+en9}}Hf21AI稝j ΀¢䤮ƄO`y )F1?O'mͲэ `瞴H+1pTI;* {h-8NBSD`)\58ߧ[:{k@.T.~ÜV>2A7^vGO~1gnkp a/+ +wh ^,i!ە" h]'Nwvmbկ_+endstream +endobj +3003 0 obj +<< +/Type /Page +/Annots [ 3004 0 R 3005 0 R 3006 0 R 3007 0 R ] +/Resources 3008 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3009 0 R +>> +endobj +3004 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 321.028 102.874 330.945 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3005 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 321.028 280.129 330.945 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-named-def) +>> +>> +endobj +3006 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 283.118 321.028 410.4 330.945 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3007 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 247.653 173.561 303.323 184.465 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +3008 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3009 0 obj +<< +/Filter /FlateDecode +/Length 1495 +>> +stream +xko6~q!)Q-NI +,rc̖I H>#]9S;E8'N(հѣ.v~{xNbZ>=eij9uJَS?JDN};w5/f(f'.D5a6蓴;bV]a.jyq|mH;2DaU騑|MqȢ{! 0 ( v +vr@E {r:M]K'GM8G(M1.oH(ơf!w'l Hod'vS0P~ gus.`" L6vv\ꡘYs^ +U.BH#C?_X",x^+?p `O Y,P׆BFh=Ȟ!3+O7ѭ2-293t#' -%KSRwW[5^,BA X4Bƺ\ݛb}x:R#Ģ8|p󽵅>%)Aod+)+.//dLmbuOgd"6+[!Y?"vQY&gbPfaM;H c?Io n_W]W.iB\ ڝ;oZBOaÕg4 Lj M6HY3E^}nt/dS(pPGWzx%RZH ]T3]"EKYlᡮ dyy;)D/y d6]kCoXZ +ZܽEnt0"/ҷۓ$OBcՑF/=ØfIj22$SY2g?B;$ Pȓ\`ݬ "'lw +ȣaYJQ8scȏXhxFD/e\Yq~̕6zc} F!8д.r?Z +B+h}(dބf=g3Q'gH4+f69OyY:/1{/Ԟ7#H^5 ["U6ˏ?ɷa38}drEŷ~5 #׷S.@\ R?g(ƾ)c?kEendstream +endobj +3010 0 obj +<< +/Type /Page +/Annots [ 3011 0 R 3012 0 R 3013 0 R 3014 0 R 3015 0 R 3016 0 R 3017 0 R ] +/Resources 3018 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3019 0 R +>> +endobj +3011 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 271.611 746.661 398.893 757.565 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3012 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 441.001 518.099 513.023 529.003 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +3013 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 223.332 338.771 279.002 349.675 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +3014 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.795 302.906 266.539 313.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +3015 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 199.628 285.69 326.91 295.987 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3016 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 195.795 225.197 266.539 236.211 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +3017 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 197.651 207.982 324.933 218.278 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3018 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +/F74 263 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3019 0 obj +<< +/Filter /FlateDecode +/Length 2921 +>> +stream +x[o6B}٠^F|4 M65m(yWJ\8~ç(EEi4 HtQF,(Mh=Kt NJiDLDg?Eȣh8}dJrd"\.6Ɛ[n(Pv;Plˮݒ$P/TJfӬ +1[a~\ +vdNH!Ԉu+ۢڇ'G47uTͽPn'.!fo~d}(YeXk3JP8SbګP|8S$DzX 4\ 2DPs,. S!%?2jTlAX&0Os96θw*cZr9 +|wkFbCsgfRš^ O Or0  9s1E79-FJLSx'ad( 1' J)_"a7+)Nbt(uAq-EBDְBd2L=a_U[tꈙh6e9b;}8?'`yX 7(}ʛ5;l"~nj8Ո*D}(P)mE뚏*^ˀWo=nt +!SՐU̵=.PCء~[˲.ۢ+h: }%!@p.@5{83l'}Z$G MWX;xPwNe;uR>",l+An@4#δ0~ 5 +|P/Q,(xBb2O%Io<4H| P;G<Ȉ,Yy+kf].q#A'є}v?ʙ?Տ2$_p?n+oYGk1OY{9th^:U©SNMC- \FevQxaDL1.IPNKC3a: Z|+ֶy]|jve\kTm64&1]Uv6h&H!04#AfJa̓MS)O3=ͤD-T! m[$TUَBcEGQ@ Y\8xl6"qXMuv):BUv "5?FAD׬(b0]:DpyjRyL)w^.SS~&59{8s_ʏf? +M1S +:2|`^Y^QwhCw5 I}%|TE wɵ)vI.k4zV$zcG4"K}qu"%SU_Fg !J +dK}3hC>ʉ>KQ%૊q:5f~. 7Uw8^OS}NT^,:kR8qeMd44c7p}Rlہۇ(NvOhG<!.A~d(&J;:9JyO$MPlgd^Yq|F{V" xf?6%1\?di(A|hvP\o tq/&>(JE{S˰K•o a:drf8 J~e.zsgp%W?ܲMFZ\cCP4Z\uuhܖː0#LL2 %d74EWdT&Ήa +?}LE``ZbOH`Zⱹ2hz40`ne0`p`H)ˆ+츢->iW45<%80u±pyK@*>MȰ'EtP,8(:6"2KωdT{*^ +PZ5Wp H\ u,HS 65)zW*B~w\'}[ [Gx(eXNFAendstream +endobj +3020 0 obj +<< +/Type /Page +/Annots [ 3021 0 R 3022 0 R 3023 0 R 3024 0 R ] +/Resources 3025 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3026 0 R +>> +endobj +3021 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 353.531 102.874 363.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3022 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 353.531 248.806 363.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3023 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 251.795 353.531 379.078 363.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3024 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 250.667 190.094 380.067 201.212 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://boost-consulting.com/tmpbook/preprocessor.html) +>> +>> +endobj +3025 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3026 0 obj +<< +/Filter /FlateDecode +/Length 1702 +>> +stream +xio6~3ԬHV h& lZlɕ.>,G8ڢ E>-l|bCZy˶&r#;`ܣCLuKngXq/MbumVu8JO,X$;[-b CD?MwM&4̣$.vtUYKY>XHe#o1 -w)f~mIǬMJ =7|12;94‚ qŰI bWrJ!f% -Sat}`_C_+x+0\'`fzQƬ÷9 +k?SC3 +Or ݺt MYh[BÅA5N`Rs@ +nXaqЮw7|`x +KC%FlٽiMd-f.,M<&\ 82d7iAvߗݚNs R<6 +[C@^3ɢ[ԩ1zՍ0_x[{؝-(̆ @v70@Dc|Z~CCj5YFJ@67ʘIsV ?Uo +_ +09>P: 'Xx*ߴ@}!|}דux ]'}~~4mOrѴ e@Lg!%ڿ#C0[u(/NߵEGV3,CeC rmZXG$BY4~n+K'ŠWú,k2Ql+_ VUB& +\^#TI~;]o=e9Tl<31P%y1Tr { NMʍ% ee)w \yzq __? +/{KeT \vyY@',j|!1=՞AʓVHzy0dgy^ *$F9C19I\zl2dx]Z8[e8=߯Ȕ4>,yf$R g> +endobj +3028 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 102.874 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3029 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 739.339 163.207 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3030 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 447.016 616.5 548.197 627.404 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3031 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 604.544 119.98 615.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3032 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 125.738 604.544 300.004 615.448 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-named-def) +>> +>> +endobj +3033 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 552.764 102.874 563.668 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3034 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 552.764 163.207 563.668 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3035 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 166.196 552.764 309.14 563.668 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3036 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 312.128 552.764 486.395 563.668 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-named-def) +>> +>> +endobj +3037 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 102.539 370.149 160.979 381.053 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +3038 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.348 370.149 263.066 381.053 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +3039 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 157.013 334.283 243.844 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3040 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.199 334.283 459.347 345.187 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3041 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3042 0 obj +<< +/Filter /FlateDecode +/Length 2196 +>> +stream +xkoF~p!ڐWp'q۩)%&"UJj;˥-ۗ&8Yswg罳3: +< zQ0t1[^|$'PAlw{GUyvS*y#Ą~wPڣ 敆W8g#$~oI-F<6bt9cv ЂGdÀDQ#eTiܼsJxB5IV6Ʒ2(7[I? qwZA6"MbHb)vv,IH a}>d߄nrr}7g>4l N +l\SY-Wb@,w1 H*%L1:dV$$$47/0e7j:Scƹs5f]R5^Tߠu!5[5"zCwToLx(U9NWM^j&)Hٹ"40Tz֘2iinȶө}BF3YeZm ,.0ˋFF?jnwY90/ ! Ftiv}9fQ 6 +ѰI^ '=V^xK/`#~8p-6(ҐDLt) t667>=FZ4Iǃ20br^5ljL:]LrַX_P=eZHk2˼`^|@vW(tteH$ =!J~PDhDh?ADhvAM"4HB[0{_#NP~㞨!KAK؈vZVg =h i3Ky,Ty8d-ӘU@@LxQĻӓFcH`OgGËϏ)(x!n8 + +t~WAa@47T +P{ˊ@ycCq\(9&ȥtr#s9CkbZ?k! "G?O/,oŹj](sij,[L@)*3~ojLiV}׈haL{tW=[y ՊU.Rڬ{- Eq~*cpf0E TA-dukͧ7Ef`\n+u93v/@]n2#_lf,UfƓ ]Hk\=].#:cHv(5'lJӱ.v STCJܡIU.nVNx bXnx@xPj6uiOE˦U]Ș]dF^xWtv @z^ tNP?Gḷr#. +6-"Hypœ531g2hN$A1nhWQ6*  +A]Q/7aw6+g&kk99g\᣻z!ᱰ?R8(R ghJ{zWEraZKIgQ䳶INtAׂ4Tz[w$ti)ZǻHNz0oE$A#r~KDxVwDo[4Z5ܮ}V0FZ"tv@{xP3|`m_feh f;:I]]ʰ]gNv`P~cCܡ[w&1#~6BByh0h]dB-_VëT%Q٠gVQ"k|!W]>endstream +endobj +3043 0 obj +<< +/Type /Page +/Annots [ 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R 3049 0 R 3050 0 R 3051 0 R 3052 0 R ] +/Resources 3053 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3054 0 R +>> +endobj +3044 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 647.06 102.874 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3045 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 647.06 163.207 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3046 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 166.196 647.06 361.344 657.964 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3047 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 138.979 464.445 198.644 475.349 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3048 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 209.209 428.579 295.982 439.483 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3049 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 316.259 428.579 511.407 439.483 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3050 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 217.421 128.348 228.325 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3051 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.337 217.421 326.485 228.325 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3052 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 329.474 217.421 461.977 228.325 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-list-size) +>> +>> +endobj +3053 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3054 0 obj +<< +/Filter /FlateDecode +/Length 2075 +>> +stream +xko8{~paQ-c7 mݮCnm[M8Μd[q~ˡeM:Ui")")_q:!s(&At:??l +<'&11=9 >9C-gD]uɸrh 9~3bF8 += ^,N\],dslʂP Hf/o9a+ ẗѵhc!_;HNPz-jKPJb d;m* AyX~zs?5Qc9qHLo#NTO ˶m(?ll΃F Y?AmrA +kp[n_g(PѼDKTZM~nʬG[8pk3pii8E_ G#}9ᮧMw +ƌCIyXF=D_uC+"Lf84ÊuCKIFMV28mB.xB 5$k8 k~kBH`x`TK<@lюܗ;}%ר-vvs PKEQ_f94smz$P?쵢ii*!JE󃃣w{{Zv^ +ӣݏ;(fC}AoͳLy; 3`עb*Gh(i[ߺqf9?wq4f`<rh9)(|DND0- KΦ<ŢvPѫJTUI9g}۟\&LR=D2_eho R #_ 1W(:rkv (HDu4[yF>>QX܈AP,N5ͳ*UH:*+zADarYL$fIkvl,ҤJ 32d̰`bNZ3]U|9Y!GÕ͆Ti2I+ieFL琤y"}ҩ`<$[RWfTx)GފMYWIWYԮQ+񩢠ƥtVVE028>лmGmj=*U8Wb*w$ȒJ._J..G/Ya38X$;8d>{j^sr*BxT!|W"7Y! +Y6H7so(Ԥ\7KKN Öw#뀲=`qAu4uw~AF|;v+O9ʹQepˡC8^:zԆ"5d[_+[ud$a<~["j% R4eF/?Xew(5YbD1q@eEf3{Rl#8@pqFKxwAc-:ܳ,C7Eh7}`c!c^}qzYۄ?n> +endobj +3056 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 111.749 659.015 171.602 669.919 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3057 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 157.013 623.15 243.844 634.054 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3058 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.199 623.15 459.347 634.054 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3059 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 411.992 128.348 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3060 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.337 411.992 326.485 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3061 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 329.474 411.992 472.417 422.896 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-vector-size) +>> +>> +endobj +3062 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 107.171 229.377 167.667 240.28 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3063 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 157.013 193.511 243.844 204.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3064 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 264.199 193.511 459.347 204.415 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3065 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F83 476 0 R +/F43 5 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3066 0 obj +<< +/Filter /FlateDecode +/Length 2195 +>> +stream +xZoo6Oa/g"g{0`m-CluR$lɕm;th;Yt 6e(x<Gq +X NRE2-G4߶螠WQ$j!8"Q0a`*/(:Uyο 0ߌxꣀ%ZCyHsWVJ0=AGiuJXˑ%b4=joRijXvN#8#FYJz`<\W,tYa0~?P9./uF?5j7SDui']X..J,jH*ej.W\/Qݬ~ +LtyPƈ\ ȵ>uF.`@–aIGǭ&\D`5ǚv);cX-SZ6.֝lgBV,~1.EWl㕇є|UuP⪝S=VKc9I&_cw++m>[:DnJ pۀyPO0;,:_,_;1Md*@y9T,^\FP,o<=z:wԋNV/tJߢ%Ά# q;A2Lm %F/Q;;թ^{6${)"JbV&)/J蜀tgYs"dRztNv{5CDD$ҹf-u%dE]#QѧՔ nI\'Į}OwxEoRm_]VW!s>tEty׸Bc!Ik"x VT!ar4dzg5_ݗtHk0MrW_fWLf0|yKf5^vx_"sTQ]hDǨz: 4ulb.rеZ3ƚv;ؙ:[+jrjy SOr Ffjs=λy 3bedtWls.'2}f!1EkEN+!%"6t~!@gH݇^S"fDp f  N" 8H^_>}s,hzr~9=ޖj]xj2$ =+$|=v>HlDXyD'>'{`2:ڝ{_aD0|"e[Qv{ f iS n3.<| X 52>"=)q_J}oaN!M4ƕ/|m'03܁0d'f!(c!+HM+S8OK+EqH0]=̀VF!vmL]kB̪4#>RGa [A +=0_nH;PDAB+$|*:kSybAݳD/AMZW}42( 2E+2MDA(wENd<쉶 '>">d/ƓxGyTdp=-2Ϝ) g4!\E^"C!`&yHkn~D|8 UTcrsc;:'Ҡym 8b(PGY> +endobj +3068 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 591.917 128.348 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3069 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.337 591.917 326.485 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3070 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 329.474 591.917 456.756 602.821 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-map-size) +>> +>> +endobj +3071 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 514.364 421.202 548.197 432.161 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3072 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 409.302 92.363 420.206 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3073 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 373.436 157.917 384.34 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3074 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 178.38 373.436 373.528 384.34 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3075 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3076 0 obj +<< +/Filter /FlateDecode +/Length 1962 +>> +stream +xko6}3ČHHM&ԦIٖ+ma}|҉β^(x/? F1 +sGG|xƟ v^ԉQ@8'GgH(rFu]g-G0+Oɛ 3W5l~r'e+SVBϜp \D.| }DxGMi zad2A^LlSaΐi#rp(vz +%̯p"!BT¹:c O$i>lVRyzpf)@A1|A+ Sk;as$@a}(x~pp|r^%ó`ǂ0<[iaX{q@(ݒ% T5Pp kku:~RM6LtzZǏ}W-g@oU$8dgtQ"w&-q)9tIƝy50 K\k"1ޣ 4ڤ֮7^b *tN5L)<$B!RHuϒqi9SėiRW!ΖZ<-k1.t$ŏX1[Q4m9?|0mzX"Ƭ(T{PK>_e1 *^1LFMJƒ3y#!4vGVF0X|w!/E)uu( S3v:O k%{͖uì˕#.X|KZ{*\:UsSY'j]#= kSqk=b65u +߽ 'ΓGujF%%L n +U"Ջ>=p{F%7"Qδ*N_~7SJB$d cz{$~kSHa#3n?gx{Hb}c!?tՎ47?V$m ok? "ǜ8BķP.4ÝC "V8bKZ;\yt{ȋu~y3U I\׳ܦ_EvE?,Uendstream +endobj +3077 0 obj +<< +/Type /Page +/Annots [ 3078 0 R 3079 0 R 3080 0 R 3081 0 R 3082 0 R 3083 0 R 3084 0 R 3085 0 R 3086 0 R ] +/Resources 3087 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3088 0 R +>> +endobj +3078 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 739.339 128.348 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3079 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.337 739.339 326.485 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3080 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 329.474 739.339 456.756 750.243 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-set-size) +>> +>> +endobj +3081 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 379.78 533.5 467.018 544.404 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3082 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 488.78 533.5 548.197 544.404 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3083 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 522.103 213.947 532.449 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3084 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 406.715 128.348 417.619 ] +/Subtype /Link +/A << +/S /GoTo +/D (configuration) +>> +>> +endobj +3085 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 131.337 406.715 326.485 417.619 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3086 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 234.903 244.394 316.574 255.298 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +3087 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F83 476 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3088 0 obj +<< +/Filter /FlateDecode +/Length 2125 +>> +stream +xko6 +Cׇ,-ԫ8`'N¯W+{jm7$EjDi7ۤ 8)r8o ga9.9!u(&A;u;;? ۧ83B}.&:Ӏg湮LNjiﴀ-uZgyZJ@:DZg<8''T4~ő]ű''7 #N!CCG°UMj.y*bzn'׶m:HI[mEuYܻ.}TIŐGC|%IF(a)h[(cXhx.+9r|+wha{@gx2XDN7h́C55+SF}£x5N+ڈZ1pO#;mh!r)9f+k[Iy 2܎SF.^^>_=L]+0ؽ<;;x]y)uգ'E +$1a:&R:?e %@2Э:SO^{UQ!vP;EV2\FHӛW}t,R$ l!IYE1.V0+?iUe1Oܮ + +RT:HYnR$KpSTegų^Xfiyҳ;gUR|w:~ϴt5kR*I\VY\D !hl6K +7V<]EGвHbցu ,}/6v LE*"(7y&jǑ+=OAm00#hlCL{.#WU<0 +A`rTuV 7\zL|e<,(D`~ 2M*,JL€ܺv%5a~B\MPyGR^b?PY9&l+|C()7xn,LY/ڇYu]j䎊,b 4r(ԳM3xY@}BqcTt];^G +g7ץϕ]0;y)^DnԶ ģT#L~|凵k +3=LJ"*034( 9Fi" T󬀍L2+~OiFC]ǻ \:z'.-cQ'Fϓs(uK@dS;%2~봒"qciRGnRXaz<ͥ@ʩ. +w.J0%UiQ٦y2'y|HUҽpɨ}٧!CEAG'AuBo"m#d't?M'Ԧ= ?ښr^Z9zm;Dx#?Ђx˃1KP +wUGl2JInځ2B?_Q=n8FI!<"WZ*% lsJͲ `BR';>0;y)nQT+KMUX;&/;RQb]VfmTMC +pStۦ))ݺt}6^(o^6p9ż @I> +endobj +3090 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 170.694 701.396 207.008 717.336 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.boost.org/libs/preprocessor/doc/data/tuples.html) +>> +>> +endobj +3091 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 189.499 637.72 245.169 648.624 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +3092 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 306.245 482.303 388.35 493.207 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +3093 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 71.004 271.145 102.874 282.049 ] +/Subtype /Link +/A << +/S /GoTo +/D (macros) +>> +>> +endobj +3094 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 105.863 271.145 165.409 282.049 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunctions) +>> +>> +endobj +3095 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 168.397 271.145 249.801 282.049 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +3096 0 obj +<< +/Font << +/F63 10 0 R +/F75 267 0 R +/F43 5 0 R +/F83 476 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3097 0 obj +<< +/Filter /FlateDecode +/Length 2315 +>> +stream +xn6}BokÛnݴI(6'M3-tFHͺ"EQy ./ 0#AB$PGj- a;-OY B ůe< 88{Y" Yx\])_A`[5},XX 8a1"Yl<mW #N$C"QW.3 3try "5x48(i&1FYz=V +˛|[tBMH$ca"5YJIcReo4Ŷ)`Tjt2!NC]5+jJfBHɔL 0;gÌ q +M/QL^9Dpȱc'krkvh#k!҄Ȳ +moꪮ.50 (ay,!z7j% oXj@z.Z* +b7Rsk1R}geiWlw\MJGP( x^ R^m벺 V9]p{kьÞF#;fҙK'0eK-ZF*YxOr:N:"R[F{(6r y|1Jή:ixw7#ޖp^W#yiKxRXaY2N'XD[9zcmM'Id.^~!.!(ΈuhnС>AWnS(& ҟ`" +" zfY]Uچ`7jA8L" ZHɟ:6My[VC@ȱG$TIM\ĔB_ #r3O4A(lC(TWXSe֍Sm 2c4G +͸ }H5ImR>fxqd|UJ"(_i)([Kle+|R")N~o ig/ѱ<,а?R;u}&dWr\__ZJoUg-ϭ]o--JX;;9[92)X&{ x33; ֊^_8qc#Hc>hԙI!*C 3!a72p$ݮțv^Ñ~tr[vUnuw䫛zn '?&]{E0\m*'|N/ +MH$ꏇkw瞊&fަa0根 75((` 3!dA5Pc]Zz<y +] l:{<▋֚9WC/L!M댜Ywwщ +w9S3PXMUOV+hB&0TM4.7H%Fw 8wu#xh6+e/$avW`=WeZ'J3U[ #pu۹h_I@:zF ]}Q +더UƏ {)J#6_G +sUzj= ^%6O#ģGCA({o׹&E{Bڎ$Ƿ4ja-?]|0#d#+MT|3T'v ! (̸~A)AU$%=ğߗ,5᭞|'u x=}8$5XۯrT*~vkROQ$-*v;_Rin>so8OL<βbu;) ymeDrˈn\re/*ZhZSKFZ!q>ڣ],De´y&Jd-v-Iz}m{HufFyN1ʎdTC?pǹ 缇AtycN=&MmТ8BK9ާSiYh'2APջ4pX6Mϋ~endstream +endobj +3098 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 3099 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 3100 0 R +>> +endobj +3099 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3100 0 obj +<< +/Filter /FlateDecode +/Length 286 +>> +stream +xuN0EL1~;fY^R% +X.B ihR:PQ{Ǿ>[$3k ZJfR3#}VٵU虧+&Ģ'L,)fsɬOQt4S]oHV]Ѭ>֏):C>81)c +0-WQK X*i]H`KگmsLi͙[0霨SxF=^0ݿ}N >(eR[[Fux|5CM.]}N +,ٽE#*>NuKWr~ю pendstream +endobj +3101 0 obj +<< +/Type /Page +/Annots [ 3102 0 R ] +/Resources 3103 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3104 0 R +>> +endobj +3102 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 405.254 565.75 428.128 576.764 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +3103 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3104 0 obj +<< +/Filter /FlateDecode +/Length 1173 +>> +stream +xXm6ίDZ|~S^խz_kWXpHd\}$ZZ-3<QD"%G~v1ie7k>8z2{e`*%*Vx{/| +^y!_B7G@z^,~.8_c- PB@mdh2>|{sc%yXd,P `J1d C~"Jz&:TfR-9AI kLpАk`3080F[-QI +N5^mm^5JǬNOݲjCtjT]?Ut߱7? qzF(a8)Л\ԍrTV+>y.Ԫ +RޛKRAm~qyU }yئEҶ.*Ői@sJ#-?mمƄԈg =!3Z,lS: ALm ѠbպSU$iKT-^?jMlZ.Cg@S&Z_I,Bq5Y? .g~S$ڴdJ_#x(q/'Q ̦VMY9SsN:@gV-get8 ,1fXMX;wWeǝ$Fݔ8fZչ[i8kMXj ǻrM>S)նzv.ÕWaX3jGT~ꀪccQqٕ OƝU%P]uiBKNF>9'0Q 67g~PlA +Rήz< }M.TawU_>hNnNՃΠجVBLQ, +NYQ7b~DF%wm +$ӷiKV ČgbXB(U-r*4 !hޜ1eؽSЊ?|&endstream +endobj +3105 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 3106 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 3107 0 R +>> +endobj +3106 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3107 0 obj +<< +/Filter /FlateDecode +/Length 255 +>> +stream +xuN0Ew,b1ˊR;E4*T ҄,3=>a{462o'8g.n|酬5!#YY6nm>sFkKc4пqK9_9iU +kebDK68ŧlGJ/A/|4/opWl=N%}NHVRHbq; +w]ӗ[>IXZߟlF  \^endstream +endobj +3108 0 obj +<< +/Type /Page +/Annots [ 3109 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3114 0 R 3115 0 R 3116 0 R 3117 0 R 3118 0 R 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3132 0 R 3133 0 R 3134 0 R ] +/Resources 3135 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3136 0 R +>> +endobj +3109 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 618.203 184.657 629.107 ] +/Subtype /Link +/A << +/S /GoTo +/D (associative-sequence) +>> +>> +endobj +3110 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 600.271 203.595 611.174 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-extensible-sequence) +>> +>> +endobj +3111 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 584.395 181.737 593.242 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-iterator) +>> +>> +endobj +3112 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 564.405 190.594 575.309 ] +/Subtype /Link +/A << +/S /GoTo +/D (bidirectional-sequence) +>> +>> +endobj +3113 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 546.472 229.209 557.376 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-associative) +>> +>> +endobj +3114 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 528.54 180.632 539.443 ] +/Subtype /Link +/A << +/S /GoTo +/D (extensible-sequence) +>> +>> +endobj +3115 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 512.664 163.217 521.511 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-iterator) +>> +>> +endobj +3116 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 492.674 172.074 503.578 ] +/Subtype /Link +/A << +/S /GoTo +/D (forward-sequence) +>> +>> +endobj +3117 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 474.741 204.711 485.645 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-extensible-sequence) +>> +>> +endobj +3118 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 458.866 128.328 467.443 ] +/Subtype /Link +/A << +/S /GoTo +/D (inserter) +>> +>> +endobj +3119 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 438.876 166.654 449.78 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-constant) +>> +>> +endobj +3120 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 420.943 206.744 431.847 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-sequence-wrapper) +>> +>> +endobj +3121 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 403.01 177.314 413.914 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda-expression) +>> +>> +endobj +3122 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 387.135 151.581 395.981 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction) +>> +>> +endobj +3123 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 369.202 175.66 378.049 ] +/Subtype /Link +/A << +/S /GoTo +/D (metafunction-class) +>> +>> +endobj +3124 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 351.269 188.93 360.116 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-metafunction) +>> +>> +endobj +3125 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 331.279 191.7 342.183 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholder-expression) +>> +>> +endobj +3126 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 315.404 194.181 324.25 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-iterator) +>> +>> +endobj +3127 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 295.414 203.038 306.318 ] +/Subtype /Link +/A << +/S /GoTo +/D (random-access-sequence) +>> +>> +endobj +3128 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 277.481 184.119 288.385 ] +/Subtype /Link +/A << +/S /GoTo +/D (reversible-algorithm) +>> +>> +endobj +3129 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 259.548 216.079 270.452 ] +/Subtype /Link +/A << +/S /GoTo +/D (tag-dispatched) +>> +>> +endobj +3130 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 243.673 180.592 252.519 ] +/Subtype /Link +/A << +/S /GoTo +/D (trivial-metafunction) +>> +>> +endobj +3131 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 223.683 171.765 234.587 ] +/Subtype /Link +/A << +/S /GoTo +/D (variadic-sequence) +>> +>> +endobj +3132 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 176.475 181.43 185.501 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert) +>> +>> +endobj +3133 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 158.542 202.311 167.568 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-msg) +>> +>> +endobj +3134 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 140.609 202.311 149.635 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-not) +>> +>> +endobj +3135 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3136 0 obj +<< +/Filter /FlateDecode +/Length 1534 +>> +stream +xr6/HqdIִmHN&ӧ"¢Hv1ͮ 0JiTzw_nk65{6RA߅ (#F ,' Bv awEoOYpF*skﺻ0w%;ƹ>)W$攔}wr۳d bmu֓aX:W]g ~T> O+trbibJr$)(C([ed\=T:$(myu#Kq2H0^mKVmݬZ4ݶ\jCH 3 8(B &"DlyAXa3 Z;(B XP$a6!b#lr dW{:73=QT4cUS (AEƝ$q61b3l}Kds \;h2NBk"˞<_2TpϹN1FPZE B/I`؋6 "fĶX*2Bl:(GN*񏗤p &rDlyn"C9XY5Q$f6&bÌlM2 rd4$'[V'IM"[/MuuДmJ@E + s+d!Z=%)C[adka~()9U06@N3KRh"ĖzySի'7~"10YVN3 +PH":b!D-0n].zVњ M%fy x:A +>i"> +endobj +3138 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 759.827 228.413 768.853 ] +/Subtype /Link +/A << +/S /GoTo +/D (assert-relation) +>> +>> +endobj +3139 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 741.894 244.074 750.92 ] +/Subtype /Link +/A << +/S /GoTo +/D (aux-lambda-support) +>> +>> +endobj +3140 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 723.962 223.193 732.988 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-has-xxx) +>> +>> +endobj +3141 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 706.029 291.058 715.055 ] +/Subtype /Link +/A << +/S /GoTo +/D (cfg-no-preprocessed) +>> +>> +endobj +3142 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 688.096 238.854 697.122 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-def) +>> +>> +endobj +3143 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 670.163 270.177 679.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-xxx-trait-named-def) +>> +>> +endobj +3144 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 652.231 228.413 661.257 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-list-size) +>> +>> +endobj +3145 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 634.298 223.193 643.324 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-map-size) +>> +>> +endobj +3146 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 616.365 275.397 625.391 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-metafunction-arity) +>> +>> +endobj +3147 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 598.432 223.193 607.458 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-set-size) +>> +>> +endobj +3148 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 580.5 228.413 589.526 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-unrolling) +>> +>> +endobj +3149 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 562.567 238.854 571.593 ] +/Subtype /Link +/A << +/S /GoTo +/D (limit-vector-size) +>> +>> +endobj +3150 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 544.141 108.344 553.66 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +3151 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 111.333 544.141 123.766 553.66 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +3152 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 126.755 544.141 139.188 553.66 ] +/Subtype /Link +/A << +/S /GoTo +/D (placeholders) +>> +>> +endobj +3153 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 527.648 150.107 535.727 ] +/Subtype /Link +/A << +/S /GoTo +/D (accumulate) +>> +>> +endobj +3154 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 509.715 134.446 517.795 ] +/Subtype /Link +/A << +/S /GoTo +/D (advance) +>> +>> +endobj +3155 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 489.57 129.225 499.862 ] +/Subtype /Link +/A << +/S /GoTo +/D (always) +>> +>> +endobj +3156 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 472.903 118.785 481.929 ] +/Subtype /Link +/A << +/S /GoTo +/D (and) +>> +>> +endobj +3157 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 453.705 124.005 463.996 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply) +>> +>> +endobj +3158 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 435.772 150.107 446.064 ] +/Subtype /Link +/A << +/S /GoTo +/D (apply-wrap) +>> +>> +endobj +3159 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 417.839 113.564 426.328 ] +/Subtype /Link +/A << +/S /GoTo +/D (arg) +>> +>> +endobj +3160 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 402.118 108.344 409.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (at) +>> +>> +endobj +3161 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 383.239 118.785 391.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (at-c) +>> +>> +endobj +3162 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 366.253 118.785 374.333 ] +/Subtype /Link +/A << +/S /GoTo +/D (back) +>> +>> +endobj +3163 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 347.374 165.768 356.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (back-inserter) +>> +>> +endobj +3164 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 328.176 124.005 338.467 ] +/Subtype /Link +/A << +/S /GoTo +/D (begin) +>> +>> +endobj +3165 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 312.455 118.785 320.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (bind) +>> +>> +endobj +3166 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 293.575 134.446 302.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitand) +>> +>> +endobj +3167 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 275.643 129.225 284.669 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitor) +>> +>> +endobj +3168 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 257.71 134.446 266.736 ] +/Subtype /Link +/A << +/S /GoTo +/D (bitxor) +>> +>> +endobj +3169 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 239.777 124.005 248.803 ] +/Subtype /Link +/A << +/S /GoTo +/D (bool) +>> +>> +endobj +3170 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 222.791 124.005 230.871 ] +/Subtype /Link +/A << +/S /GoTo +/D (clear) +>> +>> +endobj +3171 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 204.858 139.666 212.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (contains) +>> +>> +endobj +3172 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 184.714 118.785 193.202 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy) +>> +>> +endobj +3173 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 166.781 134.446 177.072 ] +/Subtype /Link +/A << +/S /GoTo +/D (copy-if) +>> +>> +endobj +3174 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 151.06 124.005 158.502 ] +/Subtype /Link +/A << +/S /GoTo +/D (count) +>> +>> +endobj +3175 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +/F73 262 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3176 0 obj +<< +/Filter /FlateDecode +/Length 1960 +>> +stream +x[n6}߯У THԷ$v؛e/7;KҐFL EƑΎ!3 +3-2]7Tv~(K\|Y7 %lfb;yQֳۛ.jjv^]_\T{ysHz;{-_-v>KQ Ap}(ɮVLt8^;OυfuCRquGC.OPTɚ6/bMG8um͸4_Ќ{o]3"{-%zX P\ +\)ɹfӆՒvX6DḲ2͡[3c_϶OAOгޢ@|)d)RFv#hFzBF:R|ff|hGߏ' ujJyV}I:HaCD a^4zh_^뒕E! fv_Zfwhf{Bf;esNݦ-eD +zlM(By1}"E**Bbl% +zl~B ddp B0>UY1EL hzB:Z6Z[ }w'rh'Nآ)!Ef=3B 3=aH)Z whz^HVt.r!\_5mezJ)@-$F!ZS$eUUM@f_!AY򅌅(6DKṬR̡.S]A-m2fV5.B"BҴiri:V*S'A3f$_FXHnCD*HS +Aj".kUAZGAOWW7_휮W?lo W?|Tz{ EQ'JD6p,qendstream +endobj +3177 0 obj +<< +/Type /Page +/Annots [ 3178 0 R 3179 0 R 3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R 3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R ] +/Resources 3213 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3214 0 R +>> +endobj +3178 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 759.827 139.666 768.853 ] +/Subtype /Link +/A << +/S /GoTo +/D (count-if) +>> +>> +endobj +3179 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 740.629 124.005 750.92 ] +/Subtype /Link +/A << +/S /GoTo +/D (deque) +>> +>> +endobj +3180 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 724.908 124.005 732.988 ] +/Subtype /Link +/A << +/S /GoTo +/D (deref) +>> +>> +endobj +3181 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 706.975 139.666 715.055 ] +/Subtype /Link +/A << +/S /GoTo +/D (distance) +>> +>> +endobj +3182 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 689.042 134.446 697.122 ] +/Subtype /Link +/A << +/S /GoTo +/D (divides) +>> +>> +endobj +3183 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 668.898 124.005 678.552 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty) +>> +>> +endobj +3184 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 650.965 150.107 661.257 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-base) +>> +>> +endobj +3185 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 633.033 170.989 642.686 ] +/Subtype /Link +/A << +/S /GoTo +/D (empty-sequence) +>> +>> +endobj +3186 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 617.311 113.564 625.391 ] +/Subtype /Link +/A << +/S /GoTo +/D (end) +>> +>> +endobj +3187 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 597.167 124.005 607.458 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal) +>> +>> +endobj +3188 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 579.234 139.666 589.526 ] +/Subtype /Link +/A << +/S /GoTo +/D (equal-to) +>> +>> +endobj +3189 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 563.513 124.005 569.79 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase) +>> +>> +endobj +3190 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 543.369 144.887 553.66 ] +/Subtype /Link +/A << +/S /GoTo +/D (erase-key) +>> +>> +endobj +3191 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 526.701 134.446 535.727 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if) +>> +>> +endobj +3192 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 508.769 144.887 517.795 ] +/Subtype /Link +/A << +/S /GoTo +/D (eval-if-c) +>> +>> +endobj +3193 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 490.836 155.327 499.862 ] +/Subtype /Link +/A << +/S /GoTo +/D (filter-view) +>> +>> +endobj +3194 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 473.849 118.785 481.929 ] +/Subtype /Link +/A << +/S /GoTo +/D (find) +>> +>> +endobj +3195 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 454.97 134.446 463.996 ] +/Subtype /Link +/A << +/S /GoTo +/D (find-if) +>> +>> +endobj +3196 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 437.984 118.785 446.064 ] +/Subtype /Link +/A << +/S /GoTo +/D (fold) +>> +>> +endobj +3197 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 420.051 124.005 428.131 ] +/Subtype /Link +/A << +/S /GoTo +/D (front) +>> +>> +endobj +3198 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 401.172 170.989 410.198 ] +/Subtype /Link +/A << +/S /GoTo +/D (front-inserter) +>> +>> +endobj +3199 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 381.974 134.446 391.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater) +>> +>> +endobj +3200 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 364.041 165.768 374.333 ] +/Subtype /Link +/A << +/S /GoTo +/D (greater-equal) +>> +>> +endobj +3201 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 346.108 134.446 356.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (has-key) +>> +>> +endobj +3202 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 328.176 139.666 338.467 ] +/Subtype /Link +/A << +/S /GoTo +/D (identity) +>> +>> +endobj +3203 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 311.508 113.564 320.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (if) +>> +>> +endobj +3204 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 293.575 118.785 302.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (if-c) +>> +>> +endobj +3205 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 276.589 134.446 284.669 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit) +>> +>> +endobj +3206 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 256.445 181.43 266.736 ] +/Subtype /Link +/A << +/S /GoTo +/D (inherit-linearly) +>> +>> +endobj +3207 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 240.724 129.225 248.803 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert) +>> +>> +endobj +3208 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 220.579 160.548 230.871 ] +/Subtype /Link +/A << +/S /GoTo +/D (insert-range) +>> +>> +endobj +3209 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 204.858 139.666 212.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (id87) +>> +>> +endobj +3210 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 185.979 118.785 195.005 ] +/Subtype /Link +/A << +/S /GoTo +/D (int) +>> +>> +endobj +3211 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 166.781 150.107 177.072 ] +/Subtype /Link +/A << +/S /GoTo +/D (integral-c) +>> +>> +endobj +3212 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 148.848 155.327 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (is-sequence) +>> +>> +endobj +3213 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3214 0 obj +<< +/Filter /FlateDecode +/Length 1655 +>> +stream +xr6e~( wrMth=ÆObDz9$\5!V$y/'ӇK“V$I<^/_8߆p|wKLizueX!9JAAN ef2@KP@Bf[&= қ$z!Z%V^b+w>[7Gu@zC/D*KlMhR߮f4'3,%TX hFh +4S[18G HwJNshr$!Z%Vcbk$<?EYbt$aZ& ^VI/U͛,]4VAVtͤcUM=ƞ0X_msr`|Ճbs=ej@ܓ;D*Ol``+ Oz@bC,D$*Kl-SoOʹnr*É%zQ:z@ooYȾFu( +VC^Ulh&|kr0ڧdG^{ ^VI/U͹GtT]j+63Ԗ%!Z%VibU˙ ܰs7>WK0CJ|v=7ǀMi9u4V4U`ں=E;M\/:_W n%[+Ԓ v^!Ul'b@M6J5H63S9 '-D*qKlWM7rՔsJ]ti3V=3ZI5`h2[%jh;*H,T^K0BJz@/E}y.@k7,!w,3VE;H/A01m!nP$ǵ\+E `%!Z%Vcb qrڱE"k%`hh3[%ډE/]dP" _z cV1UZ>W#=` ez fVI3UȵA_nQ ,1A,VG,U uS ֙\k X)y [V-U؊3ە\S`%!Z%Vcb qΧE HSZ/ %Rh-fl&dDcUO=Ǟ6+edۺֽWls6`%~!Z%V`b ]Ggd~y#84Aə*bX&y sV9Uتk:2 p|9ꖃK4hu4s[朣k>`][L/p *eJ[Knh&3<~Q|1&  SP6^aUl& +7c-+wO{mz\Ὓ$H>8;ѿ˾q?0/hS3y|pN\PIMxywLIendstream +endobj +3215 0 obj +<< +/Type /Page +/Annots [ 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R ] +/Resources 3251 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3252 0 R +>> +endobj +3216 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 759.827 144.887 768.853 ] +/Subtype /Link +/A << +/S /GoTo +/D (iter-fold) +>> +>> +endobj +3217 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 740.629 186.65 750.92 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-category) +>> +>> +endobj +3218 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 722.696 170.989 732.988 ] +/Subtype /Link +/A << +/S /GoTo +/D (iterator-range) +>> +>> +endobj +3219 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 704.764 150.107 715.055 ] +/Subtype /Link +/A << +/S /GoTo +/D (joint-view) +>> +>> +endobj +3220 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 686.831 139.666 697.122 ] +/Subtype /Link +/A << +/S /GoTo +/D (key-type) +>> +>> +endobj +3221 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 671.11 129.225 679.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (lambda) +>> +>> +endobj +3222 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 653.177 118.785 661.257 ] +/Subtype /Link +/A << +/S /GoTo +/D (less) +>> +>> +endobj +3223 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 633.033 150.107 643.324 ] +/Subtype /Link +/A << +/S /GoTo +/D (less-equal) +>> +>> +endobj +3224 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 617.311 118.785 625.391 ] +/Subtype /Link +/A << +/S /GoTo +/D (list) +>> +>> +endobj +3225 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 598.432 129.225 607.458 ] +/Subtype /Link +/A << +/S /GoTo +/D (list-c) +>> +>> +endobj +3226 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 579.234 124.005 589.526 ] +/Subtype /Link +/A << +/S /GoTo +/D (long) +>> +>> +endobj +3227 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 562.567 155.327 571.593 ] +/Subtype /Link +/A << +/S /GoTo +/D (lower-bound) +>> +>> +endobj +3228 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 543.369 113.564 551.857 ] +/Subtype /Link +/A << +/S /GoTo +/D (map) +>> +>> +endobj +3229 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 527.648 113.564 533.924 ] +/Subtype /Link +/A << +/S /GoTo +/D (max) +>> +>> +endobj +3230 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 508.769 155.327 517.795 ] +/Subtype /Link +/A << +/S /GoTo +/D (max-element) +>> +>> +endobj +3231 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 491.782 113.564 499.862 ] +/Subtype /Link +/A << +/S /GoTo +/D (min) +>> +>> +endobj +3232 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 472.903 155.327 481.929 ] +/Subtype /Link +/A << +/S /GoTo +/D (min-element) +>> +>> +endobj +3233 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 455.917 124.005 463.996 ] +/Subtype /Link +/A << +/S /GoTo +/D (minus) +>> +>> +endobj +3234 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 437.984 134.446 446.064 ] +/Subtype /Link +/A << +/S /GoTo +/D (modulus) +>> +>> +endobj +3235 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 417.839 129.225 427.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (negate) +>> +>> +endobj +3236 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 402.118 118.785 409.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (next) +>> +>> +endobj +3237 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 383.239 118.785 391.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (not) +>> +>> +endobj +3238 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 364.041 160.548 374.333 ] +/Subtype /Link +/A << +/S /GoTo +/D (not-equal-to) +>> +>> +endobj +3239 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 347.374 160.548 356.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (numeric-cast) +>> +>> +endobj +3240 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 329.441 113.564 336.664 ] +/Subtype /Link +/A << +/S /GoTo +/D (or) +>> +>> +endobj +3241 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 312.455 124.005 320.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (order) +>> +>> +endobj +3242 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 292.31 118.785 302.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (pair) +>> +>> +endobj +3243 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 274.377 144.887 284.669 ] +/Subtype /Link +/A << +/S /GoTo +/D (partition) +>> +>> +endobj +3244 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 256.445 118.785 266.736 ] +/Subtype /Link +/A << +/S /GoTo +/D (plus) +>> +>> +endobj +3245 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 238.512 139.666 248.803 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-back) +>> +>> +endobj +3246 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 220.579 144.887 230.871 ] +/Subtype /Link +/A << +/S /GoTo +/D (pop-front) +>> +>> +endobj +3247 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 202.646 124.005 212.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (prior) +>> +>> +endobj +3248 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 184.714 134.446 194.367 ] +/Subtype /Link +/A << +/S /GoTo +/D (protect) +>> +>> +endobj +3249 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 166.781 144.887 177.072 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-back) +>> +>> +endobj +3250 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 148.848 150.107 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (push-front) +>> +>> +endobj +3251 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3252 0 obj +<< +/Filter /FlateDecode +/Length 1680 +>> +stream +xr6ʎn%kFijIr>=pr?[?>bqEdTtz0t p4Ѧ_0Jv]մitm٬~;7/E7%dx}jHk1B+.aos{"|$QQ"̃&ň/K(\Oq:<=L?# OR8O6_v3OCnh8]/;@yk(!%5DmfqN.Z!Vg+?.P-4 -Ptc)mGo$ɹ .Zmlng9@Ͱ.Zs^R$a2lŘ{T ΎKlMфRurlYmҴck%lA2[G@+yGNɱ*I}uH$#P$VH3ځyv/20YE7H.2P٢ 'ICa`+г#ٶ nT +Ys1H.rk _tc9X|O1fS{y8! s͈hc%A2¡aޯSc1%'Us +b<[kL"&C$VH8#Z1VOQnU#=ABv -iS8!Jrh[1Qy=U Y%Thh%9 ]BCdrrFlVέ*곒 n ZVo\3!6u0{VE+؊qlE᏿ެ V șkR4.Z!Vg 0y{gf~f9sN&O"BkE+rl8{oSy9b0Vlis +b<[152-hh%@2z= m۴ 6s&|Vhc%9\Bn7v$7 e2 .Z!VgUر=9%M'E9V!4StCx} /3gfY +$V2cJ~/h9C lD 4.Z!Vg]fڝ^5Cd腶"|[ȃ%G`dgx-MUpt +9b=['O1o^,Ǚ!sfSH#ЊJrhL[1-7'HWOYW*{Z&I9^nI2ፙHxt{|ݗ"*CcG +XeUΛz//Bendstream +endobj +3253 0 obj +<< +/Type /Page +/Annots [ 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R ] +/Resources 3289 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3290 0 R +>> +endobj +3254 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 758.562 124.005 768.215 ] +/Subtype /Link +/A << +/S /GoTo +/D (quote) +>> +>> +endobj +3255 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 740.629 134.446 749.117 ] +/Subtype /Link +/A << +/S /GoTo +/D (range-c) +>> +>> +endobj +3256 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 724.908 129.225 731.184 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove) +>> +>> +endobj +3257 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 706.029 144.887 715.055 ] +/Subtype /Link +/A << +/S /GoTo +/D (remove-if) +>> +>> +endobj +3258 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 686.831 134.446 697.122 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace) +>> +>> +endobj +3259 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 668.898 150.107 679.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (replace-if) +>> +>> +endobj +3260 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 653.177 134.446 659.453 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse) +>> +>> +endobj +3261 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 633.033 160.548 641.521 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy) +>> +>> +endobj +3262 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 615.1 176.209 625.391 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-copy-if) +>> +>> +endobj +3263 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 598.432 160.548 607.458 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-fold) +>> +>> +endobj +3264 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 580.5 186.65 589.526 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-iter-fold) +>> +>> +endobj +3265 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 561.302 186.65 571.593 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-partition) +>> +>> +endobj +3266 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 544.634 170.989 551.857 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove) +>> +>> +endobj +3267 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 526.701 186.65 535.727 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-remove-if) +>> +>> +endobj +3268 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 507.503 176.209 517.795 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace) +>> +>> +endobj +3269 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 489.57 191.87 499.862 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-replace-if) +>> +>> +endobj +3270 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 471.638 223.193 481.929 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-stable-partition) +>> +>> +endobj +3271 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 454.97 186.65 463.996 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-transform) +>> +>> +endobj +3272 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 435.772 170.989 446.064 ] +/Subtype /Link +/A << +/S /GoTo +/D (reverse-unique) +>> +>> +endobj +3273 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 417.839 160.548 427.493 ] +/Subtype /Link +/A << +/S /GoTo +/D (sequence-tag) +>> +>> +endobj +3274 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 402.118 113.564 409.56 ] +/Subtype /Link +/A << +/S /GoTo +/D (set) +>> +>> +endobj +3275 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 383.239 124.005 391.628 ] +/Subtype /Link +/A << +/S /GoTo +/D (set-c) +>> +>> +endobj +3276 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 365.307 150.107 374.333 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-left) +>> +>> +endobj +3277 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 346.108 155.327 356.4 ] +/Subtype /Link +/A << +/S /GoTo +/D (shift-right) +>> +>> +endobj +3278 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 328.176 155.327 338.467 ] +/Subtype /Link +/A << +/S /GoTo +/D (single-view) +>> +>> +endobj +3279 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 312.455 118.785 320.534 ] +/Subtype /Link +/A << +/S /GoTo +/D (size) +>> +>> +endobj +3280 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 293.575 129.225 302.602 ] +/Subtype /Link +/A << +/S /GoTo +/D (size-t) +>> +>> +endobj +3281 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 275.643 134.446 284.669 ] +/Subtype /Link +/A << +/S /GoTo +/D (sizeof) +>> +>> +endobj +3282 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 258.656 118.785 266.098 ] +/Subtype /Link +/A << +/S /GoTo +/D (sort) +>> +>> +endobj +3283 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 238.512 181.43 248.803 ] +/Subtype /Link +/A << +/S /GoTo +/D (stable-partition) +>> +>> +endobj +3284 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 222.791 124.005 230.871 ] +/Subtype /Link +/A << +/S /GoTo +/D (times) +>> +>> +endobj +3285 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 204.858 144.887 212.938 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform) +>> +>> +endobj +3286 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 185.979 170.989 195.005 ] +/Subtype /Link +/A << +/S /GoTo +/D (transform-view) +>> +>> +endobj +3287 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 166.781 129.225 177.072 ] +/Subtype /Link +/A << +/S /GoTo +/D (unique) +>> +>> +endobj +3288 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 148.848 155.327 159.14 ] +/Subtype /Link +/A << +/S /GoTo +/D (unpack-args) +>> +>> +endobj +3289 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3290 0 obj +<< +/Filter /FlateDecode +/Length 1701 +>> +stream +xr6z +.Q\ ^Yt&wi&Ʋil%yB !\n'F:;m,ս}Xn|:ۻ}r7? ĺu+W]쮸d](ovwu}>};X]£za~<쯻WͳՏ7K>裋^og+J ŽY=VOޯ~[=? gߨ5w:Gg)hR`(b5B=)4 +`er|zbq4ej@ē8Fk\تQl= fq,ݙk;7uK@>FkD_تl].A?շ@oV9+É$I6Υ +֥IyI"n3&f1 $u[`5UKCf4|H]۰֛M|4JD +AIC֘V- Kp2pp,[%]߭( 1Aa52/l՘g9b ]QLb4jilᒕT E:r5Xf } }i>G\no5KSԒ 1Z22[&c̸cHRs60!<=Sk $,FkLXa֥ ;$gӍY s4=HaǰQI)VcrO.{:@4>l$9#Tj`xh [5♭j|"HGhvH)1p"H0cF΅VP!8Q )ܘ $bI6b +VAAw۳YY1h%$z1Z#V^fk./ +ieq73@S %X mȶUc°%g7FXI"%Ka|`h [5™}B/}(Ͽ0;<WA!5.lgR_g%Cte,qV4HܒhmJ[n*.{^}^qV + aa05pg$wk`8h [5ZY0`} KF4XXN + SFh %R=Kѻ +Wp$1Z#V f+0<z,T(H0bFzS8m@>rp4$ZVin_0&b7|(.Nl‰_W/>a׻ * `CЎendstream +endobj +3291 0 obj +<< +/Type /Page +/Annots [ 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R ] +/Resources 3298 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3299 0 R +>> +endobj +3292 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 758.562 155.327 768.853 ] +/Subtype /Link +/A << +/S /GoTo +/D (upper-bound) +>> +>> +endobj +3293 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 740.629 150.107 750.92 ] +/Subtype /Link +/A << +/S /GoTo +/D (value-type) +>> +>> +endobj +3294 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 724.908 129.225 732.35 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector) +>> +>> +endobj +3295 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 706.029 139.666 714.417 ] +/Subtype /Link +/A << +/S /GoTo +/D (vector-c) +>> +>> +endobj +3296 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 688.096 124.005 697.122 ] +/Subtype /Link +/A << +/S /GoTo +/D (void) +>> +>> +endobj +3297 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 1 0 0 ] +/Rect [ 95.91 668.898 139.666 679.189 ] +/Subtype /Link +/A << +/S /GoTo +/D (zip-view) +>> +>> +endobj +3298 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F75 267 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3299 0 obj +<< +/Filter /FlateDecode +/Length 603 +>> +stream +xn0| +X{P oiP%q6OQi9y@ 1LðĖhf(s ywk q ӭ \qN^ń_QJ}?Ya[mc{8{MrPKI\B{FC\<z(P)a=F^=o覭dS˭7$ cZ3wU+*$97%YPrZGIbcZʁ㶾XM,5#OFujIӟ+:x1uX3bDXMs!Vl í%svؚ۳U8T.>zS?aVZ -%2I. + Z2mWm!ہ)=[Gr̛1-q)$RdXK0-d85Űg"öK7> +endobj +3301 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 471.019 637.591 548.197 648.495 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.sgi.com/tech/stl/) +>> +>> +endobj +3302 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 71.004 625.635 188.651 636.539 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.sgi.com/tech/stl/) +>> +>> +endobj +3303 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3304 0 obj +<< +/Filter /FlateDecode +/Length 445 +>> +stream +xTn0+V $m zhjh02}WК>:':@ar͌ k{kg=2jѣqՏO1xxdRP4S bgv~뒳2.Z85]K2 8[s6gO/7tuOT\$WH,r³/sg3i ы#z:endstream +endobj +3305 0 obj +<< +/Type /Page +/Parent 2 0 R +/Resources 3306 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Contents 3307 0 R +>> +endobj +3306 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3307 0 obj +<< +/Filter /FlateDecode +/Length 257 +>> +stream +xuMO0 >jv@v5X> m;y}BO lAV,W'm1k9}Ђ,alW-QI,ԬR~_b32FюYyvf 58B-owxΨrA #EP3O=1fNqx,SdYێQ2[ys+?G)'!p H3MƳ?o9(`endstream +endobj +3308 0 obj +<< +/Type /Page +/Annots [ 3309 0 R 3310 0 R ] +/Resources 3311 0 R +/MediaBox [ 0 0 595.276 841.89 ] +/Parent 2 0 R +/Contents 3312 0 R +>> +endobj +3309 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 107.527 615.155 388.47 626.059 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1550.htm) +>> +>> +endobj +3310 0 obj +<< +/Type /Annot +/Border [ 0 0 0 ] +/H /I +/C [ 0 1 1 ] +/Rect [ 246.076 597.222 449.501 608.126 ] +/Subtype /Link +/A << +/Type /Action +/S /URI +/URI (http://www.boost.org/libs/preprocessor/doc/index.html) +>> +>> +endobj +3311 0 obj +<< +/Font << +/F63 10 0 R +/F43 5 0 R +/F74 263 0 R +>> +/ProcSet [ /PDF /Text ] +>> +endobj +3312 0 obj +<< +/Filter /FlateDecode +/Length 513 +>> +stream +xTn0}+RqR/jDy @Y]6_/ .VHgvΙ3g#bEdG~(R{ZK '%J%Aó#AwˡjJ?x'6R E\'3BCT!`D0V ppxP"XAA6/tMnuNS>lڢMF[Kˈ=Rt*)AyԦm 37 q'Sr7UeD9!0fl]y!bU!<(p[%B}ZVaT`NP{jꢾqwMSWy/wan䩵=ȯ:eo䥍d_8V1HZn˜C.m{\cU.v^tsc`v{9Pr;[`qBmcRs[c0d|yߦ3._bQ!l,>pbɚ߽Eendstream +endobj +3313 0 obj +<< +/Type /Outlines +/First 3314 0 R +/Last 3344 0 R +/Count 11 +>> +endobj +3314 0 obj +<< +/Title 3315 0 R +/A 3316 0 R +/Parent 3313 0 R +/Next 3317 0 R +>> +endobj +3315 0 obj +(Contents) +endobj +3316 0 obj +<< +/S /GoTo +/D (section*.2) +>> +endobj +3317 0 obj +<< +/Title 3318 0 R +/A 3319 0 R +/Parent 3313 0 R +/Prev 3314 0 R +/Next 3320 0 R +/First 3792 0 R +/Last 3800 0 R +/Count -4 +>> +endobj +3318 0 obj +(Sequences) +endobj +3319 0 obj +<< +/S /GoTo +/D (chapter.1) +>> +endobj +3320 0 obj +<< +/Title 3321 0 R +/A 3322 0 R +/Parent 3313 0 R +/Prev 3317 0 R +/Next 3323 0 R +/First 3760 0 R +/Last 3762 0 R +/Count -2 +>> +endobj +3321 0 obj +(Iterators) +endobj +3322 0 obj +<< +/S /GoTo +/D (chapter.2) +>> +endobj +3323 0 obj +<< +/Title 3324 0 R +/A 3325 0 R +/Parent 3313 0 R +/Prev 3320 0 R +/Next 3326 0 R +/First 3620 0 R +/Last 3631 0 R +/Count -5 +>> +endobj +3324 0 obj +(Algorithms) +endobj +3325 0 obj +<< +/S /GoTo +/D (chapter.3) +>> +endobj +3326 0 obj +<< +/Title 3327 0 R +/A 3328 0 R +/Parent 3313 0 R +/Prev 3323 0 R +/Next 3329 0 R +/First 3445 0 R +/Last 3471 0 R +/Count -10 +>> +endobj +3327 0 obj +(Metafunctions) +endobj +3328 0 obj +<< +/S /GoTo +/D (chapter.4) +>> +endobj +3329 0 obj +<< +/Title 3330 0 R +/A 3331 0 R +/Parent 3313 0 R +/Prev 3326 0 R +/Next 3332 0 R +/First 3410 0 R +/Last 3415 0 R +/Count -3 +>> +endobj +3330 0 obj +(Data Types) +endobj +3331 0 obj +<< +/S /GoTo +/D (chapter.5) +>> +endobj +3332 0 obj +<< +/Title 3333 0 R +/A 3334 0 R +/Parent 3313 0 R +/Prev 3329 0 R +/Next 3335 0 R +/First 3353 0 R +/Last 3362 0 R +/Count -4 +>> +endobj +3333 0 obj +(Macros) +endobj +3334 0 obj +<< +/S /GoTo +/D (chapter.6) +>> +endobj +3335 0 obj +<< +/Title 3336 0 R +/A 3337 0 R +/Parent 3313 0 R +/Prev 3332 0 R +/Next 3338 0 R +>> +endobj +3336 0 obj +(Terminology) +endobj +3337 0 obj +<< +/S /GoTo +/D (chapter.7) +>> +endobj +3338 0 obj +<< +/Title 3339 0 R +/A 3340 0 R +/Parent 3313 0 R +/Prev 3335 0 R +/Next 3341 0 R +/First 3347 0 R +/Last 3350 0 R +/Count -2 +>> +endobj +3339 0 obj +(Categorized Index) +endobj +3340 0 obj +<< +/S /GoTo +/D (chapter.8) +>> +endobj +3341 0 obj +<< +/Title 3342 0 R +/A 3343 0 R +/Parent 3313 0 R +/Prev 3338 0 R +/Next 3344 0 R +>> +endobj +3342 0 obj +(Acknowledgements) +endobj +3343 0 obj +<< +/S /GoTo +/D (chapter.9) +>> +endobj +3344 0 obj +<< +/Title 3345 0 R +/A 3346 0 R +/Parent 3313 0 R +/Prev 3341 0 R +>> +endobj +3345 0 obj +(Bibliography) +endobj +3346 0 obj +<< +/S /GoTo +/D (section*.1310) +>> +endobj +3347 0 obj +<< +/Title 3348 0 R +/A 3349 0 R +/Parent 3338 0 R +/Next 3350 0 R +>> +endobj +3348 0 obj +(Concepts) +endobj +3349 0 obj +<< +/S /GoTo +/D (section.8.1) +>> +endobj +3350 0 obj +<< +/Title 3351 0 R +/A 3352 0 R +/Parent 3338 0 R +/Prev 3347 0 R +>> +endobj +3351 0 obj +(Components) +endobj +3352 0 obj +<< +/S /GoTo +/D (section.8.2) +>> +endobj +3353 0 obj +<< +/Title 3354 0 R +/A 3355 0 R +/Parent 3332 0 R +/Next 3356 0 R +/First 3398 0 R +/Last 3407 0 R +/Count -4 +>> +endobj +3354 0 obj +(Asserts) +endobj +3355 0 obj +<< +/S /GoTo +/D (section.6.1) +>> +endobj +3356 0 obj +<< +/Title 3357 0 R +/A 3358 0 R +/Parent 3332 0 R +/Prev 3353 0 R +/Next 3359 0 R +/First 3392 0 R +/Last 3395 0 R +/Count -2 +>> +endobj +3357 0 obj +(Introspection) +endobj +3358 0 obj +<< +/S /GoTo +/D (section.6.2) +>> +endobj +3359 0 obj +<< +/Title 3360 0 R +/A 3361 0 R +/Parent 3332 0 R +/Prev 3356 0 R +/Next 3362 0 R +/First 3368 0 R +/Last 3389 0 R +/Count -8 +>> +endobj +3360 0 obj +(Configuration) +endobj +3361 0 obj +<< +/S /GoTo +/D (section.6.3) +>> +endobj +3362 0 obj +<< +/Title 3363 0 R +/A 3364 0 R +/Parent 3332 0 R +/Prev 3359 0 R +/First 3365 0 R +/Last 3365 0 R +/Count -1 +>> +endobj +3363 0 obj +(Broken Compiler Workarounds) +endobj +3364 0 obj +<< +/S /GoTo +/D (section.6.4) +>> +endobj +3365 0 obj +<< +/Title 3366 0 R +/A 3367 0 R +/Parent 3362 0 R +>> +endobj +3366 0 obj +(BOOST_MPL_AUX_LAMBDA_SUPPORT) +endobj +3367 0 obj +<< +/S /GoTo +/D (subsection.6.4.1) +>> +endobj +3368 0 obj +<< +/Title 3369 0 R +/A 3370 0 R +/Parent 3359 0 R +/Next 3371 0 R +>> +endobj +3369 0 obj +(BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS) +endobj +3370 0 obj +<< +/S /GoTo +/D (subsection.6.3.1) +>> +endobj +3371 0 obj +<< +/Title 3372 0 R +/A 3373 0 R +/Parent 3359 0 R +/Prev 3368 0 R +/Next 3374 0 R +>> +endobj +3372 0 obj +(BOOST_MPL_CFG_NO_HAS_XXX) +endobj +3373 0 obj +<< +/S /GoTo +/D (subsection.6.3.2) +>> +endobj +3374 0 obj +<< +/Title 3375 0 R +/A 3376 0 R +/Parent 3359 0 R +/Prev 3371 0 R +/Next 3377 0 R +>> +endobj +3375 0 obj +(BOOST_MPL_LIMIT_METAFUNCTION_ARITY) +endobj +3376 0 obj +<< +/S /GoTo +/D (subsection.6.3.3) +>> +endobj +3377 0 obj +<< +/Title 3378 0 R +/A 3379 0 R +/Parent 3359 0 R +/Prev 3374 0 R +/Next 3380 0 R +>> +endobj +3378 0 obj +(BOOST_MPL_LIMIT_VECTOR_SIZE) +endobj +3379 0 obj +<< +/S /GoTo +/D (subsection.6.3.4) +>> +endobj +3380 0 obj +<< +/Title 3381 0 R +/A 3382 0 R +/Parent 3359 0 R +/Prev 3377 0 R +/Next 3383 0 R +>> +endobj +3381 0 obj +(BOOST_MPL_LIMIT_LIST_SIZE) +endobj +3382 0 obj +<< +/S /GoTo +/D (subsection.6.3.5) +>> +endobj +3383 0 obj +<< +/Title 3384 0 R +/A 3385 0 R +/Parent 3359 0 R +/Prev 3380 0 R +/Next 3386 0 R +>> +endobj +3384 0 obj +(BOOST_MPL_LIMIT_SET_SIZE) +endobj +3385 0 obj +<< +/S /GoTo +/D (subsection.6.3.6) +>> +endobj +3386 0 obj +<< +/Title 3387 0 R +/A 3388 0 R +/Parent 3359 0 R +/Prev 3383 0 R +/Next 3389 0 R +>> +endobj +3387 0 obj +(BOOST_MPL_LIMIT_MAP_SIZE) +endobj +3388 0 obj +<< +/S /GoTo +/D (subsection.6.3.7) +>> +endobj +3389 0 obj +<< +/Title 3390 0 R +/A 3391 0 R +/Parent 3359 0 R +/Prev 3386 0 R +>> +endobj +3390 0 obj +(BOOST_MPL_LIMIT_UNROLLING) +endobj +3391 0 obj +<< +/S /GoTo +/D (subsection.6.3.8) +>> +endobj +3392 0 obj +<< +/Title 3393 0 R +/A 3394 0 R +/Parent 3356 0 R +/Next 3395 0 R +>> +endobj +3393 0 obj +(BOOST_MPL_HAS_XXX_TRAIT_DEF) +endobj +3394 0 obj +<< +/S /GoTo +/D (subsection.6.2.1) +>> +endobj +3395 0 obj +<< +/Title 3396 0 R +/A 3397 0 R +/Parent 3356 0 R +/Prev 3392 0 R +>> +endobj +3396 0 obj +(BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF) +endobj +3397 0 obj +<< +/S /GoTo +/D (subsection.6.2.2) +>> +endobj +3398 0 obj +<< +/Title 3399 0 R +/A 3400 0 R +/Parent 3353 0 R +/Next 3401 0 R +>> +endobj +3399 0 obj +(BOOST_MPL_ASSERT) +endobj +3400 0 obj +<< +/S /GoTo +/D (subsection.6.1.1) +>> +endobj +3401 0 obj +<< +/Title 3402 0 R +/A 3403 0 R +/Parent 3353 0 R +/Prev 3398 0 R +/Next 3404 0 R +>> +endobj +3402 0 obj +(BOOST_MPL_ASSERT_MSG) +endobj +3403 0 obj +<< +/S /GoTo +/D (subsection.6.1.2) +>> +endobj +3404 0 obj +<< +/Title 3405 0 R +/A 3406 0 R +/Parent 3353 0 R +/Prev 3401 0 R +/Next 3407 0 R +>> +endobj +3405 0 obj +(BOOST_MPL_ASSERT_NOT) +endobj +3406 0 obj +<< +/S /GoTo +/D (subsection.6.1.3) +>> +endobj +3407 0 obj +<< +/Title 3408 0 R +/A 3409 0 R +/Parent 3353 0 R +/Prev 3404 0 R +>> +endobj +3408 0 obj +(BOOST_MPL_ASSERT_RELATION) +endobj +3409 0 obj +<< +/S /GoTo +/D (subsection.6.1.4) +>> +endobj +3410 0 obj +<< +/Title 3348 0 R +/A 3411 0 R +/Parent 3329 0 R +/Next 3412 0 R +/First 3442 0 R +/Last 3442 0 R +/Count -1 +>> +endobj +3411 0 obj +<< +/S /GoTo +/D (section.5.1) +>> +endobj +3412 0 obj +<< +/Title 3413 0 R +/A 3414 0 R +/Parent 3329 0 R +/Prev 3410 0 R +/Next 3415 0 R +/First 3427 0 R +/Last 3439 0 R +/Count -5 +>> +endobj +3413 0 obj +(Numeric) +endobj +3414 0 obj +<< +/S /GoTo +/D (section.5.2) +>> +endobj +3415 0 obj +<< +/Title 3416 0 R +/A 3417 0 R +/Parent 3329 0 R +/Prev 3412 0 R +/First 3418 0 R +/Last 3424 0 R +/Count -3 +>> +endobj +3416 0 obj +(Miscellaneous) +endobj +3417 0 obj +<< +/S /GoTo +/D (section.5.3) +>> +endobj +3418 0 obj +<< +/Title 3419 0 R +/A 3420 0 R +/Parent 3415 0 R +/Next 3421 0 R +>> +endobj +3419 0 obj +(pair) +endobj +3420 0 obj +<< +/S /GoTo +/D (subsection.5.3.1) +>> +endobj +3421 0 obj +<< +/Title 3422 0 R +/A 3423 0 R +/Parent 3415 0 R +/Prev 3418 0 R +/Next 3424 0 R +>> +endobj +3422 0 obj +(empty_base) +endobj +3423 0 obj +<< +/S /GoTo +/D (subsection.5.3.2) +>> +endobj +3424 0 obj +<< +/Title 3425 0 R +/A 3426 0 R +/Parent 3415 0 R +/Prev 3421 0 R +>> +endobj +3425 0 obj +(void_) +endobj +3426 0 obj +<< +/S /GoTo +/D (subsection.5.3.3) +>> +endobj +3427 0 obj +<< +/Title 3428 0 R +/A 3429 0 R +/Parent 3412 0 R +/Next 3430 0 R +>> +endobj +3428 0 obj +(bool_) +endobj +3429 0 obj +<< +/S /GoTo +/D (subsection.5.2.1) +>> +endobj +3430 0 obj +<< +/Title 3431 0 R +/A 3432 0 R +/Parent 3412 0 R +/Prev 3427 0 R +/Next 3433 0 R +>> +endobj +3431 0 obj +(int_) +endobj +3432 0 obj +<< +/S /GoTo +/D (subsection.5.2.2) +>> +endobj +3433 0 obj +<< +/Title 3434 0 R +/A 3435 0 R +/Parent 3412 0 R +/Prev 3430 0 R +/Next 3436 0 R +>> +endobj +3434 0 obj +(long_) +endobj +3435 0 obj +<< +/S /GoTo +/D (subsection.5.2.3) +>> +endobj +3436 0 obj +<< +/Title 3437 0 R +/A 3438 0 R +/Parent 3412 0 R +/Prev 3433 0 R +/Next 3439 0 R +>> +endobj +3437 0 obj +(size_t) +endobj +3438 0 obj +<< +/S /GoTo +/D (subsection.5.2.4) +>> +endobj +3439 0 obj +<< +/Title 3440 0 R +/A 3441 0 R +/Parent 3412 0 R +/Prev 3436 0 R +>> +endobj +3440 0 obj +(integral_c) +endobj +3441 0 obj +<< +/S /GoTo +/D (subsection.5.2.5) +>> +endobj +3442 0 obj +<< +/Title 3443 0 R +/A 3444 0 R +/Parent 3410 0 R +>> +endobj +3443 0 obj +(Integral Constant) +endobj +3444 0 obj +<< +/S /GoTo +/D (subsection.5.1.1) +>> +endobj +3445 0 obj +<< +/Title 3348 0 R +/A 3446 0 R +/Parent 3326 0 R +/Next 3447 0 R +/First 3599 0 R +/Last 3617 0 R +/Count -7 +>> +endobj +3446 0 obj +<< +/S /GoTo +/D (section.4.1) +>> +endobj +3447 0 obj +<< +/Title 3448 0 R +/A 3449 0 R +/Parent 3326 0 R +/Prev 3445 0 R +/Next 3450 0 R +/First 3587 0 R +/Last 3596 0 R +/Count -4 +>> +endobj +3448 0 obj +(Type Selection) +endobj +3449 0 obj +<< +/S /GoTo +/D (section.4.2) +>> +endobj +3450 0 obj +<< +/Title 3451 0 R +/A 3452 0 R +/Parent 3326 0 R +/Prev 3447 0 R +/Next 3453 0 R +/First 3578 0 R +/Last 3584 0 R +/Count -3 +>> +endobj +3451 0 obj +(Invocation) +endobj +3452 0 obj +<< +/S /GoTo +/D (section.4.3) +>> +endobj +3453 0 obj +<< +/Title 3454 0 R +/A 3455 0 R +/Parent 3326 0 R +/Prev 3450 0 R +/Next 3456 0 R +/First 3560 0 R +/Last 3575 0 R +/Count -6 +>> +endobj +3454 0 obj +(Composition and Argument Binding) +endobj +3455 0 obj +<< +/S /GoTo +/D (section.4.4) +>> +endobj +3456 0 obj +<< +/Title 3457 0 R +/A 3458 0 R +/Parent 3326 0 R +/Prev 3453 0 R +/Next 3459 0 R +/First 3542 0 R +/Last 3557 0 R +/Count -6 +>> +endobj +3457 0 obj +(Arithmetic Operations) +endobj +3458 0 obj +<< +/S /GoTo +/D (section.4.5) +>> +endobj +3459 0 obj +<< +/Title 3460 0 R +/A 3461 0 R +/Parent 3326 0 R +/Prev 3456 0 R +/Next 3462 0 R +/First 3524 0 R +/Last 3539 0 R +/Count -6 +>> +endobj +3460 0 obj +(Comparisons) +endobj +3461 0 obj +<< +/S /GoTo +/D (section.4.6) +>> +endobj +3462 0 obj +<< +/Title 3463 0 R +/A 3464 0 R +/Parent 3326 0 R +/Prev 3459 0 R +/Next 3465 0 R +/First 3515 0 R +/Last 3521 0 R +/Count -3 +>> +endobj +3463 0 obj +(Logical Operations) +endobj +3464 0 obj +<< +/S /GoTo +/D (section.4.7) +>> +endobj +3465 0 obj +<< +/Title 3466 0 R +/A 3467 0 R +/Parent 3326 0 R +/Prev 3462 0 R +/Next 3468 0 R +/First 3500 0 R +/Last 3512 0 R +/Count -5 +>> +endobj +3466 0 obj +(Bitwise Operations) +endobj +3467 0 obj +<< +/S /GoTo +/D (section.4.8) +>> +endobj +3468 0 obj +<< +/Title 3469 0 R +/A 3470 0 R +/Parent 3326 0 R +/Prev 3465 0 R +/Next 3471 0 R +/First 3497 0 R +/Last 3497 0 R +/Count -1 +>> +endobj +3469 0 obj +(Trivial) +endobj +3470 0 obj +<< +/S /GoTo +/D (section.4.9) +>> +endobj +3471 0 obj +<< +/Title 3416 0 R +/A 3472 0 R +/Parent 3326 0 R +/Prev 3468 0 R +/First 3473 0 R +/Last 3494 0 R +/Count -8 +>> +endobj +3472 0 obj +<< +/S /GoTo +/D (section.4.10) +>> +endobj +3473 0 obj +<< +/Title 3474 0 R +/A 3475 0 R +/Parent 3471 0 R +/Next 3476 0 R +>> +endobj +3474 0 obj +(identity) +endobj +3475 0 obj +<< +/S /GoTo +/D (subsection.4.10.1) +>> +endobj +3476 0 obj +<< +/Title 3477 0 R +/A 3478 0 R +/Parent 3471 0 R +/Prev 3473 0 R +/Next 3479 0 R +>> +endobj +3477 0 obj +(always) +endobj +3478 0 obj +<< +/S /GoTo +/D (subsection.4.10.2) +>> +endobj +3479 0 obj +<< +/Title 3480 0 R +/A 3481 0 R +/Parent 3471 0 R +/Prev 3476 0 R +/Next 3482 0 R +>> +endobj +3480 0 obj +(inherit) +endobj +3481 0 obj +<< +/S /GoTo +/D (subsection.4.10.3) +>> +endobj +3482 0 obj +<< +/Title 3483 0 R +/A 3484 0 R +/Parent 3471 0 R +/Prev 3479 0 R +/Next 3485 0 R +>> +endobj +3483 0 obj +(inherit_linearly) +endobj +3484 0 obj +<< +/S /GoTo +/D (subsection.4.10.4) +>> +endobj +3485 0 obj +<< +/Title 3486 0 R +/A 3487 0 R +/Parent 3471 0 R +/Prev 3482 0 R +/Next 3488 0 R +>> +endobj +3486 0 obj +(numeric_cast) +endobj +3487 0 obj +<< +/S /GoTo +/D (subsection.4.10.5) +>> +endobj +3488 0 obj +<< +/Title 3489 0 R +/A 3490 0 R +/Parent 3471 0 R +/Prev 3485 0 R +/Next 3491 0 R +>> +endobj +3489 0 obj +(min) +endobj +3490 0 obj +<< +/S /GoTo +/D (subsection.4.10.6) +>> +endobj +3491 0 obj +<< +/Title 3492 0 R +/A 3493 0 R +/Parent 3471 0 R +/Prev 3488 0 R +/Next 3494 0 R +>> +endobj +3492 0 obj +(max) +endobj +3493 0 obj +<< +/S /GoTo +/D (subsection.4.10.7) +>> +endobj +3494 0 obj +<< +/Title 3495 0 R +/A 3496 0 R +/Parent 3471 0 R +/Prev 3491 0 R +>> +endobj +3495 0 obj +(sizeof_) +endobj +3496 0 obj +<< +/S /GoTo +/D (subsection.4.10.8) +>> +endobj +3497 0 obj +<< +/Title 3498 0 R +/A 3499 0 R +/Parent 3468 0 R +>> +endobj +3498 0 obj +(Trivial Metafunctions Summary) +endobj +3499 0 obj +<< +/S /GoTo +/D (subsection.4.9.1) +>> +endobj +3500 0 obj +<< +/Title 3501 0 R +/A 3502 0 R +/Parent 3465 0 R +/Next 3503 0 R +>> +endobj +3501 0 obj +(bitand_) +endobj +3502 0 obj +<< +/S /GoTo +/D (subsection.4.8.1) +>> +endobj +3503 0 obj +<< +/Title 3504 0 R +/A 3505 0 R +/Parent 3465 0 R +/Prev 3500 0 R +/Next 3506 0 R +>> +endobj +3504 0 obj +(bitor_) +endobj +3505 0 obj +<< +/S /GoTo +/D (subsection.4.8.2) +>> +endobj +3506 0 obj +<< +/Title 3507 0 R +/A 3508 0 R +/Parent 3465 0 R +/Prev 3503 0 R +/Next 3509 0 R +>> +endobj +3507 0 obj +(bitxor_) +endobj +3508 0 obj +<< +/S /GoTo +/D (subsection.4.8.3) +>> +endobj +3509 0 obj +<< +/Title 3510 0 R +/A 3511 0 R +/Parent 3465 0 R +/Prev 3506 0 R +/Next 3512 0 R +>> +endobj +3510 0 obj +(shift_left) +endobj +3511 0 obj +<< +/S /GoTo +/D (subsection.4.8.4) +>> +endobj +3512 0 obj +<< +/Title 3513 0 R +/A 3514 0 R +/Parent 3465 0 R +/Prev 3509 0 R +>> +endobj +3513 0 obj +(shift_right) +endobj +3514 0 obj +<< +/S /GoTo +/D (subsection.4.8.5) +>> +endobj +3515 0 obj +<< +/Title 3516 0 R +/A 3517 0 R +/Parent 3462 0 R +/Next 3518 0 R +>> +endobj +3516 0 obj +(and_) +endobj +3517 0 obj +<< +/S /GoTo +/D (subsection.4.7.1) +>> +endobj +3518 0 obj +<< +/Title 3519 0 R +/A 3520 0 R +/Parent 3462 0 R +/Prev 3515 0 R +/Next 3521 0 R +>> +endobj +3519 0 obj +(or_) +endobj +3520 0 obj +<< +/S /GoTo +/D (subsection.4.7.2) +>> +endobj +3521 0 obj +<< +/Title 3522 0 R +/A 3523 0 R +/Parent 3462 0 R +/Prev 3518 0 R +>> +endobj +3522 0 obj +(not_) +endobj +3523 0 obj +<< +/S /GoTo +/D (subsection.4.7.3) +>> +endobj +3524 0 obj +<< +/Title 3525 0 R +/A 3526 0 R +/Parent 3459 0 R +/Next 3527 0 R +>> +endobj +3525 0 obj +(less) +endobj +3526 0 obj +<< +/S /GoTo +/D (subsection.4.6.1) +>> +endobj +3527 0 obj +<< +/Title 3528 0 R +/A 3529 0 R +/Parent 3459 0 R +/Prev 3524 0 R +/Next 3530 0 R +>> +endobj +3528 0 obj +(less_equal) +endobj +3529 0 obj +<< +/S /GoTo +/D (subsection.4.6.2) +>> +endobj +3530 0 obj +<< +/Title 3531 0 R +/A 3532 0 R +/Parent 3459 0 R +/Prev 3527 0 R +/Next 3533 0 R +>> +endobj +3531 0 obj +(greater) +endobj +3532 0 obj +<< +/S /GoTo +/D (subsection.4.6.3) +>> +endobj +3533 0 obj +<< +/Title 3534 0 R +/A 3535 0 R +/Parent 3459 0 R +/Prev 3530 0 R +/Next 3536 0 R +>> +endobj +3534 0 obj +(greater_equal) +endobj +3535 0 obj +<< +/S /GoTo +/D (subsection.4.6.4) +>> +endobj +3536 0 obj +<< +/Title 3537 0 R +/A 3538 0 R +/Parent 3459 0 R +/Prev 3533 0 R +/Next 3539 0 R +>> +endobj +3537 0 obj +(equal_to) +endobj +3538 0 obj +<< +/S /GoTo +/D (subsection.4.6.5) +>> +endobj +3539 0 obj +<< +/Title 3540 0 R +/A 3541 0 R +/Parent 3459 0 R +/Prev 3536 0 R +>> +endobj +3540 0 obj +(not_equal_to) +endobj +3541 0 obj +<< +/S /GoTo +/D (subsection.4.6.6) +>> +endobj +3542 0 obj +<< +/Title 3543 0 R +/A 3544 0 R +/Parent 3456 0 R +/Next 3545 0 R +>> +endobj +3543 0 obj +(plus) +endobj +3544 0 obj +<< +/S /GoTo +/D (subsection.4.5.1) +>> +endobj +3545 0 obj +<< +/Title 3546 0 R +/A 3547 0 R +/Parent 3456 0 R +/Prev 3542 0 R +/Next 3548 0 R +>> +endobj +3546 0 obj +(minus) +endobj +3547 0 obj +<< +/S /GoTo +/D (subsection.4.5.2) +>> +endobj +3548 0 obj +<< +/Title 3549 0 R +/A 3550 0 R +/Parent 3456 0 R +/Prev 3545 0 R +/Next 3551 0 R +>> +endobj +3549 0 obj +(times) +endobj +3550 0 obj +<< +/S /GoTo +/D (subsection.4.5.3) +>> +endobj +3551 0 obj +<< +/Title 3552 0 R +/A 3553 0 R +/Parent 3456 0 R +/Prev 3548 0 R +/Next 3554 0 R +>> +endobj +3552 0 obj +(divides) +endobj +3553 0 obj +<< +/S /GoTo +/D (subsection.4.5.4) +>> +endobj +3554 0 obj +<< +/Title 3555 0 R +/A 3556 0 R +/Parent 3456 0 R +/Prev 3551 0 R +/Next 3557 0 R +>> +endobj +3555 0 obj +(modulus) +endobj +3556 0 obj +<< +/S /GoTo +/D (subsection.4.5.5) +>> +endobj +3557 0 obj +<< +/Title 3558 0 R +/A 3559 0 R +/Parent 3456 0 R +/Prev 3554 0 R +>> +endobj +3558 0 obj +(negate) +endobj +3559 0 obj +<< +/S /GoTo +/D (subsection.4.5.6) +>> +endobj +3560 0 obj +<< +/Title 3561 0 R +/A 3562 0 R +/Parent 3453 0 R +/Next 3563 0 R +>> +endobj +3561 0 obj +(Placeholders) +endobj +3562 0 obj +<< +/S /GoTo +/D (subsection.4.4.1) +>> +endobj +3563 0 obj +<< +/Title 3564 0 R +/A 3565 0 R +/Parent 3453 0 R +/Prev 3560 0 R +/Next 3566 0 R +>> +endobj +3564 0 obj +(lambda) +endobj +3565 0 obj +<< +/S /GoTo +/D (subsection.4.4.2) +>> +endobj +3566 0 obj +<< +/Title 3567 0 R +/A 3568 0 R +/Parent 3453 0 R +/Prev 3563 0 R +/Next 3569 0 R +>> +endobj +3567 0 obj +(bind) +endobj +3568 0 obj +<< +/S /GoTo +/D (subsection.4.4.3) +>> +endobj +3569 0 obj +<< +/Title 3570 0 R +/A 3571 0 R +/Parent 3453 0 R +/Prev 3566 0 R +/Next 3572 0 R +>> +endobj +3570 0 obj +(quote) +endobj +3571 0 obj +<< +/S /GoTo +/D (subsection.4.4.4) +>> +endobj +3572 0 obj +<< +/Title 3573 0 R +/A 3574 0 R +/Parent 3453 0 R +/Prev 3569 0 R +/Next 3575 0 R +>> +endobj +3573 0 obj +(arg) +endobj +3574 0 obj +<< +/S /GoTo +/D (subsection.4.4.5) +>> +endobj +3575 0 obj +<< +/Title 3576 0 R +/A 3577 0 R +/Parent 3453 0 R +/Prev 3572 0 R +>> +endobj +3576 0 obj +(protect) +endobj +3577 0 obj +<< +/S /GoTo +/D (subsection.4.4.6) +>> +endobj +3578 0 obj +<< +/Title 3579 0 R +/A 3580 0 R +/Parent 3450 0 R +/Next 3581 0 R +>> +endobj +3579 0 obj +(apply) +endobj +3580 0 obj +<< +/S /GoTo +/D (subsection.4.3.1) +>> +endobj +3581 0 obj +<< +/Title 3582 0 R +/A 3583 0 R +/Parent 3450 0 R +/Prev 3578 0 R +/Next 3584 0 R +>> +endobj +3582 0 obj +(apply_wrap) +endobj +3583 0 obj +<< +/S /GoTo +/D (subsection.4.3.2) +>> +endobj +3584 0 obj +<< +/Title 3585 0 R +/A 3586 0 R +/Parent 3450 0 R +/Prev 3581 0 R +>> +endobj +3585 0 obj +(unpack_args) +endobj +3586 0 obj +<< +/S /GoTo +/D (subsection.4.3.3) +>> +endobj +3587 0 obj +<< +/Title 3588 0 R +/A 3589 0 R +/Parent 3447 0 R +/Next 3590 0 R +>> +endobj +3588 0 obj +(if_) +endobj +3589 0 obj +<< +/S /GoTo +/D (subsection.4.2.1) +>> +endobj +3590 0 obj +<< +/Title 3591 0 R +/A 3592 0 R +/Parent 3447 0 R +/Prev 3587 0 R +/Next 3593 0 R +>> +endobj +3591 0 obj +(if_c) +endobj +3592 0 obj +<< +/S /GoTo +/D (subsection.4.2.2) +>> +endobj +3593 0 obj +<< +/Title 3594 0 R +/A 3595 0 R +/Parent 3447 0 R +/Prev 3590 0 R +/Next 3596 0 R +>> +endobj +3594 0 obj +(eval_if) +endobj +3595 0 obj +<< +/S /GoTo +/D (subsection.4.2.3) +>> +endobj +3596 0 obj +<< +/Title 3597 0 R +/A 3598 0 R +/Parent 3447 0 R +/Prev 3593 0 R +>> +endobj +3597 0 obj +(eval_if_c) +endobj +3598 0 obj +<< +/S /GoTo +/D (subsection.4.2.4) +>> +endobj +3599 0 obj +<< +/Title 3600 0 R +/A 3601 0 R +/Parent 3445 0 R +/Next 3602 0 R +>> +endobj +3600 0 obj +(Metafunction) +endobj +3601 0 obj +<< +/S /GoTo +/D (subsection.4.1.1) +>> +endobj +3602 0 obj +<< +/Title 3603 0 R +/A 3604 0 R +/Parent 3445 0 R +/Prev 3599 0 R +/Next 3605 0 R +>> +endobj +3603 0 obj +(Metafunction Class) +endobj +3604 0 obj +<< +/S /GoTo +/D (subsection.4.1.2) +>> +endobj +3605 0 obj +<< +/Title 3606 0 R +/A 3607 0 R +/Parent 3445 0 R +/Prev 3602 0 R +/Next 3608 0 R +>> +endobj +3606 0 obj +(Lambda Expression) +endobj +3607 0 obj +<< +/S /GoTo +/D (subsection.4.1.3) +>> +endobj +3608 0 obj +<< +/Title 3609 0 R +/A 3610 0 R +/Parent 3445 0 R +/Prev 3605 0 R +/Next 3611 0 R +>> +endobj +3609 0 obj +(Placeholder Expression) +endobj +3610 0 obj +<< +/S /GoTo +/D (subsection.4.1.4) +>> +endobj +3611 0 obj +<< +/Title 3612 0 R +/A 3613 0 R +/Parent 3445 0 R +/Prev 3608 0 R +/Next 3614 0 R +>> +endobj +3612 0 obj +(Tag Dispatched Metafunction) +endobj +3613 0 obj +<< +/S /GoTo +/D (subsection.4.1.5) +>> +endobj +3614 0 obj +<< +/Title 3615 0 R +/A 3616 0 R +/Parent 3445 0 R +/Prev 3611 0 R +/Next 3617 0 R +>> +endobj +3615 0 obj +(Numeric Metafunction) +endobj +3616 0 obj +<< +/S /GoTo +/D (subsection.4.1.6) +>> +endobj +3617 0 obj +<< +/Title 3618 0 R +/A 3619 0 R +/Parent 3445 0 R +/Prev 3614 0 R +>> +endobj +3618 0 obj +(Trivial Metafunction) +endobj +3619 0 obj +<< +/S /GoTo +/D (subsection.4.1.7) +>> +endobj +3620 0 obj +<< +/Title 3348 0 R +/A 3621 0 R +/Parent 3323 0 R +/Next 3622 0 R +/First 3754 0 R +/Last 3757 0 R +/Count -2 +>> +endobj +3621 0 obj +<< +/S /GoTo +/D (section.3.1) +>> +endobj +3622 0 obj +<< +/Title 3623 0 R +/A 3624 0 R +/Parent 3323 0 R +/Prev 3620 0 R +/Next 3625 0 R +/First 3745 0 R +/Last 3751 0 R +/Count -3 +>> +endobj +3623 0 obj +(Inserters) +endobj +3624 0 obj +<< +/S /GoTo +/D (section.3.2) +>> +endobj +3625 0 obj +<< +/Title 3626 0 R +/A 3627 0 R +/Parent 3323 0 R +/Prev 3622 0 R +/Next 3628 0 R +/First 3730 0 R +/Last 3742 0 R +/Count -5 +>> +endobj +3626 0 obj +(Iteration Algorithms) +endobj +3627 0 obj +<< +/S /GoTo +/D (section.3.3) +>> +endobj +3628 0 obj +<< +/Title 3629 0 R +/A 3630 0 R +/Parent 3323 0 R +/Prev 3625 0 R +/Next 3631 0 R +/First 3700 0 R +/Last 3727 0 R +/Count -10 +>> +endobj +3629 0 obj +(Querying Algorithms) +endobj +3630 0 obj +<< +/S /GoTo +/D (section.3.4) +>> +endobj +3631 0 obj +<< +/Title 3632 0 R +/A 3633 0 R +/Parent 3323 0 R +/Prev 3628 0 R +/First 3634 0 R +/Last 3697 0 R +/Count -22 +>> +endobj +3632 0 obj +(Transformation Algorithms) +endobj +3633 0 obj +<< +/S /GoTo +/D (section.3.5) +>> +endobj +3634 0 obj +<< +/Title 3635 0 R +/A 3636 0 R +/Parent 3631 0 R +/Next 3637 0 R +>> +endobj +3635 0 obj +(copy) +endobj +3636 0 obj +<< +/S /GoTo +/D (subsection.3.5.1) +>> +endobj +3637 0 obj +<< +/Title 3638 0 R +/A 3639 0 R +/Parent 3631 0 R +/Prev 3634 0 R +/Next 3640 0 R +>> +endobj +3638 0 obj +(copy_if) +endobj +3639 0 obj +<< +/S /GoTo +/D (subsection.3.5.2) +>> +endobj +3640 0 obj +<< +/Title 3641 0 R +/A 3642 0 R +/Parent 3631 0 R +/Prev 3637 0 R +/Next 3643 0 R +>> +endobj +3641 0 obj +(transform) +endobj +3642 0 obj +<< +/S /GoTo +/D (subsection.3.5.3) +>> +endobj +3643 0 obj +<< +/Title 3644 0 R +/A 3645 0 R +/Parent 3631 0 R +/Prev 3640 0 R +/Next 3646 0 R +>> +endobj +3644 0 obj +(replace) +endobj +3645 0 obj +<< +/S /GoTo +/D (subsection.3.5.4) +>> +endobj +3646 0 obj +<< +/Title 3647 0 R +/A 3648 0 R +/Parent 3631 0 R +/Prev 3643 0 R +/Next 3649 0 R +>> +endobj +3647 0 obj +(replace_if) +endobj +3648 0 obj +<< +/S /GoTo +/D (subsection.3.5.5) +>> +endobj +3649 0 obj +<< +/Title 3650 0 R +/A 3651 0 R +/Parent 3631 0 R +/Prev 3646 0 R +/Next 3652 0 R +>> +endobj +3650 0 obj +(remove) +endobj +3651 0 obj +<< +/S /GoTo +/D (subsection.3.5.6) +>> +endobj +3652 0 obj +<< +/Title 3653 0 R +/A 3654 0 R +/Parent 3631 0 R +/Prev 3649 0 R +/Next 3655 0 R +>> +endobj +3653 0 obj +(remove_if) +endobj +3654 0 obj +<< +/S /GoTo +/D (subsection.3.5.7) +>> +endobj +3655 0 obj +<< +/Title 3656 0 R +/A 3657 0 R +/Parent 3631 0 R +/Prev 3652 0 R +/Next 3658 0 R +>> +endobj +3656 0 obj +(unique) +endobj +3657 0 obj +<< +/S /GoTo +/D (subsection.3.5.8) +>> +endobj +3658 0 obj +<< +/Title 3659 0 R +/A 3660 0 R +/Parent 3631 0 R +/Prev 3655 0 R +/Next 3661 0 R +>> +endobj +3659 0 obj +(partition) +endobj +3660 0 obj +<< +/S /GoTo +/D (subsection.3.5.9) +>> +endobj +3661 0 obj +<< +/Title 3662 0 R +/A 3663 0 R +/Parent 3631 0 R +/Prev 3658 0 R +/Next 3664 0 R +>> +endobj +3662 0 obj +(stable_partition) +endobj +3663 0 obj +<< +/S /GoTo +/D (subsection.3.5.10) +>> +endobj +3664 0 obj +<< +/Title 3665 0 R +/A 3666 0 R +/Parent 3631 0 R +/Prev 3661 0 R +/Next 3667 0 R +>> +endobj +3665 0 obj +(sort) +endobj +3666 0 obj +<< +/S /GoTo +/D (subsection.3.5.11) +>> +endobj +3667 0 obj +<< +/Title 3668 0 R +/A 3669 0 R +/Parent 3631 0 R +/Prev 3664 0 R +/Next 3670 0 R +>> +endobj +3668 0 obj +(reverse) +endobj +3669 0 obj +<< +/S /GoTo +/D (subsection.3.5.12) +>> +endobj +3670 0 obj +<< +/Title 3671 0 R +/A 3672 0 R +/Parent 3631 0 R +/Prev 3667 0 R +/Next 3673 0 R +>> +endobj +3671 0 obj +(reverse_copy) +endobj +3672 0 obj +<< +/S /GoTo +/D (subsection.3.5.13) +>> +endobj +3673 0 obj +<< +/Title 3674 0 R +/A 3675 0 R +/Parent 3631 0 R +/Prev 3670 0 R +/Next 3676 0 R +>> +endobj +3674 0 obj +(reverse_copy_if) +endobj +3675 0 obj +<< +/S /GoTo +/D (subsection.3.5.14) +>> +endobj +3676 0 obj +<< +/Title 3677 0 R +/A 3678 0 R +/Parent 3631 0 R +/Prev 3673 0 R +/Next 3679 0 R +>> +endobj +3677 0 obj +(reverse_transform) +endobj +3678 0 obj +<< +/S /GoTo +/D (subsection.3.5.15) +>> +endobj +3679 0 obj +<< +/Title 3680 0 R +/A 3681 0 R +/Parent 3631 0 R +/Prev 3676 0 R +/Next 3682 0 R +>> +endobj +3680 0 obj +(reverse_replace) +endobj +3681 0 obj +<< +/S /GoTo +/D (subsection.3.5.16) +>> +endobj +3682 0 obj +<< +/Title 3683 0 R +/A 3684 0 R +/Parent 3631 0 R +/Prev 3679 0 R +/Next 3685 0 R +>> +endobj +3683 0 obj +(reverse_replace_if) +endobj +3684 0 obj +<< +/S /GoTo +/D (subsection.3.5.17) +>> +endobj +3685 0 obj +<< +/Title 3686 0 R +/A 3687 0 R +/Parent 3631 0 R +/Prev 3682 0 R +/Next 3688 0 R +>> +endobj +3686 0 obj +(reverse_remove) +endobj +3687 0 obj +<< +/S /GoTo +/D (subsection.3.5.18) +>> +endobj +3688 0 obj +<< +/Title 3689 0 R +/A 3690 0 R +/Parent 3631 0 R +/Prev 3685 0 R +/Next 3691 0 R +>> +endobj +3689 0 obj +(reverse_remove_if) +endobj +3690 0 obj +<< +/S /GoTo +/D (subsection.3.5.19) +>> +endobj +3691 0 obj +<< +/Title 3692 0 R +/A 3693 0 R +/Parent 3631 0 R +/Prev 3688 0 R +/Next 3694 0 R +>> +endobj +3692 0 obj +(reverse_unique) +endobj +3693 0 obj +<< +/S /GoTo +/D (subsection.3.5.20) +>> +endobj +3694 0 obj +<< +/Title 3695 0 R +/A 3696 0 R +/Parent 3631 0 R +/Prev 3691 0 R +/Next 3697 0 R +>> +endobj +3695 0 obj +(reverse_partition) +endobj +3696 0 obj +<< +/S /GoTo +/D (subsection.3.5.21) +>> +endobj +3697 0 obj +<< +/Title 3698 0 R +/A 3699 0 R +/Parent 3631 0 R +/Prev 3694 0 R +>> +endobj +3698 0 obj +(reverse_stable_partition) +endobj +3699 0 obj +<< +/S /GoTo +/D (subsection.3.5.22) +>> +endobj +3700 0 obj +<< +/Title 3701 0 R +/A 3702 0 R +/Parent 3628 0 R +/Next 3703 0 R +>> +endobj +3701 0 obj +(find) +endobj +3702 0 obj +<< +/S /GoTo +/D (subsection.3.4.1) +>> +endobj +3703 0 obj +<< +/Title 3704 0 R +/A 3705 0 R +/Parent 3628 0 R +/Prev 3700 0 R +/Next 3706 0 R +>> +endobj +3704 0 obj +(find_if) +endobj +3705 0 obj +<< +/S /GoTo +/D (subsection.3.4.2) +>> +endobj +3706 0 obj +<< +/Title 3707 0 R +/A 3708 0 R +/Parent 3628 0 R +/Prev 3703 0 R +/Next 3709 0 R +>> +endobj +3707 0 obj +(contains) +endobj +3708 0 obj +<< +/S /GoTo +/D (subsection.3.4.3) +>> +endobj +3709 0 obj +<< +/Title 3710 0 R +/A 3711 0 R +/Parent 3628 0 R +/Prev 3706 0 R +/Next 3712 0 R +>> +endobj +3710 0 obj +(count) +endobj +3711 0 obj +<< +/S /GoTo +/D (subsection.3.4.4) +>> +endobj +3712 0 obj +<< +/Title 3713 0 R +/A 3714 0 R +/Parent 3628 0 R +/Prev 3709 0 R +/Next 3715 0 R +>> +endobj +3713 0 obj +(count_if) +endobj +3714 0 obj +<< +/S /GoTo +/D (subsection.3.4.5) +>> +endobj +3715 0 obj +<< +/Title 3716 0 R +/A 3717 0 R +/Parent 3628 0 R +/Prev 3712 0 R +/Next 3718 0 R +>> +endobj +3716 0 obj +(lower_bound) +endobj +3717 0 obj +<< +/S /GoTo +/D (subsection.3.4.6) +>> +endobj +3718 0 obj +<< +/Title 3719 0 R +/A 3720 0 R +/Parent 3628 0 R +/Prev 3715 0 R +/Next 3721 0 R +>> +endobj +3719 0 obj +(upper_bound) +endobj +3720 0 obj +<< +/S /GoTo +/D (subsection.3.4.7) +>> +endobj +3721 0 obj +<< +/Title 3722 0 R +/A 3723 0 R +/Parent 3628 0 R +/Prev 3718 0 R +/Next 3724 0 R +>> +endobj +3722 0 obj +(min_element) +endobj +3723 0 obj +<< +/S /GoTo +/D (subsection.3.4.8) +>> +endobj +3724 0 obj +<< +/Title 3725 0 R +/A 3726 0 R +/Parent 3628 0 R +/Prev 3721 0 R +/Next 3727 0 R +>> +endobj +3725 0 obj +(max_element) +endobj +3726 0 obj +<< +/S /GoTo +/D (subsection.3.4.9) +>> +endobj +3727 0 obj +<< +/Title 3728 0 R +/A 3729 0 R +/Parent 3628 0 R +/Prev 3724 0 R +>> +endobj +3728 0 obj +(equal) +endobj +3729 0 obj +<< +/S /GoTo +/D (subsection.3.4.10) +>> +endobj +3730 0 obj +<< +/Title 3731 0 R +/A 3732 0 R +/Parent 3625 0 R +/Next 3733 0 R +>> +endobj +3731 0 obj +(fold) +endobj +3732 0 obj +<< +/S /GoTo +/D (subsection.3.3.1) +>> +endobj +3733 0 obj +<< +/Title 3734 0 R +/A 3735 0 R +/Parent 3625 0 R +/Prev 3730 0 R +/Next 3736 0 R +>> +endobj +3734 0 obj +(iter_fold) +endobj +3735 0 obj +<< +/S /GoTo +/D (subsection.3.3.2) +>> +endobj +3736 0 obj +<< +/Title 3737 0 R +/A 3738 0 R +/Parent 3625 0 R +/Prev 3733 0 R +/Next 3739 0 R +>> +endobj +3737 0 obj +(reverse_fold) +endobj +3738 0 obj +<< +/S /GoTo +/D (subsection.3.3.3) +>> +endobj +3739 0 obj +<< +/Title 3740 0 R +/A 3741 0 R +/Parent 3625 0 R +/Prev 3736 0 R +/Next 3742 0 R +>> +endobj +3740 0 obj +(reverse_iter_fold) +endobj +3741 0 obj +<< +/S /GoTo +/D (subsection.3.3.4) +>> +endobj +3742 0 obj +<< +/Title 3743 0 R +/A 3744 0 R +/Parent 3625 0 R +/Prev 3739 0 R +>> +endobj +3743 0 obj +(accumulate) +endobj +3744 0 obj +<< +/S /GoTo +/D (subsection.3.3.5) +>> +endobj +3745 0 obj +<< +/Title 3746 0 R +/A 3747 0 R +/Parent 3622 0 R +/Next 3748 0 R +>> +endobj +3746 0 obj +(back_inserter) +endobj +3747 0 obj +<< +/S /GoTo +/D (subsection.3.2.1) +>> +endobj +3748 0 obj +<< +/Title 3749 0 R +/A 3750 0 R +/Parent 3622 0 R +/Prev 3745 0 R +/Next 3751 0 R +>> +endobj +3749 0 obj +(front_inserter) +endobj +3750 0 obj +<< +/S /GoTo +/D (subsection.3.2.2) +>> +endobj +3751 0 obj +<< +/Title 3752 0 R +/A 3753 0 R +/Parent 3622 0 R +/Prev 3748 0 R +>> +endobj +3752 0 obj +(inserter) +endobj +3753 0 obj +<< +/S /GoTo +/D (subsection.3.2.3) +>> +endobj +3754 0 obj +<< +/Title 3755 0 R +/A 3756 0 R +/Parent 3620 0 R +/Next 3757 0 R +>> +endobj +3755 0 obj +(Inserter) +endobj +3756 0 obj +<< +/S /GoTo +/D (subsection.3.1.1) +>> +endobj +3757 0 obj +<< +/Title 3758 0 R +/A 3759 0 R +/Parent 3620 0 R +/Prev 3754 0 R +>> +endobj +3758 0 obj +(Reversible Algorithm) +endobj +3759 0 obj +<< +/S /GoTo +/D (subsection.3.1.2) +>> +endobj +3760 0 obj +<< +/Title 3348 0 R +/A 3761 0 R +/Parent 3320 0 R +/Next 3762 0 R +/First 3783 0 R +/Last 3789 0 R +/Count -3 +>> +endobj +3761 0 obj +<< +/S /GoTo +/D (section.2.1) +>> +endobj +3762 0 obj +<< +/Title 3763 0 R +/A 3764 0 R +/Parent 3320 0 R +/Prev 3760 0 R +/First 3765 0 R +/Last 3780 0 R +/Count -6 +>> +endobj +3763 0 obj +(Iterator Metafunctions) +endobj +3764 0 obj +<< +/S /GoTo +/D (section.2.2) +>> +endobj +3765 0 obj +<< +/Title 3766 0 R +/A 3767 0 R +/Parent 3762 0 R +/Next 3768 0 R +>> +endobj +3766 0 obj +(advance) +endobj +3767 0 obj +<< +/S /GoTo +/D (subsection.2.2.1) +>> +endobj +3768 0 obj +<< +/Title 3769 0 R +/A 3770 0 R +/Parent 3762 0 R +/Prev 3765 0 R +/Next 3771 0 R +>> +endobj +3769 0 obj +(distance) +endobj +3770 0 obj +<< +/S /GoTo +/D (subsection.2.2.2) +>> +endobj +3771 0 obj +<< +/Title 3772 0 R +/A 3773 0 R +/Parent 3762 0 R +/Prev 3768 0 R +/Next 3774 0 R +>> +endobj +3772 0 obj +(next) +endobj +3773 0 obj +<< +/S /GoTo +/D (subsection.2.2.3) +>> +endobj +3774 0 obj +<< +/Title 3775 0 R +/A 3776 0 R +/Parent 3762 0 R +/Prev 3771 0 R +/Next 3777 0 R +>> +endobj +3775 0 obj +(prior) +endobj +3776 0 obj +<< +/S /GoTo +/D (subsection.2.2.4) +>> +endobj +3777 0 obj +<< +/Title 3778 0 R +/A 3779 0 R +/Parent 3762 0 R +/Prev 3774 0 R +/Next 3780 0 R +>> +endobj +3778 0 obj +(deref) +endobj +3779 0 obj +<< +/S /GoTo +/D (subsection.2.2.5) +>> +endobj +3780 0 obj +<< +/Title 3781 0 R +/A 3782 0 R +/Parent 3762 0 R +/Prev 3777 0 R +>> +endobj +3781 0 obj +(iterator_category) +endobj +3782 0 obj +<< +/S /GoTo +/D (subsection.2.2.6) +>> +endobj +3783 0 obj +<< +/Title 3784 0 R +/A 3785 0 R +/Parent 3760 0 R +/Next 3786 0 R +>> +endobj +3784 0 obj +(Forward Iterator) +endobj +3785 0 obj +<< +/S /GoTo +/D (subsection.2.1.1) +>> +endobj +3786 0 obj +<< +/Title 3787 0 R +/A 3788 0 R +/Parent 3760 0 R +/Prev 3783 0 R +/Next 3789 0 R +>> +endobj +3787 0 obj +(Bidirectional Iterator) +endobj +3788 0 obj +<< +/S /GoTo +/D (subsection.2.1.2) +>> +endobj +3789 0 obj +<< +/Title 3790 0 R +/A 3791 0 R +/Parent 3760 0 R +/Prev 3786 0 R +>> +endobj +3790 0 obj +(Random Access Iterator) +endobj +3791 0 obj +<< +/S /GoTo +/D (subsection.2.1.3) +>> +endobj +3792 0 obj +<< +/Title 3348 0 R +/A 3793 0 R +/Parent 3317 0 R +/Next 3794 0 R +/First 3920 0 R +/Last 3947 0 R +/Count -10 +>> +endobj +3793 0 obj +<< +/S /GoTo +/D (section.1.1) +>> +endobj +3794 0 obj +<< +/Title 3795 0 R +/A 3796 0 R +/Parent 3317 0 R +/Prev 3792 0 R +/Next 3797 0 R +/First 3893 0 R +/Last 3917 0 R +/Count -9 +>> +endobj +3795 0 obj +(Classes) +endobj +3796 0 obj +<< +/S /GoTo +/D (section.1.2) +>> +endobj +3797 0 obj +<< +/Title 3798 0 R +/A 3799 0 R +/Parent 3317 0 R +/Prev 3794 0 R +/Next 3800 0 R +/First 3872 0 R +/Last 3890 0 R +/Count -7 +>> +endobj +3798 0 obj +(Views) +endobj +3799 0 obj +<< +/S /GoTo +/D (section.1.3) +>> +endobj +3800 0 obj +<< +/Title 3801 0 R +/A 3802 0 R +/Parent 3317 0 R +/Prev 3797 0 R +/First 3803 0 R +/Last 3869 0 R +/Count -23 +>> +endobj +3801 0 obj +(Intrinsic Metafunctions) +endobj +3802 0 obj +<< +/S /GoTo +/D (section.1.4) +>> +endobj +3803 0 obj +<< +/Title 3804 0 R +/A 3805 0 R +/Parent 3800 0 R +/Next 3806 0 R +>> +endobj +3804 0 obj +(at) +endobj +3805 0 obj +<< +/S /GoTo +/D (subsection.1.4.1) +>> +endobj +3806 0 obj +<< +/Title 3807 0 R +/A 3808 0 R +/Parent 3800 0 R +/Prev 3803 0 R +/Next 3809 0 R +>> +endobj +3807 0 obj +(at_c) +endobj +3808 0 obj +<< +/S /GoTo +/D (subsection.1.4.2) +>> +endobj +3809 0 obj +<< +/Title 3810 0 R +/A 3811 0 R +/Parent 3800 0 R +/Prev 3806 0 R +/Next 3812 0 R +>> +endobj +3810 0 obj +(back) +endobj +3811 0 obj +<< +/S /GoTo +/D (subsection.1.4.3) +>> +endobj +3812 0 obj +<< +/Title 3813 0 R +/A 3814 0 R +/Parent 3800 0 R +/Prev 3809 0 R +/Next 3815 0 R +>> +endobj +3813 0 obj +(begin) +endobj +3814 0 obj +<< +/S /GoTo +/D (subsection.1.4.4) +>> +endobj +3815 0 obj +<< +/Title 3816 0 R +/A 3817 0 R +/Parent 3800 0 R +/Prev 3812 0 R +/Next 3818 0 R +>> +endobj +3816 0 obj +(clear) +endobj +3817 0 obj +<< +/S /GoTo +/D (subsection.1.4.5) +>> +endobj +3818 0 obj +<< +/Title 3819 0 R +/A 3820 0 R +/Parent 3800 0 R +/Prev 3815 0 R +/Next 3821 0 R +>> +endobj +3819 0 obj +(empty) +endobj +3820 0 obj +<< +/S /GoTo +/D (subsection.1.4.6) +>> +endobj +3821 0 obj +<< +/Title 3822 0 R +/A 3823 0 R +/Parent 3800 0 R +/Prev 3818 0 R +/Next 3824 0 R +>> +endobj +3822 0 obj +(end) +endobj +3823 0 obj +<< +/S /GoTo +/D (subsection.1.4.7) +>> +endobj +3824 0 obj +<< +/Title 3825 0 R +/A 3826 0 R +/Parent 3800 0 R +/Prev 3821 0 R +/Next 3827 0 R +>> +endobj +3825 0 obj +(erase) +endobj +3826 0 obj +<< +/S /GoTo +/D (subsection.1.4.8) +>> +endobj +3827 0 obj +<< +/Title 3828 0 R +/A 3829 0 R +/Parent 3800 0 R +/Prev 3824 0 R +/Next 3830 0 R +>> +endobj +3828 0 obj +(erase_key) +endobj +3829 0 obj +<< +/S /GoTo +/D (subsection.1.4.9) +>> +endobj +3830 0 obj +<< +/Title 3831 0 R +/A 3832 0 R +/Parent 3800 0 R +/Prev 3827 0 R +/Next 3833 0 R +>> +endobj +3831 0 obj +(front) +endobj +3832 0 obj +<< +/S /GoTo +/D (subsection.1.4.10) +>> +endobj +3833 0 obj +<< +/Title 3834 0 R +/A 3835 0 R +/Parent 3800 0 R +/Prev 3830 0 R +/Next 3836 0 R +>> +endobj +3834 0 obj +(has_key) +endobj +3835 0 obj +<< +/S /GoTo +/D (subsection.1.4.11) +>> +endobj +3836 0 obj +<< +/Title 3837 0 R +/A 3838 0 R +/Parent 3800 0 R +/Prev 3833 0 R +/Next 3839 0 R +>> +endobj +3837 0 obj +(insert) +endobj +3838 0 obj +<< +/S /GoTo +/D (subsection.1.4.12) +>> +endobj +3839 0 obj +<< +/Title 3840 0 R +/A 3841 0 R +/Parent 3800 0 R +/Prev 3836 0 R +/Next 3842 0 R +>> +endobj +3840 0 obj +(insert_range) +endobj +3841 0 obj +<< +/S /GoTo +/D (subsection.1.4.13) +>> +endobj +3842 0 obj +<< +/Title 3843 0 R +/A 3844 0 R +/Parent 3800 0 R +/Prev 3839 0 R +/Next 3845 0 R +>> +endobj +3843 0 obj +(is_sequence) +endobj +3844 0 obj +<< +/S /GoTo +/D (subsection.1.4.14) +>> +endobj +3845 0 obj +<< +/Title 3846 0 R +/A 3847 0 R +/Parent 3800 0 R +/Prev 3842 0 R +/Next 3848 0 R +>> +endobj +3846 0 obj +(key_type) +endobj +3847 0 obj +<< +/S /GoTo +/D (subsection.1.4.15) +>> +endobj +3848 0 obj +<< +/Title 3849 0 R +/A 3850 0 R +/Parent 3800 0 R +/Prev 3845 0 R +/Next 3851 0 R +>> +endobj +3849 0 obj +(order) +endobj +3850 0 obj +<< +/S /GoTo +/D (subsection.1.4.16) +>> +endobj +3851 0 obj +<< +/Title 3852 0 R +/A 3853 0 R +/Parent 3800 0 R +/Prev 3848 0 R +/Next 3854 0 R +>> +endobj +3852 0 obj +(pop_back) +endobj +3853 0 obj +<< +/S /GoTo +/D (subsection.1.4.17) +>> +endobj +3854 0 obj +<< +/Title 3855 0 R +/A 3856 0 R +/Parent 3800 0 R +/Prev 3851 0 R +/Next 3857 0 R +>> +endobj +3855 0 obj +(pop_front) +endobj +3856 0 obj +<< +/S /GoTo +/D (subsection.1.4.18) +>> +endobj +3857 0 obj +<< +/Title 3858 0 R +/A 3859 0 R +/Parent 3800 0 R +/Prev 3854 0 R +/Next 3860 0 R +>> +endobj +3858 0 obj +(push_back) +endobj +3859 0 obj +<< +/S /GoTo +/D (subsection.1.4.19) +>> +endobj +3860 0 obj +<< +/Title 3861 0 R +/A 3862 0 R +/Parent 3800 0 R +/Prev 3857 0 R +/Next 3863 0 R +>> +endobj +3861 0 obj +(push_front) +endobj +3862 0 obj +<< +/S /GoTo +/D (subsection.1.4.20) +>> +endobj +3863 0 obj +<< +/Title 3864 0 R +/A 3865 0 R +/Parent 3800 0 R +/Prev 3860 0 R +/Next 3866 0 R +>> +endobj +3864 0 obj +(sequence_tag) +endobj +3865 0 obj +<< +/S /GoTo +/D (subsection.1.4.21) +>> +endobj +3866 0 obj +<< +/Title 3867 0 R +/A 3868 0 R +/Parent 3800 0 R +/Prev 3863 0 R +/Next 3869 0 R +>> +endobj +3867 0 obj +(size) +endobj +3868 0 obj +<< +/S /GoTo +/D (subsection.1.4.22) +>> +endobj +3869 0 obj +<< +/Title 3870 0 R +/A 3871 0 R +/Parent 3800 0 R +/Prev 3866 0 R +>> +endobj +3870 0 obj +(value_type) +endobj +3871 0 obj +<< +/S /GoTo +/D (subsection.1.4.23) +>> +endobj +3872 0 obj +<< +/Title 3873 0 R +/A 3874 0 R +/Parent 3797 0 R +/Next 3875 0 R +>> +endobj +3873 0 obj +(empty_sequence) +endobj +3874 0 obj +<< +/S /GoTo +/D (subsection.1.3.1) +>> +endobj +3875 0 obj +<< +/Title 3876 0 R +/A 3877 0 R +/Parent 3797 0 R +/Prev 3872 0 R +/Next 3878 0 R +>> +endobj +3876 0 obj +(filter_view) +endobj +3877 0 obj +<< +/S /GoTo +/D (subsection.1.3.2) +>> +endobj +3878 0 obj +<< +/Title 3879 0 R +/A 3880 0 R +/Parent 3797 0 R +/Prev 3875 0 R +/Next 3881 0 R +>> +endobj +3879 0 obj +(iterator_range) +endobj +3880 0 obj +<< +/S /GoTo +/D (subsection.1.3.3) +>> +endobj +3881 0 obj +<< +/Title 3882 0 R +/A 3883 0 R +/Parent 3797 0 R +/Prev 3878 0 R +/Next 3884 0 R +>> +endobj +3882 0 obj +(joint_view) +endobj +3883 0 obj +<< +/S /GoTo +/D (subsection.1.3.4) +>> +endobj +3884 0 obj +<< +/Title 3885 0 R +/A 3886 0 R +/Parent 3797 0 R +/Prev 3881 0 R +/Next 3887 0 R +>> +endobj +3885 0 obj +(single_view) +endobj +3886 0 obj +<< +/S /GoTo +/D (subsection.1.3.5) +>> +endobj +3887 0 obj +<< +/Title 3888 0 R +/A 3889 0 R +/Parent 3797 0 R +/Prev 3884 0 R +/Next 3890 0 R +>> +endobj +3888 0 obj +(transform_view) +endobj +3889 0 obj +<< +/S /GoTo +/D (subsection.1.3.6) +>> +endobj +3890 0 obj +<< +/Title 3891 0 R +/A 3892 0 R +/Parent 3797 0 R +/Prev 3887 0 R +>> +endobj +3891 0 obj +(zip_view) +endobj +3892 0 obj +<< +/S /GoTo +/D (subsection.1.3.7) +>> +endobj +3893 0 obj +<< +/Title 3894 0 R +/A 3895 0 R +/Parent 3794 0 R +/Next 3896 0 R +>> +endobj +3894 0 obj +(vector) +endobj +3895 0 obj +<< +/S /GoTo +/D (subsection.1.2.1) +>> +endobj +3896 0 obj +<< +/Title 3897 0 R +/A 3898 0 R +/Parent 3794 0 R +/Prev 3893 0 R +/Next 3899 0 R +>> +endobj +3897 0 obj +(list) +endobj +3898 0 obj +<< +/S /GoTo +/D (subsection.1.2.2) +>> +endobj +3899 0 obj +<< +/Title 3900 0 R +/A 3901 0 R +/Parent 3794 0 R +/Prev 3896 0 R +/Next 3902 0 R +>> +endobj +3900 0 obj +(deque) +endobj +3901 0 obj +<< +/S /GoTo +/D (subsection.1.2.3) +>> +endobj +3902 0 obj +<< +/Title 3903 0 R +/A 3904 0 R +/Parent 3794 0 R +/Prev 3899 0 R +/Next 3905 0 R +>> +endobj +3903 0 obj +(set) +endobj +3904 0 obj +<< +/S /GoTo +/D (subsection.1.2.4) +>> +endobj +3905 0 obj +<< +/Title 3906 0 R +/A 3907 0 R +/Parent 3794 0 R +/Prev 3902 0 R +/Next 3908 0 R +>> +endobj +3906 0 obj +(map) +endobj +3907 0 obj +<< +/S /GoTo +/D (subsection.1.2.5) +>> +endobj +3908 0 obj +<< +/Title 3909 0 R +/A 3910 0 R +/Parent 3794 0 R +/Prev 3905 0 R +/Next 3911 0 R +>> +endobj +3909 0 obj +(range_c) +endobj +3910 0 obj +<< +/S /GoTo +/D (subsection.1.2.6) +>> +endobj +3911 0 obj +<< +/Title 3912 0 R +/A 3913 0 R +/Parent 3794 0 R +/Prev 3908 0 R +/Next 3914 0 R +>> +endobj +3912 0 obj +(vector_c) +endobj +3913 0 obj +<< +/S /GoTo +/D (subsection.1.2.7) +>> +endobj +3914 0 obj +<< +/Title 3915 0 R +/A 3916 0 R +/Parent 3794 0 R +/Prev 3911 0 R +/Next 3917 0 R +>> +endobj +3915 0 obj +(list_c) +endobj +3916 0 obj +<< +/S /GoTo +/D (subsection.1.2.8) +>> +endobj +3917 0 obj +<< +/Title 3918 0 R +/A 3919 0 R +/Parent 3794 0 R +/Prev 3914 0 R +>> +endobj +3918 0 obj +(set_c) +endobj +3919 0 obj +<< +/S /GoTo +/D (subsection.1.2.9) +>> +endobj +3920 0 obj +<< +/Title 3921 0 R +/A 3922 0 R +/Parent 3792 0 R +/Next 3923 0 R +>> +endobj +3921 0 obj +(Forward Sequence) +endobj +3922 0 obj +<< +/S /GoTo +/D (subsection.1.1.1) +>> +endobj +3923 0 obj +<< +/Title 3924 0 R +/A 3925 0 R +/Parent 3792 0 R +/Prev 3920 0 R +/Next 3926 0 R +>> +endobj +3924 0 obj +(Bidirectional Sequence) +endobj +3925 0 obj +<< +/S /GoTo +/D (subsection.1.1.2) +>> +endobj +3926 0 obj +<< +/Title 3927 0 R +/A 3928 0 R +/Parent 3792 0 R +/Prev 3923 0 R +/Next 3929 0 R +>> +endobj +3927 0 obj +(Random Access Sequence) +endobj +3928 0 obj +<< +/S /GoTo +/D (subsection.1.1.3) +>> +endobj +3929 0 obj +<< +/Title 3930 0 R +/A 3931 0 R +/Parent 3792 0 R +/Prev 3926 0 R +/Next 3932 0 R +>> +endobj +3930 0 obj +(Extensible Sequence) +endobj +3931 0 obj +<< +/S /GoTo +/D (subsection.1.1.4) +>> +endobj +3932 0 obj +<< +/Title 3933 0 R +/A 3934 0 R +/Parent 3792 0 R +/Prev 3929 0 R +/Next 3935 0 R +>> +endobj +3933 0 obj +(Front Extensible Sequence) +endobj +3934 0 obj +<< +/S /GoTo +/D (subsection.1.1.5) +>> +endobj +3935 0 obj +<< +/Title 3936 0 R +/A 3937 0 R +/Parent 3792 0 R +/Prev 3932 0 R +/Next 3938 0 R +>> +endobj +3936 0 obj +(Back Extensible Sequence) +endobj +3937 0 obj +<< +/S /GoTo +/D (subsection.1.1.6) +>> +endobj +3938 0 obj +<< +/Title 3939 0 R +/A 3940 0 R +/Parent 3792 0 R +/Prev 3935 0 R +/Next 3941 0 R +>> +endobj +3939 0 obj +(Associative Sequence) +endobj +3940 0 obj +<< +/S /GoTo +/D (subsection.1.1.7) +>> +endobj +3941 0 obj +<< +/Title 3942 0 R +/A 3943 0 R +/Parent 3792 0 R +/Prev 3938 0 R +/Next 3944 0 R +>> +endobj +3942 0 obj +(Extensible Associative Sequence) +endobj +3943 0 obj +<< +/S /GoTo +/D (subsection.1.1.8) +>> +endobj +3944 0 obj +<< +/Title 3945 0 R +/A 3946 0 R +/Parent 3792 0 R +/Prev 3941 0 R +/Next 3947 0 R +>> +endobj +3945 0 obj +(Integral Sequence Wrapper) +endobj +3946 0 obj +<< +/S /GoTo +/D (subsection.1.1.9) +>> +endobj +3947 0 obj +<< +/Title 3948 0 R +/A 3949 0 R +/Parent 3792 0 R +/Prev 3944 0 R +>> +endobj +3948 0 obj +(Variadic Sequence) +endobj +3949 0 obj +<< +/S /GoTo +/D (subsection.1.1.10) +>> +endobj +3950 0 obj +<< +/Dests 3951 0 R +>> +endobj +3951 0 obj +<< +/Kids [ 3952 0 R ] +>> +endobj +3952 0 obj +<< +/Names [ (Doc-Start) 3953 0 R (Item.1) 3954 0 R (Item.2) 3955 0 R (accumulate) 3956 0 R (accumulate-complexity) 3957 0 R (accumulate-description) 3958 0 R (accumulate-example) 3959 0 R (accumulate-expression-semantics) 3960 0 R (accumulate-header) 3961 0 R (accumulate-parameters) 3962 0 R (accumulate-see-also) 3963 0 R (accumulate-synopsis) 3964 0 R (acknowledgements) 3965 0 R (advance) 3966 0 R (advance-complexity) 3967 0 R (advance-description) 3968 0 R (advance-example) 3969 0 R (advance-expression-semantics) 3970 0 R (advance-header) 3971 0 R (advance-model-of) 3972 0 R (advance-parameters) 3973 0 R (advance-see-also) 3974 0 R (advance-synopsis) 3975 0 R (algorithms) 3976 0 R (algorithms-concepts) 3977 0 R (algorithms-iteration-reverse-parameters) 3978 0 R (algorithms-transformation-reverse-complexity) 3979 0 R (algorithms-transformation-reverse-description) 3980 0 R (algorithms-transformation-reverse-example) 3981 0 R (algorithms-transformation-reverse-expression-semantics) 3982 0 R (algorithms-transformation-reverse-header) 3983 0 R (algorithms-transformation-reverse-model-of) 3984 0 R (algorithms-transformation-reverse-parameters) 3985 0 R (algorithms-transformation-reverse-see-also) 3986 0 R (algorithms-transformation-reverse-synopsis) 3987 0 R (always) 3988 0 R (always-description) 3989 0 R (always-example) 3990 0 R (always-expression-semantics) 3991 0 R (always-header) 3992 0 R (always-model-of) 3993 0 R (always-parameters) 3994 0 R (always-see-also) 3995 0 R (always-synopsis) 3996 0 R (and) 3997 0 R (and-description) 3998 0 R (and-example) 3999 0 R (and-expression-semantics) 4000 0 R (and-header) 4001 0 R (and-parameters) 4002 0 R (and-see-also) 4003 0 R (and-synopsis) 4004 0 R (apply) 4005 0 R (apply-description) 4006 0 R (apply-example) 4007 0 R (apply-expression-semantics) 4008 0 R (apply-header) 4009 0 R (apply-parameters) 4010 0 R (apply-see-also) 4011 0 R (apply-synopsis) 4012 0 R (apply-wrap) 4013 0 R (arg) 4014 0 R (arg-description) 4015 0 R (arg-example) 4016 0 R (arg-expression-semantics) 4017 0 R (arg-header) 4018 0 R (arg-parameters) 4019 0 R (arg-see-also) 4020 0 R (arg-synopsis) 4021 0 R (arithmetic-operations) 4022 0 R (assert) 4023 0 R (assert-description) 4024 0 R (assert-example) 4025 0 R (assert-expression-semantics) 4026 0 R (assert-header) 4027 0 R (assert-msg) 4028 0 R (assert-not) 4029 0 R (assert-parameters) 4030 0 R (assert-relation) 4031 0 R (assert-see-also) 4032 0 R (assert-synopsis) 4033 0 R (asserts) 4034 0 R (asserts-assert-description) 4035 0 R (asserts-assert-example) 4036 0 R (asserts-assert-expression-semantics) 4037 0 R (asserts-assert-header) 4038 0 R (asserts-assert-parameters) 4039 0 R (asserts-assert-see-also) 4040 0 R (asserts-assert-synopsis) 4041 0 R (associative-definitions) 4042 0 R (associative-description) 4043 0 R (associative-expression-requirements) 4044 0 R (associative-expression-semantics) 4045 0 R (associative-models) 4046 0 R (associative-see-also) 4047 0 R (associative-sequence) 4048 0 R (at) 4049 0 R (at-c) 4050 0 R (at-complexity) 4051 0 R (at-description) 4052 0 R (at-example) 4053 0 R (at-expression-semantics) 4054 0 R (at-header) 4055 0 R (at-model-of) 4056 0 R (at-parameters) 4057 0 R (at-see-also) 4058 0 R (at-synopsis) 4059 0 R (aux-description) 4060 0 R (aux-example) 4061 0 R (aux-expression-semantics) 4062 0 R (aux-header) 4063 0 R (aux-lambda-support) 4064 0 R (aux-parameters) 4065 0 R (aux-see-also) 4066 0 R (aux-synopsis) 4067 0 R (back) 4068 0 R (back-complexity) 4069 0 R (back-description) 4070 0 R (back-example) 4071 0 R (back-expression-requirements) 4072 0 R (back-expression-semantics) 4073 0 R (back-extensible-sequence) 4074 0 R (back-header) 4075 0 R (back-inserter) 4076 0 R (back-model-of) 4077 0 R (back-models) 4078 0 R (back-parameters) 4079 0 R (back-refinement-of) 4080 0 R (back-see-also) 4081 0 R (back-synopsis) 4082 0 R (begin) 4083 0 R (begin-complexity) 4084 0 R (begin-description) 4085 0 R (begin-example) 4086 0 R (begin-expression-semantics) 4087 0 R (begin-header) 4088 0 R (begin-model-of) 4089 0 R (begin-parameters) 4090 0 R (begin-see-also) 4091 0 R (begin-synopsis) 4092 0 R (bidirectional-definitions) 4093 0 R (bidirectional-description) 4094 0 R (bidirectional-expression-requirements) 4095 0 R (bidirectional-expression-semantics) 4096 0 R (bidirectional-invariants) 4097 0 R (bidirectional-iterator) 4098 0 R (bidirectional-models) 4099 0 R (bidirectional-refinement-of) 4100 0 R (bidirectional-see-also) 4101 0 R (bidirectional-sequence) 4102 0 R (bind) 4103 0 R (bind-description) 4104 0 R (bind-example) 4105 0 R (bind-expression) 4106 0 R (bind-expression-semantics) 4107 0 R (bind-header) 4108 0 R (bind-model-of) 4109 0 R (bind-parameters) 4110 0 R (bind-see-also) 4111 0 R (bind-semantics) 4112 0 R (bind-synopsis) 4113 0 R (bitand) 4114 0 R (bitand-complexity) 4115 0 R (bitand-description) 4116 0 R (bitand-example) 4117 0 R (bitand-expression-semantics) 4118 0 R (bitand-header) 4119 0 R (bitand-model-of) 4120 0 R (bitand-parameters) 4121 0 R (bitand-see-also) 4122 0 R (bitand-synopsis) 4123 0 R (bitor) 4124 0 R (bitor-complexity) 4125 0 R (bitor-description) 4126 0 R (bitor-example) 4127 0 R (bitor-expression-semantics) 4128 0 R (bitor-header) 4129 0 R (bitor-model-of) 4130 0 R (bitor-parameters) 4131 0 R (bitor-see-also) 4132 0 R (bitor-synopsis) 4133 0 R (bitwise-operations) 4134 0 R (bitwise-shift-complexity) 4135 0 R (bitwise-shift-description) 4136 0 R (bitwise-shift-example) 4137 0 R (bitwise-shift-expression-semantics) 4138 0 R (bitwise-shift-header) 4139 0 R (bitwise-shift-model-of) 4140 0 R (bitwise-shift-parameters) 4141 0 R (bitwise-shift-see-also) 4142 0 R (bitwise-shift-synopsis) 4143 0 R (bitxor) 4144 0 R (bitxor-complexity) 4145 0 R (bitxor-description) 4146 0 R (bitxor-example) 4147 0 R (bitxor-expression-semantics) 4148 0 R (bitxor-header) 4149 0 R (bitxor-model-of) 4150 0 R (bitxor-parameters) 4151 0 R (bitxor-see-also) 4152 0 R (bitxor-synopsis) 4153 0 R (bool) 4154 0 R (bool-description) 4155 0 R (bool-example) 4156 0 R (bool-expression-semantics) 4157 0 R (bool-header) 4158 0 R (bool-model-of) 4159 0 R (bool-parameters) 4160 0 R (bool-see-also) 4161 0 R (bool-synopsis) 4162 0 R (broken-compiler) 4163 0 R (categorized) 4164 0 R (categorized-concepts) 4165 0 R (categorized-index) 4166 0 R (cfg-description) 4167 0 R (cfg-no-has-xxx) 4168 0 R (cfg-no-preprocessed) 4169 0 R (cfg-see-also) 4170 0 R (cfg-synopsis) 4171 0 R (chapter*.1) 4172 0 R (chapter*.1309) 4173 0 R (chapter.1) 4174 0 R (chapter.2) 4175 0 R (chapter.3) 4176 0 R (chapter.4) 4177 0 R (chapter.5) 4178 0 R (chapter.6) 4179 0 R (chapter.7) 4180 0 R (chapter.8) 4181 0 R (chapter.9) 4182 0 R (cite.PRE) 4183 0 R (cite.Ve03) 4184 0 R (cite.n1550) 4185 0 R (classes) 4186 0 R (classes-list-description) 4187 0 R (classes-list-example) 4188 0 R (classes-list-expression-semantics) 4189 0 R (classes-list-header) 4190 0 R (classes-list-model-of) 4191 0 R (classes-list-see-also) 4192 0 R (classes-set-description) 4193 0 R (classes-set-example) 4194 0 R (classes-set-expression-semantics) 4195 0 R (classes-set-header) 4196 0 R (classes-set-model-of) 4197 0 R (classes-set-see-also) 4198 0 R (classes-vector-description) 4199 0 R (classes-vector-expression-semantics) 4200 0 R (classes-vector-see-also) 4201 0 R (clear) 4202 0 R (clear-complexity) 4203 0 R (clear-description) 4204 0 R (clear-example) 4205 0 R (clear-expression-semantics) 4206 0 R (clear-header) 4207 0 R (clear-model-of) 4208 0 R (clear-parameters) 4209 0 R (clear-see-also) 4210 0 R (clear-synopsis) 4211 0 R (comparisons) 4212 0 R (comparisons-equal-complexity) 4213 0 R (comparisons-equal-description) 4214 0 R (comparisons-equal-example) 4215 0 R (comparisons-equal-expression-semantics) 4216 0 R (comparisons-equal-header) 4217 0 R (comparisons-equal-parameters) 4218 0 R (comparisons-equal-see-also) 4219 0 R (comparisons-equal-synopsis) 4220 0 R (comparisons-greater-complexity) 4221 0 R (comparisons-greater-description) 4222 0 R (comparisons-greater-example) 4223 0 R (comparisons-greater-expression-semantics) 4224 0 R (comparisons-greater-header) 4225 0 R (comparisons-greater-model-of) 4226 0 R (comparisons-greater-parameters) 4227 0 R (comparisons-greater-see-also) 4228 0 R (comparisons-greater-synopsis) 4229 0 R (comparisons-less-complexity) 4230 0 R (comparisons-less-description) 4231 0 R (comparisons-less-example) 4232 0 R (comparisons-less-expression-semantics) 4233 0 R (comparisons-less-header) 4234 0 R (comparisons-less-model-of) 4235 0 R (comparisons-less-parameters) 4236 0 R (comparisons-less-see-also) 4237 0 R (comparisons-less-synopsis) 4238 0 R (complexity) 4239 0 R (components) 4240 0 R (composition-and-argument) 4241 0 R (composition-lambda-description) 4242 0 R (composition-lambda-see-also) 4243 0 R (concept-identical) 4244 0 R (concepts) 4245 0 R (concepts-extensible-description) 4246 0 R (concepts-extensible-expression-requirements) 4247 0 R (concepts-extensible-expression-semantics) 4248 0 R (concepts-extensible-models) 4249 0 R (concepts-extensible-see-also) 4250 0 R (configuration) 4251 0 R (configuration-cfg-description) 4252 0 R (configuration-cfg-see-also) 4253 0 R (configuration-cfg-synopsis) 4254 0 R (configuration-limit-description) 4255 0 R (configuration-limit-example) 4256 0 R (configuration-limit-see-also) 4257 0 R (configuration-limit-synopsis) 4258 0 R (contains) 4259 0 R (contains-complexity) 4260 0 R (contains-description) 4261 0 R (contains-example) 4262 0 R (contains-expression-semantics) 4263 0 R (contains-header) 4264 0 R (contains-parameters) 4265 0 R (contains-see-also) 4266 0 R (contains-synopsis) 4267 0 R (copy) 4268 0 R (copy-complexity) 4269 0 R (copy-description) 4270 0 R (copy-example) 4271 0 R (copy-expression-semantics) 4272 0 R (copy-header) 4273 0 R (copy-if) 4274 0 R (copy-model-of) 4275 0 R (copy-parameters) 4276 0 R (copy-see-also) 4277 0 R (copy-synopsis) 4278 0 R (count) 4279 0 R (count-complexity) 4280 0 R (count-description) 4281 0 R (count-example) 4282 0 R (count-expression-semantics) 4283 0 R (count-header) 4284 0 R (count-if) 4285 0 R (count-parameters) 4286 0 R (count-see-also) 4287 0 R (count-synopsis) 4288 0 R (data) 4289 0 R (data-concepts) 4290 0 R (data-empty-description) 4291 0 R (data-empty-header) 4292 0 R (data-empty-see-also) 4293 0 R (data-empty-synopsis) 4294 0 R (data-integral-description) 4295 0 R (data-integral-expression-requirements) 4296 0 R (data-integral-expression-semantics) 4297 0 R (data-integral-models) 4298 0 R (data-integral-see-also) 4299 0 R (data-miscellaneous) 4300 0 R (data-types) 4301 0 R (definitions) 4302 0 R (deque) 4303 0 R (deque-description) 4304 0 R (deque-example) 4305 0 R (deque-expression-semantics) 4306 0 R (deque-header) 4307 0 R (deque-model-of) 4308 0 R (deque-see-also) 4309 0 R (deref) 4310 0 R (deref-complexity) 4311 0 R (deref-description) 4312 0 R (deref-example) 4313 0 R (deref-expression-semantics) 4314 0 R (deref-header) 4315 0 R (deref-parameters) 4316 0 R (deref-see-also) 4317 0 R (deref-synopsis) 4318 0 R (description) 4319 0 R (distance) 4320 0 R (distance-complexity) 4321 0 R (distance-description) 4322 0 R (distance-example) 4323 0 R (distance-expression-semantics) 4324 0 R (distance-header) 4325 0 R (distance-model-of) 4326 0 R (distance-parameters) 4327 0 R (distance-see-also) 4328 0 R (distance-synopsis) 4329 0 R (divides) 4330 0 R (divides-complexity) 4331 0 R (divides-description) 4332 0 R (divides-example) 4333 0 R (divides-expression-semantics) 4334 0 R (divides-header) 4335 0 R (divides-model-of) 4336 0 R (divides-parameters) 4337 0 R (divides-see-also) 4338 0 R (divides-synopsis) 4339 0 R (empty) 4340 0 R (empty-base) 4341 0 R (empty-complexity) 4342 0 R (empty-description) 4343 0 R (empty-example) 4344 0 R (empty-expression-semantics) 4345 0 R (empty-header) 4346 0 R (empty-model-of) 4347 0 R (empty-parameters) 4348 0 R (empty-see-also) 4349 0 R (empty-sequence) 4350 0 R (empty-synopsis) 4351 0 R (end) 4352 0 R (end-complexity) 4353 0 R (end-description) 4354 0 R (end-example) 4355 0 R (end-expression-semantics) 4356 0 R (end-header) 4357 0 R (end-model-of) 4358 0 R (end-parameters) 4359 0 R (end-see-also) 4360 0 R (end-synopsis) 4361 0 R (equal) 4362 0 R (equal-complexity) 4363 0 R (equal-description) 4364 0 R (equal-example) 4365 0 R (equal-expression-semantics) 4366 0 R (equal-header) 4367 0 R (equal-model-of) 4368 0 R (equal-parameters) 4369 0 R (equal-see-also) 4370 0 R (equal-synopsis) 4371 0 R (equal-to) 4372 0 R (erase) 4373 0 R (erase-complexity) 4374 0 R (erase-description) 4375 0 R (erase-example) 4376 0 R (erase-expression-semantics) 4377 0 R (erase-header) 4378 0 R (erase-key) 4379 0 R (erase-model-of) 4380 0 R (erase-parameters) 4381 0 R (erase-see-also) 4382 0 R (erase-synopsis) 4383 0 R (eval-description) 4384 0 R (eval-example) 4385 0 R (eval-expression-semantics) 4386 0 R (eval-header) 4387 0 R (eval-if) 4388 0 R (eval-if-c) 4389 0 R (eval-parameters) 4390 0 R (eval-see-also) 4391 0 R (eval-synopsis) 4392 0 R (example) 4393 0 R (expression-requirements) 4394 0 R (expression-semantics) 4395 0 R (extensible-associative) 4396 0 R (extensible-description) 4397 0 R (extensible-expression-requirements) 4398 0 R (extensible-expression-semantics) 4399 0 R (extensible-models) 4400 0 R (extensible-see-also) 4401 0 R (extensible-sequence) 4402 0 R (filter-description) 4403 0 R (filter-example) 4404 0 R (filter-expression-semantics) 4405 0 R (filter-header) 4406 0 R (filter-model-of) 4407 0 R (filter-see-also) 4408 0 R (filter-synopsis) 4409 0 R (filter-view) 4410 0 R (find) 4411 0 R (find-complexity) 4412 0 R (find-description) 4413 0 R (find-example) 4414 0 R (find-expression-semantics) 4415 0 R (find-header) 4416 0 R (find-if) 4417 0 R (find-parameters) 4418 0 R (find-see-also) 4419 0 R (find-synopsis) 4420 0 R (fold) 4421 0 R (fold-complexity) 4422 0 R (fold-description) 4423 0 R (fold-example) 4424 0 R (fold-expression-semantics) 4425 0 R (fold-header) 4426 0 R (fold-parameters) 4427 0 R (fold-see-also) 4428 0 R (fold-synopsis) 4429 0 R (forward-definitions) 4430 0 R (forward-description) 4431 0 R (forward-expression-requirements) 4432 0 R (forward-expression-semantics) 4433 0 R (forward-invariants) 4434 0 R (forward-iterator) 4435 0 R (forward-see-also) 4436 0 R (forward-sequence) 4437 0 R (front) 4438 0 R (front-complexity) 4439 0 R (front-description) 4440 0 R (front-example) 4441 0 R (front-expression-requirements) 4442 0 R (front-expression-semantics) 4443 0 R (front-extensible-sequence) 4444 0 R (front-header) 4445 0 R (front-inserter) 4446 0 R (front-model-of) 4447 0 R (front-models) 4448 0 R (front-parameters) 4449 0 R (front-refinement-of) 4450 0 R (front-see-also) 4451 0 R (front-synopsis) 4452 0 R (greater) 4453 0 R (greater-complexity) 4454 0 R (greater-description) 4455 0 R (greater-equal) 4456 0 R (greater-example) 4457 0 R (greater-expression-semantics) 4458 0 R (greater-header) 4459 0 R (greater-model-of) 4460 0 R (greater-parameters) 4461 0 R (greater-see-also) 4462 0 R (greater-synopsis) 4463 0 R (has-complexity) 4464 0 R (has-description) 4465 0 R (has-example) 4466 0 R (has-expression-semantics) 4467 0 R (has-header) 4468 0 R (has-key) 4469 0 R (has-model-of) 4470 0 R (has-parameters) 4471 0 R (has-see-also) 4472 0 R (has-synopsis) 4473 0 R (has-xxx-trait-def) 4474 0 R (has-xxx-trait-named-def) 4475 0 R (header) 4476 0 R (id107) 4477 0 R (id122) 4478 0 R (id123) 4479 0 R (id124) 4480 0 R (id125) 4481 0 R (id126) 4482 0 R (id127) 4483 0 R (id128) 4484 0 R (id129) 4485 0 R (id131) 4486 0 R (id132) 4487 0 R (id133) 4488 0 R (id134) 4489 0 R (id135) 4490 0 R (id136) 4491 0 R (id137) 4492 0 R (id138) 4493 0 R (id140) 4494 0 R (id141) 4495 0 R (id142) 4496 0 R (id143) 4497 0 R (id144) 4498 0 R (id145) 4499 0 R (id146) 4500 0 R (id147) 4501 0 R (id148) 4502 0 R (id150) 4503 0 R (id151) 4504 0 R (id152) 4505 0 R (id153) 4506 0 R (id154) 4507 0 R (id155) 4508 0 R (id156) 4509 0 R (id157) 4510 0 R (id158) 4511 0 R (id160) 4512 0 R (id161) 4513 0 R (id162) 4514 0 R (id163) 4515 0 R (id164) 4516 0 R (id165) 4517 0 R (id166) 4518 0 R (id167) 4519 0 R (id168) 4520 0 R (id170) 4521 0 R (id171) 4522 0 R (id172) 4523 0 R (id173) 4524 0 R (id174) 4525 0 R (id175) 4526 0 R (id176) 4527 0 R (id177) 4528 0 R (id178) 4529 0 R (id180) 4530 0 R (id181) 4531 0 R (id182) 4532 0 R (id183) 4533 0 R (id184) 4534 0 R (id185) 4535 0 R (id186) 4536 0 R (id187) 4537 0 R (id188) 4538 0 R (id190) 4539 0 R (id191) 4540 0 R (id192) 4541 0 R (id193) 4542 0 R (id194) 4543 0 R (id195) 4544 0 R (id196) 4545 0 R (id197) 4546 0 R (id198) 4547 0 R (id201) 4548 0 R (id212) 4549 0 R (id217) 4550 0 R (id227) 4551 0 R (id235) 4552 0 R (id243) 4553 0 R (id248) 4554 0 R (id255) 4555 0 R (id262) 4556 0 R (id279) 4557 0 R (id290) 4558 0 R (id293) 4559 0 R (id294) 4560 0 R (id305) 4561 0 R (id306) 4562 0 R (id308) 4563 0 R (id309) 4564 0 R (id311) 4565 0 R (id312) 4566 0 R (id313) 4567 0 R (id314) 4568 0 R (id84) 4569 0 R (id87) 4570 0 R (id90) 4571 0 R (identity) 4572 0 R (identity-description) 4573 0 R (identity-example) 4574 0 R (identity-expression-semantics) 4575 0 R (identity-header) 4576 0 R (identity-model-of) 4577 0 R (identity-parameters) 4578 0 R (identity-see-also) 4579 0 R (identity-synopsis) 4580 0 R (if) 4581 0 R (if-c) 4582 0 R (if-description) 4583 0 R (if-example) 4584 0 R (if-expression-semantics) 4585 0 R (if-header) 4586 0 R (if-parameters) 4587 0 R (if-see-also) 4588 0 R (if-synopsis) 4589 0 R (inherit) 4590 0 R (inherit-complexity) 4591 0 R (inherit-description) 4592 0 R (inherit-example) 4593 0 R (inherit-expression-semantics) 4594 0 R (inherit-header) 4595 0 R (inherit-linearly) 4596 0 R (inherit-model-of) 4597 0 R (inherit-parameters) 4598 0 R (inherit-see-also) 4599 0 R (inherit-synopsis) 4600 0 R (insert) 4601 0 R (insert-complexity) 4602 0 R (insert-description) 4603 0 R (insert-example) 4604 0 R (insert-expression-semantics) 4605 0 R (insert-header) 4606 0 R (insert-model-of) 4607 0 R (insert-parameters) 4608 0 R (insert-range) 4609 0 R (insert-see-also) 4610 0 R (insert-synopsis) 4611 0 R (inserter) 4612 0 R (inserter-description) 4613 0 R (inserter-example) 4614 0 R (inserter-expression-semantics) 4615 0 R (inserter-models) 4616 0 R (inserter-see-also) 4617 0 R (inserters) 4618 0 R (inserters-back-complexity) 4619 0 R (inserters-back-description) 4620 0 R (inserters-back-example) 4621 0 R (inserters-back-expression-semantics) 4622 0 R (inserters-back-header) 4623 0 R (inserters-back-model-of) 4624 0 R (inserters-back-parameters) 4625 0 R (inserters-back-see-also) 4626 0 R (inserters-back-synopsis) 4627 0 R (inserters-complexity) 4628 0 R (inserters-description) 4629 0 R (inserters-example) 4630 0 R (inserters-expression-semantics) 4631 0 R (inserters-front-complexity) 4632 0 R (inserters-front-description) 4633 0 R (inserters-front-example) 4634 0 R (inserters-front-expression-semantics) 4635 0 R (inserters-front-header) 4636 0 R (inserters-front-model-of) 4637 0 R (inserters-front-parameters) 4638 0 R (inserters-front-see-also) 4639 0 R (inserters-front-synopsis) 4640 0 R (inserters-header) 4641 0 R (inserters-inserter) 4642 0 R (inserters-model-of) 4643 0 R (inserters-parameters) 4644 0 R (inserters-see-also) 4645 0 R (inserters-synopsis) 4646 0 R (int) 4647 0 R (int-description) 4648 0 R (int-example) 4649 0 R (int-expression-semantics) 4650 0 R (int-header) 4651 0 R (int-model-of) 4652 0 R (int-parameters) 4653 0 R (int-see-also) 4654 0 R (int-synopsis) 4655 0 R (integral-c) 4656 0 R (integral-constant) 4657 0 R (integral-description) 4658 0 R (integral-example) 4659 0 R (integral-expression-requirements) 4660 0 R (integral-expression-semantics) 4661 0 R (integral-header) 4662 0 R (integral-model-of) 4663 0 R (integral-models) 4664 0 R (integral-parameters) 4665 0 R (integral-see-also) 4666 0 R (integral-sequence-wrapper) 4667 0 R (integral-synopsis) 4668 0 R (intrinsic-at-description) 4669 0 R (intrinsic-at-example) 4670 0 R (intrinsic-at-expression-semantics) 4671 0 R (intrinsic-at-header) 4672 0 R (intrinsic-at-parameters) 4673 0 R (intrinsic-at-see-also) 4674 0 R (intrinsic-at-synopsis) 4675 0 R (intrinsic-back-description) 4676 0 R (intrinsic-back-expression-semantics) 4677 0 R (intrinsic-back-see-also) 4678 0 R (intrinsic-empty-description) 4679 0 R (intrinsic-empty-example) 4680 0 R (intrinsic-empty-expression-semantics) 4681 0 R (intrinsic-empty-header) 4682 0 R (intrinsic-empty-see-also) 4683 0 R (intrinsic-empty-synopsis) 4684 0 R (intrinsic-erase-complexity) 4685 0 R (intrinsic-erase-description) 4686 0 R (intrinsic-erase-example) 4687 0 R (intrinsic-erase-expression-semantics) 4688 0 R (intrinsic-erase-header) 4689 0 R (intrinsic-erase-model-of) 4690 0 R (intrinsic-erase-parameters) 4691 0 R (intrinsic-erase-see-also) 4692 0 R (intrinsic-erase-synopsis) 4693 0 R (intrinsic-front-description) 4694 0 R (intrinsic-front-expression-semantics) 4695 0 R (intrinsic-front-see-also) 4696 0 R (intrinsic-insert-complexity) 4697 0 R (intrinsic-insert-description) 4698 0 R (intrinsic-insert-example) 4699 0 R (intrinsic-insert-expression-semantics) 4700 0 R (intrinsic-insert-header) 4701 0 R (intrinsic-insert-model-of) 4702 0 R (intrinsic-insert-parameters) 4703 0 R (intrinsic-insert-see-also) 4704 0 R (intrinsic-insert-synopsis) 4705 0 R (intrinsic-metafunctions) 4706 0 R (intrinsic-pop-complexity) 4707 0 R (intrinsic-pop-description) 4708 0 R (intrinsic-pop-example) 4709 0 R (intrinsic-pop-expression-semantics) 4710 0 R (intrinsic-pop-header) 4711 0 R (intrinsic-pop-model-of) 4712 0 R (intrinsic-pop-parameters) 4713 0 R (intrinsic-pop-see-also) 4714 0 R (intrinsic-pop-synopsis) 4715 0 R (intrinsic-push-complexity) 4716 0 R (intrinsic-push-description) 4717 0 R (intrinsic-push-example) 4718 0 R (intrinsic-push-expression-semantics) 4719 0 R (intrinsic-push-header) 4720 0 R (intrinsic-push-model-of) 4721 0 R (intrinsic-push-parameters) 4722 0 R (intrinsic-push-see-also) 4723 0 R (intrinsic-push-synopsis) 4724 0 R (introspection) 4725 0 R (introspection-has-description) 4726 0 R (introspection-has-example) 4727 0 R (introspection-has-expression-semantics) 4728 0 R (introspection-has-header) 4729 0 R (introspection-has-parameters) 4730 0 R (introspection-has-see-also) 4731 0 R (introspection-has-synopsis) 4732 0 R (invariants) 4733 0 R (invocation) 4734 0 R (invocation-apply-description) 4735 0 R (invocation-apply-example) 4736 0 R (invocation-apply-expression-semantics) 4737 0 R (invocation-apply-header) 4738 0 R (invocation-apply-parameters) 4739 0 R (invocation-apply-see-also) 4740 0 R (invocation-apply-synopsis) 4741 0 R (is-complexity) 4742 0 R (is-description) 4743 0 R (is-example) 4744 0 R (is-expression-semantics) 4745 0 R (is-header) 4746 0 R (is-parameters) 4747 0 R (is-see-also) 4748 0 R (is-sequence) 4749 0 R (is-synopsis) 4750 0 R (iter-complexity) 4751 0 R (iter-description) 4752 0 R (iter-example) 4753 0 R (iter-expression-semantics) 4754 0 R (iter-fold) 4755 0 R (iter-header) 4756 0 R (iter-parameters) 4757 0 R (iter-see-also) 4758 0 R (iter-synopsis) 4759 0 R (iteration-algorithms) 4760 0 R (iteration-reverse-complexity) 4761 0 R (iteration-reverse-description) 4762 0 R (iteration-reverse-example) 4763 0 R (iteration-reverse-expression-semantics) 4764 0 R (iteration-reverse-header) 4765 0 R (iteration-reverse-parameters) 4766 0 R (iteration-reverse-see-also) 4767 0 R (iteration-reverse-synopsis) 4768 0 R (iterator-category) 4769 0 R (iterator-complexity) 4770 0 R (iterator-description) 4771 0 R (iterator-example) 4772 0 R (iterator-expression-semantics) 4773 0 R (iterator-header) 4774 0 R (iterator-iterator-description) 4775 0 R (iterator-iterator-example) 4776 0 R (iterator-iterator-expression-semantics) 4777 0 R (iterator-iterator-header) 4778 0 R (iterator-iterator-parameters) 4779 0 R (iterator-iterator-see-also) 4780 0 R (iterator-iterator-synopsis) 4781 0 R (iterator-metafunctions) 4782 0 R (iterator-model-of) 4783 0 R (iterator-parameters) 4784 0 R (iterator-range) 4785 0 R (iterator-see-also) 4786 0 R (iterator-synopsis) 4787 0 R (iterators) 4788 0 R (iterators-bidirectional-description) 4789 0 R (iterators-bidirectional-expression-requirements) 4790 0 R (iterators-bidirectional-expression-semantics) 4791 0 R (iterators-bidirectional-see-also) 4792 0 R (iterators-concepts) 4793 0 R (iterators-random-description) 4794 0 R (iterators-random-expression-requirements) 4795 0 R (iterators-random-expression-semantics) 4796 0 R (iterators-random-refinement-of) 4797 0 R (iterators-random-see-also) 4798 0 R (joint-description) 4799 0 R (joint-example) 4800 0 R (joint-expression-semantics) 4801 0 R (joint-header) 4802 0 R (joint-model-of) 4803 0 R (joint-parameters) 4804 0 R (joint-see-also) 4805 0 R (joint-synopsis) 4806 0 R (joint-view) 4807 0 R (key-complexity) 4808 0 R (key-description) 4809 0 R (key-example) 4810 0 R (key-expression-semantics) 4811 0 R (key-header) 4812 0 R (key-model-of) 4813 0 R (key-parameters) 4814 0 R (key-part) 4815 0 R (key-see-also) 4816 0 R (key-synopsis) 4817 0 R (key-type) 4818 0 R (label-acknowledgements) 4819 0 R (label-algorithms) 4820 0 R (label-algorithms-concepts) 4821 0 R (label-algorithms-querying) 4822 0 R (label-categorized-index) 4823 0 R (label-data-types) 4824 0 R (label-data-types-concepts) 4825 0 R (label-data-types-numeric) 4826 0 R (label-iterators) 4827 0 R (label-iterators-concepts) 4828 0 R (label-iterators-iterator) 4829 0 R (label-macros) 4830 0 R (label-macros-asserts) 4831 0 R (label-macros-broken) 4832 0 R (label-metafunctions) 4833 0 R (label-metafunctions-type) 4834 0 R (label-sequences) 4835 0 R (label-sequences-classes) 4836 0 R (label-sequences-concepts) 4837 0 R (label-sequences-intrinsic) 4838 0 R (label-sequences-views) 4839 0 R (label-terminology) 4840 0 R (lambda) 4841 0 R (lambda-description) 4842 0 R (lambda-example) 4843 0 R (lambda-expression) 4844 0 R (lambda-expression-requirements) 4845 0 R (lambda-expression-semantics) 4846 0 R (lambda-header) 4847 0 R (lambda-models) 4848 0 R (lambda-parameters) 4849 0 R (lambda-see-also) 4850 0 R (lambda-synopsis) 4851 0 R (less) 4852 0 R (less-complexity) 4853 0 R (less-description) 4854 0 R (less-equal) 4855 0 R (less-example) 4856 0 R (less-expression-semantics) 4857 0 R (less-header) 4858 0 R (less-model-of) 4859 0 R (less-parameters) 4860 0 R (less-see-also) 4861 0 R (less-synopsis) 4862 0 R (limit-description) 4863 0 R (limit-example) 4864 0 R (limit-list-size) 4865 0 R (limit-map-size) 4866 0 R (limit-metafunction-arity) 4867 0 R (limit-see-also) 4868 0 R (limit-set-size) 4869 0 R (limit-synopsis) 4870 0 R (limit-unrolling) 4871 0 R (limit-vector-size) 4872 0 R (list) 4873 0 R (list-c) 4874 0 R (list-description) 4875 0 R (list-example) 4876 0 R (list-expression-semantics) 4877 0 R (list-header) 4878 0 R (list-model-of) 4879 0 R (list-see-also) 4880 0 R (logical-not-description) 4881 0 R (logical-not-example) 4882 0 R (logical-not-expression-semantics) 4883 0 R (logical-not-header) 4884 0 R (logical-not-parameters) 4885 0 R (logical-not-see-also) 4886 0 R (logical-not-synopsis) 4887 0 R (logical-operations) 4888 0 R (long) 4889 0 R (long-description) 4890 0 R (long-example) 4891 0 R (long-expression-semantics) 4892 0 R (long-header) 4893 0 R (long-model-of) 4894 0 R (long-parameters) 4895 0 R (long-see-also) 4896 0 R (long-synopsis) 4897 0 R (lower-bound) 4898 0 R (lower-complexity) 4899 0 R (lower-description) 4900 0 R (lower-example) 4901 0 R (lower-expression-semantics) 4902 0 R (lower-header) 4903 0 R (lower-parameters) 4904 0 R (lower-see-also) 4905 0 R (lower-synopsis) 4906 0 R (macros) 4907 0 R (macros-asserts-assert-description) 4908 0 R (macros-asserts-assert-example) 4909 0 R (macros-asserts-assert-expression-semantics) 4910 0 R (macros-asserts-assert-header) 4911 0 R (macros-asserts-assert-parameters) 4912 0 R (macros-asserts-assert-see-also) 4913 0 R (macros-asserts-assert-synopsis) 4914 0 R (macros-configuration-limit-description) 4915 0 R (macros-configuration-limit-example) 4916 0 R (macros-configuration-limit-see-also) 4917 0 R (macros-configuration-limit-synopsis) 4918 0 R (macros-introspection-has-description) 4919 0 R (macros-introspection-has-example) 4920 0 R (macros-introspection-has-expression-semantics) 4921 0 R (macros-introspection-has-header) 4922 0 R (macros-introspection-has-parameters) 4923 0 R (macros-introspection-has-see-also) 4924 0 R (macros-introspection-has-synopsis) 4925 0 R (map) 4926 0 R (map-description) 4927 0 R (map-example) 4928 0 R (map-expression-semantics) 4929 0 R (map-header) 4930 0 R (map-model-of) 4931 0 R (map-see-also) 4932 0 R (max) 4933 0 R (max-complexity) 4934 0 R (max-description) 4935 0 R (max-element) 4936 0 R (max-example) 4937 0 R (max-expression-semantics) 4938 0 R (max-header) 4939 0 R (max-model-of) 4940 0 R (max-parameters) 4941 0 R (max-see-also) 4942 0 R (max-synopsis) 4943 0 R (metafunction) 4944 0 R (metafunction-class) 4945 0 R (metafunction-description) 4946 0 R (metafunction-expression-requirements) 4947 0 R (metafunction-expression-semantics) 4948 0 R (metafunction-models) 4949 0 R (metafunction-see-also) 4950 0 R (metafunctions) 4951 0 R (metafunctions-concepts) 4952 0 R (metafunctions-metafunction-expression-requirements) 4953 0 R (metafunctions-metafunction-expression-semantics) 4954 0 R (metafunctions-metafunction-models) 4955 0 R (metafunctions-metafunction-see-also) 4956 0 R (min) 4957 0 R (min-complexity) 4958 0 R (min-description) 4959 0 R (min-element) 4960 0 R (min-example) 4961 0 R (min-expression-semantics) 4962 0 R (min-header) 4963 0 R (min-model-of) 4964 0 R (min-parameters) 4965 0 R (min-see-also) 4966 0 R (min-synopsis) 4967 0 R (minus) 4968 0 R (minus-complexity) 4969 0 R (minus-description) 4970 0 R (minus-example) 4971 0 R (minus-expression-semantics) 4972 0 R (minus-header) 4973 0 R (minus-model-of) 4974 0 R (minus-parameters) 4975 0 R (minus-see-also) 4976 0 R (minus-synopsis) 4977 0 R (miscellaneous) 4978 0 R (miscellaneous-inherit-complexity) 4979 0 R (miscellaneous-inherit-description) 4980 0 R (miscellaneous-inherit-example) 4981 0 R (miscellaneous-inherit-expression-semantics) 4982 0 R (miscellaneous-inherit-header) 4983 0 R (miscellaneous-inherit-model-of) 4984 0 R (miscellaneous-inherit-parameters) 4985 0 R (miscellaneous-inherit-see-also) 4986 0 R (miscellaneous-inherit-synopsis) 4987 0 R (miscellaneous-max-complexity) 4988 0 R (miscellaneous-max-description) 4989 0 R (miscellaneous-max-example) 4990 0 R (miscellaneous-max-expression-semantics) 4991 0 R (miscellaneous-max-header) 4992 0 R (miscellaneous-max-parameters) 4993 0 R (miscellaneous-max-see-also) 4994 0 R (miscellaneous-max-synopsis) 4995 0 R (miscellaneous-min-complexity) 4996 0 R (miscellaneous-min-description) 4997 0 R (miscellaneous-min-example) 4998 0 R (miscellaneous-min-expression-semantics) 4999 0 R (miscellaneous-min-header) 5000 0 R (miscellaneous-min-parameters) 5001 0 R (miscellaneous-min-see-also) 5002 0 R (miscellaneous-min-synopsis) 5003 0 R (miscellaneous-numeric-description) 5004 0 R (miscellaneous-numeric-example) 5005 0 R (miscellaneous-numeric-expression-semantics) 5006 0 R (miscellaneous-numeric-see-also) 5007 0 R (model-of) 5008 0 R (models) 5009 0 R (modulus) 5010 0 R (modulus-complexity) 5011 0 R (modulus-description) 5012 0 R (modulus-example) 5013 0 R (modulus-expression-semantics) 5014 0 R (modulus-header) 5015 0 R (modulus-model-of) 5016 0 R (modulus-parameters) 5017 0 R (modulus-see-also) 5018 0 R (modulus-synopsis) 5019 0 R (negate) 5020 0 R (negate-complexity) 5021 0 R (negate-description) 5022 0 R (negate-example) 5023 0 R (negate-expression-semantics) 5024 0 R (negate-header) 5025 0 R (negate-model-of) 5026 0 R (negate-parameters) 5027 0 R (negate-see-also) 5028 0 R (negate-synopsis) 5029 0 R (next) 5030 0 R (next-complexity) 5031 0 R (next-description) 5032 0 R (next-example) 5033 0 R (next-expression-semantics) 5034 0 R (next-header) 5035 0 R (next-parameters) 5036 0 R (next-see-also) 5037 0 R (next-synopsis) 5038 0 R (not) 5039 0 R (not-complexity) 5040 0 R (not-description) 5041 0 R (not-equal-to) 5042 0 R (not-example) 5043 0 R (not-expression-semantics) 5044 0 R (not-header) 5045 0 R (not-model-of) 5046 0 R (not-parameters) 5047 0 R (not-see-also) 5048 0 R (not-synopsis) 5049 0 R (notation) 5050 0 R (nullary-metafunction) 5051 0 R (numeric) 5052 0 R (numeric-cast) 5053 0 R (numeric-complexity) 5054 0 R (numeric-description) 5055 0 R (numeric-example) 5056 0 R (numeric-expression-requirements) 5057 0 R (numeric-expression-semantics) 5058 0 R (numeric-header) 5059 0 R (numeric-integral-description) 5060 0 R (numeric-integral-expression-semantics) 5061 0 R (numeric-integral-see-also) 5062 0 R (numeric-metafunction) 5063 0 R (numeric-models) 5064 0 R (numeric-parameters) 5065 0 R (numeric-see-also) 5066 0 R (numeric-size-description) 5067 0 R (numeric-size-example) 5068 0 R (numeric-size-expression-semantics) 5069 0 R (numeric-size-header) 5070 0 R (numeric-size-model-of) 5071 0 R (numeric-size-parameters) 5072 0 R (numeric-size-see-also) 5073 0 R (numeric-size-synopsis) 5074 0 R (numeric-synopsis) 5075 0 R (or) 5076 0 R (or-description) 5077 0 R (or-example) 5078 0 R (or-expression-semantics) 5079 0 R (or-header) 5080 0 R (or-parameters) 5081 0 R (or-see-also) 5082 0 R (or-synopsis) 5083 0 R (order) 5084 0 R (order-complexity) 5085 0 R (order-description) 5086 0 R (order-example) 5087 0 R (order-expression-semantics) 5088 0 R (order-header) 5089 0 R (order-model-of) 5090 0 R (order-parameters) 5091 0 R (order-see-also) 5092 0 R (order-synopsis) 5093 0 R (overloaded-name) 5094 0 R (page.1) 5095 0 R (page.10) 5096 0 R (page.100) 5097 0 R (page.101) 5098 0 R (page.102) 5099 0 R (page.103) 5100 0 R (page.104) 5101 0 R (page.105) 5102 0 R (page.106) 5103 0 R (page.107) 5104 0 R (page.108) 5105 0 R (page.109) 5106 0 R (page.11) 5107 0 R (page.110) 5108 0 R (page.111) 5109 0 R (page.112) 5110 0 R (page.113) 5111 0 R (page.114) 5112 0 R (page.115) 5113 0 R (page.116) 5114 0 R (page.117) 5115 0 R (page.118) 5116 0 R (page.119) 5117 0 R (page.12) 5118 0 R (page.120) 5119 0 R (page.121) 5120 0 R (page.122) 5121 0 R (page.123) 5122 0 R (page.124) 5123 0 R (page.125) 5124 0 R (page.126) 5125 0 R (page.127) 5126 0 R (page.128) 5127 0 R (page.129) 5128 0 R (page.13) 5129 0 R (page.130) 5130 0 R (page.131) 5131 0 R (page.132) 5132 0 R (page.133) 5133 0 R (page.134) 5134 0 R (page.135) 5135 0 R (page.136) 5136 0 R (page.137) 5137 0 R (page.138) 5138 0 R (page.139) 5139 0 R (page.14) 5140 0 R (page.140) 5141 0 R (page.141) 5142 0 R (page.142) 5143 0 R (page.143) 5144 0 R (page.144) 5145 0 R (page.145) 5146 0 R (page.146) 5147 0 R (page.147) 5148 0 R (page.148) 5149 0 R (page.149) 5150 0 R (page.15) 5151 0 R (page.150) 5152 0 R (page.151) 5153 0 R (page.152) 5154 0 R (page.153) 5155 0 R (page.154) 5156 0 R (page.155) 5157 0 R (page.156) 5158 0 R (page.157) 5159 0 R (page.158) 5160 0 R (page.159) 5161 0 R (page.16) 5162 0 R (page.160) 5163 0 R (page.161) 5164 0 R (page.162) 5165 0 R (page.163) 5166 0 R (page.164) 5167 0 R (page.165) 5168 0 R (page.166) 5169 0 R (page.167) 5170 0 R (page.168) 5171 0 R (page.169) 5172 0 R (page.17) 5173 0 R (page.170) 5174 0 R (page.171) 5175 0 R (page.172) 5176 0 R (page.173) 5177 0 R (page.174) 5178 0 R (page.175) 5179 0 R (page.176) 5180 0 R (page.177) 5181 0 R (page.178) 5182 0 R (page.179) 5183 0 R (page.18) 5184 0 R (page.180) 5185 0 R (page.181) 5186 0 R (page.182) 5187 0 R (page.183) 5188 0 R (page.184) 5189 0 R (page.185) 5190 0 R (page.186) 5191 0 R (page.187) 5192 0 R (page.188) 5193 0 R (page.189) 5194 0 R (page.19) 5195 0 R (page.190) 5196 0 R (page.191) 5197 0 R (page.192) 5198 0 R (page.193) 5199 0 R (page.194) 5200 0 R (page.195) 5201 0 R (page.196) 5202 0 R (page.197) 5203 0 R (page.198) 5204 0 R (page.199) 5205 0 R (page.2) 5206 0 R (page.20) 5207 0 R (page.200) 5208 0 R (page.201) 5209 0 R (page.202) 5210 0 R (page.203) 5211 0 R (page.204) 5212 0 R (page.205) 5213 0 R (page.206) 5214 0 R (page.207) 5215 0 R (page.208) 5216 0 R (page.209) 5217 0 R (page.21) 5218 0 R (page.210) 5219 0 R (page.211) 5220 0 R (page.212) 5221 0 R (page.213) 5222 0 R (page.214) 5223 0 R (page.215) 5224 0 R (page.216) 5225 0 R (page.217) 5226 0 R (page.218) 5227 0 R (page.219) 5228 0 R (page.22) 5229 0 R (page.220) 5230 0 R (page.221) 5231 0 R (page.222) 5232 0 R (page.223) 5233 0 R (page.224) 5234 0 R (page.225) 5235 0 R (page.226) 5236 0 R (page.227) 5237 0 R (page.228) 5238 0 R (page.229) 5239 0 R (page.23) 5240 0 R (page.230) 5241 0 R (page.231) 5242 0 R (page.232) 5243 0 R (page.233) 5244 0 R (page.234) 5245 0 R (page.235) 5246 0 R (page.236) 5247 0 R (page.237) 5248 0 R (page.238) 5249 0 R (page.239) 5250 0 R (page.24) 5251 0 R (page.240) 5252 0 R (page.241) 5253 0 R (page.242) 5254 0 R (page.243) 5255 0 R (page.244) 5256 0 R (page.245) 5257 0 R (page.25) 5258 0 R (page.26) 5259 0 R (page.27) 5260 0 R (page.28) 5261 0 R (page.29) 5262 0 R (page.3) 5263 0 R (page.30) 5264 0 R (page.31) 5265 0 R (page.32) 5266 0 R (page.33) 5267 0 R (page.34) 5268 0 R (page.35) 5269 0 R (page.36) 5270 0 R (page.37) 5271 0 R (page.38) 5272 0 R (page.39) 5273 0 R (page.4) 5274 0 R (page.40) 5275 0 R (page.41) 5276 0 R (page.42) 5277 0 R (page.43) 5278 0 R (page.44) 5279 0 R (page.45) 5280 0 R (page.46) 5281 0 R (page.47) 5282 0 R (page.48) 5283 0 R (page.49) 5284 0 R (page.5) 5285 0 R (page.50) 5286 0 R (page.51) 5287 0 R (page.52) 5288 0 R (page.53) 5289 0 R (page.54) 5290 0 R (page.55) 5291 0 R (page.56) 5292 0 R (page.57) 5293 0 R (page.58) 5294 0 R (page.59) 5295 0 R (page.6) 5296 0 R (page.60) 5297 0 R (page.61) 5298 0 R (page.62) 5299 0 R (page.63) 5300 0 R (page.64) 5301 0 R (page.65) 5302 0 R (page.66) 5303 0 R (page.67) 5304 0 R (page.68) 5305 0 R (page.69) 5306 0 R (page.7) 5307 0 R (page.70) 5308 0 R (page.71) 5309 0 R (page.72) 5310 0 R (page.73) 5311 0 R (page.74) 5312 0 R (page.75) 5313 0 R (page.76) 5314 0 R (page.77) 5315 0 R (page.78) 5316 0 R (page.79) 5317 0 R (page.8) 5318 0 R (page.80) 5319 0 R (page.81) 5320 0 R (page.82) 5321 0 R (page.83) 5322 0 R (page.84) 5323 0 R (page.85) 5324 0 R (page.86) 5325 0 R (page.87) 5326 0 R (page.88) 5327 0 R (page.89) 5328 0 R (page.9) 5329 0 R (page.90) 5330 0 R (page.91) 5331 0 R (page.92) 5332 0 R (page.93) 5333 0 R (page.94) 5334 0 R (page.95) 5335 0 R (page.96) 5336 0 R (page.97) 5337 0 R (page.98) 5338 0 R (page.99) 5339 0 R (pair) 5340 0 R (pair-description) 5341 0 R (pair-example) 5342 0 R (pair-header) 5343 0 R (pair-see-also) 5344 0 R (pair-synopsis) 5345 0 R (parameters) 5346 0 R (partition) 5347 0 R (partition-complexity) 5348 0 R (partition-description) 5349 0 R (partition-example) 5350 0 R (partition-expression-semantics) 5351 0 R (partition-header) 5352 0 R (partition-model-of) 5353 0 R (partition-parameters) 5354 0 R (partition-see-also) 5355 0 R (partition-synopsis) 5356 0 R (placeholder-description) 5357 0 R (placeholder-expression) 5358 0 R (placeholder-expression-requirements) 5359 0 R (placeholder-models) 5360 0 R (placeholder-see-also) 5361 0 R (placeholders) 5362 0 R (placeholders-description) 5363 0 R (placeholders-example) 5364 0 R (placeholders-expression-semantics) 5365 0 R (placeholders-header) 5366 0 R (placeholders-parameters) 5367 0 R (placeholders-see-also) 5368 0 R (placeholders-synopsis) 5369 0 R (plus) 5370 0 R (plus-complexity) 5371 0 R (plus-description) 5372 0 R (plus-example) 5373 0 R (plus-expression-semantics) 5374 0 R (plus-header) 5375 0 R (plus-model-of) 5376 0 R (plus-parameters) 5377 0 R (plus-see-also) 5378 0 R (plus-synopsis) 5379 0 R (pop-back) 5380 0 R (pop-complexity) 5381 0 R (pop-description) 5382 0 R (pop-example) 5383 0 R (pop-expression-semantics) 5384 0 R (pop-front) 5385 0 R (pop-header) 5386 0 R (pop-model-of) 5387 0 R (pop-parameters) 5388 0 R (pop-see-also) 5389 0 R (pop-synopsis) 5390 0 R (prior) 5391 0 R (prior-complexity) 5392 0 R (prior-description) 5393 0 R (prior-example) 5394 0 R (prior-expression-semantics) 5395 0 R (prior-header) 5396 0 R (prior-parameters) 5397 0 R (prior-see-also) 5398 0 R (prior-synopsis) 5399 0 R (protect) 5400 0 R (protect-description) 5401 0 R (protect-example) 5402 0 R (protect-expression-semantics) 5403 0 R (protect-header) 5404 0 R (protect-parameters) 5405 0 R (protect-see-also) 5406 0 R (protect-synopsis) 5407 0 R (push-back) 5408 0 R (push-complexity) 5409 0 R (push-description) 5410 0 R (push-example) 5411 0 R (push-expression-semantics) 5412 0 R (push-front) 5413 0 R (push-header) 5414 0 R (push-model-of) 5415 0 R (push-parameters) 5416 0 R (push-see-also) 5417 0 R (push-synopsis) 5418 0 R (querying-algorithms) 5419 0 R (querying-count-complexity) 5420 0 R (querying-count-description) 5421 0 R (querying-count-example) 5422 0 R (querying-count-expression-semantics) 5423 0 R (querying-count-header) 5424 0 R (querying-count-parameters) 5425 0 R (querying-count-see-also) 5426 0 R (querying-count-synopsis) 5427 0 R (querying-find-complexity) 5428 0 R (querying-find-description) 5429 0 R (querying-find-example) 5430 0 R (querying-find-expression-semantics) 5431 0 R (querying-find-header) 5432 0 R (querying-find-parameters) 5433 0 R (querying-find-see-also) 5434 0 R (querying-find-synopsis) 5435 0 R (quote) 5436 0 R (quote-description) 5437 0 R (quote-example) 5438 0 R (quote-expression-semantics) 5439 0 R (quote-header) 5440 0 R (quote-model-of) 5441 0 R (quote-parameters) 5442 0 R (quote-see-also) 5443 0 R (quote-synopsis) 5444 0 R (random-access-iterator) 5445 0 R (random-access-sequence) 5446 0 R (random-description) 5447 0 R (random-expression-requirements) 5448 0 R (random-expression-semantics) 5449 0 R (random-invariants) 5450 0 R (random-models) 5451 0 R (random-refinement-of) 5452 0 R (random-see-also) 5453 0 R (range-c) 5454 0 R (range-description) 5455 0 R (range-example) 5456 0 R (range-expression-semantics) 5457 0 R (range-header) 5458 0 R (range-model-of) 5459 0 R (range-see-also) 5460 0 R (refinement-of) 5461 0 R (remove) 5462 0 R (remove-complexity) 5463 0 R (remove-description) 5464 0 R (remove-example) 5465 0 R (remove-expression-semantics) 5466 0 R (remove-header) 5467 0 R (remove-if) 5468 0 R (remove-model-of) 5469 0 R (remove-parameters) 5470 0 R (remove-see-also) 5471 0 R (remove-synopsis) 5472 0 R (replace) 5473 0 R (replace-complexity) 5474 0 R (replace-description) 5475 0 R (replace-example) 5476 0 R (replace-expression-semantics) 5477 0 R (replace-header) 5478 0 R (replace-if) 5479 0 R (replace-model-of) 5480 0 R (replace-parameters) 5481 0 R (replace-see-also) 5482 0 R (replace-synopsis) 5483 0 R (reverse) 5484 0 R (reverse-complexity) 5485 0 R (reverse-copy) 5486 0 R (reverse-copy-if) 5487 0 R (reverse-description) 5488 0 R (reverse-example) 5489 0 R (reverse-expression-semantics) 5490 0 R (reverse-fold) 5491 0 R (reverse-header) 5492 0 R (reverse-iter-fold) 5493 0 R (reverse-model-of) 5494 0 R (reverse-parameters) 5495 0 R (reverse-partition) 5496 0 R (reverse-remove) 5497 0 R (reverse-remove-if) 5498 0 R (reverse-replace) 5499 0 R (reverse-replace-if) 5500 0 R (reverse-see-also) 5501 0 R (reverse-stable-partition) 5502 0 R (reverse-synopsis) 5503 0 R (reverse-transform) 5504 0 R (reverse-unique) 5505 0 R (reversible-algorithm) 5506 0 R (reversible-description) 5507 0 R (reversible-example) 5508 0 R (reversible-expression-requirements) 5509 0 R (reversible-expression-semantics) 5510 0 R (reversible-models) 5511 0 R (reversible-see-also) 5512 0 R (section*.10) 5513 0 R (section*.100) 5514 0 R (section*.1000) 5515 0 R (section*.1001) 5516 0 R (section*.1002) 5517 0 R (section*.1003) 5518 0 R (section*.1004) 5519 0 R (section*.1005) 5520 0 R (section*.1006) 5521 0 R (section*.1007) 5522 0 R (section*.1008) 5523 0 R (section*.1009) 5524 0 R (section*.101) 5525 0 R (section*.1010) 5526 0 R (section*.1011) 5527 0 R (section*.1012) 5528 0 R (section*.1013) 5529 0 R (section*.1014) 5530 0 R (section*.1015) 5531 0 R (section*.1016) 5532 0 R (section*.1017) 5533 0 R (section*.1018) 5534 0 R (section*.1019) 5535 0 R (section*.102) 5536 0 R (section*.1020) 5537 0 R (section*.1021) 5538 0 R (section*.1022) 5539 0 R (section*.1023) 5540 0 R (section*.1024) 5541 0 R (section*.1025) 5542 0 R (section*.1026) 5543 0 R (section*.1027) 5544 0 R (section*.1028) 5545 0 R (section*.1029) 5546 0 R (section*.103) 5547 0 R (section*.1030) 5548 0 R (section*.1031) 5549 0 R (section*.1032) 5550 0 R (section*.1033) 5551 0 R (section*.1034) 5552 0 R (section*.1035) 5553 0 R (section*.1036) 5554 0 R (section*.1037) 5555 0 R (section*.1038) 5556 0 R (section*.1039) 5557 0 R (section*.104) 5558 0 R (section*.1040) 5559 0 R (section*.1041) 5560 0 R (section*.1042) 5561 0 R (section*.1043) 5562 0 R (section*.1044) 5563 0 R (section*.1045) 5564 0 R (section*.1046) 5565 0 R (section*.1047) 5566 0 R (section*.1048) 5567 0 R (section*.1049) 5568 0 R (section*.105) 5569 0 R (section*.1050) 5570 0 R (section*.1051) 5571 0 R (section*.1052) 5572 0 R (section*.1053) 5573 0 R (section*.1054) 5574 0 R (section*.1055) 5575 0 R (section*.1056) 5576 0 R (section*.1057) 5577 0 R (section*.1058) 5578 0 R (section*.1059) 5579 0 R (section*.106) 5580 0 R (section*.1060) 5581 0 R (section*.1061) 5582 0 R (section*.1062) 5583 0 R (section*.1063) 5584 0 R (section*.1064) 5585 0 R (section*.1065) 5586 0 R (section*.1066) 5587 0 R (section*.1067) 5588 0 R (section*.1068) 5589 0 R (section*.1069) 5590 0 R (section*.107) 5591 0 R (section*.1070) 5592 0 R (section*.1071) 5593 0 R (section*.1072) 5594 0 R (section*.1073) 5595 0 R (section*.1074) 5596 0 R (section*.1075) 5597 0 R (section*.1076) 5598 0 R (section*.1077) 5599 0 R (section*.1078) 5600 0 R (section*.1079) 5601 0 R (section*.108) 5602 0 R (section*.1080) 5603 0 R (section*.1081) 5604 0 R (section*.1082) 5605 0 R (section*.1083) 5606 0 R (section*.1084) 5607 0 R (section*.1085) 5608 0 R (section*.1086) 5609 0 R (section*.1087) 5610 0 R (section*.1088) 5611 0 R (section*.1089) 5612 0 R (section*.109) 5613 0 R (section*.1090) 5614 0 R (section*.1091) 5615 0 R (section*.1092) 5616 0 R (section*.1093) 5617 0 R (section*.1094) 5618 0 R (section*.1095) 5619 0 R (section*.1096) 5620 0 R (section*.1097) 5621 0 R (section*.1098) 5622 0 R (section*.1099) 5623 0 R (section*.11) 5624 0 R (section*.110) 5625 0 R (section*.1100) 5626 0 R (section*.1101) 5627 0 R (section*.1102) 5628 0 R (section*.1103) 5629 0 R (section*.1104) 5630 0 R (section*.1105) 5631 0 R (section*.1106) 5632 0 R (section*.1107) 5633 0 R (section*.1108) 5634 0 R (section*.1109) 5635 0 R (section*.111) 5636 0 R (section*.1110) 5637 0 R (section*.1111) 5638 0 R (section*.1112) 5639 0 R (section*.1113) 5640 0 R (section*.1114) 5641 0 R (section*.1115) 5642 0 R (section*.1116) 5643 0 R (section*.1117) 5644 0 R (section*.1118) 5645 0 R (section*.1119) 5646 0 R (section*.112) 5647 0 R (section*.1120) 5648 0 R (section*.1121) 5649 0 R (section*.1122) 5650 0 R (section*.1123) 5651 0 R (section*.1124) 5652 0 R (section*.1125) 5653 0 R (section*.1126) 5654 0 R (section*.1127) 5655 0 R (section*.1128) 5656 0 R (section*.1129) 5657 0 R (section*.113) 5658 0 R (section*.1130) 5659 0 R (section*.1131) 5660 0 R (section*.1132) 5661 0 R (section*.1133) 5662 0 R (section*.1134) 5663 0 R (section*.1135) 5664 0 R (section*.1136) 5665 0 R (section*.1137) 5666 0 R (section*.1138) 5667 0 R (section*.1139) 5668 0 R (section*.114) 5669 0 R (section*.1140) 5670 0 R (section*.1141) 5671 0 R (section*.1142) 5672 0 R (section*.1143) 5673 0 R (section*.1144) 5674 0 R (section*.1145) 5675 0 R (section*.1146) 5676 0 R (section*.1147) 5677 0 R (section*.1148) 5678 0 R (section*.1149) 5679 0 R (section*.115) 5680 0 R (section*.1150) 5681 0 R (section*.1151) 5682 0 R (section*.1152) 5683 0 R (section*.1153) 5684 0 R (section*.1154) 5685 0 R (section*.1155) 5686 0 R (section*.1156) 5687 0 R (section*.1157) 5688 0 R (section*.1158) 5689 0 R (section*.1159) 5690 0 R (section*.116) 5691 0 R (section*.1160) 5692 0 R (section*.1161) 5693 0 R (section*.1162) 5694 0 R (section*.1163) 5695 0 R (section*.1164) 5696 0 R (section*.1165) 5697 0 R (section*.1166) 5698 0 R (section*.1167) 5699 0 R (section*.1168) 5700 0 R (section*.1169) 5701 0 R (section*.117) 5702 0 R (section*.1170) 5703 0 R (section*.1171) 5704 0 R (section*.1172) 5705 0 R (section*.1173) 5706 0 R (section*.1174) 5707 0 R (section*.1175) 5708 0 R (section*.1176) 5709 0 R (section*.1177) 5710 0 R (section*.1178) 5711 0 R (section*.1179) 5712 0 R (section*.118) 5713 0 R (section*.1180) 5714 0 R (section*.1181) 5715 0 R (section*.1182) 5716 0 R (section*.1183) 5717 0 R (section*.1184) 5718 0 R (section*.1185) 5719 0 R (section*.1186) 5720 0 R (section*.1187) 5721 0 R (section*.1188) 5722 0 R (section*.1189) 5723 0 R (section*.119) 5724 0 R (section*.1190) 5725 0 R (section*.1191) 5726 0 R (section*.1192) 5727 0 R (section*.1193) 5728 0 R (section*.1194) 5729 0 R (section*.1195) 5730 0 R (section*.1196) 5731 0 R (section*.1197) 5732 0 R (section*.1198) 5733 0 R (section*.1199) 5734 0 R (section*.12) 5735 0 R (section*.120) 5736 0 R (section*.1200) 5737 0 R (section*.1201) 5738 0 R (section*.1202) 5739 0 R (section*.1203) 5740 0 R (section*.1204) 5741 0 R (section*.1205) 5742 0 R (section*.1206) 5743 0 R (section*.1207) 5744 0 R (section*.1208) 5745 0 R (section*.1209) 5746 0 R (section*.121) 5747 0 R (section*.1210) 5748 0 R (section*.1211) 5749 0 R (section*.1212) 5750 0 R (section*.1213) 5751 0 R (section*.1214) 5752 0 R (section*.1215) 5753 0 R (section*.1216) 5754 0 R (section*.1217) 5755 0 R (section*.1218) 5756 0 R (section*.1219) 5757 0 R (section*.122) 5758 0 R (section*.1220) 5759 0 R (section*.1221) 5760 0 R (section*.1222) 5761 0 R (section*.1223) 5762 0 R (section*.1224) 5763 0 R (section*.1225) 5764 0 R (section*.1226) 5765 0 R (section*.1227) 5766 0 R (section*.1228) 5767 0 R (section*.1229) 5768 0 R (section*.123) 5769 0 R (section*.1230) 5770 0 R (section*.1231) 5771 0 R (section*.1232) 5772 0 R (section*.1233) 5773 0 R (section*.1234) 5774 0 R (section*.1235) 5775 0 R (section*.1236) 5776 0 R (section*.1237) 5777 0 R (section*.1238) 5778 0 R (section*.1239) 5779 0 R (section*.124) 5780 0 R (section*.1240) 5781 0 R (section*.1241) 5782 0 R (section*.1242) 5783 0 R (section*.1243) 5784 0 R (section*.1244) 5785 0 R (section*.1245) 5786 0 R (section*.1246) 5787 0 R (section*.1247) 5788 0 R (section*.1248) 5789 0 R (section*.1249) 5790 0 R (section*.125) 5791 0 R (section*.1250) 5792 0 R (section*.1251) 5793 0 R (section*.1252) 5794 0 R (section*.1253) 5795 0 R (section*.1254) 5796 0 R (section*.1255) 5797 0 R (section*.1256) 5798 0 R (section*.1257) 5799 0 R (section*.1258) 5800 0 R (section*.1259) 5801 0 R (section*.126) 5802 0 R (section*.1260) 5803 0 R (section*.1261) 5804 0 R (section*.1262) 5805 0 R (section*.1263) 5806 0 R (section*.1264) 5807 0 R (section*.1265) 5808 0 R (section*.1266) 5809 0 R (section*.1267) 5810 0 R (section*.1268) 5811 0 R (section*.1269) 5812 0 R (section*.127) 5813 0 R (section*.1270) 5814 0 R (section*.1271) 5815 0 R (section*.1272) 5816 0 R (section*.1273) 5817 0 R (section*.1274) 5818 0 R (section*.1275) 5819 0 R (section*.1276) 5820 0 R (section*.1277) 5821 0 R (section*.1278) 5822 0 R (section*.1279) 5823 0 R (section*.128) 5824 0 R (section*.1280) 5825 0 R (section*.1281) 5826 0 R (section*.1282) 5827 0 R (section*.1283) 5828 0 R (section*.1284) 5829 0 R (section*.1285) 5830 0 R (section*.1286) 5831 0 R (section*.1287) 5832 0 R (section*.1288) 5833 0 R (section*.1289) 5834 0 R (section*.129) 5835 0 R (section*.1290) 5836 0 R (section*.1291) 5837 0 R (section*.1292) 5838 0 R (section*.1293) 5839 0 R (section*.1294) 5840 0 R (section*.1295) 5841 0 R (section*.1296) 5842 0 R (section*.1297) 5843 0 R (section*.1298) 5844 0 R (section*.1299) 5845 0 R (section*.13) 5846 0 R (section*.130) 5847 0 R (section*.1300) 5848 0 R (section*.1301) 5849 0 R (section*.1302) 5850 0 R (section*.1303) 5851 0 R (section*.1304) 5852 0 R (section*.1305) 5853 0 R (section*.1306) 5854 0 R (section*.1307) 5855 0 R (section*.1308) 5856 0 R (section*.131) 5857 0 R (section*.1310) 5858 0 R (section*.132) 5859 0 R (section*.133) 5860 0 R (section*.134) 5861 0 R (section*.135) 5862 0 R (section*.136) 5863 0 R (section*.137) 5864 0 R (section*.138) 5865 0 R (section*.139) 5866 0 R (section*.14) 5867 0 R (section*.140) 5868 0 R (section*.141) 5869 0 R (section*.142) 5870 0 R (section*.143) 5871 0 R (section*.144) 5872 0 R (section*.145) 5873 0 R (section*.146) 5874 0 R (section*.147) 5875 0 R (section*.148) 5876 0 R (section*.149) 5877 0 R (section*.15) 5878 0 R (section*.150) 5879 0 R (section*.151) 5880 0 R (section*.152) 5881 0 R (section*.153) 5882 0 R (section*.154) 5883 0 R (section*.155) 5884 0 R (section*.156) 5885 0 R (section*.157) 5886 0 R (section*.158) 5887 0 R (section*.159) 5888 0 R (section*.16) 5889 0 R (section*.160) 5890 0 R (section*.161) 5891 0 R (section*.162) 5892 0 R (section*.163) 5893 0 R (section*.164) 5894 0 R (section*.165) 5895 0 R (section*.166) 5896 0 R (section*.167) 5897 0 R (section*.168) 5898 0 R (section*.169) 5899 0 R (section*.17) 5900 0 R (section*.170) 5901 0 R (section*.171) 5902 0 R (section*.172) 5903 0 R (section*.173) 5904 0 R (section*.174) 5905 0 R (section*.175) 5906 0 R (section*.176) 5907 0 R (section*.177) 5908 0 R (section*.178) 5909 0 R (section*.179) 5910 0 R (section*.18) 5911 0 R (section*.180) 5912 0 R (section*.181) 5913 0 R (section*.182) 5914 0 R (section*.183) 5915 0 R (section*.184) 5916 0 R (section*.185) 5917 0 R (section*.186) 5918 0 R (section*.187) 5919 0 R (section*.188) 5920 0 R (section*.189) 5921 0 R (section*.19) 5922 0 R (section*.190) 5923 0 R (section*.191) 5924 0 R (section*.192) 5925 0 R (section*.193) 5926 0 R (section*.194) 5927 0 R (section*.195) 5928 0 R (section*.196) 5929 0 R (section*.197) 5930 0 R (section*.198) 5931 0 R (section*.199) 5932 0 R (section*.2) 5933 0 R (section*.20) 5934 0 R (section*.200) 5935 0 R (section*.201) 5936 0 R (section*.202) 5937 0 R (section*.203) 5938 0 R (section*.204) 5939 0 R (section*.205) 5940 0 R (section*.206) 5941 0 R (section*.207) 5942 0 R (section*.208) 5943 0 R (section*.209) 5944 0 R (section*.21) 5945 0 R (section*.210) 5946 0 R (section*.211) 5947 0 R (section*.212) 5948 0 R (section*.213) 5949 0 R (section*.214) 5950 0 R (section*.215) 5951 0 R (section*.216) 5952 0 R (section*.217) 5953 0 R (section*.218) 5954 0 R (section*.219) 5955 0 R (section*.22) 5956 0 R (section*.220) 5957 0 R (section*.221) 5958 0 R (section*.222) 5959 0 R (section*.223) 5960 0 R (section*.224) 5961 0 R (section*.225) 5962 0 R (section*.226) 5963 0 R (section*.227) 5964 0 R (section*.228) 5965 0 R (section*.229) 5966 0 R (section*.23) 5967 0 R (section*.230) 5968 0 R (section*.231) 5969 0 R (section*.232) 5970 0 R (section*.233) 5971 0 R (section*.234) 5972 0 R (section*.235) 5973 0 R (section*.236) 5974 0 R (section*.237) 5975 0 R (section*.238) 5976 0 R (section*.239) 5977 0 R (section*.24) 5978 0 R (section*.240) 5979 0 R (section*.241) 5980 0 R (section*.242) 5981 0 R (section*.243) 5982 0 R (section*.244) 5983 0 R (section*.245) 5984 0 R (section*.246) 5985 0 R (section*.247) 5986 0 R (section*.248) 5987 0 R (section*.249) 5988 0 R (section*.25) 5989 0 R (section*.250) 5990 0 R (section*.251) 5991 0 R (section*.252) 5992 0 R (section*.253) 5993 0 R (section*.254) 5994 0 R (section*.255) 5995 0 R (section*.256) 5996 0 R (section*.257) 5997 0 R (section*.258) 5998 0 R (section*.259) 5999 0 R (section*.26) 6000 0 R (section*.260) 6001 0 R (section*.261) 6002 0 R (section*.262) 6003 0 R (section*.263) 6004 0 R (section*.264) 6005 0 R (section*.265) 6006 0 R (section*.266) 6007 0 R (section*.267) 6008 0 R (section*.268) 6009 0 R (section*.269) 6010 0 R (section*.27) 6011 0 R (section*.270) 6012 0 R (section*.271) 6013 0 R (section*.272) 6014 0 R (section*.273) 6015 0 R (section*.274) 6016 0 R (section*.275) 6017 0 R (section*.276) 6018 0 R (section*.277) 6019 0 R (section*.278) 6020 0 R (section*.279) 6021 0 R (section*.28) 6022 0 R (section*.280) 6023 0 R (section*.281) 6024 0 R (section*.282) 6025 0 R (section*.283) 6026 0 R (section*.284) 6027 0 R (section*.285) 6028 0 R (section*.286) 6029 0 R (section*.287) 6030 0 R (section*.288) 6031 0 R (section*.289) 6032 0 R (section*.29) 6033 0 R (section*.290) 6034 0 R (section*.291) 6035 0 R (section*.292) 6036 0 R (section*.293) 6037 0 R (section*.294) 6038 0 R (section*.295) 6039 0 R (section*.296) 6040 0 R (section*.297) 6041 0 R (section*.298) 6042 0 R (section*.299) 6043 0 R (section*.3) 6044 0 R (section*.30) 6045 0 R (section*.300) 6046 0 R (section*.301) 6047 0 R (section*.302) 6048 0 R (section*.303) 6049 0 R (section*.304) 6050 0 R (section*.305) 6051 0 R (section*.306) 6052 0 R (section*.307) 6053 0 R (section*.308) 6054 0 R (section*.309) 6055 0 R (section*.31) 6056 0 R (section*.310) 6057 0 R (section*.311) 6058 0 R (section*.312) 6059 0 R (section*.313) 6060 0 R (section*.314) 6061 0 R (section*.315) 6062 0 R (section*.316) 6063 0 R (section*.317) 6064 0 R (section*.318) 6065 0 R (section*.319) 6066 0 R (section*.32) 6067 0 R (section*.320) 6068 0 R (section*.321) 6069 0 R (section*.322) 6070 0 R (section*.323) 6071 0 R (section*.324) 6072 0 R (section*.325) 6073 0 R (section*.326) 6074 0 R (section*.327) 6075 0 R (section*.328) 6076 0 R (section*.329) 6077 0 R (section*.33) 6078 0 R (section*.330) 6079 0 R (section*.331) 6080 0 R (section*.332) 6081 0 R (section*.333) 6082 0 R (section*.334) 6083 0 R (section*.335) 6084 0 R (section*.336) 6085 0 R (section*.337) 6086 0 R (section*.338) 6087 0 R (section*.339) 6088 0 R (section*.34) 6089 0 R (section*.340) 6090 0 R (section*.341) 6091 0 R (section*.342) 6092 0 R (section*.343) 6093 0 R (section*.344) 6094 0 R (section*.345) 6095 0 R (section*.346) 6096 0 R (section*.347) 6097 0 R (section*.348) 6098 0 R (section*.349) 6099 0 R (section*.35) 6100 0 R (section*.350) 6101 0 R (section*.351) 6102 0 R (section*.352) 6103 0 R (section*.353) 6104 0 R (section*.354) 6105 0 R (section*.355) 6106 0 R (section*.356) 6107 0 R (section*.357) 6108 0 R (section*.358) 6109 0 R (section*.359) 6110 0 R (section*.36) 6111 0 R (section*.360) 6112 0 R (section*.361) 6113 0 R (section*.362) 6114 0 R (section*.363) 6115 0 R (section*.364) 6116 0 R (section*.365) 6117 0 R (section*.366) 6118 0 R (section*.367) 6119 0 R (section*.368) 6120 0 R (section*.369) 6121 0 R (section*.37) 6122 0 R (section*.370) 6123 0 R (section*.371) 6124 0 R (section*.372) 6125 0 R (section*.373) 6126 0 R (section*.374) 6127 0 R (section*.375) 6128 0 R (section*.376) 6129 0 R (section*.377) 6130 0 R (section*.378) 6131 0 R (section*.379) 6132 0 R (section*.38) 6133 0 R (section*.380) 6134 0 R (section*.381) 6135 0 R (section*.382) 6136 0 R (section*.383) 6137 0 R (section*.384) 6138 0 R (section*.385) 6139 0 R (section*.386) 6140 0 R (section*.387) 6141 0 R (section*.388) 6142 0 R (section*.389) 6143 0 R (section*.39) 6144 0 R (section*.390) 6145 0 R (section*.391) 6146 0 R (section*.392) 6147 0 R (section*.393) 6148 0 R (section*.394) 6149 0 R (section*.395) 6150 0 R (section*.396) 6151 0 R (section*.397) 6152 0 R (section*.398) 6153 0 R (section*.399) 6154 0 R (section*.4) 6155 0 R (section*.40) 6156 0 R (section*.400) 6157 0 R (section*.401) 6158 0 R (section*.402) 6159 0 R (section*.403) 6160 0 R (section*.404) 6161 0 R (section*.405) 6162 0 R (section*.406) 6163 0 R (section*.407) 6164 0 R (section*.408) 6165 0 R (section*.409) 6166 0 R (section*.41) 6167 0 R (section*.410) 6168 0 R (section*.411) 6169 0 R (section*.412) 6170 0 R (section*.413) 6171 0 R (section*.414) 6172 0 R (section*.415) 6173 0 R (section*.416) 6174 0 R (section*.417) 6175 0 R (section*.418) 6176 0 R (section*.419) 6177 0 R (section*.42) 6178 0 R (section*.420) 6179 0 R (section*.421) 6180 0 R (section*.422) 6181 0 R (section*.423) 6182 0 R (section*.424) 6183 0 R (section*.425) 6184 0 R (section*.426) 6185 0 R (section*.427) 6186 0 R (section*.428) 6187 0 R (section*.429) 6188 0 R (section*.43) 6189 0 R (section*.430) 6190 0 R (section*.431) 6191 0 R (section*.432) 6192 0 R (section*.433) 6193 0 R (section*.434) 6194 0 R (section*.435) 6195 0 R (section*.436) 6196 0 R (section*.437) 6197 0 R (section*.438) 6198 0 R (section*.439) 6199 0 R (section*.44) 6200 0 R (section*.440) 6201 0 R (section*.441) 6202 0 R (section*.442) 6203 0 R (section*.443) 6204 0 R (section*.444) 6205 0 R (section*.445) 6206 0 R (section*.446) 6207 0 R (section*.447) 6208 0 R (section*.448) 6209 0 R (section*.449) 6210 0 R (section*.45) 6211 0 R (section*.450) 6212 0 R (section*.451) 6213 0 R (section*.452) 6214 0 R (section*.453) 6215 0 R (section*.454) 6216 0 R (section*.455) 6217 0 R (section*.456) 6218 0 R (section*.457) 6219 0 R (section*.458) 6220 0 R (section*.459) 6221 0 R (section*.46) 6222 0 R (section*.460) 6223 0 R (section*.461) 6224 0 R (section*.462) 6225 0 R (section*.463) 6226 0 R (section*.464) 6227 0 R (section*.465) 6228 0 R (section*.466) 6229 0 R (section*.467) 6230 0 R (section*.468) 6231 0 R (section*.469) 6232 0 R (section*.47) 6233 0 R (section*.470) 6234 0 R (section*.471) 6235 0 R (section*.472) 6236 0 R (section*.473) 6237 0 R (section*.474) 6238 0 R (section*.475) 6239 0 R (section*.476) 6240 0 R (section*.477) 6241 0 R (section*.478) 6242 0 R (section*.479) 6243 0 R (section*.48) 6244 0 R (section*.480) 6245 0 R (section*.481) 6246 0 R (section*.482) 6247 0 R (section*.483) 6248 0 R (section*.484) 6249 0 R (section*.485) 6250 0 R (section*.486) 6251 0 R (section*.487) 6252 0 R (section*.488) 6253 0 R (section*.489) 6254 0 R (section*.49) 6255 0 R (section*.490) 6256 0 R (section*.491) 6257 0 R (section*.492) 6258 0 R (section*.493) 6259 0 R (section*.494) 6260 0 R (section*.495) 6261 0 R (section*.496) 6262 0 R (section*.497) 6263 0 R (section*.498) 6264 0 R (section*.499) 6265 0 R (section*.5) 6266 0 R (section*.50) 6267 0 R (section*.500) 6268 0 R (section*.501) 6269 0 R (section*.502) 6270 0 R (section*.503) 6271 0 R (section*.504) 6272 0 R (section*.505) 6273 0 R (section*.506) 6274 0 R (section*.507) 6275 0 R (section*.508) 6276 0 R (section*.509) 6277 0 R (section*.51) 6278 0 R (section*.510) 6279 0 R (section*.511) 6280 0 R (section*.512) 6281 0 R (section*.513) 6282 0 R (section*.514) 6283 0 R (section*.515) 6284 0 R (section*.516) 6285 0 R (section*.517) 6286 0 R (section*.518) 6287 0 R (section*.519) 6288 0 R (section*.52) 6289 0 R (section*.520) 6290 0 R (section*.521) 6291 0 R (section*.522) 6292 0 R (section*.523) 6293 0 R (section*.524) 6294 0 R (section*.525) 6295 0 R (section*.526) 6296 0 R (section*.527) 6297 0 R (section*.528) 6298 0 R (section*.529) 6299 0 R (section*.53) 6300 0 R (section*.530) 6301 0 R (section*.531) 6302 0 R (section*.532) 6303 0 R (section*.533) 6304 0 R (section*.534) 6305 0 R (section*.535) 6306 0 R (section*.536) 6307 0 R (section*.537) 6308 0 R (section*.538) 6309 0 R (section*.539) 6310 0 R (section*.54) 6311 0 R (section*.540) 6312 0 R (section*.541) 6313 0 R (section*.542) 6314 0 R (section*.543) 6315 0 R (section*.544) 6316 0 R (section*.545) 6317 0 R (section*.546) 6318 0 R (section*.547) 6319 0 R (section*.548) 6320 0 R (section*.549) 6321 0 R (section*.55) 6322 0 R (section*.550) 6323 0 R (section*.551) 6324 0 R (section*.552) 6325 0 R (section*.553) 6326 0 R (section*.554) 6327 0 R (section*.555) 6328 0 R (section*.556) 6329 0 R (section*.557) 6330 0 R (section*.558) 6331 0 R (section*.559) 6332 0 R (section*.56) 6333 0 R (section*.560) 6334 0 R (section*.561) 6335 0 R (section*.562) 6336 0 R (section*.563) 6337 0 R (section*.564) 6338 0 R (section*.565) 6339 0 R (section*.566) 6340 0 R (section*.567) 6341 0 R (section*.568) 6342 0 R (section*.569) 6343 0 R (section*.57) 6344 0 R (section*.570) 6345 0 R (section*.571) 6346 0 R (section*.572) 6347 0 R (section*.573) 6348 0 R (section*.574) 6349 0 R (section*.575) 6350 0 R (section*.576) 6351 0 R (section*.577) 6352 0 R (section*.578) 6353 0 R (section*.579) 6354 0 R (section*.58) 6355 0 R (section*.580) 6356 0 R (section*.581) 6357 0 R (section*.582) 6358 0 R (section*.583) 6359 0 R (section*.584) 6360 0 R (section*.585) 6361 0 R (section*.586) 6362 0 R (section*.587) 6363 0 R (section*.588) 6364 0 R (section*.589) 6365 0 R (section*.59) 6366 0 R (section*.590) 6367 0 R (section*.591) 6368 0 R (section*.592) 6369 0 R (section*.593) 6370 0 R (section*.594) 6371 0 R (section*.595) 6372 0 R (section*.596) 6373 0 R (section*.597) 6374 0 R (section*.598) 6375 0 R (section*.599) 6376 0 R (section*.6) 6377 0 R (section*.60) 6378 0 R (section*.600) 6379 0 R (section*.601) 6380 0 R (section*.602) 6381 0 R (section*.603) 6382 0 R (section*.604) 6383 0 R (section*.605) 6384 0 R (section*.606) 6385 0 R (section*.607) 6386 0 R (section*.608) 6387 0 R (section*.609) 6388 0 R (section*.61) 6389 0 R (section*.610) 6390 0 R (section*.611) 6391 0 R (section*.612) 6392 0 R (section*.613) 6393 0 R (section*.614) 6394 0 R (section*.615) 6395 0 R (section*.616) 6396 0 R (section*.617) 6397 0 R (section*.618) 6398 0 R (section*.619) 6399 0 R (section*.62) 6400 0 R (section*.620) 6401 0 R (section*.621) 6402 0 R (section*.622) 6403 0 R (section*.623) 6404 0 R (section*.624) 6405 0 R (section*.625) 6406 0 R (section*.626) 6407 0 R (section*.627) 6408 0 R (section*.628) 6409 0 R (section*.629) 6410 0 R (section*.63) 6411 0 R (section*.630) 6412 0 R (section*.631) 6413 0 R (section*.632) 6414 0 R (section*.633) 6415 0 R (section*.634) 6416 0 R (section*.635) 6417 0 R (section*.636) 6418 0 R (section*.637) 6419 0 R (section*.638) 6420 0 R (section*.639) 6421 0 R (section*.64) 6422 0 R (section*.640) 6423 0 R (section*.641) 6424 0 R (section*.642) 6425 0 R (section*.643) 6426 0 R (section*.644) 6427 0 R (section*.645) 6428 0 R (section*.646) 6429 0 R (section*.647) 6430 0 R (section*.648) 6431 0 R (section*.649) 6432 0 R (section*.65) 6433 0 R (section*.650) 6434 0 R (section*.651) 6435 0 R (section*.652) 6436 0 R (section*.653) 6437 0 R (section*.654) 6438 0 R (section*.655) 6439 0 R (section*.656) 6440 0 R (section*.657) 6441 0 R (section*.658) 6442 0 R (section*.659) 6443 0 R (section*.66) 6444 0 R (section*.660) 6445 0 R (section*.661) 6446 0 R (section*.662) 6447 0 R (section*.663) 6448 0 R (section*.664) 6449 0 R (section*.665) 6450 0 R (section*.666) 6451 0 R (section*.667) 6452 0 R (section*.668) 6453 0 R (section*.669) 6454 0 R (section*.67) 6455 0 R (section*.670) 6456 0 R (section*.671) 6457 0 R (section*.672) 6458 0 R (section*.673) 6459 0 R (section*.674) 6460 0 R (section*.675) 6461 0 R (section*.676) 6462 0 R (section*.677) 6463 0 R (section*.678) 6464 0 R (section*.679) 6465 0 R (section*.68) 6466 0 R (section*.680) 6467 0 R (section*.681) 6468 0 R (section*.682) 6469 0 R (section*.683) 6470 0 R (section*.684) 6471 0 R (section*.685) 6472 0 R (section*.686) 6473 0 R (section*.687) 6474 0 R (section*.688) 6475 0 R (section*.689) 6476 0 R (section*.69) 6477 0 R (section*.690) 6478 0 R (section*.691) 6479 0 R (section*.692) 6480 0 R (section*.693) 6481 0 R (section*.694) 6482 0 R (section*.695) 6483 0 R (section*.696) 6484 0 R (section*.697) 6485 0 R (section*.698) 6486 0 R (section*.699) 6487 0 R (section*.7) 6488 0 R (section*.70) 6489 0 R (section*.700) 6490 0 R (section*.701) 6491 0 R (section*.702) 6492 0 R (section*.703) 6493 0 R (section*.704) 6494 0 R (section*.705) 6495 0 R (section*.706) 6496 0 R (section*.707) 6497 0 R (section*.708) 6498 0 R (section*.709) 6499 0 R (section*.71) 6500 0 R (section*.710) 6501 0 R (section*.711) 6502 0 R (section*.712) 6503 0 R (section*.713) 6504 0 R (section*.714) 6505 0 R (section*.715) 6506 0 R (section*.716) 6507 0 R (section*.717) 6508 0 R (section*.718) 6509 0 R (section*.719) 6510 0 R (section*.72) 6511 0 R (section*.720) 6512 0 R (section*.721) 6513 0 R (section*.722) 6514 0 R (section*.723) 6515 0 R (section*.724) 6516 0 R (section*.725) 6517 0 R (section*.726) 6518 0 R (section*.727) 6519 0 R (section*.728) 6520 0 R (section*.729) 6521 0 R (section*.73) 6522 0 R (section*.730) 6523 0 R (section*.731) 6524 0 R (section*.732) 6525 0 R (section*.733) 6526 0 R (section*.734) 6527 0 R (section*.735) 6528 0 R (section*.736) 6529 0 R (section*.737) 6530 0 R (section*.738) 6531 0 R (section*.739) 6532 0 R (section*.74) 6533 0 R (section*.740) 6534 0 R (section*.741) 6535 0 R (section*.742) 6536 0 R (section*.743) 6537 0 R (section*.744) 6538 0 R (section*.745) 6539 0 R (section*.746) 6540 0 R (section*.747) 6541 0 R (section*.748) 6542 0 R (section*.749) 6543 0 R (section*.75) 6544 0 R (section*.750) 6545 0 R (section*.751) 6546 0 R (section*.752) 6547 0 R (section*.753) 6548 0 R (section*.754) 6549 0 R (section*.755) 6550 0 R (section*.756) 6551 0 R (section*.757) 6552 0 R (section*.758) 6553 0 R (section*.759) 6554 0 R (section*.76) 6555 0 R (section*.760) 6556 0 R (section*.761) 6557 0 R (section*.762) 6558 0 R (section*.763) 6559 0 R (section*.764) 6560 0 R (section*.765) 6561 0 R (section*.766) 6562 0 R (section*.767) 6563 0 R (section*.768) 6564 0 R (section*.769) 6565 0 R (section*.77) 6566 0 R (section*.770) 6567 0 R (section*.771) 6568 0 R (section*.772) 6569 0 R (section*.773) 6570 0 R (section*.774) 6571 0 R (section*.775) 6572 0 R (section*.776) 6573 0 R (section*.777) 6574 0 R (section*.778) 6575 0 R (section*.779) 6576 0 R (section*.78) 6577 0 R (section*.780) 6578 0 R (section*.781) 6579 0 R (section*.782) 6580 0 R (section*.783) 6581 0 R (section*.784) 6582 0 R (section*.785) 6583 0 R (section*.786) 6584 0 R (section*.787) 6585 0 R (section*.788) 6586 0 R (section*.789) 6587 0 R (section*.79) 6588 0 R (section*.790) 6589 0 R (section*.791) 6590 0 R (section*.792) 6591 0 R (section*.793) 6592 0 R (section*.794) 6593 0 R (section*.795) 6594 0 R (section*.796) 6595 0 R (section*.797) 6596 0 R (section*.798) 6597 0 R (section*.799) 6598 0 R (section*.8) 6599 0 R (section*.80) 6600 0 R (section*.800) 6601 0 R (section*.801) 6602 0 R (section*.802) 6603 0 R (section*.803) 6604 0 R (section*.804) 6605 0 R (section*.805) 6606 0 R (section*.806) 6607 0 R (section*.807) 6608 0 R (section*.808) 6609 0 R (section*.809) 6610 0 R (section*.81) 6611 0 R (section*.810) 6612 0 R (section*.811) 6613 0 R (section*.812) 6614 0 R (section*.813) 6615 0 R (section*.814) 6616 0 R (section*.815) 6617 0 R (section*.816) 6618 0 R (section*.817) 6619 0 R (section*.818) 6620 0 R (section*.819) 6621 0 R (section*.82) 6622 0 R (section*.820) 6623 0 R (section*.821) 6624 0 R (section*.822) 6625 0 R (section*.823) 6626 0 R (section*.824) 6627 0 R (section*.825) 6628 0 R (section*.826) 6629 0 R (section*.827) 6630 0 R (section*.828) 6631 0 R (section*.829) 6632 0 R (section*.83) 6633 0 R (section*.830) 6634 0 R (section*.831) 6635 0 R (section*.832) 6636 0 R (section*.833) 6637 0 R (section*.834) 6638 0 R (section*.835) 6639 0 R (section*.836) 6640 0 R (section*.837) 6641 0 R (section*.838) 6642 0 R (section*.839) 6643 0 R (section*.84) 6644 0 R (section*.840) 6645 0 R (section*.841) 6646 0 R (section*.842) 6647 0 R (section*.843) 6648 0 R (section*.844) 6649 0 R (section*.845) 6650 0 R (section*.846) 6651 0 R (section*.847) 6652 0 R (section*.848) 6653 0 R (section*.849) 6654 0 R (section*.85) 6655 0 R (section*.850) 6656 0 R (section*.851) 6657 0 R (section*.852) 6658 0 R (section*.853) 6659 0 R (section*.854) 6660 0 R (section*.855) 6661 0 R (section*.856) 6662 0 R (section*.857) 6663 0 R (section*.858) 6664 0 R (section*.859) 6665 0 R (section*.86) 6666 0 R (section*.860) 6667 0 R (section*.861) 6668 0 R (section*.862) 6669 0 R (section*.863) 6670 0 R (section*.864) 6671 0 R (section*.865) 6672 0 R (section*.866) 6673 0 R (section*.867) 6674 0 R (section*.868) 6675 0 R (section*.869) 6676 0 R (section*.87) 6677 0 R (section*.870) 6678 0 R (section*.871) 6679 0 R (section*.872) 6680 0 R (section*.873) 6681 0 R (section*.874) 6682 0 R (section*.875) 6683 0 R (section*.876) 6684 0 R (section*.877) 6685 0 R (section*.878) 6686 0 R (section*.879) 6687 0 R (section*.88) 6688 0 R (section*.880) 6689 0 R (section*.881) 6690 0 R (section*.882) 6691 0 R (section*.883) 6692 0 R (section*.884) 6693 0 R (section*.885) 6694 0 R (section*.886) 6695 0 R (section*.887) 6696 0 R (section*.888) 6697 0 R (section*.889) 6698 0 R (section*.89) 6699 0 R (section*.890) 6700 0 R (section*.891) 6701 0 R (section*.892) 6702 0 R (section*.893) 6703 0 R (section*.894) 6704 0 R (section*.895) 6705 0 R (section*.896) 6706 0 R (section*.897) 6707 0 R (section*.898) 6708 0 R (section*.899) 6709 0 R (section*.9) 6710 0 R (section*.90) 6711 0 R (section*.900) 6712 0 R (section*.901) 6713 0 R (section*.902) 6714 0 R (section*.903) 6715 0 R (section*.904) 6716 0 R (section*.905) 6717 0 R (section*.906) 6718 0 R (section*.907) 6719 0 R (section*.908) 6720 0 R (section*.909) 6721 0 R (section*.91) 6722 0 R (section*.910) 6723 0 R (section*.911) 6724 0 R (section*.912) 6725 0 R (section*.913) 6726 0 R (section*.914) 6727 0 R (section*.915) 6728 0 R (section*.916) 6729 0 R (section*.917) 6730 0 R (section*.918) 6731 0 R (section*.919) 6732 0 R (section*.92) 6733 0 R (section*.920) 6734 0 R (section*.921) 6735 0 R (section*.922) 6736 0 R (section*.923) 6737 0 R (section*.924) 6738 0 R (section*.925) 6739 0 R (section*.926) 6740 0 R (section*.927) 6741 0 R (section*.928) 6742 0 R (section*.929) 6743 0 R (section*.93) 6744 0 R (section*.930) 6745 0 R (section*.931) 6746 0 R (section*.932) 6747 0 R (section*.933) 6748 0 R (section*.934) 6749 0 R (section*.935) 6750 0 R (section*.936) 6751 0 R (section*.937) 6752 0 R (section*.938) 6753 0 R (section*.939) 6754 0 R (section*.94) 6755 0 R (section*.940) 6756 0 R (section*.941) 6757 0 R (section*.942) 6758 0 R (section*.943) 6759 0 R (section*.944) 6760 0 R (section*.945) 6761 0 R (section*.946) 6762 0 R (section*.947) 6763 0 R (section*.948) 6764 0 R (section*.949) 6765 0 R (section*.95) 6766 0 R (section*.950) 6767 0 R (section*.951) 6768 0 R (section*.952) 6769 0 R (section*.953) 6770 0 R (section*.954) 6771 0 R (section*.955) 6772 0 R (section*.956) 6773 0 R (section*.957) 6774 0 R (section*.958) 6775 0 R (section*.959) 6776 0 R (section*.96) 6777 0 R (section*.960) 6778 0 R (section*.961) 6779 0 R (section*.962) 6780 0 R (section*.963) 6781 0 R (section*.964) 6782 0 R (section*.965) 6783 0 R (section*.966) 6784 0 R (section*.967) 6785 0 R (section*.968) 6786 0 R (section*.969) 6787 0 R (section*.97) 6788 0 R (section*.970) 6789 0 R (section*.971) 6790 0 R (section*.972) 6791 0 R (section*.973) 6792 0 R (section*.974) 6793 0 R (section*.975) 6794 0 R (section*.976) 6795 0 R (section*.977) 6796 0 R (section*.978) 6797 0 R (section*.979) 6798 0 R (section*.98) 6799 0 R (section*.980) 6800 0 R (section*.981) 6801 0 R (section*.982) 6802 0 R (section*.983) 6803 0 R (section*.984) 6804 0 R (section*.985) 6805 0 R (section*.986) 6806 0 R (section*.987) 6807 0 R (section*.988) 6808 0 R (section*.989) 6809 0 R (section*.99) 6810 0 R (section*.990) 6811 0 R (section*.991) 6812 0 R (section*.992) 6813 0 R (section*.993) 6814 0 R (section*.994) 6815 0 R (section*.995) 6816 0 R (section*.996) 6817 0 R (section*.997) 6818 0 R (section*.998) 6819 0 R (section*.999) 6820 0 R (section.1.1) 6821 0 R (section.1.2) 6822 0 R (section.1.3) 6823 0 R (section.1.4) 6824 0 R (section.2.1) 6825 0 R (section.2.2) 6826 0 R (section.3.1) 6827 0 R (section.3.2) 6828 0 R (section.3.3) 6829 0 R (section.3.4) 6830 0 R (section.3.5) 6831 0 R (section.4.1) 6832 0 R (section.4.10) 6833 0 R (section.4.2) 6834 0 R (section.4.3) 6835 0 R (section.4.4) 6836 0 R (section.4.5) 6837 0 R (section.4.6) 6838 0 R (section.4.7) 6839 0 R (section.4.8) 6840 0 R (section.4.9) 6841 0 R (section.5.1) 6842 0 R (section.5.2) 6843 0 R (section.5.3) 6844 0 R (section.6.1) 6845 0 R (section.6.2) 6846 0 R (section.6.3) 6847 0 R (section.6.4) 6848 0 R (section.8.1) 6849 0 R (section.8.2) 6850 0 R (see-also) 6851 0 R (sequence-complexity) 6852 0 R (sequence-description) 6853 0 R (sequence-expression-semantics) 6854 0 R (sequence-header) 6855 0 R (sequence-parameters) 6856 0 R (sequence-see-also) 6857 0 R (sequence-synopsis) 6858 0 R (sequence-tag) 6859 0 R (sequences) 6860 0 R (set) 6861 0 R (set-c) 6862 0 R (set-description) 6863 0 R (set-example) 6864 0 R (set-expression-semantics) 6865 0 R (set-header) 6866 0 R (set-model-of) 6867 0 R (set-see-also) 6868 0 R (shift-complexity) 6869 0 R (shift-description) 6870 0 R (shift-example) 6871 0 R (shift-expression-semantics) 6872 0 R (shift-header) 6873 0 R (shift-left) 6874 0 R (shift-model-of) 6875 0 R (shift-parameters) 6876 0 R (shift-right) 6877 0 R (shift-see-also) 6878 0 R (shift-synopsis) 6879 0 R (single-description) 6880 0 R (single-example) 6881 0 R (single-expression-semantics) 6882 0 R (single-header) 6883 0 R (single-model-of) 6884 0 R (single-parameters) 6885 0 R (single-see-also) 6886 0 R (single-synopsis) 6887 0 R (single-view) 6888 0 R (size) 6889 0 R (size-complexity) 6890 0 R (size-description) 6891 0 R (size-example) 6892 0 R (size-expression-semantics) 6893 0 R (size-header) 6894 0 R (size-model-of) 6895 0 R (size-parameters) 6896 0 R (size-see-also) 6897 0 R (size-synopsis) 6898 0 R (size-t) 6899 0 R (sizeof) 6900 0 R (sizeof-complexity) 6901 0 R (sizeof-description) 6902 0 R (sizeof-example) 6903 0 R (sizeof-expression-semantics) 6904 0 R (sizeof-header) 6905 0 R (sizeof-model-of) 6906 0 R (sizeof-parameters) 6907 0 R (sizeof-see-also) 6908 0 R (sizeof-synopsis) 6909 0 R (sort) 6910 0 R (sort-complexity) 6911 0 R (sort-description) 6912 0 R (sort-example) 6913 0 R (sort-expression-semantics) 6914 0 R (sort-header) 6915 0 R (sort-model-of) 6916 0 R (sort-parameters) 6917 0 R (sort-see-also) 6918 0 R (sort-synopsis) 6919 0 R (stable-complexity) 6920 0 R (stable-description) 6921 0 R (stable-example) 6922 0 R (stable-expression-semantics) 6923 0 R (stable-header) 6924 0 R (stable-model-of) 6925 0 R (stable-parameters) 6926 0 R (stable-partition) 6927 0 R (stable-see-also) 6928 0 R (stable-synopsis) 6929 0 R (subsection.1.1.1) 6930 0 R (subsection.1.1.10) 6931 0 R (subsection.1.1.2) 6932 0 R (subsection.1.1.3) 6933 0 R (subsection.1.1.4) 6934 0 R (subsection.1.1.5) 6935 0 R (subsection.1.1.6) 6936 0 R (subsection.1.1.7) 6937 0 R (subsection.1.1.8) 6938 0 R (subsection.1.1.9) 6939 0 R (subsection.1.2.1) 6940 0 R (subsection.1.2.2) 6941 0 R (subsection.1.2.3) 6942 0 R (subsection.1.2.4) 6943 0 R (subsection.1.2.5) 6944 0 R (subsection.1.2.6) 6945 0 R (subsection.1.2.7) 6946 0 R (subsection.1.2.8) 6947 0 R (subsection.1.2.9) 6948 0 R (subsection.1.3.1) 6949 0 R (subsection.1.3.2) 6950 0 R (subsection.1.3.3) 6951 0 R (subsection.1.3.4) 6952 0 R (subsection.1.3.5) 6953 0 R (subsection.1.3.6) 6954 0 R (subsection.1.3.7) 6955 0 R (subsection.1.4.1) 6956 0 R (subsection.1.4.10) 6957 0 R (subsection.1.4.11) 6958 0 R (subsection.1.4.12) 6959 0 R (subsection.1.4.13) 6960 0 R (subsection.1.4.14) 6961 0 R (subsection.1.4.15) 6962 0 R (subsection.1.4.16) 6963 0 R (subsection.1.4.17) 6964 0 R (subsection.1.4.18) 6965 0 R (subsection.1.4.19) 6966 0 R (subsection.1.4.2) 6967 0 R (subsection.1.4.20) 6968 0 R (subsection.1.4.21) 6969 0 R (subsection.1.4.22) 6970 0 R (subsection.1.4.23) 6971 0 R (subsection.1.4.3) 6972 0 R (subsection.1.4.4) 6973 0 R (subsection.1.4.5) 6974 0 R (subsection.1.4.6) 6975 0 R (subsection.1.4.7) 6976 0 R (subsection.1.4.8) 6977 0 R (subsection.1.4.9) 6978 0 R (subsection.2.1.1) 6979 0 R (subsection.2.1.2) 6980 0 R (subsection.2.1.3) 6981 0 R (subsection.2.2.1) 6982 0 R (subsection.2.2.2) 6983 0 R (subsection.2.2.3) 6984 0 R (subsection.2.2.4) 6985 0 R (subsection.2.2.5) 6986 0 R (subsection.2.2.6) 6987 0 R (subsection.3.1.1) 6988 0 R (subsection.3.1.2) 6989 0 R (subsection.3.2.1) 6990 0 R (subsection.3.2.2) 6991 0 R (subsection.3.2.3) 6992 0 R (subsection.3.3.1) 6993 0 R (subsection.3.3.2) 6994 0 R (subsection.3.3.3) 6995 0 R (subsection.3.3.4) 6996 0 R (subsection.3.3.5) 6997 0 R (subsection.3.4.1) 6998 0 R (subsection.3.4.10) 6999 0 R (subsection.3.4.2) 7000 0 R (subsection.3.4.3) 7001 0 R (subsection.3.4.4) 7002 0 R (subsection.3.4.5) 7003 0 R (subsection.3.4.6) 7004 0 R (subsection.3.4.7) 7005 0 R (subsection.3.4.8) 7006 0 R (subsection.3.4.9) 7007 0 R (subsection.3.5.1) 7008 0 R (subsection.3.5.10) 7009 0 R (subsection.3.5.11) 7010 0 R (subsection.3.5.12) 7011 0 R (subsection.3.5.13) 7012 0 R (subsection.3.5.14) 7013 0 R (subsection.3.5.15) 7014 0 R (subsection.3.5.16) 7015 0 R (subsection.3.5.17) 7016 0 R (subsection.3.5.18) 7017 0 R (subsection.3.5.19) 7018 0 R (subsection.3.5.2) 7019 0 R (subsection.3.5.20) 7020 0 R (subsection.3.5.21) 7021 0 R (subsection.3.5.22) 7022 0 R (subsection.3.5.3) 7023 0 R (subsection.3.5.4) 7024 0 R (subsection.3.5.5) 7025 0 R (subsection.3.5.6) 7026 0 R (subsection.3.5.7) 7027 0 R (subsection.3.5.8) 7028 0 R (subsection.3.5.9) 7029 0 R (subsection.4.1.1) 7030 0 R (subsection.4.1.2) 7031 0 R (subsection.4.1.3) 7032 0 R (subsection.4.1.4) 7033 0 R (subsection.4.1.5) 7034 0 R (subsection.4.1.6) 7035 0 R (subsection.4.1.7) 7036 0 R (subsection.4.10.1) 7037 0 R (subsection.4.10.2) 7038 0 R (subsection.4.10.3) 7039 0 R (subsection.4.10.4) 7040 0 R (subsection.4.10.5) 7041 0 R (subsection.4.10.6) 7042 0 R (subsection.4.10.7) 7043 0 R (subsection.4.10.8) 7044 0 R (subsection.4.2.1) 7045 0 R (subsection.4.2.2) 7046 0 R (subsection.4.2.3) 7047 0 R (subsection.4.2.4) 7048 0 R (subsection.4.3.1) 7049 0 R (subsection.4.3.2) 7050 0 R (subsection.4.3.3) 7051 0 R (subsection.4.4.1) 7052 0 R (subsection.4.4.2) 7053 0 R (subsection.4.4.3) 7054 0 R (subsection.4.4.4) 7055 0 R (subsection.4.4.5) 7056 0 R (subsection.4.4.6) 7057 0 R (subsection.4.5.1) 7058 0 R (subsection.4.5.2) 7059 0 R (subsection.4.5.3) 7060 0 R (subsection.4.5.4) 7061 0 R (subsection.4.5.5) 7062 0 R (subsection.4.5.6) 7063 0 R (subsection.4.6.1) 7064 0 R (subsection.4.6.2) 7065 0 R (subsection.4.6.3) 7066 0 R (subsection.4.6.4) 7067 0 R (subsection.4.6.5) 7068 0 R (subsection.4.6.6) 7069 0 R (subsection.4.7.1) 7070 0 R (subsection.4.7.2) 7071 0 R (subsection.4.7.3) 7072 0 R (subsection.4.8.1) 7073 0 R (subsection.4.8.2) 7074 0 R (subsection.4.8.3) 7075 0 R (subsection.4.8.4) 7076 0 R (subsection.4.8.5) 7077 0 R (subsection.4.9.1) 7078 0 R (subsection.5.1.1) 7079 0 R (subsection.5.2.1) 7080 0 R (subsection.5.2.2) 7081 0 R (subsection.5.2.3) 7082 0 R (subsection.5.2.4) 7083 0 R (subsection.5.2.5) 7084 0 R (subsection.5.3.1) 7085 0 R (subsection.5.3.2) 7086 0 R (subsection.5.3.3) 7087 0 R (subsection.6.1.1) 7088 0 R (subsection.6.1.2) 7089 0 R (subsection.6.1.3) 7090 0 R (subsection.6.1.4) 7091 0 R (subsection.6.2.1) 7092 0 R (subsection.6.2.2) 7093 0 R (subsection.6.3.1) 7094 0 R (subsection.6.3.2) 7095 0 R (subsection.6.3.3) 7096 0 R (subsection.6.3.4) 7097 0 R (subsection.6.3.5) 7098 0 R (subsection.6.3.6) 7099 0 R (subsection.6.3.7) 7100 0 R (subsection.6.3.8) 7101 0 R (subsection.6.4.1) 7102 0 R (summary) 7103 0 R (synopsis) 7104 0 R (table.1.1) 7105 0 R (table.1.10) 7106 0 R (table.1.11) 7107 0 R (table.1.12) 7108 0 R (table.1.13) 7109 0 R (table.1.14) 7110 0 R (table.1.15) 7111 0 R (table.1.16) 7112 0 R (table.1.17) 7113 0 R (table.1.18) 7114 0 R (table.1.19) 7115 0 R (table.1.2) 7116 0 R (table.1.20) 7117 0 R (table.1.21) 7118 0 R (table.1.22) 7119 0 R (table.1.23) 7120 0 R (table.1.24) 7121 0 R (table.1.25) 7122 0 R (table.1.26) 7123 0 R (table.1.27) 7124 0 R (table.1.28) 7125 0 R (table.1.29) 7126 0 R (table.1.3) 7127 0 R (table.1.30) 7128 0 R (table.1.31) 7129 0 R (table.1.32) 7130 0 R (table.1.33) 7131 0 R (table.1.34) 7132 0 R (table.1.35) 7133 0 R (table.1.36) 7134 0 R (table.1.37) 7135 0 R (table.1.38) 7136 0 R (table.1.39) 7137 0 R (table.1.4) 7138 0 R (table.1.40) 7139 0 R (table.1.41) 7140 0 R (table.1.42) 7141 0 R (table.1.43) 7142 0 R (table.1.44) 7143 0 R (table.1.45) 7144 0 R (table.1.46) 7145 0 R (table.1.47) 7146 0 R (table.1.48) 7147 0 R (table.1.49) 7148 0 R (table.1.5) 7149 0 R (table.1.50) 7150 0 R (table.1.51) 7151 0 R (table.1.52) 7152 0 R (table.1.53) 7153 0 R (table.1.54) 7154 0 R (table.1.55) 7155 0 R (table.1.56) 7156 0 R (table.1.57) 7157 0 R (table.1.58) 7158 0 R (table.1.59) 7159 0 R (table.1.6) 7160 0 R (table.1.60) 7161 0 R (table.1.61) 7162 0 R (table.1.62) 7163 0 R (table.1.63) 7164 0 R (table.1.64) 7165 0 R (table.1.65) 7166 0 R (table.1.66) 7167 0 R (table.1.67) 7168 0 R (table.1.68) 7169 0 R (table.1.69) 7170 0 R (table.1.7) 7171 0 R (table.1.70) 7172 0 R (table.1.71) 7173 0 R (table.1.72) 7174 0 R (table.1.73) 7175 0 R (table.1.8) 7176 0 R (table.1.9) 7177 0 R (table.2.74) 7178 0 R (table.2.75) 7179 0 R (table.2.76) 7180 0 R (table.2.77) 7181 0 R (table.2.78) 7182 0 R (table.2.79) 7183 0 R (table.2.80) 7184 0 R (table.2.81) 7185 0 R (table.2.82) 7186 0 R (table.3.100) 7187 0 R (table.3.101) 7188 0 R (table.3.102) 7189 0 R (table.3.103) 7190 0 R (table.3.104) 7191 0 R (table.3.105) 7192 0 R (table.3.106) 7193 0 R (table.3.107) 7194 0 R (table.3.108) 7195 0 R (table.3.109) 7196 0 R (table.3.110) 7197 0 R (table.3.111) 7198 0 R (table.3.112) 7199 0 R (table.3.113) 7200 0 R (table.3.114) 7201 0 R (table.3.115) 7202 0 R (table.3.116) 7203 0 R (table.3.117) 7204 0 R (table.3.118) 7205 0 R (table.3.119) 7206 0 R (table.3.120) 7207 0 R (table.3.121) 7208 0 R (table.3.122) 7209 0 R (table.3.123) 7210 0 R (table.3.124) 7211 0 R (table.3.125) 7212 0 R (table.3.126) 7213 0 R (table.3.127) 7214 0 R (table.3.128) 7215 0 R (table.3.83) 7216 0 R (table.3.84) 7217 0 R (table.3.85) 7218 0 R (table.3.86) 7219 0 R (table.3.87) 7220 0 R (table.3.88) 7221 0 R (table.3.89) 7222 0 R (table.3.90) 7223 0 R (table.3.91) 7224 0 R (table.3.92) 7225 0 R (table.3.93) 7226 0 R (table.3.94) 7227 0 R (table.3.95) 7228 0 R (table.3.96) 7229 0 R (table.3.97) 7230 0 R (table.3.98) 7231 0 R (table.3.99) 7232 0 R (table.4.129) 7233 0 R (table.4.130) 7234 0 R (table.4.131) 7235 0 R (table.4.132) 7236 0 R (table.4.133) 7237 0 R (table.4.134) 7238 0 R (table.4.135) 7239 0 R (table.4.136) 7240 0 R (table.4.137) 7241 0 R (table.4.138) 7242 0 R (table.4.139) 7243 0 R (table.4.140) 7244 0 R (table.4.141) 7245 0 R (table.4.142) 7246 0 R (table.4.143) 7247 0 R (table.4.144) 7248 0 R (table.4.145) 7249 0 R (table.4.146) 7250 0 R (table.4.147) 7251 0 R (table.4.148) 7252 0 R (table.4.149) 7253 0 R (table.4.150) 7254 0 R (table.4.151) 7255 0 R (table.4.152) 7256 0 R (table.4.153) 7257 0 R (table.4.154) 7258 0 R (table.4.155) 7259 0 R (table.4.156) 7260 0 R (table.4.157) 7261 0 R (table.4.158) 7262 0 R (table.4.159) 7263 0 R (table.4.160) 7264 0 R (table.4.161) 7265 0 R (table.4.162) 7266 0 R (table.4.163) 7267 0 R (table.4.164) 7268 0 R (table.4.165) 7269 0 R (table.4.166) 7270 0 R (table.4.167) 7271 0 R (table.4.168) 7272 0 R (table.4.169) 7273 0 R (table.4.170) 7274 0 R (table.4.171) 7275 0 R (table.4.172) 7276 0 R (table.4.173) 7277 0 R (table.4.174) 7278 0 R (table.5.175) 7279 0 R (table.5.176) 7280 0 R (table.5.177) 7281 0 R (table.5.178) 7282 0 R (table.5.179) 7283 0 R (table.5.180) 7284 0 R (table.5.181) 7285 0 R (table.5.182) 7286 0 R (table.5.183) 7287 0 R (table.5.184) 7288 0 R (table.5.185) 7289 0 R (table.5.186) 7290 0 R (table.6.187) 7291 0 R (table.6.188) 7292 0 R (table.6.189) 7293 0 R (table.6.190) 7294 0 R (table.6.191) 7295 0 R (table.6.192) 7296 0 R (table.6.193) 7297 0 R (tag-description) 7298 0 R (tag-dispatched) 7299 0 R (tag-example) 7300 0 R (tag-metafunction) 7301 0 R (tag-models) 7302 0 R (tag-see-also) 7303 0 R (tag-summary) 7304 0 R (tag-synopsis) 7305 0 R (terminology) 7306 0 R (the-algorithms-transformation-reverse-complexity) 7307 0 R (the-algorithms-transformation-reverse-description) 7308 0 R (the-algorithms-transformation-reverse-example) 7309 0 R (the-algorithms-transformation-reverse-expression-semantics) 7310 0 R (the-algorithms-transformation-reverse-header) 7311 0 R (the-algorithms-transformation-reverse-model-of) 7312 0 R (the-algorithms-transformation-reverse-parameters) 7313 0 R (the-algorithms-transformation-reverse-see-also) 7314 0 R (the-algorithms-transformation-reverse-synopsis) 7315 0 R (the-macros-asserts-assert-description) 7316 0 R (the-macros-asserts-assert-example) 7317 0 R (the-macros-asserts-assert-expression-semantics) 7318 0 R (the-macros-asserts-assert-header) 7319 0 R (the-macros-asserts-assert-parameters) 7320 0 R (the-macros-asserts-assert-see-also) 7321 0 R (the-macros-asserts-assert-synopsis) 7322 0 R (the-macros-configuration-limit-description) 7323 0 R (the-macros-configuration-limit-example) 7324 0 R (the-macros-configuration-limit-see-also) 7325 0 R (the-macros-configuration-limit-synopsis) 7326 0 R (times) 7327 0 R (times-complexity) 7328 0 R (times-description) 7329 0 R (times-example) 7330 0 R (times-expression-semantics) 7331 0 R (times-header) 7332 0 R (times-model-of) 7333 0 R (times-parameters) 7334 0 R (times-see-also) 7335 0 R (times-synopsis) 7336 0 R (transform) 7337 0 R (transform-complexity) 7338 0 R (transform-description) 7339 0 R (transform-example) 7340 0 R (transform-expression-semantics) 7341 0 R (transform-header) 7342 0 R (transform-model-of) 7343 0 R (transform-parameters) 7344 0 R (transform-see-also) 7345 0 R (transform-synopsis) 7346 0 R (transform-view) 7347 0 R (transformation-algorithms) 7348 0 R (transformation-copy-complexity) 7349 0 R (transformation-copy-description) 7350 0 R (transformation-copy-example) 7351 0 R (transformation-copy-expression-semantics) 7352 0 R (transformation-copy-header) 7353 0 R (transformation-copy-model-of) 7354 0 R (transformation-copy-parameters) 7355 0 R (transformation-copy-see-also) 7356 0 R (transformation-copy-synopsis) 7357 0 R (transformation-remove-complexity) 7358 0 R (transformation-remove-description) 7359 0 R (transformation-remove-example) 7360 0 R (transformation-remove-expression-semantics) 7361 0 R (transformation-remove-header) 7362 0 R (transformation-remove-model-of) 7363 0 R (transformation-remove-parameters) 7364 0 R (transformation-remove-see-also) 7365 0 R (transformation-remove-synopsis) 7366 0 R (transformation-replace-complexity) 7367 0 R (transformation-replace-description) 7368 0 R (transformation-replace-example) 7369 0 R (transformation-replace-expression-semantics) 7370 0 R (transformation-replace-header) 7371 0 R (transformation-replace-model-of) 7372 0 R (transformation-replace-parameters) 7373 0 R (transformation-replace-see-also) 7374 0 R (transformation-replace-synopsis) 7375 0 R (transformation-reverse-complexity) 7376 0 R (transformation-reverse-description) 7377 0 R (transformation-reverse-example) 7378 0 R (transformation-reverse-expression-semantics) 7379 0 R (transformation-reverse-header) 7380 0 R (transformation-reverse-model-of) 7381 0 R (transformation-reverse-parameters) 7382 0 R (transformation-reverse-see-also) 7383 0 R (transformation-reverse-synopsis) 7384 0 R (transformation-transform-description) 7385 0 R (transformation-transform-example) 7386 0 R (transformation-transform-expression-semantics) 7387 0 R (transformation-transform-header) 7388 0 R (transformation-transform-model-of) 7389 0 R (transformation-transform-parameters) 7390 0 R (transformation-transform-see-also) 7391 0 R (transformation-transform-synopsis) 7392 0 R (trivial) 7393 0 R (trivial-base) 7394 0 R (trivial-description) 7395 0 R (trivial-expression-requirements) 7396 0 R (trivial-expression-semantics) 7397 0 R (trivial-first) 7398 0 R (trivial-metafunction) 7399 0 R (trivial-metafunctions) 7400 0 R (trivial-models) 7401 0 R (trivial-second) 7402 0 R (trivial-see-also) 7403 0 R (trivial-trivial-see-also) 7404 0 R (type-eval-description) 7405 0 R (type-eval-example) 7406 0 R (type-eval-expression-semantics) 7407 0 R (type-eval-header) 7408 0 R (type-eval-parameters) 7409 0 R (type-eval-see-also) 7410 0 R (type-eval-synopsis) 7411 0 R (type-if-description) 7412 0 R (type-if-example) 7413 0 R (type-if-expression-semantics) 7414 0 R (type-if-header) 7415 0 R (type-if-parameters) 7416 0 R (type-if-see-also) 7417 0 R (type-if-synopsis) 7418 0 R (type-selection) 7419 0 R (unique) 7420 0 R (unique-complexity) 7421 0 R (unique-description) 7422 0 R (unique-example) 7423 0 R (unique-expression-semantics) 7424 0 R (unique-header) 7425 0 R (unique-model-of) 7426 0 R (unique-parameters) 7427 0 R (unique-see-also) 7428 0 R (unique-synopsis) 7429 0 R (unpack-args) 7430 0 R (unpack-description) 7431 0 R (unpack-example) 7432 0 R (unpack-expression-semantics) 7433 0 R (unpack-header) 7434 0 R (unpack-model-of) 7435 0 R (unpack-parameters) 7436 0 R (unpack-see-also) 7437 0 R (unpack-synopsis) 7438 0 R (upper-bound) 7439 0 R (upper-complexity) 7440 0 R (upper-description) 7441 0 R (upper-example) 7442 0 R (upper-expression-semantics) 7443 0 R (upper-header) 7444 0 R (upper-parameters) 7445 0 R (upper-see-also) 7446 0 R (upper-synopsis) 7447 0 R (valid-expressions) 7448 0 R (value-complexity) 7449 0 R (value-description) 7450 0 R (value-example) 7451 0 R (value-expression-semantics) 7452 0 R (value-header) 7453 0 R (value-model-of) 7454 0 R (value-parameters) 7455 0 R (value-part) 7456 0 R (value-see-also) 7457 0 R (value-synopsis) 7458 0 R (value-type) 7459 0 R (variadic-description) 7460 0 R (variadic-expression-requirements) 7461 0 R (variadic-expression-semantics) 7462 0 R (variadic-models) 7463 0 R (variadic-see-also) 7464 0 R (variadic-sequence) 7465 0 R (vector) 7466 0 R (vector-c) 7467 0 R (vector-description) 7468 0 R (vector-example) 7469 0 R (vector-expression-semantics) 7470 0 R (vector-header) 7471 0 R (vector-model-of) 7472 0 R (vector-see-also) 7473 0 R (views) 7474 0 R (void) 7475 0 R (void-description) 7476 0 R (void-header) 7477 0 R (void-see-also) 7478 0 R (void-synopsis) 7479 0 R (zip-description) 7480 0 R (zip-example) 7481 0 R (zip-expression-semantics) 7482 0 R (zip-header) 7483 0 R (zip-model-of) 7484 0 R (zip-parameters) 7485 0 R (zip-see-also) 7486 0 R (zip-synopsis) 7487 0 R (zip-view) 7488 0 R ] +/Limits [ (Doc-Start) (zip-view) ] +>> +endobj +3953 0 obj +<< +/D [ 3 0 R /XYZ 72 771.732 null ] +>> +endobj +3954 0 obj +<< +/D [ 2080 0 R /XYZ 72 550.98 null ] +>> +endobj +3955 0 obj +<< +/D [ 2080 0 R /XYZ 72 530.99 null ] +>> +endobj +3956 0 obj +<< +/D [ 1526 0 R /XYZ 72 155.952 null ] +>> +endobj +3957 0 obj +<< +/D [ 1533 0 R /XYZ 72 273.287 null ] +>> +endobj +3958 0 obj +<< +/D [ 1533 0 R /XYZ 72 626.198 null ] +>> +endobj +3959 0 obj +<< +/D [ 1533 0 R /XYZ 72 221.506 null ] +>> +endobj +3960 0 obj +<< +/D [ 1533 0 R /XYZ 72 384.44 null ] +>> +endobj +3961 0 obj +<< +/D [ 1533 0 R /XYZ 72 549.67 null ] +>> +endobj +3962 0 obj +<< +/D [ 1533 0 R /XYZ 72 497.889 null ] +>> +endobj +3963 0 obj +<< +/D [ 1541 0 R /XYZ 72 712.574 null ] +>> +endobj +3964 0 obj +<< +/D [ 1533 0 R /XYZ 72 760.305 null ] +>> +endobj +3965 0 obj +<< +/D [ 3291 0 R /XYZ 72 669.894 null ] +>> +endobj +3966 0 obj +<< +/D [ 1291 0 R /XYZ 72 403.668 null ] +>> +endobj +3967 0 obj +<< +/D [ 1306 0 R /XYZ 72 356.674 null ] +>> +endobj +3968 0 obj +<< +/D [ 1291 0 R /XYZ 72 262.238 null ] +>> +endobj +3969 0 obj +<< +/D [ 1306 0 R /XYZ 72 305.665 null ] +>> +endobj +3970 0 obj +<< +/D [ 1306 0 R /XYZ 72 653.591 null ] +>> +endobj +3971 0 obj +<< +/D [ 1291 0 R /XYZ 72 209.675 null ] +>> +endobj +3972 0 obj +<< +/D [ 1306 0 R /XYZ 72 692.958 null ] +>> +endobj +3973 0 obj +<< +/D [ 1291 0 R /XYZ 72 157.84 null ] +>> +endobj +3974 0 obj +<< +/D [ 1306 0 R /XYZ 72 158.308 null ] +>> +endobj +3975 0 obj +<< +/D [ 1291 0 R /XYZ 72 384.39 null ] +>> +endobj +3976 0 obj +<< +/D [ 1382 0 R /XYZ 72 740.28 null ] +>> +endobj +3977 0 obj +<< +/D [ 1391 0 R /XYZ 72 441.327 null ] +>> +endobj +3978 0 obj +<< +/D [ 1514 0 R /XYZ 72 341.875 null ] +>> +endobj +3979 0 obj +<< +/D [ 1896 0 R /XYZ 72 587.254 null ] +>> +endobj +3980 0 obj +<< +/D [ 1887 0 R /XYZ 72 378.577 null ] +>> +endobj +3981 0 obj +<< +/D [ 1896 0 R /XYZ 72 535.473 null ] +>> +endobj +3982 0 obj +<< +/D [ 1896 0 R /XYZ 72 716.34 null ] +>> +endobj +3983 0 obj +<< +/D [ 1887 0 R /XYZ 72 296.126 null ] +>> +endobj +3984 0 obj +<< +/D [ 1930 0 R /XYZ 72 740.28 null ] +>> +endobj +3985 0 obj +<< +/D [ 1887 0 R /XYZ 72 192.565 null ] +>> +endobj +3986 0 obj +<< +/D [ 1896 0 R /XYZ 72 400.006 null ] +>> +endobj +3987 0 obj +<< +/D [ 1887 0 R /XYZ 72 498.826 null ] +>> +endobj +3988 0 obj +<< +/D [ 2757 0 R /XYZ 72 450.218 null ] +>> +endobj +3989 0 obj +<< +/D [ 2757 0 R /XYZ 72 296.31 null ] +>> +endobj +3990 0 obj +<< +/D [ 2766 0 R /XYZ 72 544.37 null ] +>> +endobj +3991 0 obj +<< +/D [ 2766 0 R /XYZ 72 655.523 null ] +>> +endobj +3992 0 obj +<< +/D [ 2757 0 R /XYZ 72 231.792 null ] +>> +endobj +3993 0 obj +<< +/D [ 2757 0 R /XYZ 72 179.957 null ] +>> +endobj +3994 0 obj +<< +/D [ 2766 0 R /XYZ 72 742.392 null ] +>> +endobj +3995 0 obj +<< +/D [ 2766 0 R /XYZ 72 444.769 null ] +>> +endobj +3996 0 obj +<< +/D [ 2757 0 R /XYZ 72 416.559 null ] +>> +endobj +3997 0 obj +<< +/D [ 2604 0 R /XYZ 72 330.856 null ] +>> +endobj +3998 0 obj +<< +/D [ 2604 0 R /XYZ 72 167.419 null ] +>> +endobj +3999 0 obj +<< +/D [ 2618 0 R /XYZ 72 402.926 null ] +>> +endobj +4000 0 obj +<< +/D [ 2618 0 R /XYZ 72 591.787 null ] +>> +endobj +4001 0 obj +<< +/D [ 2618 0 R /XYZ 72 740.335 null ] +>> +endobj +4002 0 obj +<< +/D [ 2618 0 R /XYZ 72 676.544 null ] +>> +endobj +4003 0 obj +<< +/D [ 2618 0 R /XYZ 72 268.296 null ] +>> +endobj +4004 0 obj +<< +/D [ 2604 0 R /XYZ 72 312.32 null ] +>> +endobj +4005 0 obj +<< +/D [ 2239 0 R /XYZ 72 443.344 null ] +>> +endobj +4006 0 obj +<< +/D [ 2249 0 R /XYZ 72 593.023 null ] +>> +endobj +4007 0 obj +<< +/D [ 2249 0 R /XYZ 72 285.134 null ] +>> +endobj +4008 0 obj +<< +/D [ 2249 0 R /XYZ 72 390.31 null ] +>> +endobj +4009 0 obj +<< +/D [ 2249 0 R /XYZ 72 540.46 null ] +>> +endobj +4010 0 obj +<< +/D [ 2249 0 R /XYZ 72 488.624 null ] +>> +endobj +4011 0 obj +<< +/D [ 2256 0 R /XYZ 72 760.395 null ] +>> +endobj +4012 0 obj +<< +/D [ 2239 0 R /XYZ 72 422.163 null ] +>> +endobj +4013 0 obj +<< +/D [ 2256 0 R /XYZ 72 707.777 null ] +>> +endobj +4014 0 obj +<< +/D [ 2360 0 R /XYZ 72 387.005 null ] +>> +endobj +4015 0 obj +<< +/D [ 2369 0 R /XYZ 72 700.619 null ] +>> +endobj +4016 0 obj +<< +/D [ 2369 0 R /XYZ 72 420.335 null ] +>> +endobj +4017 0 obj +<< +/D [ 2369 0 R /XYZ 72 511.464 null ] +>> +endobj +4018 0 obj +<< +/D [ 2369 0 R /XYZ 72 648.001 null ] +>> +endobj +4019 0 obj +<< +/D [ 2369 0 R /XYZ 72 596.221 null ] +>> +endobj +4020 0 obj +<< +/D [ 2369 0 R /XYZ 72 319.479 null ] +>> +endobj +4021 0 obj +<< +/D [ 2360 0 R /XYZ 72 353.347 null ] +>> +endobj +4022 0 obj +<< +/D [ 2390 0 R /XYZ 72 612.136 null ] +>> +endobj +4023 0 obj +<< +/D [ 2959 0 R /XYZ 72 512.46 null ] +>> +endobj +4024 0 obj +<< +/D [ 2959 0 R /XYZ 72 418.821 null ] +>> +endobj +4025 0 obj +<< +/D [ 2966 0 R /XYZ 72 699.782 null ] +>> +endobj +4026 0 obj +<< +/D [ 2959 0 R /XYZ 72 229.118 null ] +>> +endobj +4027 0 obj +<< +/D [ 2959 0 R /XYZ 72 365.656 null ] +>> +endobj +4028 0 obj +<< +/D [ 2966 0 R /XYZ 72 453.531 null ] +>> +endobj +4029 0 obj +<< +/D [ 2973 0 R /XYZ 72 138.661 null ] +>> +endobj +4030 0 obj +<< +/D [ 2959 0 R /XYZ 72 313.875 null ] +>> +endobj +4031 0 obj +<< +/D [ 2985 0 R /XYZ 72 741.052 null ] +>> +endobj +4032 0 obj +<< +/D [ 2966 0 R /XYZ 72 504.539 null ] +>> +endobj +4033 0 obj +<< +/D [ 2959 0 R /XYZ 72 479.489 null ] +>> +endobj +4034 0 obj +<< +/D [ 2959 0 R /XYZ 72 590.766 null ] +>> +endobj +4035 0 obj +<< +/D [ 2966 0 R /XYZ 72 359.175 null ] +>> +endobj +4036 0 obj +<< +/D [ 2973 0 R /XYZ 72 443.297 null ] +>> +endobj +4037 0 obj +<< +/D [ 2973 0 R /XYZ 72 721.823 null ] +>> +endobj +4038 0 obj +<< +/D [ 2966 0 R /XYZ 72 306.064 null ] +>> +endobj +4039 0 obj +<< +/D [ 2966 0 R /XYZ 72 254.228 null ] +>> +endobj +4040 0 obj +<< +/D [ 2973 0 R /XYZ 72 188.974 null ] +>> +endobj +4041 0 obj +<< +/D [ 2966 0 R /XYZ 72 419.842 null ] +>> +endobj +4042 0 obj +<< +/D [ 384 0 R /XYZ 72 171.653 null ] +>> +endobj +4043 0 obj +<< +/D [ 384 0 R /XYZ 72 244.864 null ] +>> +endobj +4044 0 obj +<< +/D [ 408 0 R /XYZ 72 722.402 null ] +>> +endobj +4045 0 obj +<< +/D [ 408 0 R /XYZ 72 501.655 null ] +>> +endobj +4046 0 obj +<< +/D [ 408 0 R /XYZ 72 275.165 null ] +>> +endobj +4047 0 obj +<< +/D [ 408 0 R /XYZ 72 215.195 null ] +>> +endobj +4048 0 obj +<< +/D [ 384 0 R /XYZ 72 278.522 null ] +>> +endobj +4049 0 obj +<< +/D [ 866 0 R /XYZ 72 212.744 null ] +>> +endobj +4050 0 obj +<< +/D [ 903 0 R /XYZ 72 199.035 null ] +>> +endobj +4051 0 obj +<< +/D [ 918 0 R /XYZ 72 299.588 null ] +>> +endobj +4052 0 obj +<< +/D [ 893 0 R /XYZ 72 518.602 null ] +>> +endobj +4053 0 obj +<< +/D [ 903 0 R /XYZ 72 379.847 null ] +>> +endobj +4054 0 obj +<< +/D [ 903 0 R /XYZ 72 771.732 null ] +>> +endobj +4055 0 obj +<< +/D [ 893 0 R /XYZ 72 418.163 null ] +>> +endobj +4056 0 obj +<< +/D [ 893 0 R /XYZ 72 366.383 null ] +>> +endobj +4057 0 obj +<< +/D [ 893 0 R /XYZ 72 314.657 null ] +>> +endobj +4058 0 obj +<< +/D [ 903 0 R /XYZ 72 250.761 null ] +>> +endobj +4059 0 obj +<< +/D [ 893 0 R /XYZ 72 760.305 null ] +>> +endobj +4060 0 obj +<< +/D [ 3077 0 R /XYZ 72 298.157 null ] +>> +endobj +4061 0 obj +<< +/D [ 3089 0 R /XYZ 72 473.401 null ] +>> +endobj +4062 0 obj +<< +/D [ 3089 0 R /XYZ 72 678.084 null ] +>> +endobj +4063 0 obj +<< +/D [ 3077 0 R /XYZ 72 233.435 null ] +>> +endobj +4064 0 obj +<< +/D [ 3077 0 R /XYZ 72 377.36 null ] +>> +endobj +4065 0 obj +<< +/D [ 3077 0 R /XYZ 72 181.942 null ] +>> +endobj +4066 0 obj +<< +/D [ 3089 0 R /XYZ 72 323.867 null ] +>> +endobj +4067 0 obj +<< +/D [ 3077 0 R /XYZ 72 358.825 null ] +>> +endobj +4068 0 obj +<< +/D [ 924 0 R /XYZ 72 707.832 null ] +>> +endobj +4069 0 obj +<< +/D [ 924 0 R /XYZ 72 195.803 null ] +>> +endobj +4070 0 obj +<< +/D [ 384 0 R /XYZ 72 758.402 null ] +>> +endobj +4071 0 obj +<< +/D [ 924 0 R /XYZ 72 146.134 null ] +>> +endobj +4072 0 obj +<< +/D [ 384 0 R /XYZ 72 657.322 null ] +>> +endobj +4073 0 obj +<< +/D [ 384 0 R /XYZ 72 513.949 null ] +>> +endobj +4074 0 obj +<< +/D [ 353 0 R /XYZ 72 145.073 null ] +>> +endobj +4075 0 obj +<< +/D [ 924 0 R /XYZ 72 513.262 null ] +>> +endobj +4076 0 obj +<< +/D [ 1427 0 R /XYZ 72 579.782 null ] +>> +endobj +4077 0 obj +<< +/D [ 924 0 R /XYZ 72 461.426 null ] +>> +endobj +4078 0 obj +<< +/D [ 384 0 R /XYZ 72 390.273 null ] +>> +endobj +4079 0 obj +<< +/D [ 924 0 R /XYZ 72 409.7 null ] +>> +endobj +4080 0 obj +<< +/D [ 384 0 R /XYZ 72 709.102 null ] +>> +endobj +4081 0 obj +<< +/D [ 384 0 R /XYZ 72 330.303 null ] +>> +endobj +4082 0 obj +<< +/D [ 924 0 R /XYZ 72 676.021 null ] +>> +endobj +4083 0 obj +<< +/D [ 935 0 R /XYZ 72 616.769 null ] +>> +endobj +4084 0 obj +<< +/D [ 949 0 R /XYZ 72 717.77 null ] +>> +endobj +4085 0 obj +<< +/D [ 935 0 R /XYZ 72 474.816 null ] +>> +endobj +4086 0 obj +<< +/D [ 949 0 R /XYZ 72 668.046 null ] +>> +endobj +4087 0 obj +<< +/D [ 935 0 R /XYZ 72 221.925 null ] +>> +endobj +4088 0 obj +<< +/D [ 935 0 R /XYZ 72 411.508 null ] +>> +endobj +4089 0 obj +<< +/D [ 935 0 R /XYZ 72 358.462 null ] +>> +endobj +4090 0 obj +<< +/D [ 935 0 R /XYZ 72 306.736 null ] +>> +endobj +4091 0 obj +<< +/D [ 949 0 R /XYZ 72 542.422 null ] +>> +endobj +4092 0 obj +<< +/D [ 935 0 R /XYZ 72 583.11 null ] +>> +endobj +4093 0 obj +<< +/D [ 1262 0 R /XYZ 72 181.247 null ] +>> +endobj +4094 0 obj +<< +/D [ 273 0 R /XYZ 72 304.002 null ] +>> +endobj +4095 0 obj +<< +/D [ 273 0 R /XYZ 72 214.876 null ] +>> +endobj +4096 0 obj +<< +/D [ 302 0 R /XYZ 72 701.994 null ] +>> +endobj +4097 0 obj +<< +/D [ 1275 0 R /XYZ 72 487.115 null ] +>> +endobj +4098 0 obj +<< +/D [ 1262 0 R /XYZ 72 313.984 null ] +>> +endobj +4099 0 obj +<< +/D [ 302 0 R /XYZ 72 607.01 null ] +>> +endobj +4100 0 obj +<< +/D [ 1262 0 R /XYZ 72 230.97 null ] +>> +endobj +4101 0 obj +<< +/D [ 302 0 R /XYZ 72 547.04 null ] +>> +endobj +4102 0 obj +<< +/D [ 273 0 R /XYZ 72 337.66 null ] +>> +endobj +4103 0 obj +<< +/D [ 2312 0 R /XYZ 72 303.319 null ] +>> +endobj +4104 0 obj +<< +/D [ 2324 0 R /XYZ 72 389.785 null ] +>> +endobj +4105 0 obj +<< +/D [ 2332 0 R /XYZ 72 292.016 null ] +>> +endobj +4106 0 obj +<< +/D [ 3101 0 R /XYZ 72 584.679 null ] +>> +endobj +4107 0 obj +<< +/D [ 2332 0 R /XYZ 72 771.732 null ] +>> +endobj +4108 0 obj +<< +/D [ 2324 0 R /XYZ 72 325.267 null ] +>> +endobj +4109 0 obj +<< +/D [ 2324 0 R /XYZ 72 273.431 null ] +>> +endobj +4110 0 obj +<< +/D [ 2324 0 R /XYZ 72 223.762 null ] +>> +endobj +4111 0 obj +<< +/D [ 2340 0 R /XYZ 72 377.83 null ] +>> +endobj +4112 0 obj +<< +/D [ 2332 0 R /XYZ 72 692.649 null ] +>> +endobj +4113 0 obj +<< +/D [ 2312 0 R /XYZ 72 271.563 null ] +>> +endobj +4114 0 obj +<< +/D [ 2647 0 R /XYZ 72 709.984 null ] +>> +endobj +4115 0 obj +<< +/D [ 2661 0 R /XYZ 72 610.118 null ] +>> +endobj +4116 0 obj +<< +/D [ 2647 0 R /XYZ 72 534.592 null ] +>> +endobj +4117 0 obj +<< +/D [ 2661 0 R /XYZ 72 560.45 null ] +>> +endobj +4118 0 obj +<< +/D [ 2647 0 R /XYZ 72 237.7 null ] +>> +endobj +4119 0 obj +<< +/D [ 2647 0 R /XYZ 72 482.029 null ] +>> +endobj +4120 0 obj +<< +/D [ 2647 0 R /XYZ 72 418.238 null ] +>> +endobj +4121 0 obj +<< +/D [ 2647 0 R /XYZ 72 368.569 null ] +>> +endobj +4122 0 obj +<< +/D [ 2661 0 R /XYZ 72 375.887 null ] +>> +endobj +4123 0 obj +<< +/D [ 2647 0 R /XYZ 72 691.448 null ] +>> +endobj +4124 0 obj +<< +/D [ 2661 0 R /XYZ 72 323.324 null ] +>> +endobj +4125 0 obj +<< +/D [ 2671 0 R /XYZ 72 208.43 null ] +>> +endobj +4126 0 obj +<< +/D [ 2671 0 R /XYZ 72 760.395 null ] +>> +endobj +4127 0 obj +<< +/D [ 2671 0 R /XYZ 72 158.762 null ] +>> +endobj +4128 0 obj +<< +/D [ 2671 0 R /XYZ 72 463.504 null ] +>> +endobj +4129 0 obj +<< +/D [ 2671 0 R /XYZ 72 707.832 null ] +>> +endobj +4130 0 obj +<< +/D [ 2671 0 R /XYZ 72 644.041 null ] +>> +endobj +4131 0 obj +<< +/D [ 2671 0 R /XYZ 72 594.373 null ] +>> +endobj +4132 0 obj +<< +/D [ 2682 0 R /XYZ 72 609.61 null ] +>> +endobj +4133 0 obj +<< +/D [ 2661 0 R /XYZ 72 290.353 null ] +>> +endobj +4134 0 obj +<< +/D [ 2647 0 R /XYZ 72 740.335 null ] +>> +endobj +4135 0 obj +<< +/D [ 2730 0 R /XYZ 72 417.795 null ] +>> +endobj +4136 0 obj +<< +/D [ 2720 0 R /XYZ 72 306.846 null ] +>> +endobj +4137 0 obj +<< +/D [ 2730 0 R /XYZ 72 368.126 null ] +>> +endobj +4138 0 obj +<< +/D [ 2730 0 R /XYZ 72 648.958 null ] +>> +endobj +4139 0 obj +<< +/D [ 2720 0 R /XYZ 72 254.283 null ] +>> +endobj +4140 0 obj +<< +/D [ 2720 0 R /XYZ 72 190.492 null ] +>> +endobj +4141 0 obj +<< +/D [ 2720 0 R /XYZ 72 140.824 null ] +>> +endobj +4142 0 obj +<< +/D [ 2730 0 R /XYZ 72 206.637 null ] +>> +endobj +4143 0 obj +<< +/D [ 2720 0 R /XYZ 72 427.095 null ] +>> +endobj +4144 0 obj +<< +/D [ 2682 0 R /XYZ 72 557.048 null ] +>> +endobj +4145 0 obj +<< +/D [ 2692 0 R /XYZ 72 434.889 null ] +>> +endobj +4146 0 obj +<< +/D [ 2682 0 R /XYZ 72 367.22 null ] +>> +endobj +4147 0 obj +<< +/D [ 2692 0 R /XYZ 72 385.822 null ] +>> +endobj +4148 0 obj +<< +/D [ 2692 0 R /XYZ 72 689.36 null ] +>> +endobj +4149 0 obj +<< +/D [ 2682 0 R /XYZ 72 314.657 null ] +>> +endobj +4150 0 obj +<< +/D [ 2682 0 R /XYZ 72 250.866 null ] +>> +endobj +4151 0 obj +<< +/D [ 2682 0 R /XYZ 72 201.197 null ] +>> +endobj +4152 0 obj +<< +/D [ 2692 0 R /XYZ 72 189.905 null ] +>> +endobj +4153 0 obj +<< +/D [ 2682 0 R /XYZ 72 524.076 null ] +>> +endobj +4154 0 obj +<< +/D [ 2864 0 R /XYZ 72 661.451 null ] +>> +endobj +4155 0 obj +<< +/D [ 2864 0 R /XYZ 72 483.319 null ] +>> +endobj +4156 0 obj +<< +/D [ 2876 0 R /XYZ 72 771.732 null ] +>> +endobj +4157 0 obj +<< +/D [ 2864 0 R /XYZ 72 243.22 null ] +>> +endobj +4158 0 obj +<< +/D [ 2864 0 R /XYZ 72 431.593 null ] +>> +endobj +4159 0 obj +<< +/D [ 2864 0 R /XYZ 72 379.757 null ] +>> +endobj +4160 0 obj +<< +/D [ 2864 0 R /XYZ 72 328.032 null ] +>> +endobj +4161 0 obj +<< +/D [ 2876 0 R /XYZ 72 693.297 null ] +>> +endobj +4162 0 obj +<< +/D [ 2864 0 R /XYZ 72 641.013 null ] +>> +endobj +4163 0 obj +<< +/D [ 3077 0 R /XYZ 72 407.711 null ] +>> +endobj +4164 0 obj +<< +/D [ 3108 0 R /XYZ 72 653.476 null ] +>> +endobj +4165 0 obj +<< +/D [ 3108 0 R /XYZ 72 653.476 null ] +>> +endobj +4166 0 obj +<< +/D [ 3101 0 R /XYZ 72 454.383 null ] +>> +endobj +4167 0 obj +<< +/D [ 3020 0 R /XYZ 72 268.046 null ] +>> +endobj +4168 0 obj +<< +/D [ 3027 0 R /XYZ 72 740.335 null ] +>> +endobj +4169 0 obj +<< +/D [ 3020 0 R /XYZ 72 323.459 null ] +>> +endobj +4170 0 obj +<< +/D [ 3020 0 R /XYZ 72 149.302 null ] +>> +endobj +4171 0 obj +<< +/D [ 3020 0 R /XYZ 72 304.923 null ] +>> +endobj +4172 0 obj +<< +/D [ 17 0 R /XYZ 72 635.943 null ] +>> +endobj +4173 0 obj +<< +/D [ 3308 0 R /XYZ 72 631.209 null ] +>> +endobj +4174 0 obj +<< +/D [ 249 0 R /XYZ 72 771.732 null ] +>> +endobj +4175 0 obj +<< +/D [ 1248 0 R /XYZ 72 771.732 null ] +>> +endobj +4176 0 obj +<< +/D [ 1391 0 R /XYZ 72 771.732 null ] +>> +endobj +4177 0 obj +<< +/D [ 2080 0 R /XYZ 72 771.732 null ] +>> +endobj +4178 0 obj +<< +/D [ 2850 0 R /XYZ 72 771.732 null ] +>> +endobj +4179 0 obj +<< +/D [ 2959 0 R /XYZ 72 771.732 null ] +>> +endobj +4180 0 obj +<< +/D [ 3101 0 R /XYZ 72 771.732 null ] +>> +endobj +4181 0 obj +<< +/D [ 3108 0 R /XYZ 72 771.732 null ] +>> +endobj +4182 0 obj +<< +/D [ 3300 0 R /XYZ 72 771.732 null ] +>> +endobj +4183 0 obj +<< +/D [ 3308 0 R /XYZ 72 612.33 null ] +>> +endobj +4184 0 obj +<< +/D [ 3308 0 R /XYZ 72 594.397 null ] +>> +endobj +4185 0 obj +<< +/D [ 3308 0 R /XYZ 72 630.263 null ] +>> +endobj +4186 0 obj +<< +/D [ 499 0 R /XYZ 72 740.335 null ] +>> +endobj +4187 0 obj +<< +/D [ 705 0 R /XYZ 72 467.663 null ] +>> +endobj +4188 0 obj +<< +/D [ 729 0 R /XYZ 72 642.218 null ] +>> +endobj +4189 0 obj +<< +/D [ 705 0 R /XYZ 72 207.364 null ] +>> +endobj +4190 0 obj +<< +/D [ 705 0 R /XYZ 72 417.621 null ] +>> +endobj +4191 0 obj +<< +/D [ 705 0 R /XYZ 72 318.462 null ] +>> +endobj +4192 0 obj +<< +/D [ 729 0 R /XYZ 72 564.315 null ] +>> +endobj +4193 0 obj +<< +/D [ 729 0 R /XYZ 72 479.618 null ] +>> +endobj +4194 0 obj +<< +/D [ 755 0 R /XYZ 72 680.475 null ] +>> +endobj +4195 0 obj +<< +/D [ 729 0 R /XYZ 72 255.185 null ] +>> +endobj +4196 0 obj +<< +/D [ 729 0 R /XYZ 72 429.576 null ] +>> +endobj +4197 0 obj +<< +/D [ 729 0 R /XYZ 72 330.418 null ] +>> +endobj +4198 0 obj +<< +/D [ 755 0 R /XYZ 72 554.751 null ] +>> +endobj +4199 0 obj +<< +/D [ 687 0 R /XYZ 72 471.623 null ] +>> +endobj +4200 0 obj +<< +/D [ 687 0 R /XYZ 72 193.391 null ] +>> +endobj +4201 0 obj +<< +/D [ 705 0 R /XYZ 72 552.36 null ] +>> +endobj +4202 0 obj +<< +/D [ 949 0 R /XYZ 72 490.642 null ] +>> +endobj +4203 0 obj +<< +/D [ 961 0 R /XYZ 72 589.645 null ] +>> +endobj +4204 0 obj +<< +/D [ 949 0 R /XYZ 72 348.689 null ] +>> +endobj +4205 0 obj +<< +/D [ 961 0 R /XYZ 72 539.977 null ] +>> +endobj +4206 0 obj +<< +/D [ 961 0 R /XYZ 72 718.731 null ] +>> +endobj +4207 0 obj +<< +/D [ 949 0 R /XYZ 72 296.071 null ] +>> +endobj +4208 0 obj +<< +/D [ 949 0 R /XYZ 72 244.291 null ] +>> +endobj +4209 0 obj +<< +/D [ 949 0 R /XYZ 72 192.565 null ] +>> +endobj +4210 0 obj +<< +/D [ 961 0 R /XYZ 72 450.218 null ] +>> +endobj +4211 0 obj +<< +/D [ 949 0 R /XYZ 72 458.886 null ] +>> +endobj +4212 0 obj +<< +/D [ 2489 0 R /XYZ 72 236.973 null ] +>> +endobj +4213 0 obj +<< +/D [ 2592 0 R /XYZ 72 723.693 null ] +>> +endobj +4214 0 obj +<< +/D [ 2575 0 R /XYZ 72 586.373 null ] +>> +endobj +4215 0 obj +<< +/D [ 2592 0 R /XYZ 72 674.024 null ] +>> +endobj +4216 0 obj +<< +/D [ 2575 0 R /XYZ 72 289.481 null ] +>> +endobj +4217 0 obj +<< +/D [ 2575 0 R /XYZ 72 533.81 null ] +>> +endobj +4218 0 obj +<< +/D [ 2575 0 R /XYZ 72 420.35 null ] +>> +endobj +4219 0 obj +<< +/D [ 2592 0 R /XYZ 72 596.221 null ] +>> +endobj +4220 0 obj +<< +/D [ 2575 0 R /XYZ 72 706.622 null ] +>> +endobj +4221 0 obj +<< +/D [ 2563 0 R /XYZ 72 300.709 null ] +>> +endobj +4222 0 obj +<< +/D [ 2547 0 R /XYZ 72 140.101 null ] +>> +endobj +4223 0 obj +<< +/D [ 2563 0 R /XYZ 72 251.04 null ] +>> +endobj +4224 0 obj +<< +/D [ 2563 0 R /XYZ 72 496.007 null ] +>> +endobj +4225 0 obj +<< +/D [ 2563 0 R /XYZ 72 740.335 null ] +>> +endobj +4226 0 obj +<< +/D [ 2563 0 R /XYZ 72 676.544 null ] +>> +endobj +4227 0 obj +<< +/D [ 2563 0 R /XYZ 72 626.876 null ] +>> +endobj +4228 0 obj +<< +/D [ 2563 0 R /XYZ 72 173.237 null ] +>> +endobj +4229 0 obj +<< +/D [ 2547 0 R /XYZ 72 260.35 null ] +>> +endobj +4230 0 obj +<< +/D [ 2534 0 R /XYZ 72 651.962 null ] +>> +endobj +4231 0 obj +<< +/D [ 2518 0 R /XYZ 72 510.682 null ] +>> +endobj +4232 0 obj +<< +/D [ 2534 0 R /XYZ 72 602.293 null ] +>> +endobj +4233 0 obj +<< +/D [ 2518 0 R /XYZ 72 213.79 null ] +>> +endobj +4234 0 obj +<< +/D [ 2518 0 R /XYZ 72 458.119 null ] +>> +endobj +4235 0 obj +<< +/D [ 2518 0 R /XYZ 72 394.328 null ] +>> +endobj +4236 0 obj +<< +/D [ 2518 0 R /XYZ 72 344.659 null ] +>> +endobj +4237 0 obj +<< +/D [ 2534 0 R /XYZ 72 524.49 null ] +>> +endobj +4238 0 obj +<< +/D [ 2518 0 R /XYZ 72 630.931 null ] +>> +endobj +4239 0 obj +<< +/D [ 903 0 R /XYZ 72 495.199 null ] +>> +endobj +4240 0 obj +<< +/D [ 3108 0 R /XYZ 72 224.679 null ] +>> +endobj +4241 0 obj +<< +/D [ 2287 0 R /XYZ 72 740.28 null ] +>> +endobj +4242 0 obj +<< +/D [ 2299 0 R /XYZ 72 454.268 null ] +>> +endobj +4243 0 obj +<< +/D [ 2312 0 R /XYZ 72 355.937 null ] +>> +endobj +4244 0 obj +<< +/D [ 3101 0 R /XYZ 72 614.567 null ] +>> +endobj +4245 0 obj +<< +/D [ 249 0 R /XYZ 72 536.968 null ] +>> +endobj +4246 0 obj +<< +/D [ 436 0 R /XYZ 72 758.402 null ] +>> +endobj +4247 0 obj +<< +/D [ 436 0 R /XYZ 72 697.147 null ] +>> +endobj +4248 0 obj +<< +/D [ 436 0 R /XYZ 72 505.092 null ] +>> +endobj +4249 0 obj +<< +/D [ 436 0 R /XYZ 72 292.948 null ] +>> +endobj +4250 0 obj +<< +/D [ 436 0 R /XYZ 72 232.978 null ] +>> +endobj +4251 0 obj +<< +/D [ 3020 0 R /XYZ 72 354.527 null ] +>> +endobj +4252 0 obj +<< +/D [ 3027 0 R /XYZ 72 670.487 null ] +>> +endobj +4253 0 obj +<< +/D [ 3027 0 R /XYZ 72 605.541 null ] +>> +endobj +4254 0 obj +<< +/D [ 3027 0 R /XYZ 72 707.364 null ] +>> +endobj +4255 0 obj +<< +/D [ 3043 0 R /XYZ 72 531.334 null ] +>> +endobj +4256 0 obj +<< +/D [ 3043 0 R /XYZ 72 418.178 null ] +>> +endobj +4257 0 obj +<< +/D [ 3043 0 R /XYZ 72 270.144 null ] +>> +endobj +4258 0 obj +<< +/D [ 3043 0 R /XYZ 72 615.085 null ] +>> +endobj +4259 0 obj +<< +/D [ 1567 0 R /XYZ 72 538.517 null ] +>> +endobj +4260 0 obj +<< +/D [ 1577 0 R /XYZ 72 669.894 null ] +>> +endobj +4261 0 obj +<< +/D [ 1567 0 R /XYZ 72 384.555 null ] +>> +endobj +4262 0 obj +<< +/D [ 1577 0 R /XYZ 72 618.168 null ] +>> +endobj +4263 0 obj +<< +/D [ 1567 0 R /XYZ 72 181.053 null ] +>> +endobj +4264 0 obj +<< +/D [ 1567 0 R /XYZ 72 331.937 null ] +>> +endobj +4265 0 obj +<< +/D [ 1567 0 R /XYZ 72 280.156 null ] +>> +endobj +4266 0 obj +<< +/D [ 1577 0 R /XYZ 72 554.378 null ] +>> +endobj +4267 0 obj +<< +/D [ 1567 0 R /XYZ 72 506.706 null ] +>> +endobj +4268 0 obj +<< +/D [ 1676 0 R /XYZ 72 408.47 null ] +>> +endobj +4269 0 obj +<< +/D [ 1685 0 R /XYZ 72 460.31 null ] +>> +endobj +4270 0 obj +<< +/D [ 1676 0 R /XYZ 72 252.45 null ] +>> +endobj +4271 0 obj +<< +/D [ 1685 0 R /XYZ 72 408.53 null ] +>> +endobj +4272 0 obj +<< +/D [ 1685 0 R /XYZ 72 589.396 null ] +>> +endobj +4273 0 obj +<< +/D [ 1676 0 R /XYZ 72 169.999 null ] +>> +endobj +4274 0 obj +<< +/D [ 1685 0 R /XYZ 72 221.282 null ] +>> +endobj +4275 0 obj +<< +/D [ 1685 0 R /XYZ 72 740.28 null ] +>> +endobj +4276 0 obj +<< +/D [ 1685 0 R /XYZ 72 688.554 null ] +>> +endobj +4277 0 obj +<< +/D [ 1685 0 R /XYZ 72 273.063 null ] +>> +endobj +4278 0 obj +<< +/D [ 1676 0 R /XYZ 72 372.699 null ] +>> +endobj +4279 0 obj +<< +/D [ 1577 0 R /XYZ 72 502.652 null ] +>> +endobj +4280 0 obj +<< +/D [ 1587 0 R /XYZ 72 668.549 null ] +>> +endobj +4281 0 obj +<< +/D [ 1577 0 R /XYZ 72 348.689 null ] +>> +endobj +4282 0 obj +<< +/D [ 1587 0 R /XYZ 72 616.823 null ] +>> +endobj +4283 0 obj +<< +/D [ 1587 0 R /XYZ 72 771.732 null ] +>> +endobj +4284 0 obj +<< +/D [ 1577 0 R /XYZ 72 296.071 null ] +>> +endobj +4285 0 obj +<< +/D [ 1587 0 R /XYZ 72 477.396 null ] +>> +endobj +4286 0 obj +<< +/D [ 1577 0 R /XYZ 72 244.291 null ] +>> +endobj +4287 0 obj +<< +/D [ 1587 0 R /XYZ 72 529.959 null ] +>> +endobj +4288 0 obj +<< +/D [ 1577 0 R /XYZ 72 470.841 null ] +>> +endobj +4289 0 obj +<< +/D [ 2850 0 R /XYZ 72 653.476 null ] +>> +endobj +4290 0 obj +<< +/D [ 2850 0 R /XYZ 72 653.476 null ] +>> +endobj +4291 0 obj +<< +/D [ 2937 0 R /XYZ 72 380.355 null ] +>> +endobj +4292 0 obj +<< +/D [ 2937 0 R /XYZ 72 328.574 null ] +>> +endobj +4293 0 obj +<< +/D [ 2937 0 R /XYZ 72 276.794 null ] +>> +endobj +4294 0 obj +<< +/D [ 2937 0 R /XYZ 72 417.755 null ] +>> +endobj +4295 0 obj +<< +/D [ 2850 0 R /XYZ 72 617.989 null ] +>> +endobj +4296 0 obj +<< +/D [ 2850 0 R /XYZ 72 556.734 null ] +>> +endobj +4297 0 obj +<< +/D [ 2850 0 R /XYZ 72 380.221 null ] +>> +endobj +4298 0 obj +<< +/D [ 2850 0 R /XYZ 72 207.663 null ] +>> +endobj +4299 0 obj +<< +/D [ 2864 0 R /XYZ 72 741.625 null ] +>> +endobj +4300 0 obj +<< +/D [ 2926 0 R /XYZ 72 416.579 null ] +>> +endobj +4301 0 obj +<< +/D [ 2841 0 R /XYZ 72 140.101 null ] +>> +endobj +4302 0 obj +<< +/D [ 249 0 R /XYZ 72 369.67 null ] +>> +endobj +4303 0 obj +<< +/D [ 572 0 R /XYZ 72 740.335 null ] +>> +endobj +4304 0 obj +<< +/D [ 572 0 R /XYZ 72 706.622 null ] +>> +endobj +4305 0 obj +<< +/D [ 572 0 R /XYZ 72 418.293 null ] +>> +endobj +4306 0 obj +<< +/D [ 572 0 R /XYZ 72 470.074 null ] +>> +endobj +4307 0 obj +<< +/D [ 572 0 R /XYZ 72 645.312 null ] +>> +endobj +4308 0 obj +<< +/D [ 572 0 R /XYZ 72 593.531 null ] +>> +endobj +4309 0 obj +<< +/D [ 572 0 R /XYZ 72 330.592 null ] +>> +endobj +4310 0 obj +<< +/D [ 1354 0 R /XYZ 72 435.498 null ] +>> +endobj +4311 0 obj +<< +/D [ 1364 0 R /XYZ 72 589.645 null ] +>> +endobj +4312 0 obj +<< +/D [ 1354 0 R /XYZ 72 293.546 null ] +>> +endobj +4313 0 obj +<< +/D [ 1364 0 R /XYZ 72 539.977 null ] +>> +endobj +4314 0 obj +<< +/D [ 1364 0 R /XYZ 72 730.686 null ] +>> +endobj +4315 0 obj +<< +/D [ 1354 0 R /XYZ 72 243.04 null ] +>> +endobj +4316 0 obj +<< +/D [ 1354 0 R /XYZ 72 189.147 null ] +>> +endobj +4317 0 obj +<< +/D [ 1364 0 R /XYZ 72 450.218 null ] +>> +endobj +4318 0 obj +<< +/D [ 1354 0 R /XYZ 72 403.743 null ] +>> +endobj +4319 0 obj +<< +/D [ 249 0 R /XYZ 72 442.881 null ] +>> +endobj +4320 0 obj +<< +/D [ 1317 0 R /XYZ 72 740.335 null ] +>> +endobj +4321 0 obj +<< +/D [ 1317 0 R /XYZ 72 140.101 null ] +>> +endobj +4322 0 obj +<< +/D [ 1317 0 R /XYZ 72 586.373 null ] +>> +endobj +4323 0 obj +<< +/D [ 1329 0 R /XYZ 72 741.052 null ] +>> +endobj +4324 0 obj +<< +/D [ 1317 0 R /XYZ 72 347.086 null ] +>> +endobj +4325 0 obj +<< +/D [ 1317 0 R /XYZ 72 521.8 null ] +>> +endobj +4326 0 obj +<< +/D [ 1317 0 R /XYZ 72 386.453 null ] +>> +endobj +4327 0 obj +<< +/D [ 1317 0 R /XYZ 72 470.019 null ] +>> +endobj +4328 0 obj +<< +/D [ 1329 0 R /XYZ 72 641.516 null ] +>> +endobj +4329 0 obj +<< +/D [ 1317 0 R /XYZ 72 708.525 null ] +>> +endobj +4330 0 obj +<< +/D [ 2440 0 R /XYZ 72 357.79 null ] +>> +endobj +4331 0 obj +<< +/D [ 2452 0 R /XYZ 72 205.068 null ] +>> +endobj +4332 0 obj +<< +/D [ 2440 0 R /XYZ 72 168.017 null ] +>> +endobj +4333 0 obj +<< +/D [ 2452 0 R /XYZ 72 155.399 null ] +>> +endobj +4334 0 obj +<< +/D [ 2452 0 R /XYZ 72 496.007 null ] +>> +endobj +4335 0 obj +<< +/D [ 2452 0 R /XYZ 72 740.335 null ] +>> +endobj +4336 0 obj +<< +/D [ 2452 0 R /XYZ 72 676.544 null ] +>> +endobj +4337 0 obj +<< +/D [ 2452 0 R /XYZ 72 626.876 null ] +>> +endobj +4338 0 obj +<< +/D [ 2463 0 R /XYZ 72 716.37 null ] +>> +endobj +4339 0 obj +<< +/D [ 2440 0 R /XYZ 72 326.034 null ] +>> +endobj +4340 0 obj +<< +/D [ 961 0 R /XYZ 72 398.437 null ] +>> +endobj +4341 0 obj +<< +/D [ 2937 0 R /XYZ 72 451.469 null ] +>> +endobj +4342 0 obj +<< +/D [ 978 0 R /XYZ 72 544.37 null ] +>> +endobj +4343 0 obj +<< +/D [ 755 0 R /XYZ 72 288.689 null ] +>> +endobj +4344 0 obj +<< +/D [ 771 0 R /XYZ 72 655 null ] +>> +endobj +4345 0 obj +<< +/D [ 755 0 R /XYZ 72 184.291 null ] +>> +endobj +4346 0 obj +<< +/D [ 755 0 R /XYZ 72 236.126 null ] +>> +endobj +4347 0 obj +<< +/D [ 961 0 R /XYZ 72 152.086 null ] +>> +endobj +4348 0 obj +<< +/D [ 978 0 R /XYZ 72 740.335 null ] +>> +endobj +4349 0 obj +<< +/D [ 771 0 R /XYZ 72 481.456 null ] +>> +endobj +4350 0 obj +<< +/D [ 755 0 R /XYZ 72 406.786 null ] +>> +endobj +4351 0 obj +<< +/D [ 755 0 R /XYZ 72 373.073 null ] +>> +endobj +4352 0 obj +<< +/D [ 978 0 R /XYZ 72 341.207 null ] +>> +endobj +4353 0 obj +<< +/D [ 992 0 R /XYZ 72 480.689 null ] +>> +endobj +4354 0 obj +<< +/D [ 978 0 R /XYZ 72 199.255 null ] +>> +endobj +4355 0 obj +<< +/D [ 992 0 R /XYZ 72 430.966 null ] +>> +endobj +4356 0 obj +<< +/D [ 992 0 R /XYZ 72 603.743 null ] +>> +endobj +4357 0 obj +<< +/D [ 978 0 R /XYZ 72 146.692 null ] +>> +endobj +4358 0 obj +<< +/D [ 992 0 R /XYZ 72 740.28 null ] +>> +endobj +4359 0 obj +<< +/D [ 992 0 R /XYZ 72 688.554 null ] +>> +endobj +4360 0 obj +<< +/D [ 992 0 R /XYZ 72 329.252 null ] +>> +endobj +4361 0 obj +<< +/D [ 978 0 R /XYZ 72 309.451 null ] +>> +endobj +4362 0 obj +<< +/D [ 1662 0 R /XYZ 72 628.724 null ] +>> +endobj +4363 0 obj +<< +/D [ 1676 0 R /XYZ 72 759.558 null ] +>> +endobj +4364 0 obj +<< +/D [ 1662 0 R /XYZ 72 462.861 null ] +>> +endobj +4365 0 obj +<< +/D [ 1676 0 R /XYZ 72 707.832 null ] +>> +endobj +4366 0 obj +<< +/D [ 1662 0 R /XYZ 72 247.404 null ] +>> +endobj +4367 0 obj +<< +/D [ 1662 0 R /XYZ 72 400.4 null ] +>> +endobj +4368 0 obj +<< +/D [ 2575 0 R /XYZ 72 470.019 null ] +>> +endobj +4369 0 obj +<< +/D [ 1662 0 R /XYZ 72 346.507 null ] +>> +endobj +4370 0 obj +<< +/D [ 1676 0 R /XYZ 72 620.131 null ] +>> +endobj +4371 0 obj +<< +/D [ 1662 0 R /XYZ 72 595.065 null ] +>> +endobj +4372 0 obj +<< +/D [ 2575 0 R /XYZ 72 740.28 null ] +>> +endobj +4373 0 obj +<< +/D [ 992 0 R /XYZ 72 277.471 null ] +>> +endobj +4374 0 obj +<< +/D [ 1020 0 R /XYZ 72 713.83 null ] +>> +endobj +4375 0 obj +<< +/D [ 1005 0 R /XYZ 72 736.485 null ] +>> +endobj +4376 0 obj +<< +/D [ 1020 0 R /XYZ 72 610.731 null ] +>> +endobj +4377 0 obj +<< +/D [ 1005 0 R /XYZ 72 454.901 null ] +>> +endobj +4378 0 obj +<< +/D [ 1005 0 R /XYZ 72 683.922 null ] +>> +endobj +4379 0 obj +<< +/D [ 1020 0 R /XYZ 72 435.842 null ] +>> +endobj +4380 0 obj +<< +/D [ 1005 0 R /XYZ 72 632.086 null ] +>> +endobj +4381 0 obj +<< +/D [ 1005 0 R /XYZ 72 580.36 null ] +>> +endobj +4382 0 obj +<< +/D [ 1020 0 R /XYZ 72 487.623 null ] +>> +endobj +4383 0 obj +<< +/D [ 992 0 R /XYZ 72 245.715 null ] +>> +endobj +4384 0 obj +<< +/D [ 2218 0 R /XYZ 72 305.875 null ] +>> +endobj +4385 0 obj +<< +/D [ 2227 0 R /XYZ 72 623.12 null ] +>> +endobj +4386 0 obj +<< +/D [ 2227 0 R /XYZ 72 716.34 null ] +>> +endobj +4387 0 obj +<< +/D [ 2218 0 R /XYZ 72 253.312 null ] +>> +endobj +4388 0 obj +<< +/D [ 2218 0 R /XYZ 72 471.792 null ] +>> +endobj +4389 0 obj +<< +/D [ 2227 0 R /XYZ 72 471.792 null ] +>> +endobj +4390 0 obj +<< +/D [ 2218 0 R /XYZ 72 201.476 null ] +>> +endobj +4391 0 obj +<< +/D [ 2227 0 R /XYZ 72 523.518 null ] +>> +endobj +4392 0 obj +<< +/D [ 2218 0 R /XYZ 72 438.821 null ] +>> +endobj +4393 0 obj +<< +/D [ 523 0 R /XYZ 72 453.326 null ] +>> +endobj +4394 0 obj +<< +/D [ 249 0 R /XYZ 72 299.957 null ] +>> +endobj +4395 0 obj +<< +/D [ 249 0 R /XYZ 72 137.79 null ] +>> +endobj +4396 0 obj +<< +/D [ 408 0 R /XYZ 72 163.414 null ] +>> +endobj +4397 0 obj +<< +/D [ 327 0 R /XYZ 72 558.577 null ] +>> +endobj +4398 0 obj +<< +/D [ 327 0 R /XYZ 72 509.277 null ] +>> +endobj +4399 0 obj +<< +/D [ 327 0 R /XYZ 72 337.212 null ] +>> +endobj +4400 0 obj +<< +/D [ 353 0 R /XYZ 72 771.732 null ] +>> +endobj +4401 0 obj +<< +/D [ 353 0 R /XYZ 72 724.559 null ] +>> +endobj +4402 0 obj +<< +/D [ 327 0 R /XYZ 72 592.236 null ] +>> +endobj +4403 0 obj +<< +/D [ 771 0 R /XYZ 72 263.812 null ] +>> +endobj +4404 0 obj +<< +/D [ 782 0 R /XYZ 72 468.709 null ] +>> +endobj +4405 0 obj +<< +/D [ 782 0 R /XYZ 72 641.177 null ] +>> +endobj +4406 0 obj +<< +/D [ 771 0 R /XYZ 72 211.195 null ] +>> +endobj +4407 0 obj +<< +/D [ 771 0 R /XYZ 72 159.414 null ] +>> +endobj +4408 0 obj +<< +/D [ 782 0 R /XYZ 72 348.963 null ] +>> +endobj +4409 0 obj +<< +/D [ 771 0 R /XYZ 72 396.759 null ] +>> +endobj +4410 0 obj +<< +/D [ 771 0 R /XYZ 72 429.675 null ] +>> +endobj +4411 0 obj +<< +/D [ 1541 0 R /XYZ 72 629.66 null ] +>> +endobj +4412 0 obj +<< +/D [ 1541 0 R /XYZ 72 175.479 null ] +>> +endobj +4413 0 obj +<< +/D [ 1541 0 R /XYZ 72 490.134 null ] +>> +endobj +4414 0 obj +<< +/D [ 1554 0 R /XYZ 72 740.335 null ] +>> +endobj +4415 0 obj +<< +/D [ 1541 0 R /XYZ 72 286.632 null ] +>> +endobj +4416 0 obj +<< +/D [ 1541 0 R /XYZ 72 437.516 null ] +>> +endobj +4417 0 obj +<< +/D [ 1554 0 R /XYZ 72 588.953 null ] +>> +endobj +4418 0 obj +<< +/D [ 1541 0 R /XYZ 72 385.735 null ] +>> +endobj +4419 0 obj +<< +/D [ 1554 0 R /XYZ 72 640.679 null ] +>> +endobj +4420 0 obj +<< +/D [ 1541 0 R /XYZ 72 612.285 null ] +>> +endobj +4421 0 obj +<< +/D [ 1464 0 R /XYZ 72 141.616 null ] +>> +endobj +4422 0 obj +<< +/D [ 1477 0 R /XYZ 72 273.287 null ] +>> +endobj +4423 0 obj +<< +/D [ 1477 0 R /XYZ 72 626.198 null ] +>> +endobj +4424 0 obj +<< +/D [ 1477 0 R /XYZ 72 221.506 null ] +>> +endobj +4425 0 obj +<< +/D [ 1477 0 R /XYZ 72 384.44 null ] +>> +endobj +4426 0 obj +<< +/D [ 1477 0 R /XYZ 72 549.67 null ] +>> +endobj +4427 0 obj +<< +/D [ 1477 0 R /XYZ 72 497.889 null ] +>> +endobj +4428 0 obj +<< +/D [ 1484 0 R /XYZ 72 712.574 null ] +>> +endobj +4429 0 obj +<< +/D [ 1477 0 R /XYZ 72 760.305 null ] +>> +endobj +4430 0 obj +<< +/D [ 1248 0 R /XYZ 72 393.581 null ] +>> +endobj +4431 0 obj +<< +/D [ 1248 0 R /XYZ 72 456.739 null ] +>> +endobj +4432 0 obj +<< +/D [ 1248 0 R /XYZ 72 198.283 null ] +>> +endobj +4433 0 obj +<< +/D [ 1262 0 R /XYZ 72 690.039 null ] +>> +endobj +4434 0 obj +<< +/D [ 1262 0 R /XYZ 72 507.209 null ] +>> +endobj +4435 0 obj +<< +/D [ 1248 0 R /XYZ 72 488.55 null ] +>> +endobj +4436 0 obj +<< +/D [ 1262 0 R /XYZ 72 365.71 null ] +>> +endobj +4437 0 obj +<< +/D [ 249 0 R /XYZ 72 476.594 null ] +>> +endobj +4438 0 obj +<< +/D [ 1032 0 R /XYZ 72 314.906 null ] +>> +endobj +4439 0 obj +<< +/D [ 1044 0 R /XYZ 72 422.876 null ] +>> +endobj +4440 0 obj +<< +/D [ 353 0 R /XYZ 72 636.908 null ] +>> +endobj +4441 0 obj +<< +/D [ 1044 0 R /XYZ 72 373.207 null ] +>> +endobj +4442 0 obj +<< +/D [ 353 0 R /XYZ 72 535.827 null ] +>> +endobj +4443 0 obj +<< +/D [ 353 0 R /XYZ 72 392.455 null ] +>> +endobj +4444 0 obj +<< +/D [ 353 0 R /XYZ 72 670.567 null ] +>> +endobj +4445 0 obj +<< +/D [ 1044 0 R /XYZ 72 740.335 null ] +>> +endobj +4446 0 obj +<< +/D [ 1439 0 R /XYZ 72 513.356 null ] +>> +endobj +4447 0 obj +<< +/D [ 1044 0 R /XYZ 72 688.5 null ] +>> +endobj +4448 0 obj +<< +/D [ 353 0 R /XYZ 72 256.824 null ] +>> +endobj +4449 0 obj +<< +/D [ 1044 0 R /XYZ 72 636.774 null ] +>> +endobj +4450 0 obj +<< +/D [ 353 0 R /XYZ 72 587.608 null ] +>> +endobj +4451 0 obj +<< +/D [ 353 0 R /XYZ 72 199.065 null ] +>> +endobj +4452 0 obj +<< +/D [ 1032 0 R /XYZ 72 283.15 null ] +>> +endobj +4453 0 obj +<< +/D [ 2534 0 R /XYZ 72 472.709 null ] +>> +endobj +4454 0 obj +<< +/D [ 2547 0 R /XYZ 72 471.036 null ] +>> +endobj +4455 0 obj +<< +/D [ 2534 0 R /XYZ 72 318.801 null ] +>> +endobj +4456 0 obj +<< +/D [ 2547 0 R /XYZ 72 293.452 null ] +>> +endobj +4457 0 obj +<< +/D [ 2547 0 R /XYZ 72 421.924 null ] +>> +endobj +4458 0 obj +<< +/D [ 2547 0 R /XYZ 72 665.777 null ] +>> +endobj +4459 0 obj +<< +/D [ 2534 0 R /XYZ 72 266.238 null ] +>> +endobj +4460 0 obj +<< +/D [ 2534 0 R /XYZ 72 202.448 null ] +>> +endobj +4461 0 obj +<< +/D [ 2534 0 R /XYZ 72 152.779 null ] +>> +endobj +4462 0 obj +<< +/D [ 2547 0 R /XYZ 72 344.677 null ] +>> +endobj +4463 0 obj +<< +/D [ 2534 0 R /XYZ 72 439.05 null ] +>> +endobj +4464 0 obj +<< +/D [ 1056 0 R /XYZ 72 290.914 null ] +>> +endobj +4465 0 obj +<< +/D [ 1056 0 R /XYZ 72 638.153 null ] +>> +endobj +4466 0 obj +<< +/D [ 1056 0 R /XYZ 72 241.53 null ] +>> +endobj +4467 0 obj +<< +/D [ 1056 0 R /XYZ 72 384.135 null ] +>> +endobj +4468 0 obj +<< +/D [ 1056 0 R /XYZ 72 585.536 null ] +>> +endobj +4469 0 obj +<< +/D [ 1044 0 R /XYZ 72 195.803 null ] +>> +endobj +4470 0 obj +<< +/D [ 1056 0 R /XYZ 72 533.755 null ] +>> +endobj +4471 0 obj +<< +/D [ 1056 0 R /XYZ 72 482.029 null ] +>> +endobj +4472 0 obj +<< +/D [ 1056 0 R /XYZ 72 140.101 null ] +>> +endobj +4473 0 obj +<< +/D [ 1056 0 R /XYZ 72 758.402 null ] +>> +endobj +4474 0 obj +<< +/D [ 2992 0 R /XYZ 72 629.66 null ] +>> +endobj +4475 0 obj +<< +/D [ 3003 0 R /XYZ 72 322.024 null ] +>> +endobj +4476 0 obj +<< +/D [ 499 0 R /XYZ 72 584.938 null ] +>> +endobj +4477 0 obj +<< +/D [ 1676 0 R /XYZ 72 538.054 null ] +>> +endobj +4478 0 obj +<< +/D [ 1920 0 R /XYZ 72 571.897 null ] +>> +endobj +4479 0 obj +<< +/D [ 1920 0 R /XYZ 72 307.444 null ] +>> +endobj +4480 0 obj +<< +/D [ 1920 0 R /XYZ 72 141.307 null ] +>> +endobj +4481 0 obj +<< +/D [ 1930 0 R /XYZ 72 688.554 null ] +>> +endobj +4482 0 obj +<< +/D [ 1930 0 R /XYZ 72 575.05 null ] +>> +endobj +4483 0 obj +<< +/D [ 1930 0 R /XYZ 72 159.04 null ] +>> +endobj +4484 0 obj +<< +/D [ 1941 0 R /XYZ 72 740.28 null ] +>> +endobj +4485 0 obj +<< +/D [ 1941 0 R /XYZ 72 640.679 null ] +>> +endobj +4486 0 obj +<< +/D [ 1941 0 R /XYZ 72 555.239 null ] +>> +endobj +4487 0 obj +<< +/D [ 1941 0 R /XYZ 72 411.08 null ] +>> +endobj +4488 0 obj +<< +/D [ 1941 0 R /XYZ 72 328.629 null ] +>> +endobj +4489 0 obj +<< +/D [ 1941 0 R /XYZ 72 225.068 null ] +>> +endobj +4490 0 obj +<< +/D [ 1951 0 R /XYZ 72 701.994 null ] +>> +endobj +4491 0 obj +<< +/D [ 1951 0 R /XYZ 72 572.908 null ] +>> +endobj +4492 0 obj +<< +/D [ 1951 0 R /XYZ 72 521.182 null ] +>> +endobj +4493 0 obj +<< +/D [ 1951 0 R /XYZ 72 421.526 null ] +>> +endobj +4494 0 obj +<< +/D [ 1951 0 R /XYZ 72 336.086 null ] +>> +endobj +4495 0 obj +<< +/D [ 1951 0 R /XYZ 72 203.882 null ] +>> +endobj +4496 0 obj +<< +/D [ 1964 0 R /XYZ 72 698.492 null ] +>> +endobj +4497 0 obj +<< +/D [ 1964 0 R /XYZ 72 646.656 null ] +>> +endobj +4498 0 obj +<< +/D [ 1964 0 R /XYZ 72 594.931 null ] +>> +endobj +4499 0 obj +<< +/D [ 1964 0 R /XYZ 72 467.08 null ] +>> +endobj +4500 0 obj +<< +/D [ 1964 0 R /XYZ 72 314.084 null ] +>> +endobj +4501 0 obj +<< +/D [ 1964 0 R /XYZ 72 262.303 null ] +>> +endobj +4502 0 obj +<< +/D [ 1975 0 R /XYZ 72 735.648 null ] +>> +endobj +4503 0 obj +<< +/D [ 1975 0 R /XYZ 72 650.95 null ] +>> +endobj +4504 0 obj +<< +/D [ 1975 0 R /XYZ 72 518.004 null ] +>> +endobj +4505 0 obj +<< +/D [ 1975 0 R /XYZ 72 423.598 null ] +>> +endobj +4506 0 obj +<< +/D [ 1975 0 R /XYZ 72 371.762 null ] +>> +endobj +4507 0 obj +<< +/D [ 1975 0 R /XYZ 72 320.037 null ] +>> +endobj +4508 0 obj +<< +/D [ 1975 0 R /XYZ 72 206.532 null ] +>> +endobj +4509 0 obj +<< +/D [ 1990 0 R /XYZ 72 705.76 null ] +>> +endobj +4510 0 obj +<< +/D [ 1990 0 R /XYZ 72 654.034 null ] +>> +endobj +4511 0 obj +<< +/D [ 1990 0 R /XYZ 72 566.333 null ] +>> +endobj +4512 0 obj +<< +/D [ 1990 0 R /XYZ 72 469.68 null ] +>> +endobj +4513 0 obj +<< +/D [ 1990 0 R /XYZ 72 336.734 null ] +>> +endobj +4514 0 obj +<< +/D [ 1990 0 R /XYZ 72 242.328 null ] +>> +endobj +4515 0 obj +<< +/D [ 1990 0 R /XYZ 72 190.492 null ] +>> +endobj +4516 0 obj +<< +/D [ 1990 0 R /XYZ 72 138.766 null ] +>> +endobj +4517 0 obj +<< +/D [ 2002 0 R /XYZ 72 678.612 null ] +>> +endobj +4518 0 obj +<< +/D [ 2002 0 R /XYZ 72 418.019 null ] +>> +endobj +4519 0 obj +<< +/D [ 2002 0 R /XYZ 72 366.238 null ] +>> +endobj +4520 0 obj +<< +/D [ 2002 0 R /XYZ 72 278.592 null ] +>> +endobj +4521 0 obj +<< +/D [ 2002 0 R /XYZ 72 193.152 null ] +>> +endobj +4522 0 obj +<< +/D [ 2018 0 R /XYZ 72 688.664 null ] +>> +endobj +4523 0 obj +<< +/D [ 2018 0 R /XYZ 72 594.258 null ] +>> +endobj +4524 0 obj +<< +/D [ 2018 0 R /XYZ 72 542.422 null ] +>> +endobj +4525 0 obj +<< +/D [ 2018 0 R /XYZ 72 490.696 null ] +>> +endobj +4526 0 obj +<< +/D [ 2018 0 R /XYZ 72 377.192 null ] +>> +endobj +4527 0 obj +<< +/D [ 2029 0 R /XYZ 72 651.962 null ] +>> +endobj +4528 0 obj +<< +/D [ 2029 0 R /XYZ 72 600.181 null ] +>> +endobj +4529 0 obj +<< +/D [ 2029 0 R /XYZ 72 500.579 null ] +>> +endobj +4530 0 obj +<< +/D [ 2029 0 R /XYZ 72 415.14 null ] +>> +endobj +4531 0 obj +<< +/D [ 2029 0 R /XYZ 72 270.981 null ] +>> +endobj +4532 0 obj +<< +/D [ 2029 0 R /XYZ 72 176.575 null ] +>> +endobj +4533 0 obj +<< +/D [ 2039 0 R /XYZ 72 740.28 null ] +>> +endobj +4534 0 obj +<< +/D [ 2039 0 R /XYZ 72 688.554 null ] +>> +endobj +4535 0 obj +<< +/D [ 2039 0 R /XYZ 72 575.05 null ] +>> +endobj +4536 0 obj +<< +/D [ 2039 0 R /XYZ 72 445.964 null ] +>> +endobj +4537 0 obj +<< +/D [ 2039 0 R /XYZ 72 382.228 null ] +>> +endobj +4538 0 obj +<< +/D [ 2039 0 R /XYZ 72 210.896 null ] +>> +endobj +4539 0 obj +<< +/D [ 2056 0 R /XYZ 72 758.402 null ] +>> +endobj +4540 0 obj +<< +/D [ 2056 0 R /XYZ 72 614.243 null ] +>> +endobj +4541 0 obj +<< +/D [ 2056 0 R /XYZ 72 507.882 null ] +>> +endobj +4542 0 obj +<< +/D [ 2056 0 R /XYZ 72 456.046 null ] +>> +endobj +4543 0 obj +<< +/D [ 2056 0 R /XYZ 72 404.32 null ] +>> +endobj +4544 0 obj +<< +/D [ 2056 0 R /XYZ 72 290.886 null ] +>> +endobj +4545 0 obj +<< +/D [ 2068 0 R /XYZ 72 651.962 null ] +>> +endobj +4546 0 obj +<< +/D [ 2068 0 R /XYZ 72 588.226 null ] +>> +endobj +4547 0 obj +<< +/D [ 2068 0 R /XYZ 72 416.893 null ] +>> +endobj +4548 0 obj +<< +/D [ 2080 0 R /XYZ 72 375.11 null ] +>> +endobj +4549 0 obj +<< +/D [ 2239 0 R /XYZ 72 443.344 null ] +>> +endobj +4550 0 obj +<< +/D [ 2287 0 R /XYZ 72 709.984 null ] +>> +endobj +4551 0 obj +<< +/D [ 2390 0 R /XYZ 72 581.84 null ] +>> +endobj +4552 0 obj +<< +/D [ 2489 0 R /XYZ 72 206.677 null ] +>> +endobj +4553 0 obj +<< +/D [ 2604 0 R /XYZ 72 330.856 null ] +>> +endobj +4554 0 obj +<< +/D [ 2647 0 R /XYZ 72 709.984 null ] +>> +endobj +4555 0 obj +<< +/D [ 2747 0 R /XYZ 72 760.305 null ] +>> +endobj +4556 0 obj +<< +/D [ 2747 0 R /XYZ 72 476.654 null ] +>> +endobj +4557 0 obj +<< +/D [ 2926 0 R /XYZ 72 388.186 null ] +>> +endobj +4558 0 obj +<< +/D [ 2992 0 R /XYZ 72 629.66 null ] +>> +endobj +4559 0 obj +<< +/D [ 3020 0 R /XYZ 72 323.459 null ] +>> +endobj +4560 0 obj +<< +/D [ 3020 0 R /XYZ 72 304.923 null ] +>> +endobj +4561 0 obj +<< +/D [ 3067 0 R /XYZ 72 559.942 null ] +>> +endobj +4562 0 obj +<< +/D [ 3067 0 R /XYZ 72 476.191 null ] +>> +endobj +4563 0 obj +<< +/D [ 3067 0 R /XYZ 72 374.432 null ] +>> +endobj +4564 0 obj +<< +/D [ 3067 0 R /XYZ 72 144.106 null ] +>> +endobj +4565 0 obj +<< +/D [ 3077 0 R /XYZ 72 707.707 null ] +>> +endobj +4566 0 obj +<< +/D [ 3077 0 R /XYZ 72 623.956 null ] +>> +endobj +4567 0 obj +<< +/D [ 3077 0 R /XYZ 72 523.099 null ] +>> +endobj +4568 0 obj +<< +/D [ 3077 0 R /XYZ 72 461.206 null ] +>> +endobj +4569 0 obj +<< +/D [ 1427 0 R /XYZ 72 579.782 null ] +>> +endobj +4570 0 obj +<< +/D [ 1450 0 R /XYZ 72 371.299 null ] +>> +endobj +4571 0 obj +<< +/D [ 1464 0 R /XYZ 72 183.593 null ] +>> +endobj +4572 0 obj +<< +/D [ 2747 0 R /XYZ 72 476.654 null ] +>> +endobj +4573 0 obj +<< +/D [ 2747 0 R /XYZ 72 347.18 null ] +>> +endobj +4574 0 obj +<< +/D [ 2757 0 R /XYZ 72 602.437 null ] +>> +endobj +4575 0 obj +<< +/D [ 2757 0 R /XYZ 72 730.686 null ] +>> +endobj +4576 0 obj +<< +/D [ 2747 0 R /XYZ 72 294.617 null ] +>> +endobj +4577 0 obj +<< +/D [ 2747 0 R /XYZ 72 242.781 null ] +>> +endobj +4578 0 obj +<< +/D [ 2747 0 R /XYZ 72 193.113 null ] +>> +endobj +4579 0 obj +<< +/D [ 2757 0 R /XYZ 72 502.836 null ] +>> +endobj +4580 0 obj +<< +/D [ 2747 0 R /XYZ 72 455.474 null ] +>> +endobj +4581 0 obj +<< +/D [ 2196 0 R /XYZ 72 427.753 null ] +>> +endobj +4582 0 obj +<< +/D [ 2209 0 R /XYZ 72 471.792 null ] +>> +endobj +4583 0 obj +<< +/D [ 2196 0 R /XYZ 72 276.271 null ] +>> +endobj +4584 0 obj +<< +/D [ 2209 0 R /XYZ 72 623.892 null ] +>> +endobj +4585 0 obj +<< +/D [ 2209 0 R /XYZ 72 716.34 null ] +>> +endobj +4586 0 obj +<< +/D [ 2196 0 R /XYZ 72 223.708 null ] +>> +endobj +4587 0 obj +<< +/D [ 2196 0 R /XYZ 72 171.872 null ] +>> +endobj +4588 0 obj +<< +/D [ 2209 0 R /XYZ 72 523.518 null ] +>> +endobj +4589 0 obj +<< +/D [ 2196 0 R /XYZ 72 409.217 null ] +>> +endobj +4590 0 obj +<< +/D [ 2766 0 R /XYZ 72 392.988 null ] +>> +endobj +4591 0 obj +<< +/D [ 2782 0 R /XYZ 72 526.432 null ] +>> +endobj +4592 0 obj +<< +/D [ 2776 0 R /XYZ 72 628.888 null ] +>> +endobj +4593 0 obj +<< +/D [ 2782 0 R /XYZ 72 476.764 null ] +>> +endobj +4594 0 obj +<< +/D [ 2776 0 R /XYZ 72 375.997 null ] +>> +endobj +4595 0 obj +<< +/D [ 2776 0 R /XYZ 72 564.315 null ] +>> +endobj +4596 0 obj +<< +/D [ 2782 0 R /XYZ 72 191.762 null ] +>> +endobj +4597 0 obj +<< +/D [ 2776 0 R /XYZ 72 512.534 null ] +>> +endobj +4598 0 obj +<< +/D [ 2776 0 R /XYZ 72 462.866 null ] +>> +endobj +4599 0 obj +<< +/D [ 2782 0 R /XYZ 72 243.543 null ] +>> +endobj +4600 0 obj +<< +/D [ 2766 0 R /XYZ 72 361.232 null ] +>> +endobj +4601 0 obj +<< +/D [ 1064 0 R /XYZ 72 740.28 null ] +>> +endobj +4602 0 obj +<< +/D [ 1078 0 R /XYZ 72 336.196 null ] +>> +endobj +4603 0 obj +<< +/D [ 1064 0 R /XYZ 72 454.866 null ] +>> +endobj +4604 0 obj +<< +/D [ 1078 0 R /XYZ 72 237.087 null ] +>> +endobj +4605 0 obj +<< +/D [ 1078 0 R /XYZ 72 704.385 null ] +>> +endobj +4606 0 obj +<< +/D [ 1064 0 R /XYZ 72 342.527 null ] +>> +endobj +4607 0 obj +<< +/D [ 1064 0 R /XYZ 72 290.691 null ] +>> +endobj +4608 0 obj +<< +/D [ 1064 0 R /XYZ 72 238.966 null ] +>> +endobj +4609 0 obj +<< +/D [ 1091 0 R /XYZ 72 648.001 null ] +>> +endobj +4610 0 obj +<< +/D [ 1091 0 R /XYZ 72 699.782 null ] +>> +endobj +4611 0 obj +<< +/D [ 1064 0 R /XYZ 72 708.525 null ] +>> +endobj +4612 0 obj +<< +/D [ 1391 0 R /XYZ 72 410.975 null ] +>> +endobj +4613 0 obj +<< +/D [ 1391 0 R /XYZ 72 393.601 null ] +>> +endobj +4614 0 obj +<< +/D [ 1405 0 R /XYZ 72 691.055 null ] +>> +endobj +4615 0 obj +<< +/D [ 1391 0 R /XYZ 72 157.516 null ] +>> +endobj +4616 0 obj +<< +/D [ 1405 0 R /XYZ 72 603.812 null ] +>> +endobj +4617 0 obj +<< +/D [ 1405 0 R /XYZ 72 517.431 null ] +>> +endobj +4618 0 obj +<< +/D [ 1427 0 R /XYZ 72 608.231 null ] +>> +endobj +4619 0 obj +<< +/D [ 1439 0 R /XYZ 72 718.731 null ] +>> +endobj +4620 0 obj +<< +/D [ 1427 0 R /XYZ 72 438.353 null ] +>> +endobj +4621 0 obj +<< +/D [ 1439 0 R /XYZ 72 678.806 null ] +>> +endobj +4622 0 obj +<< +/D [ 1427 0 R /XYZ 72 197.416 null ] +>> +endobj +4623 0 obj +<< +/D [ 1427 0 R /XYZ 72 385.79 null ] +>> +endobj +4624 0 obj +<< +/D [ 1427 0 R /XYZ 72 333.954 null ] +>> +endobj +4625 0 obj +<< +/D [ 1427 0 R /XYZ 72 284.286 null ] +>> +endobj +4626 0 obj +<< +/D [ 1439 0 R /XYZ 72 565.137 null ] +>> +endobj +4627 0 obj +<< +/D [ 1427 0 R /XYZ 72 559.344 null ] +>> +endobj +4628 0 obj +<< +/D [ 1464 0 R /XYZ 72 479.04 null ] +>> +endobj +4629 0 obj +<< +/D [ 1450 0 R /XYZ 72 237.192 null ] +>> +endobj +4630 0 obj +<< +/D [ 1464 0 R /XYZ 72 439.115 null ] +>> +endobj +4631 0 obj +<< +/D [ 1464 0 R /XYZ 72 589.396 null ] +>> +endobj +4632 0 obj +<< +/D [ 1450 0 R /XYZ 72 608.43 null ] +>> +endobj +4633 0 obj +<< +/D [ 1439 0 R /XYZ 72 359.449 null ] +>> +endobj +4634 0 obj +<< +/D [ 1450 0 R /XYZ 72 568.505 null ] +>> +endobj +4635 0 obj +<< +/D [ 1450 0 R /XYZ 72 730.686 null ] +>> +endobj +4636 0 obj +<< +/D [ 1439 0 R /XYZ 72 306.886 null ] +>> +endobj +4637 0 obj +<< +/D [ 1439 0 R /XYZ 72 255.05 null ] +>> +endobj +4638 0 obj +<< +/D [ 1439 0 R /XYZ 72 205.382 null ] +>> +endobj +4639 0 obj +<< +/D [ 1450 0 R /XYZ 72 454.836 null ] +>> +endobj +4640 0 obj +<< +/D [ 1439 0 R /XYZ 72 480.44 null ] +>> +endobj +4641 0 obj +<< +/D [ 1450 0 R /XYZ 72 184.629 null ] +>> +endobj +4642 0 obj +<< +/D [ 1450 0 R /XYZ 72 403.055 null ] +>> +endobj +4643 0 obj +<< +/D [ 1464 0 R /XYZ 72 740.28 null ] +>> +endobj +4644 0 obj +<< +/D [ 1464 0 R /XYZ 72 690.612 null ] +>> +endobj +4645 0 obj +<< +/D [ 1464 0 R /XYZ 72 265.67 null ] +>> +endobj +4646 0 obj +<< +/D [ 1450 0 R /XYZ 72 371.299 null ] +>> +endobj +4647 0 obj +<< +/D [ 2876 0 R /XYZ 72 640.679 null ] +>> +endobj +4648 0 obj +<< +/D [ 2876 0 R /XYZ 72 486.771 null ] +>> +endobj +4649 0 obj +<< +/D [ 2889 0 R /XYZ 72 771.732 null ] +>> +endobj +4650 0 obj +<< +/D [ 2876 0 R /XYZ 72 245.835 null ] +>> +endobj +4651 0 obj +<< +/D [ 2876 0 R /XYZ 72 434.208 null ] +>> +endobj +4652 0 obj +<< +/D [ 2876 0 R /XYZ 72 382.373 null ] +>> +endobj +4653 0 obj +<< +/D [ 2876 0 R /XYZ 72 330.647 null ] +>> +endobj +4654 0 obj +<< +/D [ 2889 0 R /XYZ 72 656.594 null ] +>> +endobj +4655 0 obj +<< +/D [ 2876 0 R /XYZ 72 607.762 null ] +>> +endobj +4656 0 obj +<< +/D [ 2911 0 R /XYZ 72 479.942 null ] +>> +endobj +4657 0 obj +<< +/D [ 2850 0 R /XYZ 72 637.267 null ] +>> +endobj +4658 0 obj +<< +/D [ 463 0 R /XYZ 72 758.402 null ] +>> +endobj +4659 0 obj +<< +/D [ 2926 0 R /XYZ 72 594.084 null ] +>> +endobj +4660 0 obj +<< +/D [ 463 0 R /XYZ 72 631.339 null ] +>> +endobj +4661 0 obj +<< +/D [ 463 0 R /XYZ 72 442.926 null ] +>> +endobj +4662 0 obj +<< +/D [ 2911 0 R /XYZ 72 273.471 null ] +>> +endobj +4663 0 obj +<< +/D [ 2911 0 R /XYZ 72 221.636 null ] +>> +endobj +4664 0 obj +<< +/D [ 463 0 R /XYZ 72 246.308 null ] +>> +endobj +4665 0 obj +<< +/D [ 2911 0 R /XYZ 72 169.91 null ] +>> +endobj +4666 0 obj +<< +/D [ 463 0 R /XYZ 72 159.09 null ] +>> +endobj +4667 0 obj +<< +/D [ 436 0 R /XYZ 72 181.252 null ] +>> +endobj +4668 0 obj +<< +/D [ 2911 0 R /XYZ 72 446.283 null ] +>> +endobj +4669 0 obj +<< +/D [ 918 0 R /XYZ 72 638.153 null ] +>> +endobj +4670 0 obj +<< +/D [ 918 0 R /XYZ 72 201.222 null ] +>> +endobj +4671 0 obj +<< +/D [ 918 0 R /XYZ 72 410.741 null ] +>> +endobj +4672 0 obj +<< +/D [ 918 0 R /XYZ 72 573.581 null ] +>> +endobj +4673 0 obj +<< +/D [ 918 0 R /XYZ 72 521.8 null ] +>> +endobj +4674 0 obj +<< +/D [ 924 0 R /XYZ 72 759.558 null ] +>> +endobj +4675 0 obj +<< +/D [ 918 0 R /XYZ 72 759.145 null ] +>> +endobj +4676 0 obj +<< +/D [ 924 0 R /XYZ 72 565.825 null ] +>> +endobj +4677 0 obj +<< +/D [ 924 0 R /XYZ 72 324.888 null ] +>> +endobj +4678 0 obj +<< +/D [ 935 0 R /XYZ 72 668.549 null ] +>> +endobj +4679 0 obj +<< +/D [ 961 0 R /XYZ 72 256.485 null ] +>> +endobj +4680 0 obj +<< +/D [ 978 0 R /XYZ 72 494.701 null ] +>> +endobj +4681 0 obj +<< +/D [ 978 0 R /XYZ 72 655.523 null ] +>> +endobj +4682 0 obj +<< +/D [ 961 0 R /XYZ 72 203.922 null ] +>> +endobj +4683 0 obj +<< +/D [ 978 0 R /XYZ 72 392.988 null ] +>> +endobj +4684 0 obj +<< +/D [ 961 0 R /XYZ 72 364.779 null ] +>> +endobj +4685 0 obj +<< +/D [ 1032 0 R /XYZ 72 532.116 null ] +>> +endobj +4686 0 obj +<< +/D [ 1020 0 R /XYZ 72 281.934 null ] +>> +endobj +4687 0 obj +<< +/D [ 1032 0 R /XYZ 72 480.355 null ] +>> +endobj +4688 0 obj +<< +/D [ 1032 0 R /XYZ 72 641.177 null ] +>> +endobj +4689 0 obj +<< +/D [ 1020 0 R /XYZ 72 229.317 null ] +>> +endobj +4690 0 obj +<< +/D [ 1020 0 R /XYZ 72 177.536 null ] +>> +endobj +4691 0 obj +<< +/D [ 1032 0 R /XYZ 72 740.335 null ] +>> +endobj +4692 0 obj +<< +/D [ 1032 0 R /XYZ 72 366.687 null ] +>> +endobj +4693 0 obj +<< +/D [ 1020 0 R /XYZ 72 402.183 null ] +>> +endobj +4694 0 obj +<< +/D [ 1032 0 R /XYZ 72 172.953 null ] +>> +endobj +4695 0 obj +<< +/D [ 1044 0 R /XYZ 72 551.962 null ] +>> +endobj +4696 0 obj +<< +/D [ 1044 0 R /XYZ 72 247.583 null ] +>> +endobj +4697 0 obj +<< +/D [ 1108 0 R /XYZ 72 657.939 null ] +>> +endobj +4698 0 obj +<< +/D [ 1091 0 R /XYZ 72 482.139 null ] +>> +endobj +4699 0 obj +<< +/D [ 1108 0 R /XYZ 72 596.315 null ] +>> +endobj +4700 0 obj +<< +/D [ 1091 0 R /XYZ 72 188.6 null ] +>> +endobj +4701 0 obj +<< +/D [ 1091 0 R /XYZ 72 429.521 null ] +>> +endobj +4702 0 obj +<< +/D [ 1091 0 R /XYZ 72 377.74 null ] +>> +endobj +4703 0 obj +<< +/D [ 1091 0 R /XYZ 72 326.014 null ] +>> +endobj +4704 0 obj +<< +/D [ 1108 0 R /XYZ 72 387.842 null ] +>> +endobj +4705 0 obj +<< +/D [ 1091 0 R /XYZ 72 614.343 null ] +>> +endobj +4706 0 obj +<< +/D [ 866 0 R /XYZ 72 302.95 null ] +>> +endobj +4707 0 obj +<< +/D [ 1174 0 R /XYZ 72 652.709 null ] +>> +endobj +4708 0 obj +<< +/D [ 1164 0 R /XYZ 72 391.13 null ] +>> +endobj +4709 0 obj +<< +/D [ 1174 0 R /XYZ 72 600.948 null ] +>> +endobj +4710 0 obj +<< +/D [ 1174 0 R /XYZ 72 771.732 null ] +>> +endobj +4711 0 obj +<< +/D [ 1164 0 R /XYZ 72 338.512 null ] +>> +endobj +4712 0 obj +<< +/D [ 1164 0 R /XYZ 72 286.731 null ] +>> +endobj +4713 0 obj +<< +/D [ 1164 0 R /XYZ 72 235.005 null ] +>> +endobj +4714 0 obj +<< +/D [ 1174 0 R /XYZ 72 391.638 null ] +>> +endobj +4715 0 obj +<< +/D [ 1164 0 R /XYZ 72 499.424 null ] +>> +endobj +4716 0 obj +<< +/D [ 1196 0 R /XYZ 72 253.785 null ] +>> +endobj +4717 0 obj +<< +/D [ 1196 0 R /XYZ 72 638.153 null ] +>> +endobj +4718 0 obj +<< +/D [ 1196 0 R /XYZ 72 204.116 null ] +>> +endobj +4719 0 obj +<< +/D [ 1196 0 R /XYZ 72 382.871 null ] +>> +endobj +4720 0 obj +<< +/D [ 1196 0 R /XYZ 72 585.536 null ] +>> +endobj +4721 0 obj +<< +/D [ 1196 0 R /XYZ 72 533.755 null ] +>> +endobj +4722 0 obj +<< +/D [ 1196 0 R /XYZ 72 482.029 null ] +>> +endobj +4723 0 obj +<< +/D [ 1203 0 R /XYZ 72 664.754 null ] +>> +endobj +4724 0 obj +<< +/D [ 1196 0 R /XYZ 72 758.402 null ] +>> +endobj +4725 0 obj +<< +/D [ 2992 0 R /XYZ 72 660.729 null ] +>> +endobj +4726 0 obj +<< +/D [ 2992 0 R /XYZ 72 550.457 null ] +>> +endobj +4727 0 obj +<< +/D [ 3003 0 R /XYZ 72 760.943 null ] +>> +endobj +4728 0 obj +<< +/D [ 2992 0 R /XYZ 72 278.93 null ] +>> +endobj +4729 0 obj +<< +/D [ 2992 0 R /XYZ 72 413.66 null ] +>> +endobj +4730 0 obj +<< +/D [ 2992 0 R /XYZ 72 361.825 null ] +>> +endobj +4731 0 obj +<< +/D [ 3003 0 R /XYZ 72 373.87 null ] +>> +endobj +4732 0 obj +<< +/D [ 2992 0 R /XYZ 72 611.125 null ] +>> +endobj +4733 0 obj +<< +/D [ 273 0 R /XYZ 72 636.061 null ] +>> +endobj +4734 0 obj +<< +/D [ 2239 0 R /XYZ 72 471.792 null ] +>> +endobj +4735 0 obj +<< +/D [ 2256 0 R /XYZ 72 350.632 null ] +>> +endobj +4736 0 obj +<< +/D [ 2265 0 R /XYZ 72 599.209 null ] +>> +endobj +4737 0 obj +<< +/D [ 2265 0 R /XYZ 72 716.34 null ] +>> +endobj +4738 0 obj +<< +/D [ 2256 0 R /XYZ 72 256.226 null ] +>> +endobj +4739 0 obj +<< +/D [ 2256 0 R /XYZ 72 204.39 null ] +>> +endobj +4740 0 obj +<< +/D [ 2265 0 R /XYZ 72 213.521 null ] +>> +endobj +4741 0 obj +<< +/D [ 2256 0 R /XYZ 72 674.119 null ] +>> +endobj +4742 0 obj +<< +/D [ 1120 0 R /XYZ 72 562.303 null ] +>> +endobj +4743 0 obj +<< +/D [ 1108 0 R /XYZ 72 193.272 null ] +>> +endobj +4744 0 obj +<< +/D [ 1120 0 R /XYZ 72 512.634 null ] +>> +endobj +4745 0 obj +<< +/D [ 1120 0 R /XYZ 72 655.523 null ] +>> +endobj +4746 0 obj +<< +/D [ 1108 0 R /XYZ 72 140.709 null ] +>> +endobj +4747 0 obj +<< +/D [ 1120 0 R /XYZ 72 740.28 null ] +>> +endobj +4748 0 obj +<< +/D [ 1120 0 R /XYZ 72 327.234 null ] +>> +endobj +4749 0 obj +<< +/D [ 1108 0 R /XYZ 72 335.224 null ] +>> +endobj +4750 0 obj +<< +/D [ 1108 0 R /XYZ 72 301.566 null ] +>> +endobj +4751 0 obj +<< +/D [ 1498 0 R /XYZ 72 669.894 null ] +>> +endobj +4752 0 obj +<< +/D [ 1484 0 R /XYZ 72 494.094 null ] +>> +endobj +4753 0 obj +<< +/D [ 1498 0 R /XYZ 72 618.114 null ] +>> +endobj +4754 0 obj +<< +/D [ 1484 0 R /XYZ 72 264.291 null ] +>> +endobj +4755 0 obj +<< +/D [ 1484 0 R /XYZ 72 659.957 null ] +>> +endobj +4756 0 obj +<< +/D [ 1484 0 R /XYZ 72 429.521 null ] +>> +endobj +4757 0 obj +<< +/D [ 1484 0 R /XYZ 72 377.74 null ] +>> +endobj +4758 0 obj +<< +/D [ 1498 0 R /XYZ 72 482.647 null ] +>> +endobj +4759 0 obj +<< +/D [ 1484 0 R /XYZ 72 627.04 null ] +>> +endobj +4760 0 obj +<< +/D [ 1464 0 R /XYZ 72 213.945 null ] +>> +endobj +4761 0 obj +<< +/D [ 1526 0 R /XYZ 72 460.679 null ] +>> +endobj +4762 0 obj +<< +/D [ 1514 0 R /XYZ 72 482.139 null ] +>> +endobj +4763 0 obj +<< +/D [ 1526 0 R /XYZ 72 408.898 null ] +>> +endobj +4764 0 obj +<< +/D [ 1514 0 R /XYZ 72 202.124 null ] +>> +endobj +4765 0 obj +<< +/D [ 1514 0 R /XYZ 72 393.655 null ] +>> +endobj +4766 0 obj +<< +/D [ 1506 0 R /XYZ 72 708.525 null ] +>> +endobj +4767 0 obj +<< +/D [ 1526 0 R /XYZ 72 208.515 null ] +>> +endobj +4768 0 obj +<< +/D [ 1514 0 R /XYZ 72 627.04 null ] +>> +endobj +4769 0 obj +<< +/D [ 1364 0 R /XYZ 72 398.437 null ] +>> +endobj +4770 0 obj +<< +/D [ 1373 0 R /XYZ 72 496.549 null ] +>> +endobj +4771 0 obj +<< +/D [ 800 0 R /XYZ 72 760.395 null ] +>> +endobj +4772 0 obj +<< +/D [ 800 0 R /XYZ 72 387.032 null ] +>> +endobj +4773 0 obj +<< +/D [ 800 0 R /XYZ 72 519.459 null ] +>> +endobj +4774 0 obj +<< +/D [ 800 0 R /XYZ 72 707.832 null ] +>> +endobj +4775 0 obj +<< +/D [ 1364 0 R /XYZ 72 256.485 null ] +>> +endobj +4776 0 obj +<< +/D [ 1373 0 R /XYZ 72 446.881 null ] +>> +endobj +4777 0 obj +<< +/D [ 1373 0 R /XYZ 72 643.568 null ] +>> +endobj +4778 0 obj +<< +/D [ 1364 0 R /XYZ 72 150.069 null ] +>> +endobj +4779 0 obj +<< +/D [ 1373 0 R /XYZ 72 728.325 null ] +>> +endobj +4780 0 obj +<< +/D [ 1373 0 R /XYZ 72 166.677 null ] +>> +endobj +4781 0 obj +<< +/D [ 1364 0 R /XYZ 72 364.779 null ] +>> +endobj +4782 0 obj +<< +/D [ 1291 0 R /XYZ 72 432.116 null ] +>> +endobj +4783 0 obj +<< +/D [ 800 0 R /XYZ 72 655.997 null ] +>> +endobj +4784 0 obj +<< +/D [ 800 0 R /XYZ 72 604.271 null ] +>> +endobj +4785 0 obj +<< +/D [ 782 0 R /XYZ 72 297.182 null ] +>> +endobj +4786 0 obj +<< +/D [ 800 0 R /XYZ 72 260.762 null ] +>> +endobj +4787 0 obj +<< +/D [ 782 0 R /XYZ 72 263.524 null ] +>> +endobj +4788 0 obj +<< +/D [ 1238 0 R /XYZ 72 375.723 null ] +>> +endobj +4789 0 obj +<< +/D [ 1262 0 R /XYZ 72 282.173 null ] +>> +endobj +4790 0 obj +<< +/D [ 1275 0 R /XYZ 72 728.38 null ] +>> +endobj +4791 0 obj +<< +/D [ 1275 0 R /XYZ 72 582.95 null ] +>> +endobj +4792 0 obj +<< +/D [ 1275 0 R /XYZ 72 405.446 null ] +>> +endobj +4793 0 obj +<< +/D [ 1248 0 R /XYZ 72 602.721 null ] +>> +endobj +4794 0 obj +<< +/D [ 1275 0 R /XYZ 72 321.91 null ] +>> +endobj +4795 0 obj +<< +/D [ 1275 0 R /XYZ 72 209.028 null ] +>> +endobj +4796 0 obj +<< +/D [ 1291 0 R /XYZ 72 661.346 null ] +>> +endobj +4797 0 obj +<< +/D [ 1275 0 R /XYZ 72 258.751 null ] +>> +endobj +4798 0 obj +<< +/D [ 1291 0 R /XYZ 72 483.842 null ] +>> +endobj +4799 0 obj +<< +/D [ 816 0 R /XYZ 72 676.709 null ] +>> +endobj +4800 0 obj +<< +/D [ 816 0 R /XYZ 72 275.205 null ] +>> +endobj +4801 0 obj +<< +/D [ 816 0 R /XYZ 72 435.773 null ] +>> +endobj +4802 0 obj +<< +/D [ 816 0 R /XYZ 72 624.091 null ] +>> +endobj +4803 0 obj +<< +/D [ 816 0 R /XYZ 72 572.31 null ] +>> +endobj +4804 0 obj +<< +/D [ 816 0 R /XYZ 72 520.584 null ] +>> +endobj +4805 0 obj +<< +/D [ 816 0 R /XYZ 72 173.392 null ] +>> +endobj +4806 0 obj +<< +/D [ 800 0 R /XYZ 72 175.289 null ] +>> +endobj +4807 0 obj +<< +/D [ 800 0 R /XYZ 72 208.546 null ] +>> +endobj +4808 0 obj +<< +/D [ 1130 0 R /XYZ 72 352.116 null ] +>> +endobj +4809 0 obj +<< +/D [ 1130 0 R /XYZ 72 748.44 null ] +>> +endobj +4810 0 obj +<< +/D [ 1130 0 R /XYZ 72 302.448 null ] +>> +endobj +4811 0 obj +<< +/D [ 1130 0 R /XYZ 72 493.157 null ] +>> +endobj +4812 0 obj +<< +/D [ 1130 0 R /XYZ 72 695.822 null ] +>> +endobj +4813 0 obj +<< +/D [ 1130 0 R /XYZ 72 644.041 null ] +>> +endobj +4814 0 obj +<< +/D [ 1130 0 R /XYZ 72 592.315 null ] +>> +endobj +4815 0 obj +<< +/D [ 408 0 R /XYZ 72 760.305 null ] +>> +endobj +4816 0 obj +<< +/D [ 1130 0 R /XYZ 72 200.734 null ] +>> +endobj +4817 0 obj +<< +/D [ 1120 0 R /XYZ 72 241.795 null ] +>> +endobj +4818 0 obj +<< +/D [ 1120 0 R /XYZ 72 275.454 null ] +>> +endobj +4819 0 obj +<< +/D [ 3300 0 R /XYZ 72 653.476 null ] +>> +endobj +4820 0 obj +<< +/D [ 1391 0 R /XYZ 72 653.476 null ] +>> +endobj +4821 0 obj +<< +/D [ 1391 0 R /XYZ 72 410.975 null ] +>> +endobj +4822 0 obj +<< +/D [ 1541 0 R /XYZ 72 629.66 null ] +>> +endobj +4823 0 obj +<< +/D [ 3108 0 R /XYZ 72 653.476 null ] +>> +endobj +4824 0 obj +<< +/D [ 2850 0 R /XYZ 72 653.476 null ] +>> +endobj +4825 0 obj +<< +/D [ 2850 0 R /XYZ 72 637.267 null ] +>> +endobj +4826 0 obj +<< +/D [ 2864 0 R /XYZ 72 661.451 null ] +>> +endobj +4827 0 obj +<< +/D [ 1248 0 R /XYZ 72 653.476 null ] +>> +endobj +4828 0 obj +<< +/D [ 1248 0 R /XYZ 72 572.37 null ] +>> +endobj +4829 0 obj +<< +/D [ 1291 0 R /XYZ 72 403.668 null ] +>> +endobj +4830 0 obj +<< +/D [ 2959 0 R /XYZ 72 653.476 null ] +>> +endobj +4831 0 obj +<< +/D [ 2959 0 R /XYZ 72 562.318 null ] +>> +endobj +4832 0 obj +<< +/D [ 3077 0 R /XYZ 72 377.36 null ] +>> +endobj +4833 0 obj +<< +/D [ 2080 0 R /XYZ 72 653.476 null ] +>> +endobj +4834 0 obj +<< +/D [ 2196 0 R /XYZ 72 427.753 null ] +>> +endobj +4835 0 obj +<< +/D [ 249 0 R /XYZ 72 653.476 null ] +>> +endobj +4836 0 obj +<< +/D [ 499 0 R /XYZ 72 711.887 null ] +>> +endobj +4837 0 obj +<< +/D [ 249 0 R /XYZ 72 506.617 null ] +>> +endobj +4838 0 obj +<< +/D [ 866 0 R /XYZ 72 274.557 null ] +>> +endobj +4839 0 obj +<< +/D [ 755 0 R /XYZ 72 474.577 null ] +>> +endobj +4840 0 obj +<< +/D [ 3101 0 R /XYZ 72 653.476 null ] +>> +endobj +4841 0 obj +<< +/D [ 2299 0 R /XYZ 72 608.176 null ] +>> +endobj +4842 0 obj +<< +/D [ 2115 0 R /XYZ 72 307.543 null ] +>> +endobj +4843 0 obj +<< +/D [ 2312 0 R /XYZ 72 551.115 null ] +>> +endobj +4844 0 obj +<< +/D [ 2115 0 R /XYZ 72 341.202 null ] +>> +endobj +4845 0 obj +<< +/D [ 2115 0 R /XYZ 72 206.502 null ] +>> +endobj +4846 0 obj +<< +/D [ 2299 0 R /XYZ 72 238.811 null ] +>> +endobj +4847 0 obj +<< +/D [ 2299 0 R /XYZ 72 389.75 null ] +>> +endobj +4848 0 obj +<< +/D [ 2115 0 R /XYZ 72 152.664 null ] +>> +endobj +4849 0 obj +<< +/D [ 2299 0 R /XYZ 72 337.914 null ] +>> +endobj +4850 0 obj +<< +/D [ 2138 0 R /XYZ 72 686.482 null ] +>> +endobj +4851 0 obj +<< +/D [ 2299 0 R /XYZ 72 576.42 null ] +>> +endobj +4852 0 obj +<< +/D [ 2489 0 R /XYZ 72 206.677 null ] +>> +endobj +4853 0 obj +<< +/D [ 2506 0 R /XYZ 72 208.43 null ] +>> +endobj +4854 0 obj +<< +/D [ 2506 0 R /XYZ 72 700.619 null ] +>> +endobj +4855 0 obj +<< +/D [ 2518 0 R /XYZ 72 664.589 null ] +>> +endobj +4856 0 obj +<< +/D [ 2506 0 R /XYZ 72 158.762 null ] +>> +endobj +4857 0 obj +<< +/D [ 2506 0 R /XYZ 72 403.728 null ] +>> +endobj +4858 0 obj +<< +/D [ 2506 0 R /XYZ 72 648.056 null ] +>> +endobj +4859 0 obj +<< +/D [ 2506 0 R /XYZ 72 584.266 null ] +>> +endobj +4860 0 obj +<< +/D [ 2506 0 R /XYZ 72 534.597 null ] +>> +endobj +4861 0 obj +<< +/D [ 2518 0 R /XYZ 72 716.37 null ] +>> +endobj +4862 0 obj +<< +/D [ 2489 0 R /XYZ 72 189.302 null ] +>> +endobj +4863 0 obj +<< +/D [ 3027 0 R /XYZ 72 437.038 null ] +>> +endobj +4864 0 obj +<< +/D [ 3027 0 R /XYZ 72 323.882 null ] +>> +endobj +4865 0 obj +<< +/D [ 3043 0 R /XYZ 72 218.418 null ] +>> +endobj +4866 0 obj +<< +/D [ 3067 0 R /XYZ 72 592.913 null ] +>> +endobj +4867 0 obj +<< +/D [ 3027 0 R /XYZ 72 553.76 null ] +>> +endobj +4868 0 obj +<< +/D [ 3043 0 R /XYZ 72 699.782 null ] +>> +endobj +4869 0 obj +<< +/D [ 3055 0 R /XYZ 72 412.988 null ] +>> +endobj +4870 0 obj +<< +/D [ 3027 0 R /XYZ 72 520.789 null ] +>> +endobj +4871 0 obj +<< +/D [ 3077 0 R /XYZ 72 740.335 null ] +>> +endobj +4872 0 obj +<< +/D [ 3043 0 R /XYZ 72 648.056 null ] +>> +endobj +4873 0 obj +<< +/D [ 523 0 R /XYZ 72 323.698 null ] +>> +endobj +4874 0 obj +<< +/D [ 705 0 R /XYZ 72 500.579 null ] +>> +endobj +4875 0 obj +<< +/D [ 523 0 R /XYZ 72 291.887 null ] +>> +endobj +4876 0 obj +<< +/D [ 548 0 R /XYZ 72 263.748 null ] +>> +endobj +4877 0 obj +<< +/D [ 548 0 R /XYZ 72 686.537 null ] +>> +endobj +4878 0 obj +<< +/D [ 523 0 R /XYZ 72 240.684 null ] +>> +endobj +4879 0 obj +<< +/D [ 548 0 R /XYZ 72 771.732 null ] +>> +endobj +4880 0 obj +<< +/D [ 548 0 R /XYZ 72 185.845 null ] +>> +endobj +4881 0 obj +<< +/D [ 2636 0 R /XYZ 72 598.328 null ] +>> +endobj +4882 0 obj +<< +/D [ 2636 0 R /XYZ 72 214.333 null ] +>> +endobj +4883 0 obj +<< +/D [ 2636 0 R /XYZ 72 397.217 null ] +>> +endobj +4884 0 obj +<< +/D [ 2636 0 R /XYZ 72 545.765 null ] +>> +endobj +4885 0 obj +<< +/D [ 2636 0 R /XYZ 72 481.974 null ] +>> +endobj +4886 0 obj +<< +/D [ 2636 0 R /XYZ 72 151.434 null ] +>> +endobj +4887 0 obj +<< +/D [ 2636 0 R /XYZ 72 707.364 null ] +>> +endobj +4888 0 obj +<< +/D [ 2604 0 R /XYZ 72 361.152 null ] +>> +endobj +4889 0 obj +<< +/D [ 2889 0 R /XYZ 72 604.813 null ] +>> +endobj +4890 0 obj +<< +/D [ 2889 0 R /XYZ 72 450.906 null ] +>> +endobj +4891 0 obj +<< +/D [ 2900 0 R /XYZ 72 718.731 null ] +>> +endobj +4892 0 obj +<< +/D [ 2889 0 R /XYZ 72 209.969 null ] +>> +endobj +4893 0 obj +<< +/D [ 2889 0 R /XYZ 72 398.288 null ] +>> +endobj +4894 0 obj +<< +/D [ 2889 0 R /XYZ 72 346.507 null ] +>> +endobj +4895 0 obj +<< +/D [ 2889 0 R /XYZ 72 294.781 null ] +>> +endobj +4896 0 obj +<< +/D [ 2900 0 R /XYZ 72 593.008 null ] +>> +endobj +4897 0 obj +<< +/D [ 2889 0 R /XYZ 72 571.155 null ] +>> +endobj +4898 0 obj +<< +/D [ 1600 0 R /XYZ 72 405.665 null ] +>> +endobj +4899 0 obj +<< +/D [ 1611 0 R /XYZ 72 503.723 null ] +>> +endobj +4900 0 obj +<< +/D [ 1600 0 R /XYZ 72 239.748 null ] +>> +endobj +4901 0 obj +<< +/D [ 1611 0 R /XYZ 72 430.144 null ] +>> +endobj +4902 0 obj +<< +/D [ 1611 0 R /XYZ 72 626.831 null ] +>> +endobj +4903 0 obj +<< +/D [ 1600 0 R /XYZ 72 187.13 null ] +>> +endobj +4904 0 obj +<< +/D [ 1611 0 R /XYZ 72 740.28 null ] +>> +endobj +4905 0 obj +<< +/D [ 1611 0 R /XYZ 72 292.565 null ] +>> +endobj +4906 0 obj +<< +/D [ 1600 0 R /XYZ 72 372.694 null ] +>> +endobj +4907 0 obj +<< +/D [ 2950 0 R /XYZ 72 505.884 null ] +>> +endobj +4908 0 obj +<< +/D [ 2980 0 R /XYZ 72 698.477 null ] +>> +endobj +4909 0 obj +<< +/D [ 2980 0 R /XYZ 72 355.777 null ] +>> +endobj +4910 0 obj +<< +/D [ 2980 0 R /XYZ 72 508.774 null ] +>> +endobj +4911 0 obj +<< +/D [ 2980 0 R /XYZ 72 645.366 null ] +>> +endobj +4912 0 obj +<< +/D [ 2980 0 R /XYZ 72 593.531 null ] +>> +endobj +4913 0 obj +<< +/D [ 2980 0 R /XYZ 72 160.535 null ] +>> +endobj +4914 0 obj +<< +/D [ 2980 0 R /XYZ 72 759.145 null ] +>> +endobj +4915 0 obj +<< +/D [ 3055 0 R /XYZ 72 725.904 null ] +>> +endobj +4916 0 obj +<< +/D [ 3055 0 R /XYZ 72 612.749 null ] +>> +endobj +4917 0 obj +<< +/D [ 3055 0 R /XYZ 72 464.714 null ] +>> +endobj +4918 0 obj +<< +/D [ 3043 0 R /XYZ 72 185.446 null ] +>> +endobj +4919 0 obj +<< +/D [ 3003 0 R /XYZ 72 227.668 null ] +>> +endobj +4920 0 obj +<< +/D [ 3010 0 R /XYZ 72 178.318 null ] +>> +endobj +4921 0 obj +<< +/D [ 3010 0 R /XYZ 72 558.462 null ] +>> +endobj +4922 0 obj +<< +/D [ 3010 0 R /XYZ 72 723.747 null ] +>> +endobj +4923 0 obj +<< +/D [ 3010 0 R /XYZ 72 671.912 null ] +>> +endobj +4924 0 obj +<< +/D [ 3020 0 R /XYZ 72 406.373 null ] +>> +endobj +4925 0 obj +<< +/D [ 3003 0 R /XYZ 72 288.335 null ] +>> +endobj +4926 0 obj +<< +/D [ 625 0 R /XYZ 72 592.858 null ] +>> +endobj +4927 0 obj +<< +/D [ 625 0 R /XYZ 72 559.199 null ] +>> +endobj +4928 0 obj +<< +/D [ 647 0 R /XYZ 72 462.891 null ] +>> +endobj +4929 0 obj +<< +/D [ 625 0 R /XYZ 72 335.509 null ] +>> +endobj +4930 0 obj +<< +/D [ 625 0 R /XYZ 72 509.845 null ] +>> +endobj +4931 0 obj +<< +/D [ 625 0 R /XYZ 72 410.741 null ] +>> +endobj +4932 0 obj +<< +/D [ 647 0 R /XYZ 72 265.436 null ] +>> +endobj +4933 0 obj +<< +/D [ 2824 0 R /XYZ 72 351.2 null ] +>> +endobj +4934 0 obj +<< +/D [ 1649 0 R /XYZ 72 191.394 null ] +>> +endobj +4935 0 obj +<< +/D [ 1649 0 R /XYZ 72 518.004 null ] +>> +endobj +4936 0 obj +<< +/D [ 1649 0 R /XYZ 72 671.912 null ] +>> +endobj +4937 0 obj +<< +/D [ 1649 0 R /XYZ 72 139.668 null ] +>> +endobj +4938 0 obj +<< +/D [ 1649 0 R /XYZ 72 314.502 null ] +>> +endobj +4939 0 obj +<< +/D [ 1649 0 R /XYZ 72 465.386 null ] +>> +endobj +4940 0 obj +<< +/D [ 2832 0 R /XYZ 72 740.28 null ] +>> +endobj +4941 0 obj +<< +/D [ 1649 0 R /XYZ 72 413.606 null ] +>> +endobj +4942 0 obj +<< +/D [ 1662 0 R /XYZ 72 680.504 null ] +>> +endobj +4943 0 obj +<< +/D [ 1649 0 R /XYZ 72 638.995 null ] +>> +endobj +4944 0 obj +<< +/D [ 2080 0 R /XYZ 72 375.11 null ] +>> +endobj +4945 0 obj +<< +/D [ 2095 0 R /XYZ 72 314.502 null ] +>> +endobj +4946 0 obj +<< +/D [ 2080 0 R /XYZ 72 357.735 null ] +>> +endobj +4947 0 obj +<< +/D [ 2080 0 R /XYZ 72 270.612 null ] +>> +endobj +4948 0 obj +<< +/D [ 2095 0 R /XYZ 72 675.294 null ] +>> +endobj +4949 0 obj +<< +/D [ 2095 0 R /XYZ 72 489.85 null ] +>> +endobj +4950 0 obj +<< +/D [ 2095 0 R /XYZ 72 368.495 null ] +>> +endobj +4951 0 obj +<< +/D [ 2068 0 R /XYZ 72 365.112 null ] +>> +endobj +4952 0 obj +<< +/D [ 2080 0 R /XYZ 72 405.461 null ] +>> +endobj +4953 0 obj +<< +/D [ 2095 0 R /XYZ 72 219.533 null ] +>> +endobj +4954 0 obj +<< +/D [ 2115 0 R /XYZ 72 701.994 null ] +>> +endobj +4955 0 obj +<< +/D [ 2115 0 R /XYZ 72 516.549 null ] +>> +endobj +4956 0 obj +<< +/D [ 2115 0 R /XYZ 72 392.983 null ] +>> +endobj +4957 0 obj +<< +/D [ 2815 0 R /XYZ 72 445.406 null ] +>> +endobj +4958 0 obj +<< +/D [ 1636 0 R /XYZ 72 259.763 null ] +>> +endobj +4959 0 obj +<< +/D [ 1636 0 R /XYZ 72 586.373 null ] +>> +endobj +4960 0 obj +<< +/D [ 1636 0 R /XYZ 72 740.335 null ] +>> +endobj +4961 0 obj +<< +/D [ 1636 0 R /XYZ 72 208.037 null ] +>> +endobj +4962 0 obj +<< +/D [ 1636 0 R /XYZ 72 382.871 null ] +>> +endobj +4963 0 obj +<< +/D [ 1636 0 R /XYZ 72 533.755 null ] +>> +endobj +4964 0 obj +<< +/D [ 2815 0 R /XYZ 72 189.028 null ] +>> +endobj +4965 0 obj +<< +/D [ 1636 0 R /XYZ 72 481.974 null ] +>> +endobj +4966 0 obj +<< +/D [ 1649 0 R /XYZ 72 723.693 null ] +>> +endobj +4967 0 obj +<< +/D [ 1636 0 R /XYZ 72 707.364 null ] +>> +endobj +4968 0 obj +<< +/D [ 2400 0 R /XYZ 72 301.376 null ] +>> +endobj +4969 0 obj +<< +/D [ 2415 0 R /XYZ 72 188.871 null ] +>> +endobj +4970 0 obj +<< +/D [ 2415 0 R /XYZ 72 736.485 null ] +>> +endobj +4971 0 obj +<< +/D [ 2415 0 R /XYZ 72 140.001 null ] +>> +endobj +4972 0 obj +<< +/D [ 2415 0 R /XYZ 72 443.145 null ] +>> +endobj +4973 0 obj +<< +/D [ 2415 0 R /XYZ 72 683.922 null ] +>> +endobj +4974 0 obj +<< +/D [ 2415 0 R /XYZ 72 620.131 null ] +>> +endobj +4975 0 obj +<< +/D [ 2415 0 R /XYZ 72 570.462 null ] +>> +endobj +4976 0 obj +<< +/D [ 2426 0 R /XYZ 72 716.37 null ] +>> +endobj +4977 0 obj +<< +/D [ 2400 0 R /XYZ 72 269.621 null ] +>> +endobj +4978 0 obj +<< +/D [ 2747 0 R /XYZ 72 505.82 null ] +>> +endobj +4979 0 obj +<< +/D [ 2789 0 R /XYZ 72 221.506 null ] +>> +endobj +4980 0 obj +<< +/D [ 2789 0 R /XYZ 72 626.198 null ] +>> +endobj +4981 0 obj +<< +/D [ 2789 0 R /XYZ 72 169.725 null ] +>> +endobj +4982 0 obj +<< +/D [ 2789 0 R /XYZ 72 332.659 null ] +>> +endobj +4983 0 obj +<< +/D [ 2789 0 R /XYZ 72 549.67 null ] +>> +endobj +4984 0 obj +<< +/D [ 2789 0 R /XYZ 72 497.889 null ] +>> +endobj +4985 0 obj +<< +/D [ 2789 0 R /XYZ 72 448.221 null ] +>> +endobj +4986 0 obj +<< +/D [ 2798 0 R /XYZ 72 371.055 null ] +>> +endobj +4987 0 obj +<< +/D [ 2789 0 R /XYZ 72 758.402 null ] +>> +endobj +4988 0 obj +<< +/D [ 2832 0 R /XYZ 72 474.657 null ] +>> +endobj +4989 0 obj +<< +/D [ 2824 0 R /XYZ 72 197.237 null ] +>> +endobj +4990 0 obj +<< +/D [ 2832 0 R /XYZ 72 424.988 null ] +>> +endobj +4991 0 obj +<< +/D [ 2832 0 R /XYZ 72 603.743 null ] +>> +endobj +4992 0 obj +<< +/D [ 2824 0 R /XYZ 72 144.674 null ] +>> +endobj +4993 0 obj +<< +/D [ 2832 0 R /XYZ 72 690.612 null ] +>> +endobj +4994 0 obj +<< +/D [ 2832 0 R /XYZ 72 300.201 null ] +>> +endobj +4995 0 obj +<< +/D [ 2824 0 R /XYZ 72 319.389 null ] +>> +endobj +4996 0 obj +<< +/D [ 2824 0 R /XYZ 72 578.218 null ] +>> +endobj +4997 0 obj +<< +/D [ 2815 0 R /XYZ 72 292.141 null ] +>> +endobj +4998 0 obj +<< +/D [ 2824 0 R /XYZ 72 528.55 null ] +>> +endobj +4999 0 obj +<< +/D [ 2824 0 R /XYZ 72 707.304 null ] +>> +endobj +5000 0 obj +<< +/D [ 2815 0 R /XYZ 72 240.221 null ] +>> +endobj +5001 0 obj +<< +/D [ 2815 0 R /XYZ 72 140.001 null ] +>> +endobj +5002 0 obj +<< +/D [ 2824 0 R /XYZ 72 403.763 null ] +>> +endobj +5003 0 obj +<< +/D [ 2815 0 R /XYZ 72 414.293 null ] +>> +endobj +5004 0 obj +<< +/D [ 2798 0 R /XYZ 72 201.591 null ] +>> +endobj +5005 0 obj +<< +/D [ 2808 0 R /XYZ 72 484.276 null ] +>> +endobj +5006 0 obj +<< +/D [ 2808 0 R /XYZ 72 641.177 null ] +>> +endobj +5007 0 obj +<< +/D [ 2815 0 R /XYZ 72 496.544 null ] +>> +endobj +5008 0 obj +<< +/D [ 499 0 R /XYZ 72 485.835 null ] +>> +endobj +5009 0 obj +<< +/D [ 273 0 R /XYZ 72 513.008 null ] +>> +endobj +5010 0 obj +<< +/D [ 2463 0 R /XYZ 72 664.589 null ] +>> +endobj +5011 0 obj +<< +/D [ 2478 0 R /XYZ 72 580.231 null ] +>> +endobj +5012 0 obj +<< +/D [ 2463 0 R /XYZ 72 510.682 null ] +>> +endobj +5013 0 obj +<< +/D [ 2478 0 R /XYZ 72 530.562 null ] +>> +endobj +5014 0 obj +<< +/D [ 2463 0 R /XYZ 72 213.79 null ] +>> +endobj +5015 0 obj +<< +/D [ 2463 0 R /XYZ 72 458.119 null ] +>> +endobj +5016 0 obj +<< +/D [ 2463 0 R /XYZ 72 394.328 null ] +>> +endobj +5017 0 obj +<< +/D [ 2463 0 R /XYZ 72 344.659 null ] +>> +endobj +5018 0 obj +<< +/D [ 2478 0 R /XYZ 72 452.759 null ] +>> +endobj +5019 0 obj +<< +/D [ 2463 0 R /XYZ 72 632.833 null ] +>> +endobj +5020 0 obj +<< +/D [ 2478 0 R /XYZ 72 400.978 null ] +>> +endobj +5021 0 obj +<< +/D [ 2489 0 R /XYZ 72 416.226 null ] +>> +endobj +5022 0 obj +<< +/D [ 2478 0 R /XYZ 72 259.025 null ] +>> +endobj +5023 0 obj +<< +/D [ 2489 0 R /XYZ 72 366.557 null ] +>> +endobj +5024 0 obj +<< +/D [ 2489 0 R /XYZ 72 611.523 null ] +>> +endobj +5025 0 obj +<< +/D [ 2478 0 R /XYZ 72 206.462 null ] +>> +endobj +5026 0 obj +<< +/D [ 2478 0 R /XYZ 72 142.672 null ] +>> +endobj +5027 0 obj +<< +/D [ 2489 0 R /XYZ 72 742.392 null ] +>> +endobj +5028 0 obj +<< +/D [ 2489 0 R /XYZ 72 288.754 null ] +>> +endobj +5029 0 obj +<< +/D [ 2478 0 R /XYZ 72 367.319 null ] +>> +endobj +5030 0 obj +<< +/D [ 1329 0 R /XYZ 72 588.898 null ] +>> +endobj +5031 0 obj +<< +/D [ 1343 0 R /XYZ 72 711.737 null ] +>> +endobj +5032 0 obj +<< +/D [ 1329 0 R /XYZ 72 446.946 null ] +>> +endobj +5033 0 obj +<< +/D [ 1343 0 R /XYZ 72 662.069 null ] +>> +endobj +5034 0 obj +<< +/D [ 1329 0 R /XYZ 72 221.925 null ] +>> +endobj +5035 0 obj +<< +/D [ 1329 0 R /XYZ 72 359.075 null ] +>> +endobj +5036 0 obj +<< +/D [ 1329 0 R /XYZ 72 306.682 null ] +>> +endobj +5037 0 obj +<< +/D [ 1343 0 R /XYZ 72 560.355 null ] +>> +endobj +5038 0 obj +<< +/D [ 1329 0 R /XYZ 72 557.142 null ] +>> +endobj +5039 0 obj +<< +/D [ 2636 0 R /XYZ 72 740.335 null ] +>> +endobj +5040 0 obj +<< +/D [ 2604 0 R /XYZ 72 540.405 null ] +>> +endobj +5041 0 obj +<< +/D [ 2592 0 R /XYZ 72 390.532 null ] +>> +endobj +5042 0 obj +<< +/D [ 2592 0 R /XYZ 72 544.44 null ] +>> +endobj +5043 0 obj +<< +/D [ 2604 0 R /XYZ 72 490.736 null ] +>> +endobj +5044 0 obj +<< +/D [ 2604 0 R /XYZ 72 735.703 null ] +>> +endobj +5045 0 obj +<< +/D [ 2592 0 R /XYZ 72 337.969 null ] +>> +endobj +5046 0 obj +<< +/D [ 2592 0 R /XYZ 72 274.179 null ] +>> +endobj +5047 0 obj +<< +/D [ 2592 0 R /XYZ 72 224.51 null ] +>> +endobj +5048 0 obj +<< +/D [ 2604 0 R /XYZ 72 412.933 null ] +>> +endobj +5049 0 obj +<< +/D [ 2592 0 R /XYZ 72 510.781 null ] +>> +endobj +5050 0 obj +<< +/D [ 2138 0 R /XYZ 72 199.812 null ] +>> +endobj +5051 0 obj +<< +/D [ 2080 0 R /XYZ 72 336.555 null ] +>> +endobj +5052 0 obj +<< +/D [ 2864 0 R /XYZ 72 689.845 null ] +>> +endobj +5053 0 obj +<< +/D [ 2798 0 R /XYZ 72 318.761 null ] +>> +endobj +5054 0 obj +<< +/D [ 2808 0 R /XYZ 72 536.002 null ] +>> +endobj +5055 0 obj +<< +/D [ 2175 0 R /XYZ 72 760.305 null ] +>> +endobj +5056 0 obj +<< +/D [ 2175 0 R /XYZ 72 360.186 null ] +>> +endobj +5057 0 obj +<< +/D [ 2175 0 R /XYZ 72 709.102 null ] +>> +endobj +5058 0 obj +<< +/D [ 2175 0 R /XYZ 72 527.752 null ] +>> +endobj +5059 0 obj +<< +/D [ 2798 0 R /XYZ 72 137.944 null ] +>> +endobj +5060 0 obj +<< +/D [ 2911 0 R /XYZ 72 326.034 null ] +>> +endobj +5061 0 obj +<< +/D [ 2926 0 R /XYZ 72 716.34 null ] +>> +endobj +5062 0 obj +<< +/D [ 2926 0 R /XYZ 72 468.36 null ] +>> +endobj +5063 0 obj +<< +/D [ 2168 0 R /XYZ 72 186.557 null ] +>> +endobj +5064 0 obj +<< +/D [ 2182 0 R /XYZ 72 436.769 null ] +>> +endobj +5065 0 obj +<< +/D [ 2808 0 R /XYZ 72 740.28 null ] +>> +endobj +5066 0 obj +<< +/D [ 2182 0 R /XYZ 72 333.401 null ] +>> +endobj +5067 0 obj +<< +/D [ 2900 0 R /XYZ 72 387.319 null ] +>> +endobj +5068 0 obj +<< +/D [ 2911 0 R /XYZ 72 657.446 null ] +>> +endobj +5069 0 obj +<< +/D [ 2911 0 R /XYZ 72 771.732 null ] +>> +endobj +5070 0 obj +<< +/D [ 2900 0 R /XYZ 72 334.756 null ] +>> +endobj +5071 0 obj +<< +/D [ 2900 0 R /XYZ 72 282.921 null ] +>> +endobj +5072 0 obj +<< +/D [ 2900 0 R /XYZ 72 231.195 null ] +>> +endobj +5073 0 obj +<< +/D [ 2911 0 R /XYZ 72 531.723 null ] +>> +endobj +5074 0 obj +<< +/D [ 2900 0 R /XYZ 72 508.31 null ] +>> +endobj +5075 0 obj +<< +/D [ 2798 0 R /XYZ 72 286.716 null ] +>> +endobj +5076 0 obj +<< +/D [ 2618 0 R /XYZ 72 215.733 null ] +>> +endobj +5077 0 obj +<< +/D [ 2629 0 R /XYZ 72 664.754 null ] +>> +endobj +5078 0 obj +<< +/D [ 2629 0 R /XYZ 72 274.781 null ] +>> +endobj +5079 0 obj +<< +/D [ 2629 0 R /XYZ 72 463.643 null ] +>> +endobj +5080 0 obj +<< +/D [ 2629 0 R /XYZ 72 612.191 null ] +>> +endobj +5081 0 obj +<< +/D [ 2629 0 R /XYZ 72 548.4 null ] +>> +endobj +5082 0 obj +<< +/D [ 2629 0 R /XYZ 72 140.151 null ] +>> +endobj +5083 0 obj +<< +/D [ 2618 0 R /XYZ 72 182.761 null ] +>> +endobj +5084 0 obj +<< +/D [ 1130 0 R /XYZ 72 148.953 null ] +>> +endobj +5085 0 obj +<< +/D [ 1144 0 R /XYZ 72 278.959 null ] +>> +endobj +5086 0 obj +<< +/D [ 1144 0 R /XYZ 72 638.153 null ] +>> +endobj +5087 0 obj +<< +/D [ 1144 0 R /XYZ 72 229.575 null ] +>> +endobj +5088 0 obj +<< +/D [ 1144 0 R /XYZ 72 384.135 null ] +>> +endobj +5089 0 obj +<< +/D [ 1144 0 R /XYZ 72 585.536 null ] +>> +endobj +5090 0 obj +<< +/D [ 1144 0 R /XYZ 72 533.755 null ] +>> +endobj +5091 0 obj +<< +/D [ 1144 0 R /XYZ 72 482.029 null ] +>> +endobj +5092 0 obj +<< +/D [ 1144 0 R /XYZ 72 140.101 null ] +>> +endobj +5093 0 obj +<< +/D [ 1144 0 R /XYZ 72 760.305 null ] +>> +endobj +5094 0 obj +<< +/D [ 3101 0 R /XYZ 72 653.476 null ] +>> +endobj +5095 0 obj +<< +/D [ 3 0 R /XYZ 72 789.665 null ] +>> +endobj +5096 0 obj +<< +/D [ 273 0 R /XYZ 72 789.665 null ] +>> +endobj +5097 0 obj +<< +/D [ 1600 0 R /XYZ 72 789.665 null ] +>> +endobj +5098 0 obj +<< +/D [ 1611 0 R /XYZ 72 789.665 null ] +>> +endobj +5099 0 obj +<< +/D [ 1626 0 R /XYZ 72 789.665 null ] +>> +endobj +5100 0 obj +<< +/D [ 1636 0 R /XYZ 72 789.665 null ] +>> +endobj +5101 0 obj +<< +/D [ 1649 0 R /XYZ 72 789.665 null ] +>> +endobj +5102 0 obj +<< +/D [ 1662 0 R /XYZ 72 789.665 null ] +>> +endobj +5103 0 obj +<< +/D [ 1676 0 R /XYZ 72 789.665 null ] +>> +endobj +5104 0 obj +<< +/D [ 1685 0 R /XYZ 72 789.665 null ] +>> +endobj +5105 0 obj +<< +/D [ 1699 0 R /XYZ 72 789.665 null ] +>> +endobj +5106 0 obj +<< +/D [ 1710 0 R /XYZ 72 789.665 null ] +>> +endobj +5107 0 obj +<< +/D [ 302 0 R /XYZ 72 789.665 null ] +>> +endobj +5108 0 obj +<< +/D [ 1720 0 R /XYZ 72 789.665 null ] +>> +endobj +5109 0 obj +<< +/D [ 1731 0 R /XYZ 72 789.665 null ] +>> +endobj +5110 0 obj +<< +/D [ 1739 0 R /XYZ 72 789.665 null ] +>> +endobj +5111 0 obj +<< +/D [ 1754 0 R /XYZ 72 789.665 null ] +>> +endobj +5112 0 obj +<< +/D [ 1765 0 R /XYZ 72 789.665 null ] +>> +endobj +5113 0 obj +<< +/D [ 1780 0 R /XYZ 72 789.665 null ] +>> +endobj +5114 0 obj +<< +/D [ 1790 0 R /XYZ 72 789.665 null ] +>> +endobj +5115 0 obj +<< +/D [ 1806 0 R /XYZ 72 789.665 null ] +>> +endobj +5116 0 obj +<< +/D [ 1817 0 R /XYZ 72 789.665 null ] +>> +endobj +5117 0 obj +<< +/D [ 1827 0 R /XYZ 72 789.665 null ] +>> +endobj +5118 0 obj +<< +/D [ 327 0 R /XYZ 72 789.665 null ] +>> +endobj +5119 0 obj +<< +/D [ 1844 0 R /XYZ 72 789.665 null ] +>> +endobj +5120 0 obj +<< +/D [ 1856 0 R /XYZ 72 789.665 null ] +>> +endobj +5121 0 obj +<< +/D [ 1865 0 R /XYZ 72 789.665 null ] +>> +endobj +5122 0 obj +<< +/D [ 1876 0 R /XYZ 72 789.665 null ] +>> +endobj +5123 0 obj +<< +/D [ 1887 0 R /XYZ 72 789.665 null ] +>> +endobj +5124 0 obj +<< +/D [ 1896 0 R /XYZ 72 789.665 null ] +>> +endobj +5125 0 obj +<< +/D [ 1909 0 R /XYZ 72 789.665 null ] +>> +endobj +5126 0 obj +<< +/D [ 1920 0 R /XYZ 72 789.665 null ] +>> +endobj +5127 0 obj +<< +/D [ 1930 0 R /XYZ 72 789.665 null ] +>> +endobj +5128 0 obj +<< +/D [ 1941 0 R /XYZ 72 789.665 null ] +>> +endobj +5129 0 obj +<< +/D [ 353 0 R /XYZ 72 789.665 null ] +>> +endobj +5130 0 obj +<< +/D [ 1951 0 R /XYZ 72 789.665 null ] +>> +endobj +5131 0 obj +<< +/D [ 1964 0 R /XYZ 72 789.665 null ] +>> +endobj +5132 0 obj +<< +/D [ 1975 0 R /XYZ 72 789.665 null ] +>> +endobj +5133 0 obj +<< +/D [ 1990 0 R /XYZ 72 789.665 null ] +>> +endobj +5134 0 obj +<< +/D [ 2002 0 R /XYZ 72 789.665 null ] +>> +endobj +5135 0 obj +<< +/D [ 2018 0 R /XYZ 72 789.665 null ] +>> +endobj +5136 0 obj +<< +/D [ 2029 0 R /XYZ 72 789.665 null ] +>> +endobj +5137 0 obj +<< +/D [ 2039 0 R /XYZ 72 789.665 null ] +>> +endobj +5138 0 obj +<< +/D [ 2056 0 R /XYZ 72 789.665 null ] +>> +endobj +5139 0 obj +<< +/D [ 2068 0 R /XYZ 72 789.665 null ] +>> +endobj +5140 0 obj +<< +/D [ 384 0 R /XYZ 72 789.665 null ] +>> +endobj +5141 0 obj +<< +/D [ 2077 0 R /XYZ 72 789.665 null ] +>> +endobj +5142 0 obj +<< +/D [ 2080 0 R /XYZ 72 789.665 null ] +>> +endobj +5143 0 obj +<< +/D [ 2095 0 R /XYZ 72 789.665 null ] +>> +endobj +5144 0 obj +<< +/D [ 2115 0 R /XYZ 72 789.665 null ] +>> +endobj +5145 0 obj +<< +/D [ 2138 0 R /XYZ 72 789.665 null ] +>> +endobj +5146 0 obj +<< +/D [ 2162 0 R /XYZ 72 789.665 null ] +>> +endobj +5147 0 obj +<< +/D [ 2168 0 R /XYZ 72 789.665 null ] +>> +endobj +5148 0 obj +<< +/D [ 2175 0 R /XYZ 72 789.665 null ] +>> +endobj +5149 0 obj +<< +/D [ 2182 0 R /XYZ 72 789.665 null ] +>> +endobj +5150 0 obj +<< +/D [ 2196 0 R /XYZ 72 789.665 null ] +>> +endobj +5151 0 obj +<< +/D [ 408 0 R /XYZ 72 789.665 null ] +>> +endobj +5152 0 obj +<< +/D [ 2206 0 R /XYZ 72 789.665 null ] +>> +endobj +5153 0 obj +<< +/D [ 2209 0 R /XYZ 72 789.665 null ] +>> +endobj +5154 0 obj +<< +/D [ 2218 0 R /XYZ 72 789.665 null ] +>> +endobj +5155 0 obj +<< +/D [ 2227 0 R /XYZ 72 789.665 null ] +>> +endobj +5156 0 obj +<< +/D [ 2239 0 R /XYZ 72 789.665 null ] +>> +endobj +5157 0 obj +<< +/D [ 2249 0 R /XYZ 72 789.665 null ] +>> +endobj +5158 0 obj +<< +/D [ 2256 0 R /XYZ 72 789.665 null ] +>> +endobj +5159 0 obj +<< +/D [ 2265 0 R /XYZ 72 789.665 null ] +>> +endobj +5160 0 obj +<< +/D [ 2277 0 R /XYZ 72 789.665 null ] +>> +endobj +5161 0 obj +<< +/D [ 2287 0 R /XYZ 72 789.665 null ] +>> +endobj +5162 0 obj +<< +/D [ 436 0 R /XYZ 72 789.665 null ] +>> +endobj +5163 0 obj +<< +/D [ 2299 0 R /XYZ 72 789.665 null ] +>> +endobj +5164 0 obj +<< +/D [ 2312 0 R /XYZ 72 789.665 null ] +>> +endobj +5165 0 obj +<< +/D [ 2324 0 R /XYZ 72 789.665 null ] +>> +endobj +5166 0 obj +<< +/D [ 2332 0 R /XYZ 72 789.665 null ] +>> +endobj +5167 0 obj +<< +/D [ 2340 0 R /XYZ 72 789.665 null ] +>> +endobj +5168 0 obj +<< +/D [ 2351 0 R /XYZ 72 789.665 null ] +>> +endobj +5169 0 obj +<< +/D [ 2360 0 R /XYZ 72 789.665 null ] +>> +endobj +5170 0 obj +<< +/D [ 2369 0 R /XYZ 72 789.665 null ] +>> +endobj +5171 0 obj +<< +/D [ 2380 0 R /XYZ 72 789.665 null ] +>> +endobj +5172 0 obj +<< +/D [ 2390 0 R /XYZ 72 789.665 null ] +>> +endobj +5173 0 obj +<< +/D [ 463 0 R /XYZ 72 789.665 null ] +>> +endobj +5174 0 obj +<< +/D [ 2400 0 R /XYZ 72 789.665 null ] +>> +endobj +5175 0 obj +<< +/D [ 2415 0 R /XYZ 72 789.665 null ] +>> +endobj +5176 0 obj +<< +/D [ 2426 0 R /XYZ 72 789.665 null ] +>> +endobj +5177 0 obj +<< +/D [ 2440 0 R /XYZ 72 789.665 null ] +>> +endobj +5178 0 obj +<< +/D [ 2452 0 R /XYZ 72 789.665 null ] +>> +endobj +5179 0 obj +<< +/D [ 2463 0 R /XYZ 72 789.665 null ] +>> +endobj +5180 0 obj +<< +/D [ 2478 0 R /XYZ 72 789.665 null ] +>> +endobj +5181 0 obj +<< +/D [ 2489 0 R /XYZ 72 789.665 null ] +>> +endobj +5182 0 obj +<< +/D [ 2506 0 R /XYZ 72 789.665 null ] +>> +endobj +5183 0 obj +<< +/D [ 2518 0 R /XYZ 72 789.665 null ] +>> +endobj +5184 0 obj +<< +/D [ 482 0 R /XYZ 72 789.665 null ] +>> +endobj +5185 0 obj +<< +/D [ 2534 0 R /XYZ 72 789.665 null ] +>> +endobj +5186 0 obj +<< +/D [ 2547 0 R /XYZ 72 789.665 null ] +>> +endobj +5187 0 obj +<< +/D [ 2563 0 R /XYZ 72 789.665 null ] +>> +endobj +5188 0 obj +<< +/D [ 2575 0 R /XYZ 72 789.665 null ] +>> +endobj +5189 0 obj +<< +/D [ 2592 0 R /XYZ 72 789.665 null ] +>> +endobj +5190 0 obj +<< +/D [ 2604 0 R /XYZ 72 789.665 null ] +>> +endobj +5191 0 obj +<< +/D [ 2618 0 R /XYZ 72 789.665 null ] +>> +endobj +5192 0 obj +<< +/D [ 2629 0 R /XYZ 72 789.665 null ] +>> +endobj +5193 0 obj +<< +/D [ 2636 0 R /XYZ 72 789.665 null ] +>> +endobj +5194 0 obj +<< +/D [ 2647 0 R /XYZ 72 789.665 null ] +>> +endobj +5195 0 obj +<< +/D [ 499 0 R /XYZ 72 789.665 null ] +>> +endobj +5196 0 obj +<< +/D [ 2661 0 R /XYZ 72 789.665 null ] +>> +endobj +5197 0 obj +<< +/D [ 2671 0 R /XYZ 72 789.665 null ] +>> +endobj +5198 0 obj +<< +/D [ 2682 0 R /XYZ 72 789.665 null ] +>> +endobj +5199 0 obj +<< +/D [ 2692 0 R /XYZ 72 789.665 null ] +>> +endobj +5200 0 obj +<< +/D [ 2708 0 R /XYZ 72 789.665 null ] +>> +endobj +5201 0 obj +<< +/D [ 2720 0 R /XYZ 72 789.665 null ] +>> +endobj +5202 0 obj +<< +/D [ 2730 0 R /XYZ 72 789.665 null ] +>> +endobj +5203 0 obj +<< +/D [ 2747 0 R /XYZ 72 789.665 null ] +>> +endobj +5204 0 obj +<< +/D [ 2757 0 R /XYZ 72 789.665 null ] +>> +endobj +5205 0 obj +<< +/D [ 2766 0 R /XYZ 72 789.665 null ] +>> +endobj +5206 0 obj +<< +/D [ 8 0 R /XYZ 72 789.665 null ] +>> +endobj +5207 0 obj +<< +/D [ 523 0 R /XYZ 72 789.665 null ] +>> +endobj +5208 0 obj +<< +/D [ 2776 0 R /XYZ 72 789.665 null ] +>> +endobj +5209 0 obj +<< +/D [ 2782 0 R /XYZ 72 789.665 null ] +>> +endobj +5210 0 obj +<< +/D [ 2789 0 R /XYZ 72 789.665 null ] +>> +endobj +5211 0 obj +<< +/D [ 2798 0 R /XYZ 72 789.665 null ] +>> +endobj +5212 0 obj +<< +/D [ 2808 0 R /XYZ 72 789.665 null ] +>> +endobj +5213 0 obj +<< +/D [ 2815 0 R /XYZ 72 789.665 null ] +>> +endobj +5214 0 obj +<< +/D [ 2824 0 R /XYZ 72 789.665 null ] +>> +endobj +5215 0 obj +<< +/D [ 2832 0 R /XYZ 72 789.665 null ] +>> +endobj +5216 0 obj +<< +/D [ 2841 0 R /XYZ 72 789.665 null ] +>> +endobj +5217 0 obj +<< +/D [ 2850 0 R /XYZ 72 789.665 null ] +>> +endobj +5218 0 obj +<< +/D [ 548 0 R /XYZ 72 789.665 null ] +>> +endobj +5219 0 obj +<< +/D [ 2864 0 R /XYZ 72 789.665 null ] +>> +endobj +5220 0 obj +<< +/D [ 2876 0 R /XYZ 72 789.665 null ] +>> +endobj +5221 0 obj +<< +/D [ 2889 0 R /XYZ 72 789.665 null ] +>> +endobj +5222 0 obj +<< +/D [ 2900 0 R /XYZ 72 789.665 null ] +>> +endobj +5223 0 obj +<< +/D [ 2911 0 R /XYZ 72 789.665 null ] +>> +endobj +5224 0 obj +<< +/D [ 2923 0 R /XYZ 72 789.665 null ] +>> +endobj +5225 0 obj +<< +/D [ 2926 0 R /XYZ 72 789.665 null ] +>> +endobj +5226 0 obj +<< +/D [ 2937 0 R /XYZ 72 789.665 null ] +>> +endobj +5227 0 obj +<< +/D [ 2950 0 R /XYZ 72 789.665 null ] +>> +endobj +5228 0 obj +<< +/D [ 2959 0 R /XYZ 72 789.665 null ] +>> +endobj +5229 0 obj +<< +/D [ 572 0 R /XYZ 72 789.665 null ] +>> +endobj +5230 0 obj +<< +/D [ 2966 0 R /XYZ 72 789.665 null ] +>> +endobj +5231 0 obj +<< +/D [ 2973 0 R /XYZ 72 789.665 null ] +>> +endobj +5232 0 obj +<< +/D [ 2980 0 R /XYZ 72 789.665 null ] +>> +endobj +5233 0 obj +<< +/D [ 2985 0 R /XYZ 72 789.665 null ] +>> +endobj +5234 0 obj +<< +/D [ 2992 0 R /XYZ 72 789.665 null ] +>> +endobj +5235 0 obj +<< +/D [ 3003 0 R /XYZ 72 789.665 null ] +>> +endobj +5236 0 obj +<< +/D [ 3010 0 R /XYZ 72 789.665 null ] +>> +endobj +5237 0 obj +<< +/D [ 3020 0 R /XYZ 72 789.665 null ] +>> +endobj +5238 0 obj +<< +/D [ 3027 0 R /XYZ 72 789.665 null ] +>> +endobj +5239 0 obj +<< +/D [ 3043 0 R /XYZ 72 789.665 null ] +>> +endobj +5240 0 obj +<< +/D [ 598 0 R /XYZ 72 789.665 null ] +>> +endobj +5241 0 obj +<< +/D [ 3055 0 R /XYZ 72 789.665 null ] +>> +endobj +5242 0 obj +<< +/D [ 3067 0 R /XYZ 72 789.665 null ] +>> +endobj +5243 0 obj +<< +/D [ 3077 0 R /XYZ 72 789.665 null ] +>> +endobj +5244 0 obj +<< +/D [ 3089 0 R /XYZ 72 789.665 null ] +>> +endobj +5245 0 obj +<< +/D [ 3098 0 R /XYZ 72 789.665 null ] +>> +endobj +5246 0 obj +<< +/D [ 3101 0 R /XYZ 72 789.665 null ] +>> +endobj +5247 0 obj +<< +/D [ 3105 0 R /XYZ 72 789.665 null ] +>> +endobj +5248 0 obj +<< +/D [ 3108 0 R /XYZ 72 789.665 null ] +>> +endobj +5249 0 obj +<< +/D [ 3137 0 R /XYZ 72 789.665 null ] +>> +endobj +5250 0 obj +<< +/D [ 3177 0 R /XYZ 72 789.665 null ] +>> +endobj +5251 0 obj +<< +/D [ 625 0 R /XYZ 72 789.665 null ] +>> +endobj +5252 0 obj +<< +/D [ 3215 0 R /XYZ 72 789.665 null ] +>> +endobj +5253 0 obj +<< +/D [ 3253 0 R /XYZ 72 789.665 null ] +>> +endobj +5254 0 obj +<< +/D [ 3291 0 R /XYZ 72 789.665 null ] +>> +endobj +5255 0 obj +<< +/D [ 3300 0 R /XYZ 72 789.665 null ] +>> +endobj +5256 0 obj +<< +/D [ 3305 0 R /XYZ 72 789.665 null ] +>> +endobj +5257 0 obj +<< +/D [ 3308 0 R /XYZ 72 789.665 null ] +>> +endobj +5258 0 obj +<< +/D [ 647 0 R /XYZ 72 789.665 null ] +>> +endobj +5259 0 obj +<< +/D [ 670 0 R /XYZ 72 789.665 null ] +>> +endobj +5260 0 obj +<< +/D [ 687 0 R /XYZ 72 789.665 null ] +>> +endobj +5261 0 obj +<< +/D [ 705 0 R /XYZ 72 789.665 null ] +>> +endobj +5262 0 obj +<< +/D [ 729 0 R /XYZ 72 789.665 null ] +>> +endobj +5263 0 obj +<< +/D [ 17 0 R /XYZ 72 789.665 null ] +>> +endobj +5264 0 obj +<< +/D [ 755 0 R /XYZ 72 789.665 null ] +>> +endobj +5265 0 obj +<< +/D [ 771 0 R /XYZ 72 789.665 null ] +>> +endobj +5266 0 obj +<< +/D [ 782 0 R /XYZ 72 789.665 null ] +>> +endobj +5267 0 obj +<< +/D [ 800 0 R /XYZ 72 789.665 null ] +>> +endobj +5268 0 obj +<< +/D [ 816 0 R /XYZ 72 789.665 null ] +>> +endobj +5269 0 obj +<< +/D [ 825 0 R /XYZ 72 789.665 null ] +>> +endobj +5270 0 obj +<< +/D [ 838 0 R /XYZ 72 789.665 null ] +>> +endobj +5271 0 obj +<< +/D [ 854 0 R /XYZ 72 789.665 null ] +>> +endobj +5272 0 obj +<< +/D [ 866 0 R /XYZ 72 789.665 null ] +>> +endobj +5273 0 obj +<< +/D [ 893 0 R /XYZ 72 789.665 null ] +>> +endobj +5274 0 obj +<< +/D [ 59 0 R /XYZ 72 789.665 null ] +>> +endobj +5275 0 obj +<< +/D [ 903 0 R /XYZ 72 789.665 null ] +>> +endobj +5276 0 obj +<< +/D [ 918 0 R /XYZ 72 789.665 null ] +>> +endobj +5277 0 obj +<< +/D [ 924 0 R /XYZ 72 789.665 null ] +>> +endobj +5278 0 obj +<< +/D [ 935 0 R /XYZ 72 789.665 null ] +>> +endobj +5279 0 obj +<< +/D [ 949 0 R /XYZ 72 789.665 null ] +>> +endobj +5280 0 obj +<< +/D [ 961 0 R /XYZ 72 789.665 null ] +>> +endobj +5281 0 obj +<< +/D [ 978 0 R /XYZ 72 789.665 null ] +>> +endobj +5282 0 obj +<< +/D [ 992 0 R /XYZ 72 789.665 null ] +>> +endobj +5283 0 obj +<< +/D [ 1005 0 R /XYZ 72 789.665 null ] +>> +endobj +5284 0 obj +<< +/D [ 1020 0 R /XYZ 72 789.665 null ] +>> +endobj +5285 0 obj +<< +/D [ 113 0 R /XYZ 72 789.665 null ] +>> +endobj +5286 0 obj +<< +/D [ 1032 0 R /XYZ 72 789.665 null ] +>> +endobj +5287 0 obj +<< +/D [ 1044 0 R /XYZ 72 789.665 null ] +>> +endobj +5288 0 obj +<< +/D [ 1056 0 R /XYZ 72 789.665 null ] +>> +endobj +5289 0 obj +<< +/D [ 1064 0 R /XYZ 72 789.665 null ] +>> +endobj +5290 0 obj +<< +/D [ 1078 0 R /XYZ 72 789.665 null ] +>> +endobj +5291 0 obj +<< +/D [ 1091 0 R /XYZ 72 789.665 null ] +>> +endobj +5292 0 obj +<< +/D [ 1108 0 R /XYZ 72 789.665 null ] +>> +endobj +5293 0 obj +<< +/D [ 1120 0 R /XYZ 72 789.665 null ] +>> +endobj +5294 0 obj +<< +/D [ 1130 0 R /XYZ 72 789.665 null ] +>> +endobj +5295 0 obj +<< +/D [ 1144 0 R /XYZ 72 789.665 null ] +>> +endobj +5296 0 obj +<< +/D [ 168 0 R /XYZ 72 789.665 null ] +>> +endobj +5297 0 obj +<< +/D [ 1153 0 R /XYZ 72 789.665 null ] +>> +endobj +5298 0 obj +<< +/D [ 1164 0 R /XYZ 72 789.665 null ] +>> +endobj +5299 0 obj +<< +/D [ 1174 0 R /XYZ 72 789.665 null ] +>> +endobj +5300 0 obj +<< +/D [ 1184 0 R /XYZ 72 789.665 null ] +>> +endobj +5301 0 obj +<< +/D [ 1196 0 R /XYZ 72 789.665 null ] +>> +endobj +5302 0 obj +<< +/D [ 1203 0 R /XYZ 72 789.665 null ] +>> +endobj +5303 0 obj +<< +/D [ 1214 0 R /XYZ 72 789.665 null ] +>> +endobj +5304 0 obj +<< +/D [ 1223 0 R /XYZ 72 789.665 null ] +>> +endobj +5305 0 obj +<< +/D [ 1238 0 R /XYZ 72 789.665 null ] +>> +endobj +5306 0 obj +<< +/D [ 1248 0 R /XYZ 72 789.665 null ] +>> +endobj +5307 0 obj +<< +/D [ 222 0 R /XYZ 72 789.665 null ] +>> +endobj +5308 0 obj +<< +/D [ 1262 0 R /XYZ 72 789.665 null ] +>> +endobj +5309 0 obj +<< +/D [ 1275 0 R /XYZ 72 789.665 null ] +>> +endobj +5310 0 obj +<< +/D [ 1291 0 R /XYZ 72 789.665 null ] +>> +endobj +5311 0 obj +<< +/D [ 1306 0 R /XYZ 72 789.665 null ] +>> +endobj +5312 0 obj +<< +/D [ 1317 0 R /XYZ 72 789.665 null ] +>> +endobj +5313 0 obj +<< +/D [ 1329 0 R /XYZ 72 789.665 null ] +>> +endobj +5314 0 obj +<< +/D [ 1343 0 R /XYZ 72 789.665 null ] +>> +endobj +5315 0 obj +<< +/D [ 1354 0 R /XYZ 72 789.665 null ] +>> +endobj +5316 0 obj +<< +/D [ 1364 0 R /XYZ 72 789.665 null ] +>> +endobj +5317 0 obj +<< +/D [ 1373 0 R /XYZ 72 789.665 null ] +>> +endobj +5318 0 obj +<< +/D [ 246 0 R /XYZ 72 789.665 null ] +>> +endobj +5319 0 obj +<< +/D [ 1382 0 R /XYZ 72 789.665 null ] +>> +endobj +5320 0 obj +<< +/D [ 1391 0 R /XYZ 72 789.665 null ] +>> +endobj +5321 0 obj +<< +/D [ 1405 0 R /XYZ 72 789.665 null ] +>> +endobj +5322 0 obj +<< +/D [ 1423 0 R /XYZ 72 789.665 null ] +>> +endobj +5323 0 obj +<< +/D [ 1427 0 R /XYZ 72 789.665 null ] +>> +endobj +5324 0 obj +<< +/D [ 1439 0 R /XYZ 72 789.665 null ] +>> +endobj +5325 0 obj +<< +/D [ 1450 0 R /XYZ 72 789.665 null ] +>> +endobj +5326 0 obj +<< +/D [ 1464 0 R /XYZ 72 789.665 null ] +>> +endobj +5327 0 obj +<< +/D [ 1477 0 R /XYZ 72 789.665 null ] +>> +endobj +5328 0 obj +<< +/D [ 1484 0 R /XYZ 72 789.665 null ] +>> +endobj +5329 0 obj +<< +/D [ 249 0 R /XYZ 72 789.665 null ] +>> +endobj +5330 0 obj +<< +/D [ 1498 0 R /XYZ 72 789.665 null ] +>> +endobj +5331 0 obj +<< +/D [ 1506 0 R /XYZ 72 789.665 null ] +>> +endobj +5332 0 obj +<< +/D [ 1514 0 R /XYZ 72 789.665 null ] +>> +endobj +5333 0 obj +<< +/D [ 1526 0 R /XYZ 72 789.665 null ] +>> +endobj +5334 0 obj +<< +/D [ 1533 0 R /XYZ 72 789.665 null ] +>> +endobj +5335 0 obj +<< +/D [ 1541 0 R /XYZ 72 789.665 null ] +>> +endobj +5336 0 obj +<< +/D [ 1554 0 R /XYZ 72 789.665 null ] +>> +endobj +5337 0 obj +<< +/D [ 1567 0 R /XYZ 72 789.665 null ] +>> +endobj +5338 0 obj +<< +/D [ 1577 0 R /XYZ 72 789.665 null ] +>> +endobj +5339 0 obj +<< +/D [ 1587 0 R /XYZ 72 789.665 null ] +>> +endobj +5340 0 obj +<< +/D [ 2926 0 R /XYZ 72 388.186 null ] +>> +endobj +5341 0 obj +<< +/D [ 2926 0 R /XYZ 72 222.846 null ] +>> +endobj +5342 0 obj +<< +/D [ 2937 0 R /XYZ 72 740.28 null ] +>> +endobj +5343 0 obj +<< +/D [ 2926 0 R /XYZ 72 170.283 null ] +>> +endobj +5344 0 obj +<< +/D [ 2937 0 R /XYZ 72 503.194 null ] +>> +endobj +5345 0 obj +<< +/D [ 2926 0 R /XYZ 72 367.005 null ] +>> +endobj +5346 0 obj +<< +/D [ 782 0 R /XYZ 72 740.335 null ] +>> +endobj +5347 0 obj +<< +/D [ 1817 0 R /XYZ 72 472.709 null ] +>> +endobj +5348 0 obj +<< +/D [ 1827 0 R /XYZ 72 497.745 null ] +>> +endobj +5349 0 obj +<< +/D [ 1817 0 R /XYZ 72 294.891 null ] +>> +endobj +5350 0 obj +<< +/D [ 1827 0 R /XYZ 72 434.009 null ] +>> +endobj +5351 0 obj +<< +/D [ 1827 0 R /XYZ 72 626.831 null ] +>> +endobj +5352 0 obj +<< +/D [ 1817 0 R /XYZ 72 200.485 null ] +>> +endobj +5353 0 obj +<< +/D [ 1817 0 R /XYZ 72 148.649 null ] +>> +endobj +5354 0 obj +<< +/D [ 1827 0 R /XYZ 72 740.335 null ] +>> +endobj +5355 0 obj +<< +/D [ 1827 0 R /XYZ 72 262.677 null ] +>> +endobj +5356 0 obj +<< +/D [ 1817 0 R /XYZ 72 439.05 null ] +>> +endobj +5357 0 obj +<< +/D [ 2138 0 R /XYZ 72 601.043 null ] +>> +endobj +5358 0 obj +<< +/D [ 2138 0 R /XYZ 72 634.701 null ] +>> +endobj +5359 0 obj +<< +/D [ 2138 0 R /XYZ 72 551.743 null ] +>> +endobj +5360 0 obj +<< +/D [ 2138 0 R /XYZ 72 422.253 null ] +>> +endobj +5361 0 obj +<< +/D [ 2138 0 R /XYZ 72 334.552 null ] +>> +endobj +5362 0 obj +<< +/D [ 2287 0 R /XYZ 72 709.984 null ] +>> +endobj +5363 0 obj +<< +/D [ 2287 0 R /XYZ 72 509.844 null ] +>> +endobj +5364 0 obj +<< +/D [ 2299 0 R /XYZ 72 759.558 null ] +>> +endobj +5365 0 obj +<< +/D [ 2287 0 R /XYZ 72 260.973 null ] +>> +endobj +5366 0 obj +<< +/D [ 2287 0 R /XYZ 72 406.378 null ] +>> +endobj +5367 0 obj +<< +/D [ 2287 0 R /XYZ 72 310.696 null ] +>> +endobj +5368 0 obj +<< +/D [ 2299 0 R /XYZ 72 660.794 null ] +>> +endobj +5369 0 obj +<< +/D [ 2287 0 R /XYZ 72 692.609 null ] +>> +endobj +5370 0 obj +<< +/D [ 2390 0 R /XYZ 72 581.84 null ] +>> +endobj +5371 0 obj +<< +/D [ 2400 0 R /XYZ 72 480.629 null ] +>> +endobj +5372 0 obj +<< +/D [ 2390 0 R /XYZ 72 406.447 null ] +>> +endobj +5373 0 obj +<< +/D [ 2400 0 R /XYZ 72 430.96 null ] +>> +endobj +5374 0 obj +<< +/D [ 2400 0 R /XYZ 72 735.703 null ] +>> +endobj +5375 0 obj +<< +/D [ 2390 0 R /XYZ 72 353.885 null ] +>> +endobj +5376 0 obj +<< +/D [ 2390 0 R /XYZ 72 290.094 null ] +>> +endobj +5377 0 obj +<< +/D [ 2390 0 R /XYZ 72 240.425 null ] +>> +endobj +5378 0 obj +<< +/D [ 2400 0 R /XYZ 72 353.157 null ] +>> +endobj +5379 0 obj +<< +/D [ 2390 0 R /XYZ 72 562.562 null ] +>> +endobj +5380 0 obj +<< +/D [ 1153 0 R /XYZ 72 740.28 null ] +>> +endobj +5381 0 obj +<< +/D [ 1153 0 R /XYZ 72 230.398 null ] +>> +endobj +5382 0 obj +<< +/D [ 1153 0 R /XYZ 72 598.328 null ] +>> +endobj +5383 0 obj +<< +/D [ 1153 0 R /XYZ 72 178.637 null ] +>> +endobj +5384 0 obj +<< +/D [ 1153 0 R /XYZ 72 357.391 null ] +>> +endobj +5385 0 obj +<< +/D [ 1164 0 R /XYZ 72 533.082 null ] +>> +endobj +5386 0 obj +<< +/D [ 1153 0 R /XYZ 72 545.71 null ] +>> +endobj +5387 0 obj +<< +/D [ 1153 0 R /XYZ 72 493.929 null ] +>> +endobj +5388 0 obj +<< +/D [ 1153 0 R /XYZ 72 442.203 null ] +>> +endobj +5389 0 obj +<< +/D [ 1164 0 R /XYZ 72 584.863 null ] +>> +endobj +5390 0 obj +<< +/D [ 1153 0 R /XYZ 72 706.622 null ] +>> +endobj +5391 0 obj +<< +/D [ 1343 0 R /XYZ 72 508.574 null ] +>> +endobj +5392 0 obj +<< +/D [ 1354 0 R /XYZ 72 638.661 null ] +>> +endobj +5393 0 obj +<< +/D [ 1343 0 R /XYZ 72 366.622 null ] +>> +endobj +5394 0 obj +<< +/D [ 1354 0 R /XYZ 72 588.993 null ] +>> +endobj +5395 0 obj +<< +/D [ 1354 0 R /XYZ 72 771.732 null ] +>> +endobj +5396 0 obj +<< +/D [ 1343 0 R /XYZ 72 278.751 null ] +>> +endobj +5397 0 obj +<< +/D [ 1343 0 R /XYZ 72 226.358 null ] +>> +endobj +5398 0 obj +<< +/D [ 1354 0 R /XYZ 72 487.279 null ] +>> +endobj +5399 0 obj +<< +/D [ 1343 0 R /XYZ 72 474.916 null ] +>> +endobj +5400 0 obj +<< +/D [ 2369 0 R /XYZ 72 266.861 null ] +>> +endobj +5401 0 obj +<< +/D [ 2380 0 R /XYZ 72 736.485 null ] +>> +endobj +5402 0 obj +<< +/D [ 2380 0 R /XYZ 72 298.692 null ] +>> +endobj +5403 0 obj +<< +/D [ 2380 0 R /XYZ 72 535.374 null ] +>> +endobj +5404 0 obj +<< +/D [ 2380 0 R /XYZ 72 671.967 null ] +>> +endobj +5405 0 obj +<< +/D [ 2380 0 R /XYZ 72 620.131 null ] +>> +endobj +5406 0 obj +<< +/D [ 2390 0 R /XYZ 72 664.754 null ] +>> +endobj +5407 0 obj +<< +/D [ 2369 0 R /XYZ 72 233.202 null ] +>> +endobj +5408 0 obj +<< +/D [ 1174 0 R /XYZ 72 339.857 null ] +>> +endobj +5409 0 obj +<< +/D [ 1184 0 R /XYZ 72 392.809 null ] +>> +endobj +5410 0 obj +<< +/D [ 1174 0 R /XYZ 72 185.949 null ] +>> +endobj +5411 0 obj +<< +/D [ 1184 0 R /XYZ 72 340.928 null ] +>> +endobj +5412 0 obj +<< +/D [ 1184 0 R /XYZ 72 537.616 null ] +>> +endobj +5413 0 obj +<< +/D [ 1184 0 R /XYZ 72 139.613 null ] +>> +endobj +5414 0 obj +<< +/D [ 1184 0 R /XYZ 72 740.28 null ] +>> +endobj +5415 0 obj +<< +/D [ 1184 0 R /XYZ 72 688.5 null ] +>> +endobj +5416 0 obj +<< +/D [ 1184 0 R /XYZ 72 636.774 null ] +>> +endobj +5417 0 obj +<< +/D [ 1184 0 R /XYZ 72 192.231 null ] +>> +endobj +5418 0 obj +<< +/D [ 1174 0 R /XYZ 72 306.198 null ] +>> +endobj +5419 0 obj +<< +/D [ 1541 0 R /XYZ 72 659.957 null ] +>> +endobj +5420 0 obj +<< +/D [ 1600 0 R /XYZ 72 608.773 null ] +>> +endobj +5421 0 obj +<< +/D [ 1587 0 R /XYZ 72 323.434 null ] +>> +endobj +5422 0 obj +<< +/D [ 1600 0 R /XYZ 72 556.993 null ] +>> +endobj +5423 0 obj +<< +/D [ 1600 0 R /XYZ 72 771.732 null ] +>> +endobj +5424 0 obj +<< +/D [ 1587 0 R /XYZ 72 270.816 null ] +>> +endobj +5425 0 obj +<< +/D [ 1587 0 R /XYZ 72 219.035 null ] +>> +endobj +5426 0 obj +<< +/D [ 1600 0 R /XYZ 72 457.391 null ] +>> +endobj +5427 0 obj +<< +/D [ 1587 0 R /XYZ 72 444.425 null ] +>> +endobj +5428 0 obj +<< +/D [ 1567 0 R /XYZ 72 741.625 null ] +>> +endobj +5429 0 obj +<< +/D [ 1554 0 R /XYZ 72 434.99 null ] +>> +endobj +5430 0 obj +<< +/D [ 1567 0 R /XYZ 72 689.845 null ] +>> +endobj +5431 0 obj +<< +/D [ 1554 0 R /XYZ 72 231.489 null ] +>> +endobj +5432 0 obj +<< +/D [ 1554 0 R /XYZ 72 382.373 null ] +>> +endobj +5433 0 obj +<< +/D [ 1554 0 R /XYZ 72 330.592 null ] +>> +endobj +5434 0 obj +<< +/D [ 1567 0 R /XYZ 72 590.243 null ] +>> +endobj +5435 0 obj +<< +/D [ 1554 0 R /XYZ 72 555.982 null ] +>> +endobj +5436 0 obj +<< +/D [ 2340 0 R /XYZ 72 325.212 null ] +>> +endobj +5437 0 obj +<< +/D [ 2351 0 R /XYZ 72 640.843 null ] +>> +endobj +5438 0 obj +<< +/D [ 2360 0 R /XYZ 72 695.917 null ] +>> +endobj +5439 0 obj +<< +/D [ 2351 0 R /XYZ 72 385.561 null ] +>> +endobj +5440 0 obj +<< +/D [ 2351 0 R /XYZ 72 588.226 null ] +>> +endobj +5441 0 obj +<< +/D [ 2351 0 R /XYZ 72 536.445 null ] +>> +endobj +5442 0 obj +<< +/D [ 2351 0 R /XYZ 72 486.776 null ] +>> +endobj +5443 0 obj +<< +/D [ 2360 0 R /XYZ 72 438.786 null ] +>> +endobj +5444 0 obj +<< +/D [ 2340 0 R /XYZ 72 291.553 null ] +>> +endobj +5445 0 obj +<< +/D [ 1275 0 R /XYZ 72 353.665 null ] +>> +endobj +5446 0 obj +<< +/D [ 302 0 R /XYZ 72 495.259 null ] +>> +endobj +5447 0 obj +<< +/D [ 302 0 R /XYZ 72 461.601 null ] +>> +endobj +5448 0 obj +<< +/D [ 302 0 R /XYZ 72 360.52 null ] +>> +endobj +5449 0 obj +<< +/D [ 302 0 R /XYZ 72 217.148 null ] +>> +endobj +5450 0 obj +<< +/D [ 1291 0 R /XYZ 72 565.566 null ] +>> +endobj +5451 0 obj +<< +/D [ 327 0 R /XYZ 72 703.986 null ] +>> +endobj +5452 0 obj +<< +/D [ 302 0 R /XYZ 72 412.301 null ] +>> +endobj +5453 0 obj +<< +/D [ 327 0 R /XYZ 72 644.016 null ] +>> +endobj +5454 0 obj +<< +/D [ 647 0 R /XYZ 72 213.71 null ] +>> +endobj +5455 0 obj +<< +/D [ 670 0 R /XYZ 72 640.843 null ] +>> +endobj +5456 0 obj +<< +/D [ 670 0 R /XYZ 72 195.827 null ] +>> +endobj +5457 0 obj +<< +/D [ 670 0 R /XYZ 72 448.853 null ] +>> +endobj +5458 0 obj +<< +/D [ 670 0 R /XYZ 72 552.415 null ] +>> +endobj +5459 0 obj +<< +/D [ 670 0 R /XYZ 72 500.579 null ] +>> +endobj +5460 0 obj +<< +/D [ 687 0 R /XYZ 72 556.32 null ] +>> +endobj +5461 0 obj +<< +/D [ 273 0 R /XYZ 72 266.657 null ] +>> +endobj +5462 0 obj +<< +/D [ 1765 0 R /XYZ 72 707.777 null ] +>> +endobj +5463 0 obj +<< +/D [ 1780 0 R /XYZ 72 741.625 null ] +>> +endobj +5464 0 obj +<< +/D [ 1765 0 R /XYZ 72 541.914 null ] +>> +endobj +5465 0 obj +<< +/D [ 1780 0 R /XYZ 72 689.899 null ] +>> +endobj +5466 0 obj +<< +/D [ 1765 0 R /XYZ 72 231.11 null ] +>> +endobj +5467 0 obj +<< +/D [ 1765 0 R /XYZ 72 447.508 null ] +>> +endobj +5468 0 obj +<< +/D [ 1780 0 R /XYZ 72 550.417 null ] +>> +endobj +5469 0 obj +<< +/D [ 1765 0 R /XYZ 72 395.673 null ] +>> +endobj +5470 0 obj +<< +/D [ 1765 0 R /XYZ 72 343.947 null ] +>> +endobj +5471 0 obj +<< +/D [ 1780 0 R /XYZ 72 602.198 null ] +>> +endobj +5472 0 obj +<< +/D [ 1765 0 R /XYZ 72 676.021 null ] +>> +endobj +5473 0 obj +<< +/D [ 1731 0 R /XYZ 72 472.709 null ] +>> +endobj +5474 0 obj +<< +/D [ 1739 0 R /XYZ 72 483.632 null ] +>> +endobj +5475 0 obj +<< +/D [ 1731 0 R /XYZ 72 294.891 null ] +>> +endobj +5476 0 obj +<< +/D [ 1739 0 R /XYZ 72 431.958 null ] +>> +endobj +5477 0 obj +<< +/D [ 1739 0 R /XYZ 72 612.718 null ] +>> +endobj +5478 0 obj +<< +/D [ 1731 0 R /XYZ 72 212.44 null ] +>> +endobj +5479 0 obj +<< +/D [ 1739 0 R /XYZ 72 280.626 null ] +>> +endobj +5480 0 obj +<< +/D [ 1731 0 R /XYZ 72 160.604 null ] +>> +endobj +5481 0 obj +<< +/D [ 1739 0 R /XYZ 72 740.335 null ] +>> +endobj +5482 0 obj +<< +/D [ 1739 0 R /XYZ 72 332.355 null ] +>> +endobj +5483 0 obj +<< +/D [ 1731 0 R /XYZ 72 439.05 null ] +>> +endobj +5484 0 obj +<< +/D [ 1876 0 R /XYZ 72 588.898 null ] +>> +endobj +5485 0 obj +<< +/D [ 1506 0 R /XYZ 72 302.726 null ] +>> +endobj +5486 0 obj +<< +/D [ 1887 0 R /XYZ 72 532.485 null ] +>> +endobj +5487 0 obj +<< +/D [ 1896 0 R /XYZ 72 348.226 null ] +>> +endobj +5488 0 obj +<< +/D [ 1498 0 R /XYZ 72 253.048 null ] +>> +endobj +5489 0 obj +<< +/D [ 1506 0 R /XYZ 72 250.946 null ] +>> +endobj +5490 0 obj +<< +/D [ 1506 0 R /XYZ 72 581.252 null ] +>> +endobj +5491 0 obj +<< +/D [ 1498 0 R /XYZ 72 430.866 null ] +>> +endobj +5492 0 obj +<< +/D [ 1498 0 R /XYZ 72 164.565 null ] +>> +endobj +5493 0 obj +<< +/D [ 1514 0 R /XYZ 72 660.011 null ] +>> +endobj +5494 0 obj +<< +/D [ 1887 0 R /XYZ 72 244.291 null ] +>> +endobj +5495 0 obj +<< +/D [ 1506 0 R /XYZ 72 740.28 null ] +>> +endobj +5496 0 obj +<< +/D [ 2029 0 R /XYZ 72 448.799 null ] +>> +endobj +5497 0 obj +<< +/D [ 1975 0 R /XYZ 72 683.867 null ] +>> +endobj +5498 0 obj +<< +/D [ 1990 0 R /XYZ 72 502.597 null ] +>> +endobj +5499 0 obj +<< +/D [ 1941 0 R /XYZ 72 588.898 null ] +>> +endobj +5500 0 obj +<< +/D [ 1951 0 R /XYZ 72 369.745 null ] +>> +endobj +5501 0 obj +<< +/D [ 1514 0 R /XYZ 72 711.737 null ] +>> +endobj +5502 0 obj +<< +/D [ 2039 0 R /XYZ 72 159.115 null ] +>> +endobj +5503 0 obj +<< +/D [ 1498 0 R /XYZ 72 397.949 null ] +>> +endobj +5504 0 obj +<< +/D [ 1920 0 R /XYZ 72 604.813 null ] +>> +endobj +5505 0 obj +<< +/D [ 2002 0 R /XYZ 72 226.811 null ] +>> +endobj +5506 0 obj +<< +/D [ 1405 0 R /XYZ 72 464.44 null ] +>> +endobj +5507 0 obj +<< +/D [ 1405 0 R /XYZ 72 430.726 null ] +>> +endobj +5508 0 obj +<< +/D [ 1423 0 R /XYZ 72 347.16 null ] +>> +endobj +5509 0 obj +<< +/D [ 1405 0 R /XYZ 72 369.471 null ] +>> +endobj +5510 0 obj +<< +/D [ 1405 0 R /XYZ 72 209.695 null ] +>> +endobj +5511 0 obj +<< +/D [ 1427 0 R /XYZ 72 747.603 null ] +>> +endobj +5512 0 obj +<< +/D [ 1427 0 R /XYZ 72 659.957 null ] +>> +endobj +5513 0 obj +<< +/D [ 273 0 R /XYZ 72 284.724 null ] +>> +endobj +5514 0 obj +<< +/D [ 687 0 R /XYZ 72 159.678 null ] +>> +endobj +5515 0 obj +<< +/D [ 2534 0 R /XYZ 72 419.772 null ] +>> +endobj +5516 0 obj +<< +/D [ 2534 0 R /XYZ 72 284.306 null ] +>> +endobj +5517 0 obj +<< +/D [ 2534 0 R /XYZ 72 234.428 null ] +>> +endobj +5518 0 obj +<< +/D [ 2534 0 R /XYZ 72 170.692 null ] +>> +endobj +5519 0 obj +<< +/D [ 2547 0 R /XYZ 72 760.305 null ] +>> +endobj +5520 0 obj +<< +/D [ 2547 0 R /XYZ 72 632.62 null ] +>> +endobj +5521 0 obj +<< +/D [ 2547 0 R /XYZ 72 437.933 null ] +>> +endobj +5522 0 obj +<< +/D [ 2547 0 R /XYZ 72 386.709 null ] +>> +endobj +5523 0 obj +<< +/D [ 2547 0 R /XYZ 72 313.477 null ] +>> +endobj +5524 0 obj +<< +/D [ 2547 0 R /XYZ 72 241.072 null ] +>> +endobj +5525 0 obj +<< +/D [ 705 0 R /XYZ 72 618.303 null ] +>> +endobj +5526 0 obj +<< +/D [ 2563 0 R /XYZ 72 758.402 null ] +>> +endobj +5527 0 obj +<< +/D [ 2563 0 R /XYZ 72 708.525 null ] +>> +endobj +5528 0 obj +<< +/D [ 2563 0 R /XYZ 72 644.789 null ] +>> +endobj +5529 0 obj +<< +/D [ 2563 0 R /XYZ 72 593.008 null ] +>> +endobj +5530 0 obj +<< +/D [ 2563 0 R /XYZ 72 462.293 null ] +>> +endobj +5531 0 obj +<< +/D [ 2563 0 R /XYZ 72 267.05 null ] +>> +endobj +5532 0 obj +<< +/D [ 2563 0 R /XYZ 72 215.27 null ] +>> +endobj +5533 0 obj +<< +/D [ 2575 0 R /XYZ 72 760.305 null ] +>> +endobj +5534 0 obj +<< +/D [ 2575 0 R /XYZ 72 687.344 null ] +>> +endobj +5535 0 obj +<< +/D [ 2575 0 R /XYZ 72 551.877 null ] +>> +endobj +5536 0 obj +<< +/D [ 705 0 R /XYZ 72 520.604 null ] +>> +endobj +5537 0 obj +<< +/D [ 2575 0 R /XYZ 72 501.999 null ] +>> +endobj +5538 0 obj +<< +/D [ 2575 0 R /XYZ 72 438.263 null ] +>> +endobj +5539 0 obj +<< +/D [ 2575 0 R /XYZ 72 386.482 null ] +>> +endobj +5540 0 obj +<< +/D [ 2575 0 R /XYZ 72 255.768 null ] +>> +endobj +5541 0 obj +<< +/D [ 2592 0 R /XYZ 72 690.034 null ] +>> +endobj +5542 0 obj +<< +/D [ 2592 0 R /XYZ 72 638.253 null ] +>> +endobj +5543 0 obj +<< +/D [ 2592 0 R /XYZ 72 564.465 null ] +>> +endobj +5544 0 obj +<< +/D [ 2592 0 R /XYZ 72 491.503 null ] +>> +endobj +5545 0 obj +<< +/D [ 2592 0 R /XYZ 72 356.037 null ] +>> +endobj +5546 0 obj +<< +/D [ 2592 0 R /XYZ 72 306.159 null ] +>> +endobj +5547 0 obj +<< +/D [ 705 0 R /XYZ 72 447.643 null ] +>> +endobj +5548 0 obj +<< +/D [ 2592 0 R /XYZ 72 242.423 null ] +>> +endobj +5549 0 obj +<< +/D [ 2592 0 R /XYZ 72 190.642 null ] +>> +endobj +5550 0 obj +<< +/D [ 2604 0 R /XYZ 72 701.989 null ] +>> +endobj +5551 0 obj +<< +/D [ 2604 0 R /XYZ 72 506.746 null ] +>> +endobj +5552 0 obj +<< +/D [ 2604 0 R /XYZ 72 454.965 null ] +>> +endobj +5553 0 obj +<< +/D [ 2604 0 R /XYZ 72 381.177 null ] +>> +endobj +5554 0 obj +<< +/D [ 2604 0 R /XYZ 72 292.301 null ] +>> +endobj +5555 0 obj +<< +/D [ 2618 0 R /XYZ 72 758.402 null ] +>> +endobj +5556 0 obj +<< +/D [ 2618 0 R /XYZ 72 708.525 null ] +>> +endobj +5557 0 obj +<< +/D [ 2618 0 R /XYZ 72 644.789 null ] +>> +endobj +5558 0 obj +<< +/D [ 705 0 R /XYZ 72 385.81 null ] +>> +endobj +5559 0 obj +<< +/D [ 2618 0 R /XYZ 72 570.487 null ] +>> +endobj +5560 0 obj +<< +/D [ 2618 0 R /XYZ 72 369.267 null ] +>> +endobj +5561 0 obj +<< +/D [ 2618 0 R /XYZ 72 235.703 null ] +>> +endobj +5562 0 obj +<< +/D [ 2618 0 R /XYZ 72 162.741 null ] +>> +endobj +5563 0 obj +<< +/D [ 2629 0 R /XYZ 72 630.258 null ] +>> +endobj +5564 0 obj +<< +/D [ 2629 0 R /XYZ 72 580.38 null ] +>> +endobj +5565 0 obj +<< +/D [ 2629 0 R /XYZ 72 516.644 null ] +>> +endobj +5566 0 obj +<< +/D [ 2629 0 R /XYZ 72 442.343 null ] +>> +endobj +5567 0 obj +<< +/D [ 2629 0 R /XYZ 72 241.122 null ] +>> +endobj +5568 0 obj +<< +/D [ 2636 0 R /XYZ 72 760.305 null ] +>> +endobj +5569 0 obj +<< +/D [ 705 0 R /XYZ 72 299.065 null ] +>> +endobj +5570 0 obj +<< +/D [ 2636 0 R /XYZ 72 687.344 null ] +>> +endobj +5571 0 obj +<< +/D [ 2636 0 R /XYZ 72 563.832 null ] +>> +endobj +5572 0 obj +<< +/D [ 2636 0 R /XYZ 72 513.954 null ] +>> +endobj +5573 0 obj +<< +/D [ 2636 0 R /XYZ 72 450.218 null ] +>> +endobj +5574 0 obj +<< +/D [ 2636 0 R /XYZ 72 375.917 null ] +>> +endobj +5575 0 obj +<< +/D [ 2636 0 R /XYZ 72 180.674 null ] +>> +endobj +5576 0 obj +<< +/D [ 2647 0 R /XYZ 72 760.305 null ] +>> +endobj +5577 0 obj +<< +/D [ 2647 0 R /XYZ 72 671.429 null ] +>> +endobj +5578 0 obj +<< +/D [ 2647 0 R /XYZ 72 500.096 null ] +>> +endobj +5579 0 obj +<< +/D [ 2647 0 R /XYZ 72 450.218 null ] +>> +endobj +5580 0 obj +<< +/D [ 705 0 R /XYZ 72 173.651 null ] +>> +endobj +5581 0 obj +<< +/D [ 2647 0 R /XYZ 72 386.482 null ] +>> +endobj +5582 0 obj +<< +/D [ 2647 0 R /XYZ 72 334.702 null ] +>> +endobj +5583 0 obj +<< +/D [ 2647 0 R /XYZ 72 203.987 null ] +>> +endobj +5584 0 obj +<< +/D [ 2661 0 R /XYZ 72 576.46 null ] +>> +endobj +5585 0 obj +<< +/D [ 2661 0 R /XYZ 72 524.679 null ] +>> +endobj +5586 0 obj +<< +/D [ 2661 0 R /XYZ 72 343.294 null ] +>> +endobj +5587 0 obj +<< +/D [ 2661 0 R /XYZ 72 270.333 null ] +>> +endobj +5588 0 obj +<< +/D [ 2671 0 R /XYZ 72 725.899 null ] +>> +endobj +5589 0 obj +<< +/D [ 2671 0 R /XYZ 72 676.021 null ] +>> +endobj +5590 0 obj +<< +/D [ 2671 0 R /XYZ 72 612.286 null ] +>> +endobj +5591 0 obj +<< +/D [ 729 0 R /XYZ 72 618.303 null ] +>> +endobj +5592 0 obj +<< +/D [ 2671 0 R /XYZ 72 560.505 null ] +>> +endobj +5593 0 obj +<< +/D [ 2671 0 R /XYZ 72 429.79 null ] +>> +endobj +5594 0 obj +<< +/D [ 2671 0 R /XYZ 72 174.771 null ] +>> +endobj +5595 0 obj +<< +/D [ 2682 0 R /XYZ 72 758.402 null ] +>> +endobj +5596 0 obj +<< +/D [ 2682 0 R /XYZ 72 577.018 null ] +>> +endobj +5597 0 obj +<< +/D [ 2682 0 R /XYZ 72 504.056 null ] +>> +endobj +5598 0 obj +<< +/D [ 2682 0 R /XYZ 72 332.724 null ] +>> +endobj +5599 0 obj +<< +/D [ 2682 0 R /XYZ 72 282.846 null ] +>> +endobj +5600 0 obj +<< +/D [ 2682 0 R /XYZ 72 219.11 null ] +>> +endobj +5601 0 obj +<< +/D [ 2682 0 R /XYZ 72 167.329 null ] +>> +endobj +5602 0 obj +<< +/D [ 729 0 R /XYZ 72 532.559 null ] +>> +endobj +5603 0 obj +<< +/D [ 2692 0 R /XYZ 72 656.249 null ] +>> +endobj +5604 0 obj +<< +/D [ 2692 0 R /XYZ 72 401.832 null ] +>> +endobj +5605 0 obj +<< +/D [ 2692 0 R /XYZ 72 350.652 null ] +>> +endobj +5606 0 obj +<< +/D [ 2692 0 R /XYZ 72 157.914 null ] +>> +endobj +5607 0 obj +<< +/D [ 2708 0 R /XYZ 72 739.125 null ] +>> +endobj +5608 0 obj +<< +/D [ 2708 0 R /XYZ 72 603.658 null ] +>> +endobj +5609 0 obj +<< +/D [ 2708 0 R /XYZ 72 553.78 null ] +>> +endobj +5610 0 obj +<< +/D [ 2708 0 R /XYZ 72 490.044 null ] +>> +endobj +5611 0 obj +<< +/D [ 2708 0 R /XYZ 72 438.263 null ] +>> +endobj +5612 0 obj +<< +/D [ 2708 0 R /XYZ 72 293.202 null ] +>> +endobj +5613 0 obj +<< +/D [ 729 0 R /XYZ 72 459.598 null ] +>> +endobj +5614 0 obj +<< +/D [ 2720 0 R /XYZ 72 690.034 null ] +>> +endobj +5615 0 obj +<< +/D [ 2720 0 R /XYZ 72 638.253 null ] +>> +endobj +5616 0 obj +<< +/D [ 2720 0 R /XYZ 72 480.779 null ] +>> +endobj +5617 0 obj +<< +/D [ 2720 0 R /XYZ 72 407.817 null ] +>> +endobj +5618 0 obj +<< +/D [ 2720 0 R /XYZ 72 272.35 null ] +>> +endobj +5619 0 obj +<< +/D [ 2720 0 R /XYZ 72 222.472 null ] +>> +endobj +5620 0 obj +<< +/D [ 2720 0 R /XYZ 72 158.737 null ] +>> +endobj +5621 0 obj +<< +/D [ 2730 0 R /XYZ 72 760.305 null ] +>> +endobj +5622 0 obj +<< +/D [ 2730 0 R /XYZ 72 615.244 null ] +>> +endobj +5623 0 obj +<< +/D [ 2730 0 R /XYZ 72 384.136 null ] +>> +endobj +5624 0 obj +<< +/D [ 273 0 R /XYZ 72 234.846 null ] +>> +endobj +5625 0 obj +<< +/D [ 729 0 R /XYZ 72 397.765 null ] +>> +endobj +5626 0 obj +<< +/D [ 2730 0 R /XYZ 72 332.355 null ] +>> +endobj +5627 0 obj +<< +/D [ 2730 0 R /XYZ 72 174.881 null ] +>> +endobj +5628 0 obj +<< +/D [ 2747 0 R /XYZ 72 525.073 null ] +>> +endobj +5629 0 obj +<< +/D [ 2747 0 R /XYZ 72 436.196 null ] +>> +endobj +5630 0 obj +<< +/D [ 2747 0 R /XYZ 72 312.684 null ] +>> +endobj +5631 0 obj +<< +/D [ 2747 0 R /XYZ 72 262.806 null ] +>> +endobj +5632 0 obj +<< +/D [ 2747 0 R /XYZ 72 211.025 null ] +>> +endobj +5633 0 obj +<< +/D [ 2747 0 R /XYZ 72 159.245 null ] +>> +endobj +5634 0 obj +<< +/D [ 2757 0 R /XYZ 72 709.386 null ] +>> +endobj +5635 0 obj +<< +/D [ 2757 0 R /XYZ 72 567.942 null ] +>> +endobj +5636 0 obj +<< +/D [ 729 0 R /XYZ 72 311.02 null ] +>> +endobj +5637 0 obj +<< +/D [ 2757 0 R /XYZ 72 470.243 null ] +>> +endobj +5638 0 obj +<< +/D [ 2757 0 R /XYZ 72 397.282 null ] +>> +endobj +5639 0 obj +<< +/D [ 2757 0 R /XYZ 72 261.815 null ] +>> +endobj +5640 0 obj +<< +/D [ 2757 0 R /XYZ 72 199.982 null ] +>> +endobj +5641 0 obj +<< +/D [ 2766 0 R /XYZ 72 760.305 null ] +>> +endobj +5642 0 obj +<< +/D [ 2766 0 R /XYZ 72 708.525 null ] +>> +endobj +5643 0 obj +<< +/D [ 2766 0 R /XYZ 72 634.223 null ] +>> +endobj +5644 0 obj +<< +/D [ 2766 0 R /XYZ 72 510.711 null ] +>> +endobj +5645 0 obj +<< +/D [ 2766 0 R /XYZ 72 413.013 null ] +>> +endobj +5646 0 obj +<< +/D [ 2766 0 R /XYZ 72 340.051 null ] +>> +endobj +5647 0 obj +<< +/D [ 729 0 R /XYZ 72 221.471 null ] +>> +endobj +5648 0 obj +<< +/D [ 2776 0 R /XYZ 72 594.392 null ] +>> +endobj +5649 0 obj +<< +/D [ 2776 0 R /XYZ 72 532.559 null ] +>> +endobj +5650 0 obj +<< +/D [ 2776 0 R /XYZ 72 480.779 null ] +>> +endobj +5651 0 obj +<< +/D [ 2776 0 R /XYZ 72 428.998 null ] +>> +endobj +5652 0 obj +<< +/D [ 2776 0 R /XYZ 72 354.697 null ] +>> +endobj +5653 0 obj +<< +/D [ 2782 0 R /XYZ 72 492.774 null ] +>> +endobj +5654 0 obj +<< +/D [ 2782 0 R /XYZ 72 440.993 null ] +>> +endobj +5655 0 obj +<< +/D [ 2782 0 R /XYZ 72 211.787 null ] +>> +endobj +5656 0 obj +<< +/D [ 2789 0 R /XYZ 72 739.125 null ] +>> +endobj +5657 0 obj +<< +/D [ 2789 0 R /XYZ 72 591.703 null ] +>> +endobj +5658 0 obj +<< +/D [ 755 0 R /XYZ 72 656.559 null ] +>> +endobj +5659 0 obj +<< +/D [ 2789 0 R /XYZ 72 517.914 null ] +>> +endobj +5660 0 obj +<< +/D [ 2789 0 R /XYZ 72 466.134 null ] +>> +endobj +5661 0 obj +<< +/D [ 2789 0 R /XYZ 72 414.353 null ] +>> +endobj +5662 0 obj +<< +/D [ 2789 0 R /XYZ 72 311.359 null ] +>> +endobj +5663 0 obj +<< +/D [ 2789 0 R /XYZ 72 187.847 null ] +>> +endobj +5664 0 obj +<< +/D [ 2798 0 R /XYZ 72 758.402 null ] +>> +endobj +5665 0 obj +<< +/D [ 2798 0 R /XYZ 72 338.786 null ] +>> +endobj +5666 0 obj +<< +/D [ 2798 0 R /XYZ 72 266.696 null ] +>> +endobj +5667 0 obj +<< +/D [ 2798 0 R /XYZ 72 167.967 null ] +>> +endobj +5668 0 obj +<< +/D [ 2808 0 R /XYZ 72 760.305 null ] +>> +endobj +5669 0 obj +<< +/D [ 755 0 R /XYZ 72 522.995 null ] +>> +endobj +5670 0 obj +<< +/D [ 2808 0 R /XYZ 72 708.525 null ] +>> +endobj +5671 0 obj +<< +/D [ 2808 0 R /XYZ 72 619.877 null ] +>> +endobj +5672 0 obj +<< +/D [ 2808 0 R /XYZ 72 502.343 null ] +>> +endobj +5673 0 obj +<< +/D [ 2808 0 R /XYZ 72 450.562 null ] +>> +endobj +5674 0 obj +<< +/D [ 2815 0 R /XYZ 72 465.431 null ] +>> +endobj +5675 0 obj +<< +/D [ 2815 0 R /XYZ 72 393.112 null ] +>> +endobj +5676 0 obj +<< +/D [ 2815 0 R /XYZ 72 258.288 null ] +>> +endobj +5677 0 obj +<< +/D [ 2815 0 R /XYZ 72 209.052 null ] +>> +endobj +5678 0 obj +<< +/D [ 2815 0 R /XYZ 72 157.914 null ] +>> +endobj +5679 0 obj +<< +/D [ 2824 0 R /XYZ 72 760.305 null ] +>> +endobj +5680 0 obj +<< +/D [ 755 0 R /XYZ 72 353.795 null ] +>> +endobj +5681 0 obj +<< +/D [ 2824 0 R /XYZ 72 686.004 null ] +>> +endobj +5682 0 obj +<< +/D [ 2824 0 R /XYZ 72 544.559 null ] +>> +endobj +5683 0 obj +<< +/D [ 2824 0 R /XYZ 72 492.779 null ] +>> +endobj +5684 0 obj +<< +/D [ 2824 0 R /XYZ 72 371.17 null ] +>> +endobj +5685 0 obj +<< +/D [ 2824 0 R /XYZ 72 298.208 null ] +>> +endobj +5686 0 obj +<< +/D [ 2824 0 R /XYZ 72 162.741 null ] +>> +endobj +5687 0 obj +<< +/D [ 2832 0 R /XYZ 72 760.305 null ] +>> +endobj +5688 0 obj +<< +/D [ 2832 0 R /XYZ 72 708.525 null ] +>> +endobj +5689 0 obj +<< +/D [ 2832 0 R /XYZ 72 656.744 null ] +>> +endobj +5690 0 obj +<< +/D [ 2832 0 R /XYZ 72 582.442 null ] +>> +endobj +5691 0 obj +<< +/D [ 755 0 R /XYZ 72 254.193 null ] +>> +endobj +5692 0 obj +<< +/D [ 2832 0 R /XYZ 72 440.998 null ] +>> +endobj +5693 0 obj +<< +/D [ 2832 0 R /XYZ 72 389.217 null ] +>> +endobj +5694 0 obj +<< +/D [ 2832 0 R /XYZ 72 267.608 null ] +>> +endobj +5695 0 obj +<< +/D [ 2832 0 R /XYZ 72 194.647 null ] +>> +endobj +5696 0 obj +<< +/D [ 2841 0 R /XYZ 72 701.989 null ] +>> +endobj +5697 0 obj +<< +/D [ 2841 0 R /XYZ 72 640.156 null ] +>> +endobj +5698 0 obj +<< +/D [ 2841 0 R /XYZ 72 588.375 null ] +>> +endobj +5699 0 obj +<< +/D [ 2841 0 R /XYZ 72 536.594 null ] +>> +endobj +5700 0 obj +<< +/D [ 2841 0 R /XYZ 72 462.685 null ] +>> +endobj +5701 0 obj +<< +/D [ 2841 0 R /XYZ 72 321.329 null ] +>> +endobj +5702 0 obj +<< +/D [ 755 0 R /XYZ 72 204.316 null ] +>> +endobj +5703 0 obj +<< +/D [ 2841 0 R /XYZ 72 269.637 null ] +>> +endobj +5704 0 obj +<< +/D [ 2841 0 R /XYZ 72 160.071 null ] +>> +endobj +5705 0 obj +<< +/D [ 2850 0 R /XYZ 72 598.711 null ] +>> +endobj +5706 0 obj +<< +/D [ 2850 0 R /XYZ 72 523.02 null ] +>> +endobj +5707 0 obj +<< +/D [ 2850 0 R /XYZ 72 356.306 null ] +>> +endobj +5708 0 obj +<< +/D [ 2850 0 R /XYZ 72 188.266 null ] +>> +endobj +5709 0 obj +<< +/D [ 2864 0 R /XYZ 72 709.869 null ] +>> +endobj +5710 0 obj +<< +/D [ 2864 0 R /XYZ 72 620.993 null ] +>> +endobj +5711 0 obj +<< +/D [ 2864 0 R /XYZ 72 449.66 null ] +>> +endobj +5712 0 obj +<< +/D [ 2864 0 R /XYZ 72 399.782 null ] +>> +endobj +5713 0 obj +<< +/D [ 771 0 R /XYZ 72 758.402 null ] +>> +endobj +5714 0 obj +<< +/D [ 2864 0 R /XYZ 72 348.002 null ] +>> +endobj +5715 0 obj +<< +/D [ 2864 0 R /XYZ 72 296.221 null ] +>> +endobj +5716 0 obj +<< +/D [ 2864 0 R /XYZ 72 221.92 null ] +>> +endobj +5717 0 obj +<< +/D [ 2876 0 R /XYZ 72 758.402 null ] +>> +endobj +5718 0 obj +<< +/D [ 2876 0 R /XYZ 72 660.704 null ] +>> +endobj +5719 0 obj +<< +/D [ 2876 0 R /XYZ 72 587.742 null ] +>> +endobj +5720 0 obj +<< +/D [ 2876 0 R /XYZ 72 452.276 null ] +>> +endobj +5721 0 obj +<< +/D [ 2876 0 R /XYZ 72 402.398 null ] +>> +endobj +5722 0 obj +<< +/D [ 2876 0 R /XYZ 72 350.617 null ] +>> +endobj +5723 0 obj +<< +/D [ 2876 0 R /XYZ 72 298.836 null ] +>> +endobj +5724 0 obj +<< +/D [ 771 0 R /XYZ 72 631.085 null ] +>> +endobj +5725 0 obj +<< +/D [ 2876 0 R /XYZ 72 224.535 null ] +>> +endobj +5726 0 obj +<< +/D [ 2889 0 R /XYZ 72 758.402 null ] +>> +endobj +5727 0 obj +<< +/D [ 2889 0 R /XYZ 72 624.838 null ] +>> +endobj +5728 0 obj +<< +/D [ 2889 0 R /XYZ 72 551.877 null ] +>> +endobj +5729 0 obj +<< +/D [ 2889 0 R /XYZ 72 416.41 null ] +>> +endobj +5730 0 obj +<< +/D [ 2889 0 R /XYZ 72 366.532 null ] +>> +endobj +5731 0 obj +<< +/D [ 2889 0 R /XYZ 72 314.751 null ] +>> +endobj +5732 0 obj +<< +/D [ 2889 0 R /XYZ 72 262.971 null ] +>> +endobj +5733 0 obj +<< +/D [ 2889 0 R /XYZ 72 188.669 null ] +>> +endobj +5734 0 obj +<< +/D [ 2900 0 R /XYZ 72 694.816 null ] +>> +endobj +5735 0 obj +<< +/D [ 273 0 R /XYZ 72 181.162 null ] +>> +endobj +5736 0 obj +<< +/D [ 771 0 R /XYZ 72 449.7 null ] +>> +endobj +5737 0 obj +<< +/D [ 2900 0 R /XYZ 72 561.252 null ] +>> +endobj +5738 0 obj +<< +/D [ 2900 0 R /XYZ 72 488.29 null ] +>> +endobj +5739 0 obj +<< +/D [ 2900 0 R /XYZ 72 352.824 null ] +>> +endobj +5740 0 obj +<< +/D [ 2900 0 R /XYZ 72 302.946 null ] +>> +endobj +5741 0 obj +<< +/D [ 2900 0 R /XYZ 72 251.165 null ] +>> +endobj +5742 0 obj +<< +/D [ 2900 0 R /XYZ 72 199.384 null ] +>> +endobj +5743 0 obj +<< +/D [ 2911 0 R /XYZ 72 758.402 null ] +>> +endobj +5744 0 obj +<< +/D [ 2911 0 R /XYZ 72 633.531 null ] +>> +endobj +5745 0 obj +<< +/D [ 2911 0 R /XYZ 72 499.967 null ] +>> +endobj +5746 0 obj +<< +/D [ 2911 0 R /XYZ 72 427.005 null ] +>> +endobj +5747 0 obj +<< +/D [ 771 0 R /XYZ 72 376.739 null ] +>> +endobj +5748 0 obj +<< +/D [ 2911 0 R /XYZ 72 291.538 null ] +>> +endobj +5749 0 obj +<< +/D [ 2911 0 R /XYZ 72 241.661 null ] +>> +endobj +5750 0 obj +<< +/D [ 2911 0 R /XYZ 72 189.88 null ] +>> +endobj +5751 0 obj +<< +/D [ 2923 0 R /XYZ 72 760.305 null ] +>> +endobj +5752 0 obj +<< +/D [ 2926 0 R /XYZ 72 695.04 null ] +>> +endobj +5753 0 obj +<< +/D [ 2926 0 R /XYZ 72 570.168 null ] +>> +endobj +5754 0 obj +<< +/D [ 2926 0 R /XYZ 72 436.604 null ] +>> +endobj +5755 0 obj +<< +/D [ 2926 0 R /XYZ 72 347.728 null ] +>> +endobj +5756 0 obj +<< +/D [ 2926 0 R /XYZ 72 188.35 null ] +>> +endobj +5757 0 obj +<< +/D [ 2937 0 R /XYZ 72 760.305 null ] +>> +endobj +5758 0 obj +<< +/D [ 771 0 R /XYZ 72 229.317 null ] +>> +endobj +5759 0 obj +<< +/D [ 2937 0 R /XYZ 72 706.622 null ] +>> +endobj +5760 0 obj +<< +/D [ 2937 0 R /XYZ 72 471.439 null ] +>> +endobj +5761 0 obj +<< +/D [ 2937 0 R /XYZ 72 398.477 null ] +>> +endobj +5762 0 obj +<< +/D [ 2937 0 R /XYZ 72 346.696 null ] +>> +endobj +5763 0 obj +<< +/D [ 2937 0 R /XYZ 72 296.819 null ] +>> +endobj +5764 0 obj +<< +/D [ 2937 0 R /XYZ 72 245.038 null ] +>> +endobj +5765 0 obj +<< +/D [ 2950 0 R /XYZ 72 739.125 null ] +>> +endobj +5766 0 obj +<< +/D [ 2950 0 R /XYZ 72 627.568 null ] +>> +endobj +5767 0 obj +<< +/D [ 2950 0 R /XYZ 72 577.69 null ] +>> +endobj +5768 0 obj +<< +/D [ 2950 0 R /XYZ 72 525.909 null ] +>> +endobj +5769 0 obj +<< +/D [ 771 0 R /XYZ 72 179.439 null ] +>> +endobj +5770 0 obj +<< +/D [ 2959 0 R /XYZ 72 459.469 null ] +>> +endobj +5771 0 obj +<< +/D [ 2959 0 R /XYZ 72 383.778 null ] +>> +endobj +5772 0 obj +<< +/D [ 2959 0 R /XYZ 72 333.9 null ] +>> +endobj +5773 0 obj +<< +/D [ 2959 0 R /XYZ 72 282.119 null ] +>> +endobj +5774 0 obj +<< +/D [ 2959 0 R /XYZ 72 207.818 null ] +>> +endobj +5775 0 obj +<< +/D [ 2966 0 R /XYZ 72 666.123 null ] +>> +endobj +5776 0 obj +<< +/D [ 2966 0 R /XYZ 72 472.784 null ] +>> +endobj +5777 0 obj +<< +/D [ 2966 0 R /XYZ 72 399.822 null ] +>> +endobj +5778 0 obj +<< +/D [ 2966 0 R /XYZ 72 324.131 null ] +>> +endobj +5779 0 obj +<< +/D [ 2966 0 R /XYZ 72 274.253 null ] +>> +endobj +5780 0 obj +<< +/D [ 782 0 R /XYZ 72 760.305 null ] +>> +endobj +5781 0 obj +<< +/D [ 2966 0 R /XYZ 72 222.472 null ] +>> +endobj +5782 0 obj +<< +/D [ 2973 0 R /XYZ 72 700.523 null ] +>> +endobj +5783 0 obj +<< +/D [ 2973 0 R /XYZ 72 410.334 null ] +>> +endobj +5784 0 obj +<< +/D [ 2973 0 R /XYZ 72 157.914 null ] +>> +endobj +5785 0 obj +<< +/D [ 2980 0 R /XYZ 72 739.125 null ] +>> +endobj +5786 0 obj +<< +/D [ 2980 0 R /XYZ 72 663.434 null ] +>> +endobj +5787 0 obj +<< +/D [ 2980 0 R /XYZ 72 613.556 null ] +>> +endobj +5788 0 obj +<< +/D [ 2980 0 R /XYZ 72 561.775 null ] +>> +endobj +5789 0 obj +<< +/D [ 2980 0 R /XYZ 72 487.474 null ] +>> +endobj +5790 0 obj +<< +/D [ 2980 0 R /XYZ 72 322.119 null ] +>> +endobj +5791 0 obj +<< +/D [ 782 0 R /XYZ 72 708.525 null ] +>> +endobj +5792 0 obj +<< +/D [ 2985 0 R /XYZ 72 760.305 null ] +>> +endobj +5793 0 obj +<< +/D [ 2985 0 R /XYZ 72 687.344 null ] +>> +endobj +5794 0 obj +<< +/D [ 2985 0 R /XYZ 72 611.653 null ] +>> +endobj +5795 0 obj +<< +/D [ 2985 0 R /XYZ 72 549.82 null ] +>> +endobj +5796 0 obj +<< +/D [ 2985 0 R /XYZ 72 498.039 null ] +>> +endobj +5797 0 obj +<< +/D [ 2985 0 R /XYZ 72 395.045 null ] +>> +endobj +5798 0 obj +<< +/D [ 2985 0 R /XYZ 72 241.646 null ] +>> +endobj +5799 0 obj +<< +/D [ 2992 0 R /XYZ 72 679.982 null ] +>> +endobj +5800 0 obj +<< +/D [ 2992 0 R /XYZ 72 591.105 null ] +>> +endobj +5801 0 obj +<< +/D [ 2992 0 R /XYZ 72 515.414 null ] +>> +endobj +5802 0 obj +<< +/D [ 782 0 R /XYZ 72 619.877 null ] +>> +endobj +5803 0 obj +<< +/D [ 2992 0 R /XYZ 72 381.85 null ] +>> +endobj +5804 0 obj +<< +/D [ 2992 0 R /XYZ 72 330.069 null ] +>> +endobj +5805 0 obj +<< +/D [ 2992 0 R /XYZ 72 257.63 null ] +>> +endobj +5806 0 obj +<< +/D [ 3003 0 R /XYZ 72 725.899 null ] +>> +endobj +5807 0 obj +<< +/D [ 3003 0 R /XYZ 72 341.277 null ] +>> +endobj +5808 0 obj +<< +/D [ 3003 0 R /XYZ 72 268.315 null ] +>> +endobj +5809 0 obj +<< +/D [ 3003 0 R /XYZ 72 192.624 null ] +>> +endobj +5810 0 obj +<< +/D [ 3010 0 R /XYZ 72 691.937 null ] +>> +endobj +5811 0 obj +<< +/D [ 3010 0 R /XYZ 72 640.156 null ] +>> +endobj +5812 0 obj +<< +/D [ 3010 0 R /XYZ 72 537.162 null ] +>> +endobj +5813 0 obj +<< +/D [ 782 0 R /XYZ 72 444.794 null ] +>> +endobj +5814 0 obj +<< +/D [ 3020 0 R /XYZ 72 758.402 null ] +>> +endobj +5815 0 obj +<< +/D [ 3020 0 R /XYZ 72 373.78 null ] +>> +endobj +5816 0 obj +<< +/D [ 3020 0 R /XYZ 72 284.903 null ] +>> +endobj +5817 0 obj +<< +/D [ 3020 0 R /XYZ 72 233.122 null ] +>> +endobj +5818 0 obj +<< +/D [ 3027 0 R /XYZ 72 760.305 null ] +>> +endobj +5819 0 obj +<< +/D [ 3027 0 R /XYZ 72 687.344 null ] +>> +endobj +5820 0 obj +<< +/D [ 3027 0 R /XYZ 72 635.563 null ] +>> +endobj +5821 0 obj +<< +/D [ 3027 0 R /XYZ 72 573.73 null ] +>> +endobj +5822 0 obj +<< +/D [ 3027 0 R /XYZ 72 500.769 null ] +>> +endobj +5823 0 obj +<< +/D [ 3027 0 R /XYZ 72 401.167 null ] +>> +endobj +5824 0 obj +<< +/D [ 782 0 R /XYZ 72 317.207 null ] +>> +endobj +5825 0 obj +<< +/D [ 3027 0 R /XYZ 72 289.611 null ] +>> +endobj +5826 0 obj +<< +/D [ 3043 0 R /XYZ 72 668.026 null ] +>> +endobj +5827 0 obj +<< +/D [ 3043 0 R /XYZ 72 595.065 null ] +>> +endobj +5828 0 obj +<< +/D [ 3043 0 R /XYZ 72 495.464 null ] +>> +endobj +5829 0 obj +<< +/D [ 3043 0 R /XYZ 72 383.907 null ] +>> +endobj +5830 0 obj +<< +/D [ 3043 0 R /XYZ 72 238.388 null ] +>> +endobj +5831 0 obj +<< +/D [ 3043 0 R /XYZ 72 165.426 null ] +>> +endobj +5832 0 obj +<< +/D [ 3055 0 R /XYZ 72 690.034 null ] +>> +endobj +5833 0 obj +<< +/D [ 3055 0 R /XYZ 72 578.477 null ] +>> +endobj +5834 0 obj +<< +/D [ 3055 0 R /XYZ 72 432.958 null ] +>> +endobj +5835 0 obj +<< +/D [ 782 0 R /XYZ 72 244.246 null ] +>> +endobj +5836 0 obj +<< +/D [ 3055 0 R /XYZ 72 359.997 null ] +>> +endobj +5837 0 obj +<< +/D [ 3055 0 R /XYZ 72 260.395 null ] +>> +endobj +5838 0 obj +<< +/D [ 3067 0 R /XYZ 72 758.402 null ] +>> +endobj +5839 0 obj +<< +/D [ 3067 0 R /XYZ 72 612.883 null ] +>> +endobj +5840 0 obj +<< +/D [ 3067 0 R /XYZ 72 539.922 null ] +>> +endobj +5841 0 obj +<< +/D [ 3067 0 R /XYZ 72 440.32 null ] +>> +endobj +5842 0 obj +<< +/D [ 3067 0 R /XYZ 72 340.719 null ] +>> +endobj +5843 0 obj +<< +/D [ 3077 0 R /XYZ 72 760.305 null ] +>> +endobj +5844 0 obj +<< +/D [ 3077 0 R /XYZ 72 687.687 null ] +>> +endobj +5845 0 obj +<< +/D [ 3077 0 R /XYZ 72 588.429 null ] +>> +endobj +5846 0 obj +<< +/D [ 302 0 R /XYZ 72 678.079 null ] +>> +endobj +5847 0 obj +<< +/D [ 800 0 R /XYZ 72 725.899 null ] +>> +endobj +5848 0 obj +<< +/D [ 3077 0 R /XYZ 72 489.171 null ] +>> +endobj +5849 0 obj +<< +/D [ 3077 0 R /XYZ 72 427.681 null ] +>> +endobj +5850 0 obj +<< +/D [ 3077 0 R /XYZ 72 338.805 null ] +>> +endobj +5851 0 obj +<< +/D [ 3077 0 R /XYZ 72 263.457 null ] +>> +endobj +5852 0 obj +<< +/D [ 3077 0 R /XYZ 72 201.967 null ] +>> +endobj +5853 0 obj +<< +/D [ 3077 0 R /XYZ 72 150.53 null ] +>> +endobj +5854 0 obj +<< +/D [ 3089 0 R /XYZ 72 656.783 null ] +>> +endobj +5855 0 obj +<< +/D [ 3089 0 R /XYZ 72 437.63 null ] +>> +endobj +5856 0 obj +<< +/D [ 3089 0 R /XYZ 72 292.111 null ] +>> +endobj +5857 0 obj +<< +/D [ 800 0 R /XYZ 72 676.021 null ] +>> +endobj +5858 0 obj +<< +/D [ 3308 0 R /XYZ 72 631.209 null ] +>> +endobj +5859 0 obj +<< +/D [ 800 0 R /XYZ 72 624.241 null ] +>> +endobj +5860 0 obj +<< +/D [ 800 0 R /XYZ 72 572.46 null ] +>> +endobj +5861 0 obj +<< +/D [ 800 0 R /XYZ 72 498.159 null ] +>> +endobj +5862 0 obj +<< +/D [ 800 0 R /XYZ 72 361.733 null ] +>> +endobj +5863 0 obj +<< +/D [ 800 0 R /XYZ 72 228.571 null ] +>> +endobj +5864 0 obj +<< +/D [ 800 0 R /XYZ 72 156.011 null ] +>> +endobj +5865 0 obj +<< +/D [ 816 0 R /XYZ 72 642.213 null ] +>> +endobj +5866 0 obj +<< +/D [ 816 0 R /XYZ 72 592.335 null ] +>> +endobj +5867 0 obj +<< +/D [ 302 0 R /XYZ 72 584.998 null ] +>> +endobj +5868 0 obj +<< +/D [ 816 0 R /XYZ 72 540.555 null ] +>> +endobj +5869 0 obj +<< +/D [ 816 0 R /XYZ 72 488.774 null ] +>> +endobj +5870 0 obj +<< +/D [ 816 0 R /XYZ 72 414.472 null ] +>> +endobj +5871 0 obj +<< +/D [ 816 0 R /XYZ 72 251.289 null ] +>> +endobj +5872 0 obj +<< +/D [ 825 0 R /XYZ 72 760.305 null ] +>> +endobj +5873 0 obj +<< +/D [ 825 0 R /XYZ 72 687.344 null ] +>> +endobj +5874 0 obj +<< +/D [ 825 0 R /XYZ 72 551.877 null ] +>> +endobj +5875 0 obj +<< +/D [ 825 0 R /XYZ 72 501.999 null ] +>> +endobj +5876 0 obj +<< +/D [ 825 0 R /XYZ 72 450.218 null ] +>> +endobj +5877 0 obj +<< +/D [ 825 0 R /XYZ 72 398.438 null ] +>> +endobj +5878 0 obj +<< +/D [ 302 0 R /XYZ 72 515.284 null ] +>> +endobj +5879 0 obj +<< +/D [ 825 0 R /XYZ 72 324.136 null ] +>> +endobj +5880 0 obj +<< +/D [ 825 0 R /XYZ 72 184.864 null ] +>> +endobj +5881 0 obj +<< +/D [ 838 0 R /XYZ 72 668.026 null ] +>> +endobj +5882 0 obj +<< +/D [ 838 0 R /XYZ 72 595.065 null ] +>> +endobj +5883 0 obj +<< +/D [ 838 0 R /XYZ 72 447.643 null ] +>> +endobj +5884 0 obj +<< +/D [ 838 0 R /XYZ 72 397.765 null ] +>> +endobj +5885 0 obj +<< +/D [ 838 0 R /XYZ 72 345.984 null ] +>> +endobj +5886 0 obj +<< +/D [ 838 0 R /XYZ 72 294.203 null ] +>> +endobj +5887 0 obj +<< +/D [ 838 0 R /XYZ 72 205.556 null ] +>> +endobj +5888 0 obj +<< +/D [ 854 0 R /XYZ 72 645.378 null ] +>> +endobj +5889 0 obj +<< +/D [ 302 0 R /XYZ 72 442.323 null ] +>> +endobj +5890 0 obj +<< +/D [ 854 0 R /XYZ 72 518.566 null ] +>> +endobj +5891 0 obj +<< +/D [ 854 0 R /XYZ 72 446.379 null ] +>> +endobj +5892 0 obj +<< +/D [ 854 0 R /XYZ 72 311.687 null ] +>> +endobj +5893 0 obj +<< +/D [ 854 0 R /XYZ 72 250.628 null ] +>> +endobj +5894 0 obj +<< +/D [ 854 0 R /XYZ 72 199.621 null ] +>> +endobj +5895 0 obj +<< +/D [ 854 0 R /XYZ 72 148.615 null ] +>> +endobj +5896 0 obj +<< +/D [ 866 0 R /XYZ 72 709.386 null ] +>> +endobj +5897 0 obj +<< +/D [ 866 0 R /XYZ 72 498.383 null ] +>> +endobj +5898 0 obj +<< +/D [ 866 0 R /XYZ 72 322.975 null ] +>> +endobj +5899 0 obj +<< +/D [ 893 0 R /XYZ 72 739.125 null ] +>> +endobj +5900 0 obj +<< +/D [ 302 0 R /XYZ 72 380.49 null ] +>> +endobj +5901 0 obj +<< +/D [ 893 0 R /XYZ 72 484.106 null ] +>> +endobj +5902 0 obj +<< +/D [ 893 0 R /XYZ 72 386.407 null ] +>> +endobj +5903 0 obj +<< +/D [ 893 0 R /XYZ 72 334.627 null ] +>> +endobj +5904 0 obj +<< +/D [ 893 0 R /XYZ 72 282.846 null ] +>> +endobj +5905 0 obj +<< +/D [ 903 0 R /XYZ 72 758.402 null ] +>> +endobj +5906 0 obj +<< +/D [ 903 0 R /XYZ 72 461.541 null ] +>> +endobj +5907 0 obj +<< +/D [ 903 0 R /XYZ 72 358.547 null ] +>> +endobj +5908 0 obj +<< +/D [ 903 0 R /XYZ 72 219.005 null ] +>> +endobj +5909 0 obj +<< +/D [ 918 0 R /XYZ 72 739.125 null ] +>> +endobj +5910 0 obj +<< +/D [ 918 0 R /XYZ 72 603.658 null ] +>> +endobj +5911 0 obj +<< +/D [ 302 0 R /XYZ 72 326.806 null ] +>> +endobj +5912 0 obj +<< +/D [ 918 0 R /XYZ 72 541.825 null ] +>> +endobj +5913 0 obj +<< +/D [ 918 0 R /XYZ 72 490.044 null ] +>> +endobj +5914 0 obj +<< +/D [ 918 0 R /XYZ 72 389.441 null ] +>> +endobj +5915 0 obj +<< +/D [ 918 0 R /XYZ 72 265.929 null ] +>> +endobj +5916 0 obj +<< +/D [ 918 0 R /XYZ 72 179.922 null ] +>> +endobj +5917 0 obj +<< +/D [ 924 0 R /XYZ 72 727.802 null ] +>> +endobj +5918 0 obj +<< +/D [ 924 0 R /XYZ 72 654.841 null ] +>> +endobj +5919 0 obj +<< +/D [ 924 0 R /XYZ 72 531.329 null ] +>> +endobj +5920 0 obj +<< +/D [ 924 0 R /XYZ 72 481.451 null ] +>> +endobj +5921 0 obj +<< +/D [ 924 0 R /XYZ 72 429.67 null ] +>> +endobj +5922 0 obj +<< +/D [ 302 0 R /XYZ 72 193.232 null ] +>> +endobj +5923 0 obj +<< +/D [ 924 0 R /XYZ 72 377.89 null ] +>> +endobj +5924 0 obj +<< +/D [ 924 0 R /XYZ 72 303.588 null ] +>> +endobj +5925 0 obj +<< +/D [ 924 0 R /XYZ 72 162.144 null ] +>> +endobj +5926 0 obj +<< +/D [ 935 0 R /XYZ 72 758.402 null ] +>> +endobj +5927 0 obj +<< +/D [ 935 0 R /XYZ 72 636.793 null ] +>> +endobj +5928 0 obj +<< +/D [ 935 0 R /XYZ 72 563.832 null ] +>> +endobj +5929 0 obj +<< +/D [ 935 0 R /XYZ 72 440.32 null ] +>> +endobj +5930 0 obj +<< +/D [ 935 0 R /XYZ 72 378.487 null ] +>> +endobj +5931 0 obj +<< +/D [ 935 0 R /XYZ 72 326.707 null ] +>> +endobj +5932 0 obj +<< +/D [ 935 0 R /XYZ 72 274.926 null ] +>> +endobj +5933 0 obj +<< +/D [ 17 0 R /XYZ 72 635.943 null ] +>> +endobj +5934 0 obj +<< +/D [ 327 0 R /XYZ 72 681.974 null ] +>> +endobj +5935 0 obj +<< +/D [ 935 0 R /XYZ 72 200.624 null ] +>> +endobj +5936 0 obj +<< +/D [ 949 0 R /XYZ 72 684.056 null ] +>> +endobj +5937 0 obj +<< +/D [ 949 0 R /XYZ 72 632.275 null ] +>> +endobj +5938 0 obj +<< +/D [ 949 0 R /XYZ 72 510.667 null ] +>> +endobj +5939 0 obj +<< +/D [ 949 0 R /XYZ 72 437.705 null ] +>> +endobj +5940 0 obj +<< +/D [ 949 0 R /XYZ 72 314.193 null ] +>> +endobj +5941 0 obj +<< +/D [ 949 0 R /XYZ 72 264.316 null ] +>> +endobj +5942 0 obj +<< +/D [ 949 0 R /XYZ 72 212.535 null ] +>> +endobj +5943 0 obj +<< +/D [ 949 0 R /XYZ 72 160.754 null ] +>> +endobj +5944 0 obj +<< +/D [ 961 0 R /XYZ 72 697.431 null ] +>> +endobj +5945 0 obj +<< +/D [ 327 0 R /XYZ 72 612.261 null ] +>> +endobj +5946 0 obj +<< +/D [ 961 0 R /XYZ 72 555.987 null ] +>> +endobj +5947 0 obj +<< +/D [ 961 0 R /XYZ 72 504.206 null ] +>> +endobj +5948 0 obj +<< +/D [ 961 0 R /XYZ 72 418.462 null ] +>> +endobj +5949 0 obj +<< +/D [ 961 0 R /XYZ 72 345.501 null ] +>> +endobj +5950 0 obj +<< +/D [ 961 0 R /XYZ 72 221.989 null ] +>> +endobj +5951 0 obj +<< +/D [ 961 0 R /XYZ 72 172.111 null ] +>> +endobj +5952 0 obj +<< +/D [ 978 0 R /XYZ 72 760.305 null ] +>> +endobj +5953 0 obj +<< +/D [ 978 0 R /XYZ 72 708.525 null ] +>> +endobj +5954 0 obj +<< +/D [ 978 0 R /XYZ 72 634.223 null ] +>> +endobj +5955 0 obj +<< +/D [ 978 0 R /XYZ 72 510.711 null ] +>> +endobj +5956 0 obj +<< +/D [ 327 0 R /XYZ 72 539.299 null ] +>> +endobj +5957 0 obj +<< +/D [ 978 0 R /XYZ 72 458.931 null ] +>> +endobj +5958 0 obj +<< +/D [ 978 0 R /XYZ 72 361.232 null ] +>> +endobj +5959 0 obj +<< +/D [ 978 0 R /XYZ 72 288.271 null ] +>> +endobj +5960 0 obj +<< +/D [ 978 0 R /XYZ 72 164.759 null ] +>> +endobj +5961 0 obj +<< +/D [ 992 0 R /XYZ 72 760.305 null ] +>> +endobj +5962 0 obj +<< +/D [ 992 0 R /XYZ 72 708.525 null ] +>> +endobj +5963 0 obj +<< +/D [ 992 0 R /XYZ 72 656.744 null ] +>> +endobj +5964 0 obj +<< +/D [ 992 0 R /XYZ 72 582.442 null ] +>> +endobj +5965 0 obj +<< +/D [ 992 0 R /XYZ 72 446.975 null ] +>> +endobj +5966 0 obj +<< +/D [ 992 0 R /XYZ 72 395.195 null ] +>> +endobj +5967 0 obj +<< +/D [ 327 0 R /XYZ 72 475.563 null ] +>> +endobj +5968 0 obj +<< +/D [ 992 0 R /XYZ 72 297.496 null ] +>> +endobj +5969 0 obj +<< +/D [ 992 0 R /XYZ 72 224.535 null ] +>> +endobj +5970 0 obj +<< +/D [ 1005 0 R /XYZ 72 701.989 null ] +>> +endobj +5971 0 obj +<< +/D [ 1005 0 R /XYZ 72 652.111 null ] +>> +endobj +5972 0 obj +<< +/D [ 1005 0 R /XYZ 72 600.33 null ] +>> +endobj +5973 0 obj +<< +/D [ 1005 0 R /XYZ 72 548.55 null ] +>> +endobj +5974 0 obj +<< +/D [ 1005 0 R /XYZ 72 433.601 null ] +>> +endobj +5975 0 obj +<< +/D [ 1020 0 R /XYZ 72 678.079 null ] +>> +endobj +5976 0 obj +<< +/D [ 1020 0 R /XYZ 72 589.431 null ] +>> +endobj +5977 0 obj +<< +/D [ 1020 0 R /XYZ 72 455.867 null ] +>> +endobj +5978 0 obj +<< +/D [ 327 0 R /XYZ 72 313.297 null ] +>> +endobj +5979 0 obj +<< +/D [ 1020 0 R /XYZ 72 382.906 null ] +>> +endobj +5980 0 obj +<< +/D [ 1020 0 R /XYZ 72 247.439 null ] +>> +endobj +5981 0 obj +<< +/D [ 1020 0 R /XYZ 72 197.561 null ] +>> +endobj +5982 0 obj +<< +/D [ 1032 0 R /XYZ 72 760.305 null ] +>> +endobj +5983 0 obj +<< +/D [ 1032 0 R /XYZ 72 708.525 null ] +>> +endobj +5984 0 obj +<< +/D [ 1032 0 R /XYZ 72 619.877 null ] +>> +endobj +5985 0 obj +<< +/D [ 1032 0 R /XYZ 72 496.365 null ] +>> +endobj +5986 0 obj +<< +/D [ 1032 0 R /XYZ 72 444.584 null ] +>> +endobj +5987 0 obj +<< +/D [ 1032 0 R /XYZ 72 334.931 null ] +>> +endobj +5988 0 obj +<< +/D [ 1032 0 R /XYZ 72 261.969 null ] +>> +endobj +5989 0 obj +<< +/D [ 353 0 R /XYZ 72 760.305 null ] +>> +endobj +5990 0 obj +<< +/D [ 1044 0 R /XYZ 72 758.402 null ] +>> +endobj +5991 0 obj +<< +/D [ 1044 0 R /XYZ 72 708.525 null ] +>> +endobj +5992 0 obj +<< +/D [ 1044 0 R /XYZ 72 656.744 null ] +>> +endobj +5993 0 obj +<< +/D [ 1044 0 R /XYZ 72 604.963 null ] +>> +endobj +5994 0 obj +<< +/D [ 1044 0 R /XYZ 72 530.662 null ] +>> +endobj +5995 0 obj +<< +/D [ 1044 0 R /XYZ 72 389.217 null ] +>> +endobj +5996 0 obj +<< +/D [ 1044 0 R /XYZ 72 337.436 null ] +>> +endobj +5997 0 obj +<< +/D [ 1044 0 R /XYZ 72 215.827 null ] +>> +endobj +5998 0 obj +<< +/D [ 1056 0 R /XYZ 72 739.125 null ] +>> +endobj +5999 0 obj +<< +/D [ 1056 0 R /XYZ 72 603.658 null ] +>> +endobj +6000 0 obj +<< +/D [ 353 0 R /XYZ 72 690.592 null ] +>> +endobj +6001 0 obj +<< +/D [ 1056 0 R /XYZ 72 553.78 null ] +>> +endobj +6002 0 obj +<< +/D [ 1056 0 R /XYZ 72 501.999 null ] +>> +endobj +6003 0 obj +<< +/D [ 1056 0 R /XYZ 72 450.218 null ] +>> +endobj +6004 0 obj +<< +/D [ 1056 0 R /XYZ 72 362.835 null ] +>> +endobj +6005 0 obj +<< +/D [ 1056 0 R /XYZ 72 257.54 null ] +>> +endobj +6006 0 obj +<< +/D [ 1056 0 R /XYZ 72 206.044 null ] +>> +endobj +6007 0 obj +<< +/D [ 1064 0 R /XYZ 72 760.305 null ] +>> +endobj +6008 0 obj +<< +/D [ 1064 0 R /XYZ 72 687.344 null ] +>> +endobj +6009 0 obj +<< +/D [ 1064 0 R /XYZ 72 420.37 null ] +>> +endobj +6010 0 obj +<< +/D [ 1064 0 R /XYZ 72 310.716 null ] +>> +endobj +6011 0 obj +<< +/D [ 353 0 R /XYZ 72 617.63 null ] +>> +endobj +6012 0 obj +<< +/D [ 1064 0 R /XYZ 72 258.936 null ] +>> +endobj +6013 0 obj +<< +/D [ 1064 0 R /XYZ 72 207.155 null ] +>> +endobj +6014 0 obj +<< +/D [ 1078 0 R /XYZ 72 683.085 null ] +>> +endobj +6015 0 obj +<< +/D [ 1078 0 R /XYZ 72 302.537 null ] +>> +endobj +6016 0 obj +<< +/D [ 1078 0 R /XYZ 72 215.787 null ] +>> +endobj +6017 0 obj +<< +/D [ 1091 0 R /XYZ 72 668.026 null ] +>> +endobj +6018 0 obj +<< +/D [ 1091 0 R /XYZ 72 595.065 null ] +>> +endobj +6019 0 obj +<< +/D [ 1091 0 R /XYZ 72 447.643 null ] +>> +endobj +6020 0 obj +<< +/D [ 1091 0 R /XYZ 72 397.765 null ] +>> +endobj +6021 0 obj +<< +/D [ 1091 0 R /XYZ 72 345.984 null ] +>> +endobj +6022 0 obj +<< +/D [ 353 0 R /XYZ 72 555.797 null ] +>> +endobj +6023 0 obj +<< +/D [ 1091 0 R /XYZ 72 294.203 null ] +>> +endobj +6024 0 obj +<< +/D [ 1091 0 R /XYZ 72 167.299 null ] +>> +endobj +6025 0 obj +<< +/D [ 1108 0 R /XYZ 72 624.28 null ] +>> +endobj +6026 0 obj +<< +/D [ 1108 0 R /XYZ 72 560.544 null ] +>> +endobj +6027 0 obj +<< +/D [ 1108 0 R /XYZ 72 355.249 null ] +>> +endobj +6028 0 obj +<< +/D [ 1108 0 R /XYZ 72 282.288 null ] +>> +endobj +6029 0 obj +<< +/D [ 1108 0 R /XYZ 72 158.776 null ] +>> +endobj +6030 0 obj +<< +/D [ 1120 0 R /XYZ 72 760.305 null ] +>> +endobj +6031 0 obj +<< +/D [ 1120 0 R /XYZ 72 708.525 null ] +>> +endobj +6032 0 obj +<< +/D [ 1120 0 R /XYZ 72 634.223 null ] +>> +endobj +6033 0 obj +<< +/D [ 353 0 R /XYZ 72 502.114 null ] +>> +endobj +6034 0 obj +<< +/D [ 1120 0 R /XYZ 72 528.644 null ] +>> +endobj +6035 0 obj +<< +/D [ 1120 0 R /XYZ 72 476.863 null ] +>> +endobj +6036 0 obj +<< +/D [ 1120 0 R /XYZ 72 295.479 null ] +>> +endobj +6037 0 obj +<< +/D [ 1120 0 R /XYZ 72 222.517 null ] +>> +endobj +6038 0 obj +<< +/D [ 1130 0 R /XYZ 72 713.944 null ] +>> +endobj +6039 0 obj +<< +/D [ 1130 0 R /XYZ 72 664.066 null ] +>> +endobj +6040 0 obj +<< +/D [ 1130 0 R /XYZ 72 612.286 null ] +>> +endobj +6041 0 obj +<< +/D [ 1130 0 R /XYZ 72 560.505 null ] +>> +endobj +6042 0 obj +<< +/D [ 1130 0 R /XYZ 72 471.857 null ] +>> +endobj +6043 0 obj +<< +/D [ 1130 0 R /XYZ 72 318.458 null ] +>> +endobj +6044 0 obj +<< +/D [ 249 0 R /XYZ 72 423.603 null ] +>> +endobj +6045 0 obj +<< +/D [ 353 0 R /XYZ 72 368.54 null ] +>> +endobj +6046 0 obj +<< +/D [ 1130 0 R /XYZ 72 266.677 null ] +>> +endobj +6047 0 obj +<< +/D [ 1130 0 R /XYZ 72 168.978 null ] +>> +endobj +6048 0 obj +<< +/D [ 1144 0 R /XYZ 72 739.125 null ] +>> +endobj +6049 0 obj +<< +/D [ 1144 0 R /XYZ 72 603.658 null ] +>> +endobj +6050 0 obj +<< +/D [ 1144 0 R /XYZ 72 553.78 null ] +>> +endobj +6051 0 obj +<< +/D [ 1144 0 R /XYZ 72 501.999 null ] +>> +endobj +6052 0 obj +<< +/D [ 1144 0 R /XYZ 72 450.218 null ] +>> +endobj +6053 0 obj +<< +/D [ 1144 0 R /XYZ 72 362.835 null ] +>> +endobj +6054 0 obj +<< +/D [ 1144 0 R /XYZ 72 245.585 null ] +>> +endobj +6055 0 obj +<< +/D [ 1144 0 R /XYZ 72 194.089 null ] +>> +endobj +6056 0 obj +<< +/D [ 353 0 R /XYZ 72 234.811 null ] +>> +endobj +6057 0 obj +<< +/D [ 1153 0 R /XYZ 72 760.305 null ] +>> +endobj +6058 0 obj +<< +/D [ 1153 0 R /XYZ 72 687.344 null ] +>> +endobj +6059 0 obj +<< +/D [ 1153 0 R /XYZ 72 563.832 null ] +>> +endobj +6060 0 obj +<< +/D [ 1153 0 R /XYZ 72 513.954 null ] +>> +endobj +6061 0 obj +<< +/D [ 1153 0 R /XYZ 72 462.173 null ] +>> +endobj +6062 0 obj +<< +/D [ 1153 0 R /XYZ 72 410.393 null ] +>> +endobj +6063 0 obj +<< +/D [ 1153 0 R /XYZ 72 336.091 null ] +>> +endobj +6064 0 obj +<< +/D [ 1153 0 R /XYZ 72 194.647 null ] +>> +endobj +6065 0 obj +<< +/D [ 1164 0 R /XYZ 72 758.402 null ] +>> +endobj +6066 0 obj +<< +/D [ 1164 0 R /XYZ 72 553.107 null ] +>> +endobj +6067 0 obj +<< +/D [ 353 0 R /XYZ 72 165.098 null ] +>> +endobj +6068 0 obj +<< +/D [ 1164 0 R /XYZ 72 480.146 null ] +>> +endobj +6069 0 obj +<< +/D [ 1164 0 R /XYZ 72 356.634 null ] +>> +endobj +6070 0 obj +<< +/D [ 1164 0 R /XYZ 72 306.756 null ] +>> +endobj +6071 0 obj +<< +/D [ 1164 0 R /XYZ 72 254.976 null ] +>> +endobj +6072 0 obj +<< +/D [ 1164 0 R /XYZ 72 203.195 null ] +>> +endobj +6073 0 obj +<< +/D [ 1174 0 R /XYZ 72 758.402 null ] +>> +endobj +6074 0 obj +<< +/D [ 1174 0 R /XYZ 72 616.958 null ] +>> +endobj +6075 0 obj +<< +/D [ 1174 0 R /XYZ 72 565.177 null ] +>> +endobj +6076 0 obj +<< +/D [ 1174 0 R /XYZ 72 359.882 null ] +>> +endobj +6077 0 obj +<< +/D [ 1174 0 R /XYZ 72 286.921 null ] +>> +endobj +6078 0 obj +<< +/D [ 384 0 R /XYZ 72 739.125 null ] +>> +endobj +6079 0 obj +<< +/D [ 1184 0 R /XYZ 72 758.402 null ] +>> +endobj +6080 0 obj +<< +/D [ 1184 0 R /XYZ 72 708.525 null ] +>> +endobj +6081 0 obj +<< +/D [ 1184 0 R /XYZ 72 656.744 null ] +>> +endobj +6082 0 obj +<< +/D [ 1184 0 R /XYZ 72 604.963 null ] +>> +endobj +6083 0 obj +<< +/D [ 1184 0 R /XYZ 72 516.315 null ] +>> +endobj +6084 0 obj +<< +/D [ 1184 0 R /XYZ 72 356.938 null ] +>> +endobj +6085 0 obj +<< +/D [ 1184 0 R /XYZ 72 305.157 null ] +>> +endobj +6086 0 obj +<< +/D [ 1184 0 R /XYZ 72 159.638 null ] +>> +endobj +6087 0 obj +<< +/D [ 1196 0 R /XYZ 72 739.125 null ] +>> +endobj +6088 0 obj +<< +/D [ 1196 0 R /XYZ 72 603.658 null ] +>> +endobj +6089 0 obj +<< +/D [ 384 0 R /XYZ 72 677.292 null ] +>> +endobj +6090 0 obj +<< +/D [ 1196 0 R /XYZ 72 553.78 null ] +>> +endobj +6091 0 obj +<< +/D [ 1196 0 R /XYZ 72 501.999 null ] +>> +endobj +6092 0 obj +<< +/D [ 1196 0 R /XYZ 72 450.218 null ] +>> +endobj +6093 0 obj +<< +/D [ 1196 0 R /XYZ 72 361.571 null ] +>> +endobj +6094 0 obj +<< +/D [ 1196 0 R /XYZ 72 220.126 null ] +>> +endobj +6095 0 obj +<< +/D [ 1196 0 R /XYZ 72 168.345 null ] +>> +endobj +6096 0 obj +<< +/D [ 1203 0 R /XYZ 72 632.161 null ] +>> +endobj +6097 0 obj +<< +/D [ 1203 0 R /XYZ 72 559.199 null ] +>> +endobj +6098 0 obj +<< +/D [ 1203 0 R /XYZ 72 435.688 null ] +>> +endobj +6099 0 obj +<< +/D [ 1203 0 R /XYZ 72 385.81 null ] +>> +endobj +6100 0 obj +<< +/D [ 384 0 R /XYZ 72 623.608 null ] +>> +endobj +6101 0 obj +<< +/D [ 1203 0 R /XYZ 72 334.029 null ] +>> +endobj +6102 0 obj +<< +/D [ 1203 0 R /XYZ 72 261.248 null ] +>> +endobj +6103 0 obj +<< +/D [ 1203 0 R /XYZ 72 156.011 null ] +>> +endobj +6104 0 obj +<< +/D [ 1214 0 R /XYZ 72 760.305 null ] +>> +endobj +6105 0 obj +<< +/D [ 1214 0 R /XYZ 72 687.344 null ] +>> +endobj +6106 0 obj +<< +/D [ 1214 0 R /XYZ 72 563.832 null ] +>> +endobj +6107 0 obj +<< +/D [ 1214 0 R /XYZ 72 501.999 null ] +>> +endobj +6108 0 obj +<< +/D [ 1214 0 R /XYZ 72 450.218 null ] +>> +endobj +6109 0 obj +<< +/D [ 1214 0 R /XYZ 72 398.438 null ] +>> +endobj +6110 0 obj +<< +/D [ 1214 0 R /XYZ 72 324.136 null ] +>> +endobj +6111 0 obj +<< +/D [ 384 0 R /XYZ 72 490.034 null ] +>> +endobj +6112 0 obj +<< +/D [ 1214 0 R /XYZ 72 182.692 null ] +>> +endobj +6113 0 obj +<< +/D [ 1223 0 R /XYZ 72 713.944 null ] +>> +endobj +6114 0 obj +<< +/D [ 1223 0 R /XYZ 72 592.335 null ] +>> +endobj +6115 0 obj +<< +/D [ 1223 0 R /XYZ 72 519.374 null ] +>> +endobj +6116 0 obj +<< +/D [ 1223 0 R /XYZ 72 383.907 null ] +>> +endobj +6117 0 obj +<< +/D [ 1223 0 R /XYZ 72 334.029 null ] +>> +endobj +6118 0 obj +<< +/D [ 1223 0 R /XYZ 72 282.248 null ] +>> +endobj +6119 0 obj +<< +/D [ 1223 0 R /XYZ 72 230.468 null ] +>> +endobj +6120 0 obj +<< +/D [ 1238 0 R /XYZ 72 758.402 null ] +>> +endobj +6121 0 obj +<< +/D [ 1238 0 R /XYZ 72 545.227 null ] +>> +endobj +6122 0 obj +<< +/D [ 384 0 R /XYZ 72 368.261 null ] +>> +endobj +6123 0 obj +<< +/D [ 1238 0 R /XYZ 72 493.446 null ] +>> +endobj +6124 0 obj +<< +/D [ 1238 0 R /XYZ 72 395.748 null ] +>> +endobj +6125 0 obj +<< +/D [ 1248 0 R /XYZ 72 435.558 null ] +>> +endobj +6126 0 obj +<< +/D [ 1248 0 R /XYZ 72 361.77 null ] +>> +endobj +6127 0 obj +<< +/D [ 1248 0 R /XYZ 72 164.624 null ] +>> +endobj +6128 0 obj +<< +/D [ 1262 0 R /XYZ 72 668.739 null ] +>> +endobj +6129 0 obj +<< +/D [ 1262 0 R /XYZ 72 475.399 null ] +>> +endobj +6130 0 obj +<< +/D [ 1262 0 R /XYZ 72 333.954 null ] +>> +endobj +6131 0 obj +<< +/D [ 1262 0 R /XYZ 72 260.993 null ] +>> +endobj +6132 0 obj +<< +/D [ 1262 0 R /XYZ 72 199.16 null ] +>> +endobj +6133 0 obj +<< +/D [ 384 0 R /XYZ 72 298.547 null ] +>> +endobj +6134 0 obj +<< +/D [ 1275 0 R /XYZ 72 760.305 null ] +>> +endobj +6135 0 obj +<< +/D [ 1275 0 R /XYZ 72 694.666 null ] +>> +endobj +6136 0 obj +<< +/D [ 1275 0 R /XYZ 72 559.035 null ] +>> +endobj +6137 0 obj +<< +/D [ 1275 0 R /XYZ 72 455.359 null ] +>> +endobj +6138 0 obj +<< +/D [ 1275 0 R /XYZ 72 373.69 null ] +>> +endobj +6139 0 obj +<< +/D [ 1275 0 R /XYZ 72 300.729 null ] +>> +endobj +6140 0 obj +<< +/D [ 1275 0 R /XYZ 72 226.941 null ] +>> +endobj +6141 0 obj +<< +/D [ 1275 0 R /XYZ 72 173.257 null ] +>> +endobj +6142 0 obj +<< +/D [ 1291 0 R /XYZ 72 637.431 null ] +>> +endobj +6143 0 obj +<< +/D [ 1291 0 R /XYZ 72 533.755 null ] +>> +endobj +6144 0 obj +<< +/D [ 384 0 R /XYZ 72 225.586 null ] +>> +endobj +6145 0 obj +<< +/D [ 1291 0 R /XYZ 72 452.086 null ] +>> +endobj +6146 0 obj +<< +/D [ 1291 0 R /XYZ 72 363.21 null ] +>> +endobj +6147 0 obj +<< +/D [ 1291 0 R /XYZ 72 227.743 null ] +>> +endobj +6148 0 obj +<< +/D [ 1291 0 R /XYZ 72 177.865 null ] +>> +endobj +6149 0 obj +<< +/D [ 1306 0 R /XYZ 72 760.305 null ] +>> +endobj +6150 0 obj +<< +/D [ 1306 0 R /XYZ 72 673.561 null ] +>> +endobj +6151 0 obj +<< +/D [ 1306 0 R /XYZ 72 619.877 null ] +>> +endobj +6152 0 obj +<< +/D [ 1306 0 R /XYZ 72 323.015 null ] +>> +endobj +6153 0 obj +<< +/D [ 1306 0 R /XYZ 72 271.235 null ] +>> +endobj +6154 0 obj +<< +/D [ 1317 0 R /XYZ 72 760.305 null ] +>> +endobj +6155 0 obj +<< +/D [ 249 0 R /XYZ 72 337.86 null ] +>> +endobj +6156 0 obj +<< +/D [ 408 0 R /XYZ 72 760.305 null ] +>> +endobj +6157 0 obj +<< +/D [ 1317 0 R /XYZ 72 687.344 null ] +>> +endobj +6158 0 obj +<< +/D [ 1317 0 R /XYZ 72 551.877 null ] +>> +endobj +6159 0 obj +<< +/D [ 1317 0 R /XYZ 72 490.044 null ] +>> +endobj +6160 0 obj +<< +/D [ 1317 0 R /XYZ 72 438.263 null ] +>> +endobj +6161 0 obj +<< +/D [ 1317 0 R /XYZ 72 367.056 null ] +>> +endobj +6162 0 obj +<< +/D [ 1317 0 R /XYZ 72 313.64 null ] +>> +endobj +6163 0 obj +<< +/D [ 1329 0 R /XYZ 72 758.402 null ] +>> +endobj +6164 0 obj +<< +/D [ 1329 0 R /XYZ 72 706.622 null ] +>> +endobj +6165 0 obj +<< +/D [ 1329 0 R /XYZ 72 608.923 null ] +>> +endobj +6166 0 obj +<< +/D [ 1329 0 R /XYZ 72 535.962 null ] +>> +endobj +6167 0 obj +<< +/D [ 408 0 R /XYZ 72 688.689 null ] +>> +endobj +6168 0 obj +<< +/D [ 1329 0 R /XYZ 72 412.45 null ] +>> +endobj +6169 0 obj +<< +/D [ 1329 0 R /XYZ 72 326.707 null ] +>> +endobj +6170 0 obj +<< +/D [ 1329 0 R /XYZ 72 274.926 null ] +>> +endobj +6171 0 obj +<< +/D [ 1329 0 R /XYZ 72 200.624 null ] +>> +endobj +6172 0 obj +<< +/D [ 1343 0 R /XYZ 72 678.079 null ] +>> +endobj +6173 0 obj +<< +/D [ 1343 0 R /XYZ 72 626.298 null ] +>> +endobj +6174 0 obj +<< +/D [ 1343 0 R /XYZ 72 528.599 null ] +>> +endobj +6175 0 obj +<< +/D [ 1343 0 R /XYZ 72 455.638 null ] +>> +endobj +6176 0 obj +<< +/D [ 1343 0 R /XYZ 72 332.126 null ] +>> +endobj +6177 0 obj +<< +/D [ 1343 0 R /XYZ 72 246.383 null ] +>> +endobj +6178 0 obj +<< +/D [ 408 0 R /XYZ 72 477.74 null ] +>> +endobj +6179 0 obj +<< +/D [ 1343 0 R /XYZ 72 194.602 null ] +>> +endobj +6180 0 obj +<< +/D [ 1354 0 R /XYZ 72 758.402 null ] +>> +endobj +6181 0 obj +<< +/D [ 1354 0 R /XYZ 72 605.003 null ] +>> +endobj +6182 0 obj +<< +/D [ 1354 0 R /XYZ 72 553.222 null ] +>> +endobj +6183 0 obj +<< +/D [ 1354 0 R /XYZ 72 455.523 null ] +>> +endobj +6184 0 obj +<< +/D [ 1354 0 R /XYZ 72 382.562 null ] +>> +endobj +6185 0 obj +<< +/D [ 1354 0 R /XYZ 72 259.05 null ] +>> +endobj +6186 0 obj +<< +/D [ 1354 0 R /XYZ 72 209.172 null ] +>> +endobj +6187 0 obj +<< +/D [ 1354 0 R /XYZ 72 157.392 null ] +>> +endobj +6188 0 obj +<< +/D [ 1364 0 R /XYZ 72 709.386 null ] +>> +endobj +6189 0 obj +<< +/D [ 408 0 R /XYZ 72 253.153 null ] +>> +endobj +6190 0 obj +<< +/D [ 1364 0 R /XYZ 72 555.987 null ] +>> +endobj +6191 0 obj +<< +/D [ 1364 0 R /XYZ 72 504.206 null ] +>> +endobj +6192 0 obj +<< +/D [ 1364 0 R /XYZ 72 418.462 null ] +>> +endobj +6193 0 obj +<< +/D [ 1364 0 R /XYZ 72 345.501 null ] +>> +endobj +6194 0 obj +<< +/D [ 1364 0 R /XYZ 72 221.989 null ] +>> +endobj +6195 0 obj +<< +/D [ 1373 0 R /XYZ 72 760.305 null ] +>> +endobj +6196 0 obj +<< +/D [ 1373 0 R /XYZ 72 696.569 null ] +>> +endobj +6197 0 obj +<< +/D [ 1373 0 R /XYZ 72 622.268 null ] +>> +endobj +6198 0 obj +<< +/D [ 1373 0 R /XYZ 72 462.891 null ] +>> +endobj +6199 0 obj +<< +/D [ 1373 0 R /XYZ 72 411.11 null ] +>> +endobj +6200 0 obj +<< +/D [ 408 0 R /XYZ 72 183.439 null ] +>> +endobj +6201 0 obj +<< +/D [ 1382 0 R /XYZ 72 760.305 null ] +>> +endobj +6202 0 obj +<< +/D [ 1391 0 R /XYZ 72 372.42 null ] +>> +endobj +6203 0 obj +<< +/D [ 1391 0 R /XYZ 72 242.931 null ] +>> +endobj +6204 0 obj +<< +/D [ 1405 0 R /XYZ 72 758.402 null ] +>> +endobj +6205 0 obj +<< +/D [ 1405 0 R /XYZ 72 669.755 null ] +>> +endobj +6206 0 obj +<< +/D [ 1405 0 R /XYZ 72 572.056 null ] +>> +endobj +6207 0 obj +<< +/D [ 1405 0 R /XYZ 72 484.41 null ] +>> +endobj +6208 0 obj +<< +/D [ 1405 0 R /XYZ 72 411.449 null ] +>> +endobj +6209 0 obj +<< +/D [ 1405 0 R /XYZ 72 335.758 null ] +>> +endobj +6210 0 obj +<< +/D [ 1405 0 R /XYZ 72 185.78 null ] +>> +endobj +6211 0 obj +<< +/D [ 436 0 R /XYZ 72 739.125 null ] +>> +endobj +6212 0 obj +<< +/D [ 1423 0 R /XYZ 72 313.446 null ] +>> +endobj +6213 0 obj +<< +/D [ 1427 0 R /XYZ 72 715.847 null ] +>> +endobj +6214 0 obj +<< +/D [ 1427 0 R /XYZ 72 628.201 null ] +>> +endobj +6215 0 obj +<< +/D [ 1427 0 R /XYZ 72 539.324 null ] +>> +endobj +6216 0 obj +<< +/D [ 1427 0 R /XYZ 72 403.857 null ] +>> +endobj +6217 0 obj +<< +/D [ 1427 0 R /XYZ 72 353.979 null ] +>> +endobj +6218 0 obj +<< +/D [ 1427 0 R /XYZ 72 302.198 null ] +>> +endobj +6219 0 obj +<< +/D [ 1427 0 R /XYZ 72 250.418 null ] +>> +endobj +6220 0 obj +<< +/D [ 1427 0 R /XYZ 72 176.116 null ] +>> +endobj +6221 0 obj +<< +/D [ 1439 0 R /XYZ 72 694.816 null ] +>> +endobj +6222 0 obj +<< +/D [ 436 0 R /XYZ 72 663.434 null ] +>> +endobj +6223 0 obj +<< +/D [ 1439 0 R /XYZ 72 643.035 null ] +>> +endobj +6224 0 obj +<< +/D [ 1439 0 R /XYZ 72 533.381 null ] +>> +endobj +6225 0 obj +<< +/D [ 1439 0 R /XYZ 72 460.42 null ] +>> +endobj +6226 0 obj +<< +/D [ 1439 0 R /XYZ 72 324.953 null ] +>> +endobj +6227 0 obj +<< +/D [ 1439 0 R /XYZ 72 275.075 null ] +>> +endobj +6228 0 obj +<< +/D [ 1439 0 R /XYZ 72 223.294 null ] +>> +endobj +6229 0 obj +<< +/D [ 1439 0 R /XYZ 72 171.514 null ] +>> +endobj +6230 0 obj +<< +/D [ 1450 0 R /XYZ 72 709.386 null ] +>> +endobj +6231 0 obj +<< +/D [ 1450 0 R /XYZ 72 584.515 null ] +>> +endobj +6232 0 obj +<< +/D [ 1450 0 R /XYZ 72 532.734 null ] +>> +endobj +6233 0 obj +<< +/D [ 436 0 R /XYZ 72 481.177 null ] +>> +endobj +6234 0 obj +<< +/D [ 1450 0 R /XYZ 72 423.08 null ] +>> +endobj +6235 0 obj +<< +/D [ 1450 0 R /XYZ 72 350.119 null ] +>> +endobj +6236 0 obj +<< +/D [ 1450 0 R /XYZ 72 202.697 null ] +>> +endobj +6237 0 obj +<< +/D [ 1464 0 R /XYZ 72 760.305 null ] +>> +endobj +6238 0 obj +<< +/D [ 1464 0 R /XYZ 72 708.525 null ] +>> +endobj +6239 0 obj +<< +/D [ 1464 0 R /XYZ 72 656.744 null ] +>> +endobj +6240 0 obj +<< +/D [ 1464 0 R /XYZ 72 568.096 null ] +>> +endobj +6241 0 obj +<< +/D [ 1464 0 R /XYZ 72 455.125 null ] +>> +endobj +6242 0 obj +<< +/D [ 1464 0 R /XYZ 72 403.344 null ] +>> +endobj +6243 0 obj +<< +/D [ 1464 0 R /XYZ 72 233.915 null ] +>> +endobj +6244 0 obj +<< +/D [ 436 0 R /XYZ 72 270.936 null ] +>> +endobj +6245 0 obj +<< +/D [ 1477 0 R /XYZ 72 739.125 null ] +>> +endobj +6246 0 obj +<< +/D [ 1477 0 R /XYZ 72 591.703 null ] +>> +endobj +6247 0 obj +<< +/D [ 1477 0 R /XYZ 72 517.914 null ] +>> +endobj +6248 0 obj +<< +/D [ 1477 0 R /XYZ 72 466.134 null ] +>> +endobj +6249 0 obj +<< +/D [ 1477 0 R /XYZ 72 363.14 null ] +>> +endobj +6250 0 obj +<< +/D [ 1477 0 R /XYZ 72 239.628 null ] +>> +endobj +6251 0 obj +<< +/D [ 1477 0 R /XYZ 72 187.847 null ] +>> +endobj +6252 0 obj +<< +/D [ 1484 0 R /XYZ 72 679.982 null ] +>> +endobj +6253 0 obj +<< +/D [ 1484 0 R /XYZ 72 607.02 null ] +>> +endobj +6254 0 obj +<< +/D [ 1484 0 R /XYZ 72 459.598 null ] +>> +endobj +6255 0 obj +<< +/D [ 436 0 R /XYZ 72 201.222 null ] +>> +endobj +6256 0 obj +<< +/D [ 1484 0 R /XYZ 72 397.765 null ] +>> +endobj +6257 0 obj +<< +/D [ 1484 0 R /XYZ 72 345.984 null ] +>> +endobj +6258 0 obj +<< +/D [ 1484 0 R /XYZ 72 242.991 null ] +>> +endobj +6259 0 obj +<< +/D [ 1498 0 R /XYZ 72 636.236 null ] +>> +endobj +6260 0 obj +<< +/D [ 1498 0 R /XYZ 72 584.455 null ] +>> +endobj +6261 0 obj +<< +/D [ 1498 0 R /XYZ 72 450.891 null ] +>> +endobj +6262 0 obj +<< +/D [ 1498 0 R /XYZ 72 377.929 null ] +>> +endobj +6263 0 obj +<< +/D [ 1498 0 R /XYZ 72 218.552 null ] +>> +endobj +6264 0 obj +<< +/D [ 1506 0 R /XYZ 72 760.305 null ] +>> +endobj +6265 0 obj +<< +/D [ 1506 0 R /XYZ 72 708.525 null ] +>> +endobj +6266 0 obj +<< +/D [ 249 0 R /XYZ 72 266.243 null ] +>> +endobj +6267 0 obj +<< +/D [ 463 0 R /XYZ 72 739.125 null ] +>> +endobj +6268 0 obj +<< +/D [ 1506 0 R /XYZ 72 689.247 null ] +>> +endobj +6269 0 obj +<< +/D [ 1506 0 R /XYZ 72 559.952 null ] +>> +endobj +6270 0 obj +<< +/D [ 1506 0 R /XYZ 72 269.068 null ] +>> +endobj +6271 0 obj +<< +/D [ 1506 0 R /XYZ 72 217.287 null ] +>> +endobj +6272 0 obj +<< +/D [ 1514 0 R /XYZ 72 679.982 null ] +>> +endobj +6273 0 obj +<< +/D [ 1514 0 R /XYZ 72 607.02 null ] +>> +endobj +6274 0 obj +<< +/D [ 1514 0 R /XYZ 72 447.643 null ] +>> +endobj +6275 0 obj +<< +/D [ 1514 0 R /XYZ 72 361.9 null ] +>> +endobj +6276 0 obj +<< +/D [ 1514 0 R /XYZ 72 310.119 null ] +>> +endobj +6277 0 obj +<< +/D [ 1514 0 R /XYZ 72 180.824 null ] +>> +endobj +6278 0 obj +<< +/D [ 463 0 R /XYZ 72 597.68 null ] +>> +endobj +6279 0 obj +<< +/D [ 1526 0 R /XYZ 72 427.02 null ] +>> +endobj +6280 0 obj +<< +/D [ 1526 0 R /XYZ 72 375.239 null ] +>> +endobj +6281 0 obj +<< +/D [ 1526 0 R /XYZ 72 175.922 null ] +>> +endobj +6282 0 obj +<< +/D [ 1533 0 R /XYZ 72 739.125 null ] +>> +endobj +6283 0 obj +<< +/D [ 1533 0 R /XYZ 72 591.703 null ] +>> +endobj +6284 0 obj +<< +/D [ 1533 0 R /XYZ 72 517.914 null ] +>> +endobj +6285 0 obj +<< +/D [ 1533 0 R /XYZ 72 466.134 null ] +>> +endobj +6286 0 obj +<< +/D [ 1533 0 R /XYZ 72 363.14 null ] +>> +endobj +6287 0 obj +<< +/D [ 1533 0 R /XYZ 72 239.628 null ] +>> +endobj +6288 0 obj +<< +/D [ 1533 0 R /XYZ 72 187.847 null ] +>> +endobj +6289 0 obj +<< +/D [ 463 0 R /XYZ 72 419.01 null ] +>> +endobj +6290 0 obj +<< +/D [ 1541 0 R /XYZ 72 679.982 null ] +>> +endobj +6291 0 obj +<< +/D [ 1541 0 R /XYZ 72 591.105 null ] +>> +endobj +6292 0 obj +<< +/D [ 1541 0 R /XYZ 72 455.638 null ] +>> +endobj +6293 0 obj +<< +/D [ 1541 0 R /XYZ 72 405.76 null ] +>> +endobj +6294 0 obj +<< +/D [ 1541 0 R /XYZ 72 353.979 null ] +>> +endobj +6295 0 obj +<< +/D [ 1541 0 R /XYZ 72 265.332 null ] +>> +endobj +6296 0 obj +<< +/D [ 1554 0 R /XYZ 72 758.402 null ] +>> +endobj +6297 0 obj +<< +/D [ 1554 0 R /XYZ 72 706.622 null ] +>> +endobj +6298 0 obj +<< +/D [ 1554 0 R /XYZ 72 608.923 null ] +>> +endobj +6299 0 obj +<< +/D [ 1554 0 R /XYZ 72 535.962 null ] +>> +endobj +6300 0 obj +<< +/D [ 463 0 R /XYZ 72 213.715 null ] +>> +endobj +6301 0 obj +<< +/D [ 1554 0 R /XYZ 72 400.495 null ] +>> +endobj +6302 0 obj +<< +/D [ 1554 0 R /XYZ 72 350.617 null ] +>> +endobj +6303 0 obj +<< +/D [ 1554 0 R /XYZ 72 298.836 null ] +>> +endobj +6304 0 obj +<< +/D [ 1554 0 R /XYZ 72 210.189 null ] +>> +endobj +6305 0 obj +<< +/D [ 1567 0 R /XYZ 72 707.967 null ] +>> +endobj +6306 0 obj +<< +/D [ 1567 0 R /XYZ 72 656.186 null ] +>> +endobj +6307 0 obj +<< +/D [ 1567 0 R /XYZ 72 558.487 null ] +>> +endobj +6308 0 obj +<< +/D [ 1567 0 R /XYZ 72 485.526 null ] +>> +endobj +6309 0 obj +<< +/D [ 1567 0 R /XYZ 72 350.059 null ] +>> +endobj +6310 0 obj +<< +/D [ 1567 0 R /XYZ 72 300.181 null ] +>> +endobj +6311 0 obj +<< +/D [ 482 0 R /XYZ 72 760.305 null ] +>> +endobj +6312 0 obj +<< +/D [ 1567 0 R /XYZ 72 248.4 null ] +>> +endobj +6313 0 obj +<< +/D [ 1567 0 R /XYZ 72 159.753 null ] +>> +endobj +6314 0 obj +<< +/D [ 1577 0 R /XYZ 72 636.236 null ] +>> +endobj +6315 0 obj +<< +/D [ 1577 0 R /XYZ 72 584.455 null ] +>> +endobj +6316 0 obj +<< +/D [ 1577 0 R /XYZ 72 522.622 null ] +>> +endobj +6317 0 obj +<< +/D [ 1577 0 R /XYZ 72 449.66 null ] +>> +endobj +6318 0 obj +<< +/D [ 1577 0 R /XYZ 72 314.193 null ] +>> +endobj +6319 0 obj +<< +/D [ 1577 0 R /XYZ 72 264.316 null ] +>> +endobj +6320 0 obj +<< +/D [ 1577 0 R /XYZ 72 212.535 null ] +>> +endobj +6321 0 obj +<< +/D [ 1587 0 R /XYZ 72 758.402 null ] +>> +endobj +6322 0 obj +<< +/D [ 482 0 R /XYZ 72 687.344 null ] +>> +endobj +6323 0 obj +<< +/D [ 1587 0 R /XYZ 72 634.891 null ] +>> +endobj +6324 0 obj +<< +/D [ 1587 0 R /XYZ 72 583.11 null ] +>> +endobj +6325 0 obj +<< +/D [ 1587 0 R /XYZ 72 497.366 null ] +>> +endobj +6326 0 obj +<< +/D [ 1587 0 R /XYZ 72 424.405 null ] +>> +endobj +6327 0 obj +<< +/D [ 1587 0 R /XYZ 72 288.938 null ] +>> +endobj +6328 0 obj +<< +/D [ 1587 0 R /XYZ 72 239.06 null ] +>> +endobj +6329 0 obj +<< +/D [ 1587 0 R /XYZ 72 187.279 null ] +>> +endobj +6330 0 obj +<< +/D [ 1600 0 R /XYZ 72 758.402 null ] +>> +endobj +6331 0 obj +<< +/D [ 1600 0 R /XYZ 72 575.115 null ] +>> +endobj +6332 0 obj +<< +/D [ 1600 0 R /XYZ 72 523.334 null ] +>> +endobj +6333 0 obj +<< +/D [ 482 0 R /XYZ 72 516.011 null ] +>> +endobj +6334 0 obj +<< +/D [ 1600 0 R /XYZ 72 425.635 null ] +>> +endobj +6335 0 obj +<< +/D [ 1600 0 R /XYZ 72 352.674 null ] +>> +endobj +6336 0 obj +<< +/D [ 1600 0 R /XYZ 72 205.252 null ] +>> +endobj +6337 0 obj +<< +/D [ 1611 0 R /XYZ 72 760.305 null ] +>> +endobj +6338 0 obj +<< +/D [ 1611 0 R /XYZ 72 708.525 null ] +>> +endobj +6339 0 obj +<< +/D [ 1611 0 R /XYZ 72 605.531 null ] +>> +endobj +6340 0 obj +<< +/D [ 1611 0 R /XYZ 72 470.064 null ] +>> +endobj +6341 0 obj +<< +/D [ 1611 0 R /XYZ 72 394.373 null ] +>> +endobj +6342 0 obj +<< +/D [ 1611 0 R /XYZ 72 260.809 null ] +>> +endobj +6343 0 obj +<< +/D [ 1611 0 R /XYZ 72 187.847 null ] +>> +endobj +6344 0 obj +<< +/D [ 482 0 R /XYZ 72 377.934 null ] +>> +endobj +6345 0 obj +<< +/D [ 1626 0 R /XYZ 72 666.123 null ] +>> +endobj +6346 0 obj +<< +/D [ 1626 0 R /XYZ 72 616.246 null ] +>> +endobj +6347 0 obj +<< +/D [ 1626 0 R /XYZ 72 564.465 null ] +>> +endobj +6348 0 obj +<< +/D [ 1626 0 R /XYZ 72 461.471 null ] +>> +endobj +6349 0 obj +<< +/D [ 1626 0 R /XYZ 72 326.004 null ] +>> +endobj +6350 0 obj +<< +/D [ 1626 0 R /XYZ 72 250.313 null ] +>> +endobj +6351 0 obj +<< +/D [ 1636 0 R /XYZ 72 760.305 null ] +>> +endobj +6352 0 obj +<< +/D [ 1636 0 R /XYZ 72 687.344 null ] +>> +endobj +6353 0 obj +<< +/D [ 1636 0 R /XYZ 72 551.877 null ] +>> +endobj +6354 0 obj +<< +/D [ 1636 0 R /XYZ 72 501.999 null ] +>> +endobj +6355 0 obj +<< +/D [ 482 0 R /XYZ 72 214.482 null ] +>> +endobj +6356 0 obj +<< +/D [ 1636 0 R /XYZ 72 450.218 null ] +>> +endobj +6357 0 obj +<< +/D [ 1636 0 R /XYZ 72 361.571 null ] +>> +endobj +6358 0 obj +<< +/D [ 1636 0 R /XYZ 72 226.104 null ] +>> +endobj +6359 0 obj +<< +/D [ 1636 0 R /XYZ 72 174.323 null ] +>> +endobj +6360 0 obj +<< +/D [ 1649 0 R /XYZ 72 691.937 null ] +>> +endobj +6361 0 obj +<< +/D [ 1649 0 R /XYZ 72 618.975 null ] +>> +endobj +6362 0 obj +<< +/D [ 1649 0 R /XYZ 72 483.508 null ] +>> +endobj +6363 0 obj +<< +/D [ 1649 0 R /XYZ 72 433.631 null ] +>> +endobj +6364 0 obj +<< +/D [ 1649 0 R /XYZ 72 381.85 null ] +>> +endobj +6365 0 obj +<< +/D [ 1649 0 R /XYZ 72 293.202 null ] +>> +endobj +6366 0 obj +<< +/D [ 499 0 R /XYZ 72 760.305 null ] +>> +endobj +6367 0 obj +<< +/D [ 1649 0 R /XYZ 72 157.735 null ] +>> +endobj +6368 0 obj +<< +/D [ 1662 0 R /XYZ 72 758.402 null ] +>> +endobj +6369 0 obj +<< +/D [ 1662 0 R /XYZ 72 648.749 null ] +>> +endobj +6370 0 obj +<< +/D [ 1662 0 R /XYZ 72 575.787 null ] +>> +endobj +6371 0 obj +<< +/D [ 1662 0 R /XYZ 72 428.365 null ] +>> +endobj +6372 0 obj +<< +/D [ 1662 0 R /XYZ 72 366.532 null ] +>> +endobj +6373 0 obj +<< +/D [ 1662 0 R /XYZ 72 314.751 null ] +>> +endobj +6374 0 obj +<< +/D [ 1662 0 R /XYZ 72 226.104 null ] +>> +endobj +6375 0 obj +<< +/D [ 1676 0 R /XYZ 72 725.899 null ] +>> +endobj +6376 0 obj +<< +/D [ 1676 0 R /XYZ 72 674.119 null ] +>> +endobj +6377 0 obj +<< +/D [ 273 0 R /XYZ 72 758.402 null ] +>> +endobj +6378 0 obj +<< +/D [ 499 0 R /XYZ 72 626.97 null ] +>> +endobj +6379 0 obj +<< +/D [ 1676 0 R /XYZ 72 588.375 null ] +>> +endobj +6380 0 obj +<< +/D [ 1676 0 R /XYZ 72 353.421 null ] +>> +endobj +6381 0 obj +<< +/D [ 1676 0 R /XYZ 72 217.954 null ] +>> +endobj +6382 0 obj +<< +/D [ 1685 0 R /XYZ 72 760.305 null ] +>> +endobj +6383 0 obj +<< +/D [ 1685 0 R /XYZ 72 708.525 null ] +>> +endobj +6384 0 obj +<< +/D [ 1685 0 R /XYZ 72 656.744 null ] +>> +endobj +6385 0 obj +<< +/D [ 1685 0 R /XYZ 72 568.096 null ] +>> +endobj +6386 0 obj +<< +/D [ 1685 0 R /XYZ 72 426.652 null ] +>> +endobj +6387 0 obj +<< +/D [ 1685 0 R /XYZ 72 374.871 null ] +>> +endobj +6388 0 obj +<< +/D [ 1685 0 R /XYZ 72 241.307 null ] +>> +endobj +6389 0 obj +<< +/D [ 499 0 R /XYZ 72 553.182 null ] +>> +endobj +6390 0 obj +<< +/D [ 1685 0 R /XYZ 72 168.345 null ] +>> +endobj +6391 0 obj +<< +/D [ 1699 0 R /XYZ 72 654.168 null ] +>> +endobj +6392 0 obj +<< +/D [ 1699 0 R /XYZ 72 574.403 null ] +>> +endobj +6393 0 obj +<< +/D [ 1699 0 R /XYZ 72 522.622 null ] +>> +endobj +6394 0 obj +<< +/D [ 1699 0 R /XYZ 72 470.841 null ] +>> +endobj +6395 0 obj +<< +/D [ 1699 0 R /XYZ 72 367.847 null ] +>> +endobj +6396 0 obj +<< +/D [ 1710 0 R /XYZ 72 725.899 null ] +>> +endobj +6397 0 obj +<< +/D [ 1710 0 R /XYZ 72 662.163 null ] +>> +endobj +6398 0 obj +<< +/D [ 1710 0 R /XYZ 72 528.599 null ] +>> +endobj +6399 0 obj +<< +/D [ 1710 0 R /XYZ 72 455.638 null ] +>> +endobj +6400 0 obj +<< +/D [ 499 0 R /XYZ 72 466.438 null ] +>> +endobj +6401 0 obj +<< +/D [ 1710 0 R /XYZ 72 176.709 null ] +>> +endobj +6402 0 obj +<< +/D [ 1720 0 R /XYZ 72 644.116 null ] +>> +endobj +6403 0 obj +<< +/D [ 1720 0 R /XYZ 72 592.335 null ] +>> +endobj +6404 0 obj +<< +/D [ 1720 0 R /XYZ 72 540.555 null ] +>> +endobj +6405 0 obj +<< +/D [ 1720 0 R /XYZ 72 437.561 null ] +>> +endobj +6406 0 obj +<< +/D [ 1731 0 R /XYZ 72 642.213 null ] +>> +endobj +6407 0 obj +<< +/D [ 1731 0 R /XYZ 72 590.432 null ] +>> +endobj +6408 0 obj +<< +/D [ 1731 0 R /XYZ 72 492.734 null ] +>> +endobj +6409 0 obj +<< +/D [ 1731 0 R /XYZ 72 419.772 null ] +>> +endobj +6410 0 obj +<< +/D [ 1731 0 R /XYZ 72 260.395 null ] +>> +endobj +6411 0 obj +<< +/D [ 499 0 R /XYZ 72 341.023 null ] +>> +endobj +6412 0 obj +<< +/D [ 1731 0 R /XYZ 72 180.629 null ] +>> +endobj +6413 0 obj +<< +/D [ 1739 0 R /XYZ 72 760.305 null ] +>> +endobj +6414 0 obj +<< +/D [ 1739 0 R /XYZ 72 708.525 null ] +>> +endobj +6415 0 obj +<< +/D [ 1739 0 R /XYZ 72 591.418 null ] +>> +endobj +6416 0 obj +<< +/D [ 1739 0 R /XYZ 72 450.026 null ] +>> +endobj +6417 0 obj +<< +/D [ 1739 0 R /XYZ 72 398.297 null ] +>> +endobj +6418 0 obj +<< +/D [ 1739 0 R /XYZ 72 300.651 null ] +>> +endobj +6419 0 obj +<< +/D [ 1739 0 R /XYZ 72 227.742 null ] +>> +endobj +6420 0 obj +<< +/D [ 1754 0 R /XYZ 72 713.944 null ] +>> +endobj +6421 0 obj +<< +/D [ 1754 0 R /XYZ 72 622.223 null ] +>> +endobj +6422 0 obj +<< +/D [ 523 0 R /XYZ 72 429.411 null ] +>> +endobj +6423 0 obj +<< +/D [ 1754 0 R /XYZ 72 570.442 null ] +>> +endobj +6424 0 obj +<< +/D [ 1754 0 R /XYZ 72 518.662 null ] +>> +endobj +6425 0 obj +<< +/D [ 1754 0 R /XYZ 72 401.322 null ] +>> +endobj +6426 0 obj +<< +/D [ 1754 0 R /XYZ 72 247.922 null ] +>> +endobj +6427 0 obj +<< +/D [ 1754 0 R /XYZ 72 196.141 null ] +>> +endobj +6428 0 obj +<< +/D [ 1765 0 R /XYZ 72 727.802 null ] +>> +endobj +6429 0 obj +<< +/D [ 1765 0 R /XYZ 72 654.841 null ] +>> +endobj +6430 0 obj +<< +/D [ 1765 0 R /XYZ 72 507.419 null ] +>> +endobj +6431 0 obj +<< +/D [ 1765 0 R /XYZ 72 415.698 null ] +>> +endobj +6432 0 obj +<< +/D [ 1765 0 R /XYZ 72 363.917 null ] +>> +endobj +6433 0 obj +<< +/D [ 523 0 R /XYZ 72 343.668 null ] +>> +endobj +6434 0 obj +<< +/D [ 1765 0 R /XYZ 72 312.136 null ] +>> +endobj +6435 0 obj +<< +/D [ 1765 0 R /XYZ 72 209.81 null ] +>> +endobj +6436 0 obj +<< +/D [ 1780 0 R /XYZ 72 707.967 null ] +>> +endobj +6437 0 obj +<< +/D [ 1780 0 R /XYZ 72 656.186 null ] +>> +endobj +6438 0 obj +<< +/D [ 1780 0 R /XYZ 72 570.442 null ] +>> +endobj +6439 0 obj +<< +/D [ 1780 0 R /XYZ 72 497.481 null ] +>> +endobj +6440 0 obj +<< +/D [ 1780 0 R /XYZ 72 350.059 null ] +>> +endobj +6441 0 obj +<< +/D [ 1780 0 R /XYZ 72 258.338 null ] +>> +endobj +6442 0 obj +<< +/D [ 1780 0 R /XYZ 72 206.557 null ] +>> +endobj +6443 0 obj +<< +/D [ 1780 0 R /XYZ 72 154.776 null ] +>> +endobj +6444 0 obj +<< +/D [ 523 0 R /XYZ 72 270.706 null ] +>> +endobj +6445 0 obj +<< +/D [ 1790 0 R /XYZ 72 680.694 null ] +>> +endobj +6446 0 obj +<< +/D [ 1790 0 R /XYZ 72 407.742 null ] +>> +endobj +6447 0 obj +<< +/D [ 1790 0 R /XYZ 72 355.962 null ] +>> +endobj +6448 0 obj +<< +/D [ 1790 0 R /XYZ 72 270.218 null ] +>> +endobj +6449 0 obj +<< +/D [ 1790 0 R /XYZ 72 197.257 null ] +>> +endobj +6450 0 obj +<< +/D [ 1806 0 R /XYZ 72 678.079 null ] +>> +endobj +6451 0 obj +<< +/D [ 1806 0 R /XYZ 72 586.358 null ] +>> +endobj +6452 0 obj +<< +/D [ 1806 0 R /XYZ 72 534.577 null ] +>> +endobj +6453 0 obj +<< +/D [ 1806 0 R /XYZ 72 482.796 null ] +>> +endobj +6454 0 obj +<< +/D [ 1806 0 R /XYZ 72 379.802 null ] +>> +endobj +6455 0 obj +<< +/D [ 523 0 R /XYZ 72 208.873 null ] +>> +endobj +6456 0 obj +<< +/D [ 1817 0 R /XYZ 72 642.213 null ] +>> +endobj +6457 0 obj +<< +/D [ 1817 0 R /XYZ 72 590.432 null ] +>> +endobj +6458 0 obj +<< +/D [ 1817 0 R /XYZ 72 492.734 null ] +>> +endobj +6459 0 obj +<< +/D [ 1817 0 R /XYZ 72 419.772 null ] +>> +endobj +6460 0 obj +<< +/D [ 1817 0 R /XYZ 72 260.395 null ] +>> +endobj +6461 0 obj +<< +/D [ 1817 0 R /XYZ 72 168.674 null ] +>> +endobj +6462 0 obj +<< +/D [ 1827 0 R /XYZ 72 760.305 null ] +>> +endobj +6463 0 obj +<< +/D [ 1827 0 R /XYZ 72 708.525 null ] +>> +endobj +6464 0 obj +<< +/D [ 1827 0 R /XYZ 72 605.531 null ] +>> +endobj +6465 0 obj +<< +/D [ 1827 0 R /XYZ 72 464.086 null ] +>> +endobj +6466 0 obj +<< +/D [ 548 0 R /XYZ 72 760.305 null ] +>> +endobj +6467 0 obj +<< +/D [ 1827 0 R /XYZ 72 400.35 null ] +>> +endobj +6468 0 obj +<< +/D [ 1827 0 R /XYZ 72 230.921 null ] +>> +endobj +6469 0 obj +<< +/D [ 1827 0 R /XYZ 72 157.959 null ] +>> +endobj +6470 0 obj +<< +/D [ 1844 0 R /XYZ 72 630.258 null ] +>> +endobj +6471 0 obj +<< +/D [ 1844 0 R /XYZ 72 526.582 null ] +>> +endobj +6472 0 obj +<< +/D [ 1844 0 R /XYZ 72 474.801 null ] +>> +endobj +6473 0 obj +<< +/D [ 1844 0 R /XYZ 72 423.02 null ] +>> +endobj +6474 0 obj +<< +/D [ 1844 0 R /XYZ 72 320.027 null ] +>> +endobj +6475 0 obj +<< +/D [ 1856 0 R /XYZ 72 666.123 null ] +>> +endobj +6476 0 obj +<< +/D [ 1856 0 R /XYZ 72 602.388 null ] +>> +endobj +6477 0 obj +<< +/D [ 548 0 R /XYZ 72 652.823 null ] +>> +endobj +6478 0 obj +<< +/D [ 1856 0 R /XYZ 72 432.958 null ] +>> +endobj +6479 0 obj +<< +/D [ 1856 0 R /XYZ 72 359.997 null ] +>> +endobj +6480 0 obj +<< +/D [ 1856 0 R /XYZ 72 212.575 null ] +>> +endobj +6481 0 obj +<< +/D [ 1865 0 R /XYZ 72 760.305 null ] +>> +endobj +6482 0 obj +<< +/D [ 1865 0 R /XYZ 72 708.525 null ] +>> +endobj +6483 0 obj +<< +/D [ 1865 0 R /XYZ 72 656.744 null ] +>> +endobj +6484 0 obj +<< +/D [ 1865 0 R /XYZ 72 553.75 null ] +>> +endobj +6485 0 obj +<< +/D [ 1876 0 R /XYZ 72 758.402 null ] +>> +endobj +6486 0 obj +<< +/D [ 1876 0 R /XYZ 72 706.622 null ] +>> +endobj +6487 0 obj +<< +/D [ 1876 0 R /XYZ 72 608.923 null ] +>> +endobj +6488 0 obj +<< +/D [ 273 0 R /XYZ 72 616.664 null ] +>> +endobj +6489 0 obj +<< +/D [ 548 0 R /XYZ 72 239.832 null ] +>> +endobj +6490 0 obj +<< +/D [ 1876 0 R /XYZ 72 535.962 null ] +>> +endobj +6491 0 obj +<< +/D [ 1876 0 R /XYZ 72 400.495 null ] +>> +endobj +6492 0 obj +<< +/D [ 1876 0 R /XYZ 72 320.729 null ] +>> +endobj +6493 0 obj +<< +/D [ 1876 0 R /XYZ 72 268.948 null ] +>> +endobj +6494 0 obj +<< +/D [ 1876 0 R /XYZ 72 180.301 null ] +>> +endobj +6495 0 obj +<< +/D [ 1887 0 R /XYZ 72 690.034 null ] +>> +endobj +6496 0 obj +<< +/D [ 1887 0 R /XYZ 72 638.253 null ] +>> +endobj +6497 0 obj +<< +/D [ 1887 0 R /XYZ 72 552.51 null ] +>> +endobj +6498 0 obj +<< +/D [ 1887 0 R /XYZ 72 479.548 null ] +>> +endobj +6499 0 obj +<< +/D [ 1887 0 R /XYZ 72 344.081 null ] +>> +endobj +6500 0 obj +<< +/D [ 572 0 R /XYZ 72 760.305 null ] +>> +endobj +6501 0 obj +<< +/D [ 1887 0 R /XYZ 72 264.316 null ] +>> +endobj +6502 0 obj +<< +/D [ 1887 0 R /XYZ 72 212.535 null ] +>> +endobj +6503 0 obj +<< +/D [ 1887 0 R /XYZ 72 160.754 null ] +>> +endobj +6504 0 obj +<< +/D [ 1896 0 R /XYZ 72 695.04 null ] +>> +endobj +6505 0 obj +<< +/D [ 1896 0 R /XYZ 72 553.595 null ] +>> +endobj +6506 0 obj +<< +/D [ 1896 0 R /XYZ 72 501.815 null ] +>> +endobj +6507 0 obj +<< +/D [ 1896 0 R /XYZ 72 368.251 null ] +>> +endobj +6508 0 obj +<< +/D [ 1896 0 R /XYZ 72 295.289 null ] +>> +endobj +6509 0 obj +<< +/D [ 1909 0 R /XYZ 72 758.402 null ] +>> +endobj +6510 0 obj +<< +/D [ 1909 0 R /XYZ 72 678.637 null ] +>> +endobj +6511 0 obj +<< +/D [ 572 0 R /XYZ 72 687.344 null ] +>> +endobj +6512 0 obj +<< +/D [ 1909 0 R /XYZ 72 626.856 null ] +>> +endobj +6513 0 obj +<< +/D [ 1909 0 R /XYZ 72 575.075 null ] +>> +endobj +6514 0 obj +<< +/D [ 1909 0 R /XYZ 72 472.081 null ] +>> +endobj +6515 0 obj +<< +/D [ 1909 0 R /XYZ 72 199.13 null ] +>> +endobj +6516 0 obj +<< +/D [ 1920 0 R /XYZ 72 758.402 null ] +>> +endobj +6517 0 obj +<< +/D [ 1920 0 R /XYZ 72 624.838 null ] +>> +endobj +6518 0 obj +<< +/D [ 1920 0 R /XYZ 72 551.877 null ] +>> +endobj +6519 0 obj +<< +/D [ 1920 0 R /XYZ 72 272.948 null ] +>> +endobj +6520 0 obj +<< +/D [ 1930 0 R /XYZ 72 760.305 null ] +>> +endobj +6521 0 obj +<< +/D [ 1930 0 R /XYZ 72 708.525 null ] +>> +endobj +6522 0 obj +<< +/D [ 572 0 R /XYZ 72 613.556 null ] +>> +endobj +6523 0 obj +<< +/D [ 1930 0 R /XYZ 72 656.744 null ] +>> +endobj +6524 0 obj +<< +/D [ 1930 0 R /XYZ 72 553.75 null ] +>> +endobj +6525 0 obj +<< +/D [ 1941 0 R /XYZ 72 758.402 null ] +>> +endobj +6526 0 obj +<< +/D [ 1941 0 R /XYZ 72 706.622 null ] +>> +endobj +6527 0 obj +<< +/D [ 1941 0 R /XYZ 72 608.923 null ] +>> +endobj +6528 0 obj +<< +/D [ 1941 0 R /XYZ 72 535.962 null ] +>> +endobj +6529 0 obj +<< +/D [ 1941 0 R /XYZ 72 376.584 null ] +>> +endobj +6530 0 obj +<< +/D [ 1941 0 R /XYZ 72 296.819 null ] +>> +endobj +6531 0 obj +<< +/D [ 1941 0 R /XYZ 72 245.038 null ] +>> +endobj +6532 0 obj +<< +/D [ 1941 0 R /XYZ 72 193.257 null ] +>> +endobj +6533 0 obj +<< +/D [ 572 0 R /XYZ 72 561.775 null ] +>> +endobj +6534 0 obj +<< +/D [ 1951 0 R /XYZ 72 680.694 null ] +>> +endobj +6535 0 obj +<< +/D [ 1951 0 R /XYZ 72 539.249 null ] +>> +endobj +6536 0 obj +<< +/D [ 1951 0 R /XYZ 72 487.469 null ] +>> +endobj +6537 0 obj +<< +/D [ 1951 0 R /XYZ 72 389.77 null ] +>> +endobj +6538 0 obj +<< +/D [ 1951 0 R /XYZ 72 316.809 null ] +>> +endobj +6539 0 obj +<< +/D [ 1964 0 R /XYZ 72 758.402 null ] +>> +endobj +6540 0 obj +<< +/D [ 1964 0 R /XYZ 72 666.681 null ] +>> +endobj +6541 0 obj +<< +/D [ 1964 0 R /XYZ 72 614.901 null ] +>> +endobj +6542 0 obj +<< +/D [ 1964 0 R /XYZ 72 563.12 null ] +>> +endobj +6543 0 obj +<< +/D [ 1964 0 R /XYZ 72 445.78 null ] +>> +endobj +6544 0 obj +<< +/D [ 572 0 R /XYZ 72 436.36 null ] +>> +endobj +6545 0 obj +<< +/D [ 1964 0 R /XYZ 72 280.425 null ] +>> +endobj +6546 0 obj +<< +/D [ 1964 0 R /XYZ 72 228.644 null ] +>> +endobj +6547 0 obj +<< +/D [ 1975 0 R /XYZ 72 703.892 null ] +>> +endobj +6548 0 obj +<< +/D [ 1975 0 R /XYZ 72 630.931 null ] +>> +endobj +6549 0 obj +<< +/D [ 1975 0 R /XYZ 72 483.508 null ] +>> +endobj +6550 0 obj +<< +/D [ 1975 0 R /XYZ 72 391.787 null ] +>> +endobj +6551 0 obj +<< +/D [ 1975 0 R /XYZ 72 340.007 null ] +>> +endobj +6552 0 obj +<< +/D [ 1975 0 R /XYZ 72 288.226 null ] +>> +endobj +6553 0 obj +<< +/D [ 1975 0 R /XYZ 72 185.232 null ] +>> +endobj +6554 0 obj +<< +/D [ 1990 0 R /XYZ 72 672.101 null ] +>> +endobj +6555 0 obj +<< +/D [ 572 0 R /XYZ 72 384.579 null ] +>> +endobj +6556 0 obj +<< +/D [ 1990 0 R /XYZ 72 620.32 null ] +>> +endobj +6557 0 obj +<< +/D [ 1990 0 R /XYZ 72 534.577 null ] +>> +endobj +6558 0 obj +<< +/D [ 1990 0 R /XYZ 72 449.66 null ] +>> +endobj +6559 0 obj +<< +/D [ 1990 0 R /XYZ 72 302.238 null ] +>> +endobj +6560 0 obj +<< +/D [ 1990 0 R /XYZ 72 210.517 null ] +>> +endobj +6561 0 obj +<< +/D [ 1990 0 R /XYZ 72 158.737 null ] +>> +endobj +6562 0 obj +<< +/D [ 2002 0 R /XYZ 72 760.305 null ] +>> +endobj +6563 0 obj +<< +/D [ 2002 0 R /XYZ 72 657.312 null ] +>> +endobj +6564 0 obj +<< +/D [ 2002 0 R /XYZ 72 384.36 null ] +>> +endobj +6565 0 obj +<< +/D [ 2002 0 R /XYZ 72 332.579 null ] +>> +endobj +6566 0 obj +<< +/D [ 572 0 R /XYZ 72 298.836 null ] +>> +endobj +6567 0 obj +<< +/D [ 2002 0 R /XYZ 72 246.836 null ] +>> +endobj +6568 0 obj +<< +/D [ 2002 0 R /XYZ 72 173.875 null ] +>> +endobj +6569 0 obj +<< +/D [ 2018 0 R /XYZ 72 654.168 null ] +>> +endobj +6570 0 obj +<< +/D [ 2018 0 R /XYZ 72 562.447 null ] +>> +endobj +6571 0 obj +<< +/D [ 2018 0 R /XYZ 72 510.667 null ] +>> +endobj +6572 0 obj +<< +/D [ 2018 0 R /XYZ 72 458.886 null ] +>> +endobj +6573 0 obj +<< +/D [ 2018 0 R /XYZ 72 355.892 null ] +>> +endobj +6574 0 obj +<< +/D [ 2029 0 R /XYZ 72 618.303 null ] +>> +endobj +6575 0 obj +<< +/D [ 2029 0 R /XYZ 72 566.522 null ] +>> +endobj +6576 0 obj +<< +/D [ 2029 0 R /XYZ 72 468.824 null ] +>> +endobj +6577 0 obj +<< +/D [ 572 0 R /XYZ 72 225.875 null ] +>> +endobj +6578 0 obj +<< +/D [ 2029 0 R /XYZ 72 395.862 null ] +>> +endobj +6579 0 obj +<< +/D [ 2029 0 R /XYZ 72 236.485 null ] +>> +endobj +6580 0 obj +<< +/D [ 2039 0 R /XYZ 72 760.305 null ] +>> +endobj +6581 0 obj +<< +/D [ 2039 0 R /XYZ 72 708.525 null ] +>> +endobj +6582 0 obj +<< +/D [ 2039 0 R /XYZ 72 656.744 null ] +>> +endobj +6583 0 obj +<< +/D [ 2039 0 R /XYZ 72 553.75 null ] +>> +endobj +6584 0 obj +<< +/D [ 2039 0 R /XYZ 72 412.305 null ] +>> +endobj +6585 0 obj +<< +/D [ 2039 0 R /XYZ 72 348.57 null ] +>> +endobj +6586 0 obj +<< +/D [ 2039 0 R /XYZ 72 179.14 null ] +>> +endobj +6587 0 obj +<< +/D [ 2056 0 R /XYZ 72 739.125 null ] +>> +endobj +6588 0 obj +<< +/D [ 572 0 R /XYZ 72 164.042 null ] +>> +endobj +6589 0 obj +<< +/D [ 2056 0 R /XYZ 72 579.747 null ] +>> +endobj +6590 0 obj +<< +/D [ 2056 0 R /XYZ 72 476.071 null ] +>> +endobj +6591 0 obj +<< +/D [ 2056 0 R /XYZ 72 424.29 null ] +>> +endobj +6592 0 obj +<< +/D [ 2056 0 R /XYZ 72 372.51 null ] +>> +endobj +6593 0 obj +<< +/D [ 2056 0 R /XYZ 72 269.585 null ] +>> +endobj +6594 0 obj +<< +/D [ 2068 0 R /XYZ 72 618.303 null ] +>> +endobj +6595 0 obj +<< +/D [ 2068 0 R /XYZ 72 554.567 null ] +>> +endobj +6596 0 obj +<< +/D [ 2068 0 R /XYZ 72 385.137 null ] +>> +endobj +6597 0 obj +<< +/D [ 2080 0 R /XYZ 72 336.555 null ] +>> +endobj +6598 0 obj +<< +/D [ 2080 0 R /XYZ 72 236.953 null ] +>> +endobj +6599 0 obj +<< +/D [ 273 0 R /XYZ 72 481.197 null ] +>> +endobj +6600 0 obj +<< +/D [ 598 0 R /XYZ 72 696.943 null ] +>> +endobj +6601 0 obj +<< +/D [ 2095 0 R /XYZ 72 651.379 null ] +>> +endobj +6602 0 obj +<< +/D [ 2095 0 R /XYZ 72 458.039 null ] +>> +endobj +6603 0 obj +<< +/D [ 2095 0 R /XYZ 72 334.527 null ] +>> +endobj +6604 0 obj +<< +/D [ 2095 0 R /XYZ 72 261.566 null ] +>> +endobj +6605 0 obj +<< +/D [ 2095 0 R /XYZ 72 185.875 null ] +>> +endobj +6606 0 obj +<< +/D [ 2115 0 R /XYZ 72 678.079 null ] +>> +endobj +6607 0 obj +<< +/D [ 2115 0 R /XYZ 72 484.739 null ] +>> +endobj +6608 0 obj +<< +/D [ 2115 0 R /XYZ 72 361.227 null ] +>> +endobj +6609 0 obj +<< +/D [ 2115 0 R /XYZ 72 288.266 null ] +>> +endobj +6610 0 obj +<< +/D [ 2115 0 R /XYZ 72 170.731 null ] +>> +endobj +6611 0 obj +<< +/D [ 598 0 R /XYZ 72 607.394 null ] +>> +endobj +6612 0 obj +<< +/D [ 2138 0 R /XYZ 72 760.305 null ] +>> +endobj +6613 0 obj +<< +/D [ 2138 0 R /XYZ 72 654.726 null ] +>> +endobj +6614 0 obj +<< +/D [ 2138 0 R /XYZ 72 581.765 null ] +>> +endobj +6615 0 obj +<< +/D [ 2138 0 R /XYZ 72 518.029 null ] +>> +endobj +6616 0 obj +<< +/D [ 2138 0 R /XYZ 72 390.442 null ] +>> +endobj +6617 0 obj +<< +/D [ 2138 0 R /XYZ 72 302.796 null ] +>> +endobj +6618 0 obj +<< +/D [ 2138 0 R /XYZ 72 229.835 null ] +>> +endobj +6619 0 obj +<< +/D [ 2138 0 R /XYZ 72 168.002 null ] +>> +endobj +6620 0 obj +<< +/D [ 2162 0 R /XYZ 72 668.739 null ] +>> +endobj +6621 0 obj +<< +/D [ 2162 0 R /XYZ 72 306.124 null ] +>> +endobj +6622 0 obj +<< +/D [ 625 0 R /XYZ 72 758.402 null ] +>> +endobj +6623 0 obj +<< +/D [ 2168 0 R /XYZ 72 713.944 null ] +>> +endobj +6624 0 obj +<< +/D [ 2168 0 R /XYZ 72 257.591 null ] +>> +endobj +6625 0 obj +<< +/D [ 2168 0 R /XYZ 72 205.81 null ] +>> +endobj +6626 0 obj +<< +/D [ 2175 0 R /XYZ 72 739.125 null ] +>> +endobj +6627 0 obj +<< +/D [ 2175 0 R /XYZ 72 675.389 null ] +>> +endobj +6628 0 obj +<< +/D [ 2175 0 R /XYZ 72 503.837 null ] +>> +endobj +6629 0 obj +<< +/D [ 2175 0 R /XYZ 72 326.527 null ] +>> +endobj +6630 0 obj +<< +/D [ 2182 0 R /XYZ 72 405.013 null ] +>> +endobj +6631 0 obj +<< +/D [ 2182 0 R /XYZ 72 299.434 null ] +>> +endobj +6632 0 obj +<< +/D [ 2182 0 R /XYZ 72 226.472 null ] +>> +endobj +6633 0 obj +<< +/D [ 625 0 R /XYZ 72 612.883 null ] +>> +endobj +6634 0 obj +<< +/D [ 2196 0 R /XYZ 72 758.402 null ] +>> +endobj +6635 0 obj +<< +/D [ 2196 0 R /XYZ 72 651.464 null ] +>> +endobj +6636 0 obj +<< +/D [ 2196 0 R /XYZ 72 565.72 null ] +>> +endobj +6637 0 obj +<< +/D [ 2196 0 R /XYZ 72 478.074 null ] +>> +endobj +6638 0 obj +<< +/D [ 2196 0 R /XYZ 72 389.197 null ] +>> +endobj +6639 0 obj +<< +/D [ 2196 0 R /XYZ 72 241.775 null ] +>> +endobj +6640 0 obj +<< +/D [ 2196 0 R /XYZ 72 191.897 null ] +>> +endobj +6641 0 obj +<< +/D [ 2206 0 R /XYZ 72 760.305 null ] +>> +endobj +6642 0 obj +<< +/D [ 2209 0 R /XYZ 72 695.04 null ] +>> +endobj +6643 0 obj +<< +/D [ 2209 0 R /XYZ 72 589.461 null ] +>> +endobj +6644 0 obj +<< +/D [ 625 0 R /XYZ 72 539.922 null ] +>> +endobj +6645 0 obj +<< +/D [ 2209 0 R /XYZ 72 491.762 null ] +>> +endobj +6646 0 obj +<< +/D [ 2209 0 R /XYZ 72 418.801 null ] +>> +endobj +6647 0 obj +<< +/D [ 2209 0 R /XYZ 72 271.379 null ] +>> +endobj +6648 0 obj +<< +/D [ 2209 0 R /XYZ 72 209.546 null ] +>> +endobj +6649 0 obj +<< +/D [ 2209 0 R /XYZ 72 157.765 null ] +>> +endobj +6650 0 obj +<< +/D [ 2218 0 R /XYZ 72 695.04 null ] +>> +endobj +6651 0 obj +<< +/D [ 2218 0 R /XYZ 72 589.461 null ] +>> +endobj +6652 0 obj +<< +/D [ 2218 0 R /XYZ 72 491.762 null ] +>> +endobj +6653 0 obj +<< +/D [ 2218 0 R /XYZ 72 418.801 null ] +>> +endobj +6654 0 obj +<< +/D [ 2218 0 R /XYZ 72 271.379 null ] +>> +endobj +6655 0 obj +<< +/D [ 625 0 R /XYZ 72 478.089 null ] +>> +endobj +6656 0 obj +<< +/D [ 2218 0 R /XYZ 72 221.501 null ] +>> +endobj +6657 0 obj +<< +/D [ 2218 0 R /XYZ 72 169.72 null ] +>> +endobj +6658 0 obj +<< +/D [ 2227 0 R /XYZ 72 695.04 null ] +>> +endobj +6659 0 obj +<< +/D [ 2227 0 R /XYZ 72 589.461 null ] +>> +endobj +6660 0 obj +<< +/D [ 2227 0 R /XYZ 72 491.762 null ] +>> +endobj +6661 0 obj +<< +/D [ 2227 0 R /XYZ 72 418.801 null ] +>> +endobj +6662 0 obj +<< +/D [ 2227 0 R /XYZ 72 271.379 null ] +>> +endobj +6663 0 obj +<< +/D [ 2227 0 R /XYZ 72 209.546 null ] +>> +endobj +6664 0 obj +<< +/D [ 2227 0 R /XYZ 72 157.765 null ] +>> +endobj +6665 0 obj +<< +/D [ 2239 0 R /XYZ 72 695.04 null ] +>> +endobj +6666 0 obj +<< +/D [ 625 0 R /XYZ 72 391.344 null ] +>> +endobj +6667 0 obj +<< +/D [ 2239 0 R /XYZ 72 589.461 null ] +>> +endobj +6668 0 obj +<< +/D [ 2239 0 R /XYZ 72 491.762 null ] +>> +endobj +6669 0 obj +<< +/D [ 2239 0 R /XYZ 72 402.886 null ] +>> +endobj +6670 0 obj +<< +/D [ 2249 0 R /XYZ 72 558.527 null ] +>> +endobj +6671 0 obj +<< +/D [ 2249 0 R /XYZ 72 508.649 null ] +>> +endobj +6672 0 obj +<< +/D [ 2249 0 R /XYZ 72 456.868 null ] +>> +endobj +6673 0 obj +<< +/D [ 2249 0 R /XYZ 72 369.009 null ] +>> +endobj +6674 0 obj +<< +/D [ 2249 0 R /XYZ 72 251.653 null ] +>> +endobj +6675 0 obj +<< +/D [ 2256 0 R /XYZ 72 727.802 null ] +>> +endobj +6676 0 obj +<< +/D [ 2256 0 R /XYZ 72 654.841 null ] +>> +endobj +6677 0 obj +<< +/D [ 625 0 R /XYZ 72 301.795 null ] +>> +endobj +6678 0 obj +<< +/D [ 2256 0 R /XYZ 72 316.136 null ] +>> +endobj +6679 0 obj +<< +/D [ 2256 0 R /XYZ 72 224.415 null ] +>> +endobj +6680 0 obj +<< +/D [ 2256 0 R /XYZ 72 172.634 null ] +>> +endobj +6681 0 obj +<< +/D [ 2265 0 R /XYZ 72 695.04 null ] +>> +endobj +6682 0 obj +<< +/D [ 2265 0 R /XYZ 72 565.551 null ] +>> +endobj +6683 0 obj +<< +/D [ 2265 0 R /XYZ 72 180.928 null ] +>> +endobj +6684 0 obj +<< +/D [ 2277 0 R /XYZ 72 739.125 null ] +>> +endobj +6685 0 obj +<< +/D [ 2277 0 R /XYZ 72 603.658 null ] +>> +endobj +6686 0 obj +<< +/D [ 2277 0 R /XYZ 72 541.825 null ] +>> +endobj +6687 0 obj +<< +/D [ 2277 0 R /XYZ 72 490.044 null ] +>> +endobj +6688 0 obj +<< +/D [ 647 0 R /XYZ 72 438.975 null ] +>> +endobj +6689 0 obj +<< +/D [ 2277 0 R /XYZ 72 438.263 null ] +>> +endobj +6690 0 obj +<< +/D [ 2277 0 R /XYZ 72 363.962 null ] +>> +endobj +6691 0 obj +<< +/D [ 2277 0 R /XYZ 72 204.585 null ] +>> +endobj +6692 0 obj +<< +/D [ 2287 0 R /XYZ 72 760.305 null ] +>> +endobj +6693 0 obj +<< +/D [ 2287 0 R /XYZ 72 671.429 null ] +>> +endobj +6694 0 obj +<< +/D [ 2287 0 R /XYZ 72 476.186 null ] +>> +endobj +6695 0 obj +<< +/D [ 2287 0 R /XYZ 72 372.51 null ] +>> +endobj +6696 0 obj +<< +/D [ 2287 0 R /XYZ 72 278.886 null ] +>> +endobj +6697 0 obj +<< +/D [ 2287 0 R /XYZ 72 225.202 null ] +>> +endobj +6698 0 obj +<< +/D [ 2299 0 R /XYZ 72 725.899 null ] +>> +endobj +6699 0 obj +<< +/D [ 647 0 R /XYZ 72 233.68 null ] +>> +endobj +6700 0 obj +<< +/D [ 2299 0 R /XYZ 72 628.201 null ] +>> +endobj +6701 0 obj +<< +/D [ 2299 0 R /XYZ 72 555.239 null ] +>> +endobj +6702 0 obj +<< +/D [ 2299 0 R /XYZ 72 419.772 null ] +>> +endobj +6703 0 obj +<< +/D [ 2299 0 R /XYZ 72 357.939 null ] +>> +endobj +6704 0 obj +<< +/D [ 2299 0 R /XYZ 72 306.159 null ] +>> +endobj +6705 0 obj +<< +/D [ 2299 0 R /XYZ 72 217.511 null ] +>> +endobj +6706 0 obj +<< +/D [ 2312 0 R /XYZ 72 516.684 null ] +>> +endobj +6707 0 obj +<< +/D [ 2312 0 R /XYZ 72 323.344 null ] +>> +endobj +6708 0 obj +<< +/D [ 2312 0 R /XYZ 72 250.383 null ] +>> +endobj +6709 0 obj +<< +/D [ 2324 0 R /XYZ 72 355.289 null ] +>> +endobj +6710 0 obj +<< +/D [ 273 0 R /XYZ 72 357.685 null ] +>> +endobj +6711 0 obj +<< +/D [ 647 0 R /XYZ 72 160.719 null ] +>> +endobj +6712 0 obj +<< +/D [ 2324 0 R /XYZ 72 293.456 null ] +>> +endobj +6713 0 obj +<< +/D [ 2324 0 R /XYZ 72 241.675 null ] +>> +endobj +6714 0 obj +<< +/D [ 2324 0 R /XYZ 72 189.895 null ] +>> +endobj +6715 0 obj +<< +/D [ 2332 0 R /XYZ 72 758.402 null ] +>> +endobj +6716 0 obj +<< +/D [ 2332 0 R /XYZ 72 258.303 null ] +>> +endobj +6717 0 obj +<< +/D [ 2340 0 R /XYZ 72 345.237 null ] +>> +endobj +6718 0 obj +<< +/D [ 2340 0 R /XYZ 72 272.275 null ] +>> +endobj +6719 0 obj +<< +/D [ 2351 0 R /XYZ 72 606.348 null ] +>> +endobj +6720 0 obj +<< +/D [ 2351 0 R /XYZ 72 556.47 null ] +>> +endobj +6721 0 obj +<< +/D [ 2351 0 R /XYZ 72 504.689 null ] +>> +endobj +6722 0 obj +<< +/D [ 670 0 R /XYZ 72 606.348 null ] +>> +endobj +6723 0 obj +<< +/D [ 2351 0 R /XYZ 72 452.908 null ] +>> +endobj +6724 0 obj +<< +/D [ 2351 0 R /XYZ 72 364.261 null ] +>> +endobj +6725 0 obj +<< +/D [ 2360 0 R /XYZ 72 660.146 null ] +>> +endobj +6726 0 obj +<< +/D [ 2360 0 R /XYZ 72 407.03 null ] +>> +endobj +6727 0 obj +<< +/D [ 2360 0 R /XYZ 72 334.069 null ] +>> +endobj +6728 0 obj +<< +/D [ 2369 0 R /XYZ 72 666.123 null ] +>> +endobj +6729 0 obj +<< +/D [ 2369 0 R /XYZ 72 616.246 null ] +>> +endobj +6730 0 obj +<< +/D [ 2369 0 R /XYZ 72 564.465 null ] +>> +endobj +6731 0 obj +<< +/D [ 2369 0 R /XYZ 72 490.164 null ] +>> +endobj +6732 0 obj +<< +/D [ 2369 0 R /XYZ 72 384.584 null ] +>> +endobj +6733 0 obj +<< +/D [ 670 0 R /XYZ 72 520.604 null ] +>> +endobj +6734 0 obj +<< +/D [ 2369 0 R /XYZ 72 286.886 null ] +>> +endobj +6735 0 obj +<< +/D [ 2369 0 R /XYZ 72 213.925 null ] +>> +endobj +6736 0 obj +<< +/D [ 2380 0 R /XYZ 72 701.989 null ] +>> +endobj +6737 0 obj +<< +/D [ 2380 0 R /XYZ 72 640.156 null ] +>> +endobj +6738 0 obj +<< +/D [ 2380 0 R /XYZ 72 588.375 null ] +>> +endobj +6739 0 obj +<< +/D [ 2380 0 R /XYZ 72 514.074 null ] +>> +endobj +6740 0 obj +<< +/D [ 2380 0 R /XYZ 72 265.033 null ] +>> +endobj +6741 0 obj +<< +/D [ 2390 0 R /XYZ 72 632.161 null ] +>> +endobj +6742 0 obj +<< +/D [ 2390 0 R /XYZ 72 543.284 null ] +>> +endobj +6743 0 obj +<< +/D [ 2390 0 R /XYZ 72 371.952 null ] +>> +endobj +6744 0 obj +<< +/D [ 670 0 R /XYZ 72 468.824 null ] +>> +endobj +6745 0 obj +<< +/D [ 2390 0 R /XYZ 72 322.074 null ] +>> +endobj +6746 0 obj +<< +/D [ 2390 0 R /XYZ 72 258.338 null ] +>> +endobj +6747 0 obj +<< +/D [ 2390 0 R /XYZ 72 206.557 null ] +>> +endobj +6748 0 obj +<< +/D [ 2400 0 R /XYZ 72 701.989 null ] +>> +endobj +6749 0 obj +<< +/D [ 2400 0 R /XYZ 72 446.97 null ] +>> +endobj +6750 0 obj +<< +/D [ 2400 0 R /XYZ 72 395.19 null ] +>> +endobj +6751 0 obj +<< +/D [ 2400 0 R /XYZ 72 321.401 null ] +>> +endobj +6752 0 obj +<< +/D [ 2400 0 R /XYZ 72 248.44 null ] +>> +endobj +6753 0 obj +<< +/D [ 2415 0 R /XYZ 72 701.989 null ] +>> +endobj +6754 0 obj +<< +/D [ 2415 0 R /XYZ 72 652.111 null ] +>> +endobj +6755 0 obj +<< +/D [ 670 0 R /XYZ 72 415.14 null ] +>> +endobj +6756 0 obj +<< +/D [ 2415 0 R /XYZ 72 588.375 null ] +>> +endobj +6757 0 obj +<< +/D [ 2415 0 R /XYZ 72 536.594 null ] +>> +endobj +6758 0 obj +<< +/D [ 2415 0 R /XYZ 72 410.231 null ] +>> +endobj +6759 0 obj +<< +/D [ 2415 0 R /XYZ 72 156.011 null ] +>> +endobj +6760 0 obj +<< +/D [ 2426 0 R /XYZ 72 758.402 null ] +>> +endobj +6761 0 obj +<< +/D [ 2426 0 R /XYZ 72 684.614 null ] +>> +endobj +6762 0 obj +<< +/D [ 2426 0 R /XYZ 72 611.653 null ] +>> +endobj +6763 0 obj +<< +/D [ 2426 0 R /XYZ 72 440.32 null ] +>> +endobj +6764 0 obj +<< +/D [ 2426 0 R /XYZ 72 390.442 null ] +>> +endobj +6765 0 obj +<< +/D [ 2426 0 R /XYZ 72 326.707 null ] +>> +endobj +6766 0 obj +<< +/D [ 670 0 R /XYZ 72 171.912 null ] +>> +endobj +6767 0 obj +<< +/D [ 2426 0 R /XYZ 72 274.926 null ] +>> +endobj +6768 0 obj +<< +/D [ 2440 0 R /XYZ 72 758.402 null ] +>> +endobj +6769 0 obj +<< +/D [ 2440 0 R /XYZ 72 503.384 null ] +>> +endobj +6770 0 obj +<< +/D [ 2440 0 R /XYZ 72 451.603 null ] +>> +endobj +6771 0 obj +<< +/D [ 2440 0 R /XYZ 72 377.815 null ] +>> +endobj +6772 0 obj +<< +/D [ 2440 0 R /XYZ 72 304.853 null ] +>> +endobj +6773 0 obj +<< +/D [ 2452 0 R /XYZ 72 758.402 null ] +>> +endobj +6774 0 obj +<< +/D [ 2452 0 R /XYZ 72 708.525 null ] +>> +endobj +6775 0 obj +<< +/D [ 2452 0 R /XYZ 72 644.789 null ] +>> +endobj +6776 0 obj +<< +/D [ 2452 0 R /XYZ 72 593.008 null ] +>> +endobj +6777 0 obj +<< +/D [ 687 0 R /XYZ 72 524.564 null ] +>> +endobj +6778 0 obj +<< +/D [ 2452 0 R /XYZ 72 462.293 null ] +>> +endobj +6779 0 obj +<< +/D [ 2452 0 R /XYZ 72 171.409 null ] +>> +endobj +6780 0 obj +<< +/D [ 2463 0 R /XYZ 72 758.402 null ] +>> +endobj +6781 0 obj +<< +/D [ 2463 0 R /XYZ 72 684.614 null ] +>> +endobj +6782 0 obj +<< +/D [ 2463 0 R /XYZ 72 611.653 null ] +>> +endobj +6783 0 obj +<< +/D [ 2463 0 R /XYZ 72 476.186 null ] +>> +endobj +6784 0 obj +<< +/D [ 2463 0 R /XYZ 72 426.308 null ] +>> +endobj +6785 0 obj +<< +/D [ 2463 0 R /XYZ 72 362.572 null ] +>> +endobj +6786 0 obj +<< +/D [ 2463 0 R /XYZ 72 310.791 null ] +>> +endobj +6787 0 obj +<< +/D [ 2463 0 R /XYZ 72 180.077 null ] +>> +endobj +6788 0 obj +<< +/D [ 687 0 R /XYZ 72 451.603 null ] +>> +endobj +6789 0 obj +<< +/D [ 2478 0 R /XYZ 72 546.572 null ] +>> +endobj +6790 0 obj +<< +/D [ 2478 0 R /XYZ 72 494.791 null ] +>> +endobj +6791 0 obj +<< +/D [ 2478 0 R /XYZ 72 421.003 null ] +>> +endobj +6792 0 obj +<< +/D [ 2478 0 R /XYZ 72 348.041 null ] +>> +endobj +6793 0 obj +<< +/D [ 2478 0 R /XYZ 72 224.53 null ] +>> +endobj +6794 0 obj +<< +/D [ 2478 0 R /XYZ 72 174.652 null ] +>> +endobj +6795 0 obj +<< +/D [ 2489 0 R /XYZ 72 760.305 null ] +>> +endobj +6796 0 obj +<< +/D [ 2489 0 R /XYZ 72 708.525 null ] +>> +endobj +6797 0 obj +<< +/D [ 2489 0 R /XYZ 72 577.81 null ] +>> +endobj +6798 0 obj +<< +/D [ 2489 0 R /XYZ 72 382.567 null ] +>> +endobj +6799 0 obj +<< +/D [ 687 0 R /XYZ 72 389.77 null ] +>> +endobj +6800 0 obj +<< +/D [ 2489 0 R /XYZ 72 330.786 null ] +>> +endobj +6801 0 obj +<< +/D [ 2489 0 R /XYZ 72 256.998 null ] +>> +endobj +6802 0 obj +<< +/D [ 2489 0 R /XYZ 72 168.121 null ] +>> +endobj +6803 0 obj +<< +/D [ 2506 0 R /XYZ 72 666.123 null ] +>> +endobj +6804 0 obj +<< +/D [ 2506 0 R /XYZ 72 616.246 null ] +>> +endobj +6805 0 obj +<< +/D [ 2506 0 R /XYZ 72 552.51 null ] +>> +endobj +6806 0 obj +<< +/D [ 2506 0 R /XYZ 72 500.729 null ] +>> +endobj +6807 0 obj +<< +/D [ 2506 0 R /XYZ 72 370.014 null ] +>> +endobj +6808 0 obj +<< +/D [ 2506 0 R /XYZ 72 174.771 null ] +>> +endobj +6809 0 obj +<< +/D [ 2518 0 R /XYZ 72 758.402 null ] +>> +endobj +6810 0 obj +<< +/D [ 687 0 R /XYZ 72 303.025 null ] +>> +endobj +6811 0 obj +<< +/D [ 2518 0 R /XYZ 72 684.614 null ] +>> +endobj +6812 0 obj +<< +/D [ 2518 0 R /XYZ 72 611.653 null ] +>> +endobj +6813 0 obj +<< +/D [ 2518 0 R /XYZ 72 476.186 null ] +>> +endobj +6814 0 obj +<< +/D [ 2518 0 R /XYZ 72 426.308 null ] +>> +endobj +6815 0 obj +<< +/D [ 2518 0 R /XYZ 72 362.572 null ] +>> +endobj +6816 0 obj +<< +/D [ 2518 0 R /XYZ 72 310.791 null ] +>> +endobj +6817 0 obj +<< +/D [ 2518 0 R /XYZ 72 180.077 null ] +>> +endobj +6818 0 obj +<< +/D [ 2534 0 R /XYZ 72 618.303 null ] +>> +endobj +6819 0 obj +<< +/D [ 2534 0 R /XYZ 72 566.522 null ] +>> +endobj +6820 0 obj +<< +/D [ 2534 0 R /XYZ 72 492.734 null ] +>> +endobj +6821 0 obj +<< +/D [ 249 0 R /XYZ 72 525.76 null ] +>> +endobj +6822 0 obj +<< +/D [ 499 0 R /XYZ 72 729.127 null ] +>> +endobj +6823 0 obj +<< +/D [ 755 0 R /XYZ 72 491.762 null ] +>> +endobj +6824 0 obj +<< +/D [ 866 0 R /XYZ 72 291.743 null ] +>> +endobj +6825 0 obj +<< +/D [ 1248 0 R /XYZ 72 591.513 null ] +>> +endobj +6826 0 obj +<< +/D [ 1291 0 R /XYZ 72 420.908 null ] +>> +endobj +6827 0 obj +<< +/D [ 1391 0 R /XYZ 72 430.119 null ] +>> +endobj +6828 0 obj +<< +/D [ 1427 0 R /XYZ 72 597.023 null ] +>> +endobj +6829 0 obj +<< +/D [ 1464 0 R /XYZ 72 202.737 null ] +>> +endobj +6830 0 obj +<< +/D [ 1541 0 R /XYZ 72 648.749 null ] +>> +endobj +6831 0 obj +<< +/D [ 1676 0 R /XYZ 72 557.197 null ] +>> +endobj +6832 0 obj +<< +/D [ 2080 0 R /XYZ 72 394.253 null ] +>> +endobj +6833 0 obj +<< +/D [ 2747 0 R /XYZ 72 494.612 null ] +>> +endobj +6834 0 obj +<< +/D [ 2196 0 R /XYZ 72 446.841 null ] +>> +endobj +6835 0 obj +<< +/D [ 2239 0 R /XYZ 72 460.584 null ] +>> +endobj +6836 0 obj +<< +/D [ 2287 0 R /XYZ 72 729.072 null ] +>> +endobj +6837 0 obj +<< +/D [ 2390 0 R /XYZ 72 600.928 null ] +>> +endobj +6838 0 obj +<< +/D [ 2489 0 R /XYZ 72 225.765 null ] +>> +endobj +6839 0 obj +<< +/D [ 2604 0 R /XYZ 72 349.944 null ] +>> +endobj +6840 0 obj +<< +/D [ 2647 0 R /XYZ 72 729.127 null ] +>> +endobj +6841 0 obj +<< +/D [ 2747 0 R /XYZ 72 771.732 null ] +>> +endobj +6842 0 obj +<< +/D [ 2850 0 R /XYZ 72 653.476 null ] +>> +endobj +6843 0 obj +<< +/D [ 2864 0 R /XYZ 72 678.637 null ] +>> +endobj +6844 0 obj +<< +/D [ 2926 0 R /XYZ 72 405.372 null ] +>> +endobj +6845 0 obj +<< +/D [ 2959 0 R /XYZ 72 579.558 null ] +>> +endobj +6846 0 obj +<< +/D [ 2992 0 R /XYZ 72 649.521 null ] +>> +endobj +6847 0 obj +<< +/D [ 3020 0 R /XYZ 72 343.319 null ] +>> +endobj +6848 0 obj +<< +/D [ 3077 0 R /XYZ 72 396.503 null ] +>> +endobj +6849 0 obj +<< +/D [ 3108 0 R /XYZ 72 653.476 null ] +>> +endobj +6850 0 obj +<< +/D [ 3108 0 R /XYZ 72 213.471 null ] +>> +endobj +6851 0 obj +<< +/D [ 273 0 R /XYZ 72 390.706 null ] +>> +endobj +6852 0 obj +<< +/D [ 1203 0 R /XYZ 72 189.328 null ] +>> +endobj +6853 0 obj +<< +/D [ 1203 0 R /XYZ 72 470.183 null ] +>> +endobj +6854 0 obj +<< +/D [ 1203 0 R /XYZ 72 282.548 null ] +>> +endobj +6855 0 obj +<< +/D [ 1203 0 R /XYZ 72 417.566 null ] +>> +endobj +6856 0 obj +<< +/D [ 1203 0 R /XYZ 72 365.785 null ] +>> +endobj +6857 0 obj +<< +/D [ 1203 0 R /XYZ 72 140.001 null ] +>> +endobj +6858 0 obj +<< +/D [ 1203 0 R /XYZ 72 578.477 null ] +>> +endobj +6859 0 obj +<< +/D [ 1203 0 R /XYZ 72 612.136 null ] +>> +endobj +6860 0 obj +<< +/D [ 222 0 R /XYZ 72 468.838 null ] +>> +endobj +6861 0 obj +<< +/D [ 572 0 R /XYZ 72 278.866 null ] +>> +endobj +6862 0 obj +<< +/D [ 729 0 R /XYZ 72 512.535 null ] +>> +endobj +6863 0 obj +<< +/D [ 572 0 R /XYZ 72 247.055 null ] +>> +endobj +6864 0 obj +<< +/D [ 598 0 R /XYZ 72 148.923 null ] +>> +endobj +6865 0 obj +<< +/D [ 598 0 R /XYZ 72 641.107 null ] +>> +endobj +6866 0 obj +<< +/D [ 572 0 R /XYZ 72 195.852 null ] +>> +endobj +6867 0 obj +<< +/D [ 598 0 R /XYZ 72 716.34 null ] +>> +endobj +6868 0 obj +<< +/D [ 625 0 R /XYZ 72 644.639 null ] +>> +endobj +6869 0 obj +<< +/D [ 2720 0 R /XYZ 72 723.693 null ] +>> +endobj +6870 0 obj +<< +/D [ 2708 0 R /XYZ 72 638.153 null ] +>> +endobj +6871 0 obj +<< +/D [ 2720 0 R /XYZ 72 674.024 null ] +>> +endobj +6872 0 obj +<< +/D [ 2708 0 R /XYZ 72 326.916 null ] +>> +endobj +6873 0 obj +<< +/D [ 2708 0 R /XYZ 72 585.591 null ] +>> +endobj +6874 0 obj +<< +/D [ 2692 0 R /XYZ 72 137.944 null ] +>> +endobj +6875 0 obj +<< +/D [ 2708 0 R /XYZ 72 521.8 null ] +>> +endobj +6876 0 obj +<< +/D [ 2708 0 R /XYZ 72 472.131 null ] +>> +endobj +6877 0 obj +<< +/D [ 2720 0 R /XYZ 72 460.754 null ] +>> +endobj +6878 0 obj +<< +/D [ 2720 0 R /XYZ 72 513.371 null ] +>> +endobj +6879 0 obj +<< +/D [ 2708 0 R /XYZ 72 759.145 null ] +>> +endobj +6880 0 obj +<< +/D [ 825 0 R /XYZ 72 586.373 null ] +>> +endobj +6881 0 obj +<< +/D [ 825 0 R /XYZ 72 208.779 null ] +>> +endobj +6882 0 obj +<< +/D [ 825 0 R /XYZ 72 345.436 null ] +>> +endobj +6883 0 obj +<< +/D [ 825 0 R /XYZ 72 533.81 null ] +>> +endobj +6884 0 obj +<< +/D [ 825 0 R /XYZ 72 481.974 null ] +>> +endobj +6885 0 obj +<< +/D [ 825 0 R /XYZ 72 430.248 null ] +>> +endobj +6886 0 obj +<< +/D [ 838 0 R /XYZ 72 700.619 null ] +>> +endobj +6887 0 obj +<< +/D [ 825 0 R /XYZ 72 706.622 null ] +>> +endobj +6888 0 obj +<< +/D [ 825 0 R /XYZ 72 740.28 null ] +>> +endobj +6889 0 obj +<< +/D [ 1214 0 R /XYZ 72 740.335 null ] +>> +endobj +6890 0 obj +<< +/D [ 1214 0 R /XYZ 72 218.443 null ] +>> +endobj +6891 0 obj +<< +/D [ 1214 0 R /XYZ 72 598.328 null ] +>> +endobj +6892 0 obj +<< +/D [ 1223 0 R /XYZ 72 747.658 null ] +>> +endobj +6893 0 obj +<< +/D [ 1214 0 R /XYZ 72 345.436 null ] +>> +endobj +6894 0 obj +<< +/D [ 1214 0 R /XYZ 72 533.755 null ] +>> +endobj +6895 0 obj +<< +/D [ 1214 0 R /XYZ 72 481.974 null ] +>> +endobj +6896 0 obj +<< +/D [ 1214 0 R /XYZ 72 430.248 null ] +>> +endobj +6897 0 obj +<< +/D [ 1223 0 R /XYZ 72 624.928 null ] +>> +endobj +6898 0 obj +<< +/D [ 1214 0 R /XYZ 72 708.525 null ] +>> +endobj +6899 0 obj +<< +/D [ 2900 0 R /XYZ 72 541.227 null ] +>> +endobj +6900 0 obj +<< +/D [ 2832 0 R /XYZ 72 247.638 null ] +>> +endobj +6901 0 obj +<< +/D [ 2841 0 R /XYZ 72 354.9 null ] +>> +endobj +6902 0 obj +<< +/D [ 2841 0 R /XYZ 72 736.485 null ] +>> +endobj +6903 0 obj +<< +/D [ 2841 0 R /XYZ 72 305.319 null ] +>> +endobj +6904 0 obj +<< +/D [ 2841 0 R /XYZ 72 483.985 null ] +>> +endobj +6905 0 obj +<< +/D [ 2841 0 R /XYZ 72 673.177 null ] +>> +endobj +6906 0 obj +<< +/D [ 2841 0 R /XYZ 72 620.131 null ] +>> +endobj +6907 0 obj +<< +/D [ 2841 0 R /XYZ 72 570.462 null ] +>> +endobj +6908 0 obj +<< +/D [ 2841 0 R /XYZ 72 191.739 null ] +>> +endobj +6909 0 obj +<< +/D [ 2832 0 R /XYZ 72 214.667 null ] +>> +endobj +6910 0 obj +<< +/D [ 1856 0 R /XYZ 72 412.933 null ] +>> +endobj +6911 0 obj +<< +/D [ 1865 0 R /XYZ 72 170.995 null ] +>> +endobj +6912 0 obj +<< +/D [ 1856 0 R /XYZ 72 247.07 null ] +>> +endobj +6913 0 obj +<< +/D [ 1876 0 R /XYZ 72 740.335 null ] +>> +endobj +6914 0 obj +<< +/D [ 1865 0 R /XYZ 72 575.05 null ] +>> +endobj +6915 0 obj +<< +/D [ 1856 0 R /XYZ 72 152.664 null ] +>> +endobj +6916 0 obj +<< +/D [ 1865 0 R /XYZ 72 740.28 null ] +>> +endobj +6917 0 obj +<< +/D [ 1865 0 R /XYZ 72 688.554 null ] +>> +endobj +6918 0 obj +<< +/D [ 1876 0 R /XYZ 72 640.679 null ] +>> +endobj +6919 0 obj +<< +/D [ 1856 0 R /XYZ 72 381.177 null ] +>> +endobj +6920 0 obj +<< +/D [ 1856 0 R /XYZ 72 699.782 null ] +>> +endobj +6921 0 obj +<< +/D [ 1844 0 R /XYZ 72 664.754 null ] +>> +endobj +6922 0 obj +<< +/D [ 1856 0 R /XYZ 72 636.046 null ] +>> +endobj +6923 0 obj +<< +/D [ 1844 0 R /XYZ 72 341.327 null ] +>> +endobj +6924 0 obj +<< +/D [ 1844 0 R /XYZ 72 558.393 null ] +>> +endobj +6925 0 obj +<< +/D [ 1844 0 R /XYZ 72 506.557 null ] +>> +endobj +6926 0 obj +<< +/D [ 1844 0 R /XYZ 72 454.831 null ] +>> +endobj +6927 0 obj +<< +/D [ 1827 0 R /XYZ 72 210.896 null ] +>> +endobj +6928 0 obj +<< +/D [ 1856 0 R /XYZ 72 464.714 null ] +>> +endobj +6929 0 obj +<< +/D [ 1827 0 R /XYZ 72 177.237 null ] +>> +endobj +6930 0 obj +<< +/D [ 249 0 R /XYZ 72 462.024 null ] +>> +endobj +6931 0 obj +<< +/D [ 482 0 R /XYZ 72 725.765 null ] +>> +endobj +6932 0 obj +<< +/D [ 273 0 R /XYZ 72 323.09 null ] +>> +endobj +6933 0 obj +<< +/D [ 302 0 R /XYZ 72 480.689 null ] +>> +endobj +6934 0 obj +<< +/D [ 327 0 R /XYZ 72 577.665 null ] +>> +endobj +6935 0 obj +<< +/D [ 353 0 R /XYZ 72 655.997 null ] +>> +endobj +6936 0 obj +<< +/D [ 384 0 R /XYZ 72 771.732 null ] +>> +endobj +6937 0 obj +<< +/D [ 384 0 R /XYZ 72 263.952 null ] +>> +endobj +6938 0 obj +<< +/D [ 436 0 R /XYZ 72 771.732 null ] +>> +endobj +6939 0 obj +<< +/D [ 463 0 R /XYZ 72 771.732 null ] +>> +endobj +6940 0 obj +<< +/D [ 499 0 R /XYZ 72 665.391 null ] +>> +endobj +6941 0 obj +<< +/D [ 523 0 R /XYZ 72 309.127 null ] +>> +endobj +6942 0 obj +<< +/D [ 572 0 R /XYZ 72 725.765 null ] +>> +endobj +6943 0 obj +<< +/D [ 572 0 R /XYZ 72 264.296 null ] +>> +endobj +6944 0 obj +<< +/D [ 625 0 R /XYZ 72 578.288 null ] +>> +endobj +6945 0 obj +<< +/D [ 647 0 R /XYZ 72 199.14 null ] +>> +endobj +6946 0 obj +<< +/D [ 687 0 R /XYZ 72 490.024 null ] +>> +endobj +6947 0 obj +<< +/D [ 705 0 R /XYZ 72 486.009 null ] +>> +endobj +6948 0 obj +<< +/D [ 729 0 R /XYZ 72 497.964 null ] +>> +endobj +6949 0 obj +<< +/D [ 755 0 R /XYZ 72 392.216 null ] +>> +endobj +6950 0 obj +<< +/D [ 771 0 R /XYZ 72 415.105 null ] +>> +endobj +6951 0 obj +<< +/D [ 782 0 R /XYZ 72 282.612 null ] +>> +endobj +6952 0 obj +<< +/D [ 800 0 R /XYZ 72 194.377 null ] +>> +endobj +6953 0 obj +<< +/D [ 825 0 R /XYZ 72 725.71 null ] +>> +endobj +6954 0 obj +<< +/D [ 838 0 R /XYZ 72 633.431 null ] +>> +endobj +6955 0 obj +<< +/D [ 854 0 R /XYZ 72 484.745 null ] +>> +endobj +6956 0 obj +<< +/D [ 893 0 R /XYZ 72 771.732 null ] +>> +endobj +6957 0 obj +<< +/D [ 1032 0 R /XYZ 72 300.335 null ] +>> +endobj +6958 0 obj +<< +/D [ 1056 0 R /XYZ 72 771.732 null ] +>> +endobj +6959 0 obj +<< +/D [ 1064 0 R /XYZ 72 725.71 null ] +>> +endobj +6960 0 obj +<< +/D [ 1091 0 R /XYZ 72 633.431 null ] +>> +endobj +6961 0 obj +<< +/D [ 1108 0 R /XYZ 72 320.654 null ] +>> +endobj +6962 0 obj +<< +/D [ 1120 0 R /XYZ 72 260.883 null ] +>> +endobj +6963 0 obj +<< +/D [ 1144 0 R /XYZ 72 771.732 null ] +>> +endobj +6964 0 obj +<< +/D [ 1153 0 R /XYZ 72 725.71 null ] +>> +endobj +6965 0 obj +<< +/D [ 1164 0 R /XYZ 72 518.512 null ] +>> +endobj +6966 0 obj +<< +/D [ 1174 0 R /XYZ 72 325.287 null ] +>> +endobj +6967 0 obj +<< +/D [ 918 0 R /XYZ 72 771.732 null ] +>> +endobj +6968 0 obj +<< +/D [ 1196 0 R /XYZ 72 771.732 null ] +>> +endobj +6969 0 obj +<< +/D [ 1203 0 R /XYZ 72 597.566 null ] +>> +endobj +6970 0 obj +<< +/D [ 1214 0 R /XYZ 72 725.765 null ] +>> +endobj +6971 0 obj +<< +/D [ 1223 0 R /XYZ 72 557.74 null ] +>> +endobj +6972 0 obj +<< +/D [ 924 0 R /XYZ 72 693.262 null ] +>> +endobj +6973 0 obj +<< +/D [ 935 0 R /XYZ 72 602.198 null ] +>> +endobj +6974 0 obj +<< +/D [ 949 0 R /XYZ 72 476.071 null ] +>> +endobj +6975 0 obj +<< +/D [ 961 0 R /XYZ 72 383.867 null ] +>> +endobj +6976 0 obj +<< +/D [ 978 0 R /XYZ 72 326.637 null ] +>> +endobj +6977 0 obj +<< +/D [ 992 0 R /XYZ 72 262.901 null ] +>> +endobj +6978 0 obj +<< +/D [ 1020 0 R /XYZ 72 421.272 null ] +>> +endobj +6979 0 obj +<< +/D [ 1248 0 R /XYZ 72 473.979 null ] +>> +endobj +6980 0 obj +<< +/D [ 1262 0 R /XYZ 72 299.414 null ] +>> +endobj +6981 0 obj +<< +/D [ 1275 0 R /XYZ 72 339.095 null ] +>> +endobj +6982 0 obj +<< +/D [ 1291 0 R /XYZ 72 403.668 null ] +>> +endobj +6983 0 obj +<< +/D [ 1317 0 R /XYZ 72 725.765 null ] +>> +endobj +6984 0 obj +<< +/D [ 1329 0 R /XYZ 72 574.328 null ] +>> +endobj +6985 0 obj +<< +/D [ 1343 0 R /XYZ 72 494.004 null ] +>> +endobj +6986 0 obj +<< +/D [ 1354 0 R /XYZ 72 420.928 null ] +>> +endobj +6987 0 obj +<< +/D [ 1364 0 R /XYZ 72 383.867 null ] +>> +endobj +6988 0 obj +<< +/D [ 1391 0 R /XYZ 72 410.975 null ] +>> +endobj +6989 0 obj +<< +/D [ 1405 0 R /XYZ 72 449.87 null ] +>> +endobj +6990 0 obj +<< +/D [ 1427 0 R /XYZ 72 579.782 null ] +>> +endobj +6991 0 obj +<< +/D [ 1439 0 R /XYZ 72 498.786 null ] +>> +endobj +6992 0 obj +<< +/D [ 1450 0 R /XYZ 72 388.485 null ] +>> +endobj +6993 0 obj +<< +/D [ 1477 0 R /XYZ 72 771.732 null ] +>> +endobj +6994 0 obj +<< +/D [ 1484 0 R /XYZ 72 645.386 null ] +>> +endobj +6995 0 obj +<< +/D [ 1498 0 R /XYZ 72 416.296 null ] +>> +endobj +6996 0 obj +<< +/D [ 1514 0 R /XYZ 72 645.441 null ] +>> +endobj +6997 0 obj +<< +/D [ 1533 0 R /XYZ 72 771.732 null ] +>> +endobj +6998 0 obj +<< +/D [ 1541 0 R /XYZ 72 629.66 null ] +>> +endobj +6999 0 obj +<< +/D [ 1662 0 R /XYZ 72 614.153 null ] +>> +endobj +7000 0 obj +<< +/D [ 1554 0 R /XYZ 72 574.383 null ] +>> +endobj +7001 0 obj +<< +/D [ 1567 0 R /XYZ 72 523.947 null ] +>> +endobj +7002 0 obj +<< +/D [ 1577 0 R /XYZ 72 488.081 null ] +>> +endobj +7003 0 obj +<< +/D [ 1587 0 R /XYZ 72 462.826 null ] +>> +endobj +7004 0 obj +<< +/D [ 1600 0 R /XYZ 72 391.095 null ] +>> +endobj +7005 0 obj +<< +/D [ 1611 0 R /XYZ 72 226.213 null ] +>> +endobj +7006 0 obj +<< +/D [ 1636 0 R /XYZ 72 725.765 null ] +>> +endobj +7007 0 obj +<< +/D [ 1649 0 R /XYZ 72 657.341 null ] +>> +endobj +7008 0 obj +<< +/D [ 1676 0 R /XYZ 72 393.9 null ] +>> +endobj +7009 0 obj +<< +/D [ 1827 0 R /XYZ 72 196.326 null ] +>> +endobj +7010 0 obj +<< +/D [ 1856 0 R /XYZ 72 398.363 null ] +>> +endobj +7011 0 obj +<< +/D [ 1876 0 R /XYZ 72 574.328 null ] +>> +endobj +7012 0 obj +<< +/D [ 1887 0 R /XYZ 72 517.914 null ] +>> +endobj +7013 0 obj +<< +/D [ 1896 0 R /XYZ 72 333.655 null ] +>> +endobj +7014 0 obj +<< +/D [ 1920 0 R /XYZ 72 590.243 null ] +>> +endobj +7015 0 obj +<< +/D [ 1941 0 R /XYZ 72 574.328 null ] +>> +endobj +7016 0 obj +<< +/D [ 1951 0 R /XYZ 72 355.175 null ] +>> +endobj +7017 0 obj +<< +/D [ 1975 0 R /XYZ 72 669.297 null ] +>> +endobj +7018 0 obj +<< +/D [ 1990 0 R /XYZ 72 488.027 null ] +>> +endobj +7019 0 obj +<< +/D [ 1685 0 R /XYZ 72 206.712 null ] +>> +endobj +7020 0 obj +<< +/D [ 2002 0 R /XYZ 72 212.241 null ] +>> +endobj +7021 0 obj +<< +/D [ 2029 0 R /XYZ 72 434.228 null ] +>> +endobj +7022 0 obj +<< +/D [ 2056 0 R /XYZ 72 771.732 null ] +>> +endobj +7023 0 obj +<< +/D [ 1710 0 R /XYZ 72 494.004 null ] +>> +endobj +7024 0 obj +<< +/D [ 1731 0 R /XYZ 72 458.139 null ] +>> +endobj +7025 0 obj +<< +/D [ 1739 0 R /XYZ 72 266.109 null ] +>> +endobj +7026 0 obj +<< +/D [ 1765 0 R /XYZ 72 693.207 null ] +>> +endobj +7027 0 obj +<< +/D [ 1780 0 R /XYZ 72 535.847 null ] +>> +endobj +7028 0 obj +<< +/D [ 1790 0 R /XYZ 72 235.623 null ] +>> +endobj +7029 0 obj +<< +/D [ 1817 0 R /XYZ 72 458.139 null ] +>> +endobj +7030 0 obj +<< +/D [ 2080 0 R /XYZ 72 375.11 null ] +>> +endobj +7031 0 obj +<< +/D [ 2095 0 R /XYZ 72 299.932 null ] +>> +endobj +7032 0 obj +<< +/D [ 2115 0 R /XYZ 72 326.632 null ] +>> +endobj +7033 0 obj +<< +/D [ 2138 0 R /XYZ 72 620.131 null ] +>> +endobj +7034 0 obj +<< +/D [ 2138 0 R /XYZ 72 268.201 null ] +>> +endobj +7035 0 obj +<< +/D [ 2175 0 R /XYZ 72 771.732 null ] +>> +endobj +7036 0 obj +<< +/D [ 2182 0 R /XYZ 72 264.893 null ] +>> +endobj +7037 0 obj +<< +/D [ 2747 0 R /XYZ 72 476.654 null ] +>> +endobj +7038 0 obj +<< +/D [ 2757 0 R /XYZ 72 435.648 null ] +>> +endobj +7039 0 obj +<< +/D [ 2766 0 R /XYZ 72 378.418 null ] +>> +endobj +7040 0 obj +<< +/D [ 2789 0 R /XYZ 72 771.732 null ] +>> +endobj +7041 0 obj +<< +/D [ 2798 0 R /XYZ 72 305.062 null ] +>> +endobj +7042 0 obj +<< +/D [ 2815 0 R /XYZ 72 431.478 null ] +>> +endobj +7043 0 obj +<< +/D [ 2824 0 R /XYZ 72 336.629 null ] +>> +endobj +7044 0 obj +<< +/D [ 2832 0 R /XYZ 72 233.068 null ] +>> +endobj +7045 0 obj +<< +/D [ 2196 0 R /XYZ 72 427.753 null ] +>> +endobj +7046 0 obj +<< +/D [ 2209 0 R /XYZ 72 457.222 null ] +>> +endobj +7047 0 obj +<< +/D [ 2218 0 R /XYZ 72 457.222 null ] +>> +endobj +7048 0 obj +<< +/D [ 2227 0 R /XYZ 72 457.222 null ] +>> +endobj +7049 0 obj +<< +/D [ 2239 0 R /XYZ 72 443.344 null ] +>> +endobj +7050 0 obj +<< +/D [ 2256 0 R /XYZ 72 693.207 null ] +>> +endobj +7051 0 obj +<< +/D [ 2277 0 R /XYZ 72 771.732 null ] +>> +endobj +7052 0 obj +<< +/D [ 2287 0 R /XYZ 72 709.984 null ] +>> +endobj +7053 0 obj +<< +/D [ 2299 0 R /XYZ 72 593.606 null ] +>> +endobj +7054 0 obj +<< +/D [ 2312 0 R /XYZ 72 288.749 null ] +>> +endobj +7055 0 obj +<< +/D [ 2340 0 R /XYZ 72 310.642 null ] +>> +endobj +7056 0 obj +<< +/D [ 2360 0 R /XYZ 72 372.435 null ] +>> +endobj +7057 0 obj +<< +/D [ 2369 0 R /XYZ 72 252.291 null ] +>> +endobj +7058 0 obj +<< +/D [ 2390 0 R /XYZ 72 581.84 null ] +>> +endobj +7059 0 obj +<< +/D [ 2400 0 R /XYZ 72 286.806 null ] +>> +endobj +7060 0 obj +<< +/D [ 2426 0 R /XYZ 72 650.019 null ] +>> +endobj +7061 0 obj +<< +/D [ 2440 0 R /XYZ 72 343.22 null ] +>> +endobj +7062 0 obj +<< +/D [ 2463 0 R /XYZ 72 650.019 null ] +>> +endobj +7063 0 obj +<< +/D [ 2478 0 R /XYZ 72 386.408 null ] +>> +endobj +7064 0 obj +<< +/D [ 2489 0 R /XYZ 72 206.677 null ] +>> +endobj +7065 0 obj +<< +/D [ 2518 0 R /XYZ 72 650.019 null ] +>> +endobj +7066 0 obj +<< +/D [ 2534 0 R /XYZ 72 458.139 null ] +>> +endobj +7067 0 obj +<< +/D [ 2547 0 R /XYZ 72 279.438 null ] +>> +endobj +7068 0 obj +<< +/D [ 2575 0 R /XYZ 72 725.71 null ] +>> +endobj +7069 0 obj +<< +/D [ 2592 0 R /XYZ 72 529.87 null ] +>> +endobj +7070 0 obj +<< +/D [ 2604 0 R /XYZ 72 330.856 null ] +>> +endobj +7071 0 obj +<< +/D [ 2618 0 R /XYZ 72 201.162 null ] +>> +endobj +7072 0 obj +<< +/D [ 2636 0 R /XYZ 72 725.765 null ] +>> +endobj +7073 0 obj +<< +/D [ 2647 0 R /XYZ 72 709.984 null ] +>> +endobj +7074 0 obj +<< +/D [ 2661 0 R /XYZ 72 308.754 null ] +>> +endobj +7075 0 obj +<< +/D [ 2682 0 R /XYZ 72 542.477 null ] +>> +endobj +7076 0 obj +<< +/D [ 2708 0 R /XYZ 72 771.732 null ] +>> +endobj +7077 0 obj +<< +/D [ 2720 0 R /XYZ 72 446.183 null ] +>> +endobj +7078 0 obj +<< +/D [ 2747 0 R /XYZ 72 665.989 null ] +>> +endobj +7079 0 obj +<< +/D [ 2850 0 R /XYZ 72 637.267 null ] +>> +endobj +7080 0 obj +<< +/D [ 2864 0 R /XYZ 72 661.451 null ] +>> +endobj +7081 0 obj +<< +/D [ 2876 0 R /XYZ 72 626.109 null ] +>> +endobj +7082 0 obj +<< +/D [ 2889 0 R /XYZ 72 590.243 null ] +>> +endobj +7083 0 obj +<< +/D [ 2900 0 R /XYZ 72 526.657 null ] +>> +endobj +7084 0 obj +<< +/D [ 2911 0 R /XYZ 72 465.372 null ] +>> +endobj +7085 0 obj +<< +/D [ 2926 0 R /XYZ 72 388.186 null ] +>> +endobj +7086 0 obj +<< +/D [ 2937 0 R /XYZ 72 436.898 null ] +>> +endobj +7087 0 obj +<< +/D [ 2950 0 R /XYZ 72 771.732 null ] +>> +endobj +7088 0 obj +<< +/D [ 2959 0 R /XYZ 72 497.89 null ] +>> +endobj +7089 0 obj +<< +/D [ 2966 0 R /XYZ 72 438.96 null ] +>> +endobj +7090 0 obj +<< +/D [ 2980 0 R /XYZ 72 771.732 null ] +>> +endobj +7091 0 obj +<< +/D [ 2985 0 R /XYZ 72 726.482 null ] +>> +endobj +7092 0 obj +<< +/D [ 2992 0 R /XYZ 72 629.66 null ] +>> +endobj +7093 0 obj +<< +/D [ 3003 0 R /XYZ 72 307.454 null ] +>> +endobj +7094 0 obj +<< +/D [ 3020 0 R /XYZ 72 323.459 null ] +>> +endobj +7095 0 obj +<< +/D [ 3027 0 R /XYZ 72 725.765 null ] +>> +endobj +7096 0 obj +<< +/D [ 3027 0 R /XYZ 72 539.19 null ] +>> +endobj +7097 0 obj +<< +/D [ 3043 0 R /XYZ 72 633.486 null ] +>> +endobj +7098 0 obj +<< +/D [ 3043 0 R /XYZ 72 203.847 null ] +>> +endobj +7099 0 obj +<< +/D [ 3055 0 R /XYZ 72 398.418 null ] +>> +endobj +7100 0 obj +<< +/D [ 3067 0 R /XYZ 72 578.343 null ] +>> +endobj +7101 0 obj +<< +/D [ 3077 0 R /XYZ 72 726.108 null ] +>> +endobj +7102 0 obj +<< +/D [ 3077 0 R /XYZ 72 377.36 null ] +>> +endobj +7103 0 obj +<< +/D [ 2095 0 R /XYZ 72 282.746 null ] +>> +endobj +7104 0 obj +<< +/D [ 647 0 R /XYZ 72 179.997 null ] +>> +endobj +7105 0 obj +<< +/D [ 249 0 R /XYZ 72 248.176 null ] +>> +endobj +7106 0 obj +<< +/D [ 353 0 R /XYZ 72 350.473 null ] +>> +endobj +7107 0 obj +<< +/D [ 384 0 R /XYZ 72 595.643 null ] +>> +endobj +7108 0 obj +<< +/D [ 384 0 R /XYZ 72 471.967 null ] +>> +endobj +7109 0 obj +<< +/D [ 408 0 R /XYZ 72 640.734 null ] +>> +endobj +7110 0 obj +<< +/D [ 408 0 R /XYZ 72 459.673 null ] +>> +endobj +7111 0 obj +<< +/D [ 436 0 R /XYZ 72 615.478 null ] +>> +endobj +7112 0 obj +<< +/D [ 436 0 R /XYZ 72 463.11 null ] +>> +endobj +7113 0 obj +<< +/D [ 463 0 R /XYZ 72 567.658 null ] +>> +endobj +7114 0 obj +<< +/D [ 482 0 R /XYZ 72 497.889 null ] +>> +endobj +7115 0 obj +<< +/D [ 499 0 R /XYZ 72 553.182 null ] +>> +endobj +7116 0 obj +<< +/D [ 273 0 R /XYZ 72 758.402 null ] +>> +endobj +7117 0 obj +<< +/D [ 499 0 R /XYZ 72 311 null ] +>> +endobj +7118 0 obj +<< +/D [ 523 0 R /XYZ 72 208.873 null ] +>> +endobj +7119 0 obj +<< +/D [ 548 0 R /XYZ 72 622.801 null ] +>> +endobj +7120 0 obj +<< +/D [ 572 0 R /XYZ 72 164.042 null ] +>> +endobj +7121 0 obj +<< +/D [ 598 0 R /XYZ 72 589.272 null ] +>> +endobj +7122 0 obj +<< +/D [ 625 0 R /XYZ 72 478.089 null ] +>> +endobj +7123 0 obj +<< +/D [ 625 0 R /XYZ 72 271.718 null ] +>> +endobj +7124 0 obj +<< +/D [ 670 0 R /XYZ 72 385.117 null ] +>> +endobj +7125 0 obj +<< +/D [ 687 0 R /XYZ 72 389.77 null ] +>> +endobj +7126 0 obj +<< +/D [ 687 0 R /XYZ 72 141.611 null ] +>> +endobj +7127 0 obj +<< +/D [ 273 0 R /XYZ 72 153.197 null ] +>> +endobj +7128 0 obj +<< +/D [ 705 0 R /XYZ 72 385.81 null ] +>> +endobj +7129 0 obj +<< +/D [ 705 0 R /XYZ 72 155.583 null ] +>> +endobj +7130 0 obj +<< +/D [ 729 0 R /XYZ 72 397.765 null ] +>> +endobj +7131 0 obj +<< +/D [ 729 0 R /XYZ 72 203.404 null ] +>> +endobj +7132 0 obj +<< +/D [ 771 0 R /XYZ 72 722.348 null ] +>> +endobj +7133 0 obj +<< +/D [ 782 0 R /XYZ 72 708.525 null ] +>> +endobj +7134 0 obj +<< +/D [ 782 0 R /XYZ 72 571.922 null ] +>> +endobj +7135 0 obj +<< +/D [ 800 0 R /XYZ 72 572.46 null ] +>> +endobj +7136 0 obj +<< +/D [ 800 0 R /XYZ 72 450.203 null ] +>> +endobj +7137 0 obj +<< +/D [ 816 0 R /XYZ 72 488.774 null ] +>> +endobj +7138 0 obj +<< +/D [ 302 0 R /XYZ 72 660.011 null ] +>> +endobj +7139 0 obj +<< +/D [ 816 0 R /XYZ 72 378.418 null ] +>> +endobj +7140 0 obj +<< +/D [ 825 0 R /XYZ 72 398.438 null ] +>> +endobj +7141 0 obj +<< +/D [ 825 0 R /XYZ 72 288.081 null ] +>> +endobj +7142 0 obj +<< +/D [ 838 0 R /XYZ 72 294.203 null ] +>> +endobj +7143 0 obj +<< +/D [ 838 0 R /XYZ 72 157.601 null ] +>> +endobj +7144 0 obj +<< +/D [ 854 0 R /XYZ 72 148.615 null ] +>> +endobj +7145 0 obj +<< +/D [ 866 0 R /XYZ 72 673.331 null ] +>> +endobj +7146 0 obj +<< +/D [ 893 0 R /XYZ 72 282.846 null ] +>> +endobj +7147 0 obj +<< +/D [ 903 0 R /XYZ 72 461.541 null ] +>> +endobj +7148 0 obj +<< +/D [ 918 0 R /XYZ 72 490.044 null ] +>> +endobj +7149 0 obj +<< +/D [ 302 0 R /XYZ 72 298.841 null ] +>> +endobj +7150 0 obj +<< +/D [ 918 0 R /XYZ 72 265.929 null ] +>> +endobj +7151 0 obj +<< +/D [ 924 0 R /XYZ 72 377.89 null ] +>> +endobj +7152 0 obj +<< +/D [ 935 0 R /XYZ 72 274.926 null ] +>> +endobj +7153 0 obj +<< +/D [ 949 0 R /XYZ 72 160.754 null ] +>> +endobj +7154 0 obj +<< +/D [ 978 0 R /XYZ 72 708.525 null ] +>> +endobj +7155 0 obj +<< +/D [ 992 0 R /XYZ 72 656.744 null ] +>> +endobj +7156 0 obj +<< +/D [ 1005 0 R /XYZ 72 548.55 null ] +>> +endobj +7157 0 obj +<< +/D [ 1020 0 R /XYZ 72 678.079 null ] +>> +endobj +7158 0 obj +<< +/D [ 1032 0 R /XYZ 72 708.525 null ] +>> +endobj +7159 0 obj +<< +/D [ 1044 0 R /XYZ 72 604.963 null ] +>> +endobj +7160 0 obj +<< +/D [ 302 0 R /XYZ 72 175.165 null ] +>> +endobj +7161 0 obj +<< +/D [ 1056 0 R /XYZ 72 450.218 null ] +>> +endobj +7162 0 obj +<< +/D [ 1064 0 R /XYZ 72 207.155 null ] +>> +endobj +7163 0 obj +<< +/D [ 1078 0 R /XYZ 72 302.537 null ] +>> +endobj +7164 0 obj +<< +/D [ 1091 0 R /XYZ 72 294.203 null ] +>> +endobj +7165 0 obj +<< +/D [ 1120 0 R /XYZ 72 708.525 null ] +>> +endobj +7166 0 obj +<< +/D [ 1130 0 R /XYZ 72 560.505 null ] +>> +endobj +7167 0 obj +<< +/D [ 1144 0 R /XYZ 72 450.218 null ] +>> +endobj +7168 0 obj +<< +/D [ 1153 0 R /XYZ 72 410.393 null ] +>> +endobj +7169 0 obj +<< +/D [ 1164 0 R /XYZ 72 203.195 null ] +>> +endobj +7170 0 obj +<< +/D [ 1184 0 R /XYZ 72 604.963 null ] +>> +endobj +7171 0 obj +<< +/D [ 327 0 R /XYZ 72 447.598 null ] +>> +endobj +7172 0 obj +<< +/D [ 1196 0 R /XYZ 72 450.218 null ] +>> +endobj +7173 0 obj +<< +/D [ 1203 0 R /XYZ 72 334.029 null ] +>> +endobj +7174 0 obj +<< +/D [ 1214 0 R /XYZ 72 398.438 null ] +>> +endobj +7175 0 obj +<< +/D [ 1223 0 R /XYZ 72 230.468 null ] +>> +endobj +7176 0 obj +<< +/D [ 327 0 R /XYZ 72 313.297 null ] +>> +endobj +7177 0 obj +<< +/D [ 353 0 R /XYZ 72 474.149 null ] +>> +endobj +7178 0 obj +<< +/D [ 1248 0 R /XYZ 72 164.624 null ] +>> +endobj +7179 0 obj +<< +/D [ 1275 0 R /XYZ 72 676.599 null ] +>> +endobj +7180 0 obj +<< +/D [ 1275 0 R /XYZ 72 155.19 null ] +>> +endobj +7181 0 obj +<< +/D [ 1306 0 R /XYZ 72 760.305 null ] +>> +endobj +7182 0 obj +<< +/D [ 1317 0 R /XYZ 72 438.263 null ] +>> +endobj +7183 0 obj +<< +/D [ 1329 0 R /XYZ 72 274.926 null ] +>> +endobj +7184 0 obj +<< +/D [ 1343 0 R /XYZ 72 194.602 null ] +>> +endobj +7185 0 obj +<< +/D [ 1354 0 R /XYZ 72 157.392 null ] +>> +endobj +7186 0 obj +<< +/D [ 1373 0 R /XYZ 72 696.569 null ] +>> +endobj +7187 0 obj +<< +/D [ 1577 0 R /XYZ 72 212.535 null ] +>> +endobj +7188 0 obj +<< +/D [ 1587 0 R /XYZ 72 187.279 null ] +>> +endobj +7189 0 obj +<< +/D [ 1611 0 R /XYZ 72 708.525 null ] +>> +endobj +7190 0 obj +<< +/D [ 1626 0 R /XYZ 72 564.465 null ] +>> +endobj +7191 0 obj +<< +/D [ 1636 0 R /XYZ 72 450.218 null ] +>> +endobj +7192 0 obj +<< +/D [ 1649 0 R /XYZ 72 381.85 null ] +>> +endobj +7193 0 obj +<< +/D [ 1662 0 R /XYZ 72 314.751 null ] +>> +endobj +7194 0 obj +<< +/D [ 1685 0 R /XYZ 72 656.744 null ] +>> +endobj +7195 0 obj +<< +/D [ 1699 0 R /XYZ 72 470.841 null ] +>> +endobj +7196 0 obj +<< +/D [ 1720 0 R /XYZ 72 540.555 null ] +>> +endobj +7197 0 obj +<< +/D [ 1739 0 R /XYZ 72 708.525 null ] +>> +endobj +7198 0 obj +<< +/D [ 1754 0 R /XYZ 72 518.662 null ] +>> +endobj +7199 0 obj +<< +/D [ 1765 0 R /XYZ 72 312.136 null ] +>> +endobj +7200 0 obj +<< +/D [ 1780 0 R /XYZ 72 154.776 null ] +>> +endobj +7201 0 obj +<< +/D [ 1806 0 R /XYZ 72 482.796 null ] +>> +endobj +7202 0 obj +<< +/D [ 1827 0 R /XYZ 72 708.525 null ] +>> +endobj +7203 0 obj +<< +/D [ 1844 0 R /XYZ 72 423.02 null ] +>> +endobj +7204 0 obj +<< +/D [ 1865 0 R /XYZ 72 656.744 null ] +>> +endobj +7205 0 obj +<< +/D [ 1876 0 R /XYZ 72 268.948 null ] +>> +endobj +7206 0 obj +<< +/D [ 1887 0 R /XYZ 72 160.754 null ] +>> +endobj +7207 0 obj +<< +/D [ 1909 0 R /XYZ 72 575.075 null ] +>> +endobj +7208 0 obj +<< +/D [ 1930 0 R /XYZ 72 656.744 null ] +>> +endobj +7209 0 obj +<< +/D [ 1941 0 R /XYZ 72 193.257 null ] +>> +endobj +7210 0 obj +<< +/D [ 1964 0 R /XYZ 72 563.12 null ] +>> +endobj +7211 0 obj +<< +/D [ 1975 0 R /XYZ 72 288.226 null ] +>> +endobj +7212 0 obj +<< +/D [ 2002 0 R /XYZ 72 760.305 null ] +>> +endobj +7213 0 obj +<< +/D [ 2018 0 R /XYZ 72 458.886 null ] +>> +endobj +7214 0 obj +<< +/D [ 2039 0 R /XYZ 72 656.744 null ] +>> +endobj +7215 0 obj +<< +/D [ 2056 0 R /XYZ 72 372.51 null ] +>> +endobj +7216 0 obj +<< +/D [ 1391 0 R /XYZ 72 224.863 null ] +>> +endobj +7217 0 obj +<< +/D [ 1405 0 R /XYZ 72 758.402 null ] +>> +endobj +7218 0 obj +<< +/D [ 1405 0 R /XYZ 72 305.735 null ] +>> +endobj +7219 0 obj +<< +/D [ 1427 0 R /XYZ 72 250.418 null ] +>> +endobj +7220 0 obj +<< +/D [ 1427 0 R /XYZ 72 140.116 null ] +>> +endobj +7221 0 obj +<< +/D [ 1439 0 R /XYZ 72 171.514 null ] +>> +endobj +7222 0 obj +<< +/D [ 1450 0 R /XYZ 72 673.386 null ] +>> +endobj +7223 0 obj +<< +/D [ 1464 0 R /XYZ 72 656.744 null ] +>> +endobj +7224 0 obj +<< +/D [ 1464 0 R /XYZ 72 532.041 null ] +>> +endobj +7225 0 obj +<< +/D [ 1477 0 R /XYZ 72 466.134 null ] +>> +endobj +7226 0 obj +<< +/D [ 1484 0 R /XYZ 72 345.984 null ] +>> +endobj +7227 0 obj +<< +/D [ 1506 0 R /XYZ 72 689.247 null ] +>> +endobj +7228 0 obj +<< +/D [ 1514 0 R /XYZ 72 310.119 null ] +>> +endobj +7229 0 obj +<< +/D [ 1533 0 R /XYZ 72 466.134 null ] +>> +endobj +7230 0 obj +<< +/D [ 1541 0 R /XYZ 72 353.979 null ] +>> +endobj +7231 0 obj +<< +/D [ 1554 0 R /XYZ 72 298.836 null ] +>> +endobj +7232 0 obj +<< +/D [ 1567 0 R /XYZ 72 248.4 null ] +>> +endobj +7233 0 obj +<< +/D [ 2080 0 R /XYZ 72 218.886 null ] +>> +endobj +7234 0 obj +<< +/D [ 2095 0 R /XYZ 72 167.807 null ] +>> +endobj +7235 0 obj +<< +/D [ 2138 0 R /XYZ 72 168.002 null ] +>> +endobj +7236 0 obj +<< +/D [ 2175 0 R /XYZ 72 645.312 null ] +>> +endobj +7237 0 obj +<< +/D [ 2196 0 R /XYZ 72 728.38 null ] +>> +endobj +7238 0 obj +<< +/D [ 2206 0 R /XYZ 72 760.305 null ] +>> +endobj +7239 0 obj +<< +/D [ 2209 0 R /XYZ 72 157.765 null ] +>> +endobj +7240 0 obj +<< +/D [ 2218 0 R /XYZ 72 169.72 null ] +>> +endobj +7241 0 obj +<< +/D [ 2227 0 R /XYZ 72 157.765 null ] +>> +endobj +7242 0 obj +<< +/D [ 2249 0 R /XYZ 72 456.868 null ] +>> +endobj +7243 0 obj +<< +/D [ 2256 0 R /XYZ 72 172.634 null ] +>> +endobj +7244 0 obj +<< +/D [ 2277 0 R /XYZ 72 438.263 null ] +>> +endobj +7245 0 obj +<< +/D [ 2299 0 R /XYZ 72 306.159 null ] +>> +endobj +7246 0 obj +<< +/D [ 2324 0 R /XYZ 72 189.895 null ] +>> +endobj +7247 0 obj +<< +/D [ 2351 0 R /XYZ 72 452.908 null ] +>> +endobj +7248 0 obj +<< +/D [ 2369 0 R /XYZ 72 564.465 null ] +>> +endobj +7249 0 obj +<< +/D [ 2380 0 R /XYZ 72 588.375 null ] +>> +endobj +7250 0 obj +<< +/D [ 2390 0 R /XYZ 72 206.557 null ] +>> +endobj +7251 0 obj +<< +/D [ 2415 0 R /XYZ 72 536.594 null ] +>> +endobj +7252 0 obj +<< +/D [ 2426 0 R /XYZ 72 274.926 null ] +>> +endobj +7253 0 obj +<< +/D [ 2452 0 R /XYZ 72 593.008 null ] +>> +endobj +7254 0 obj +<< +/D [ 2463 0 R /XYZ 72 310.791 null ] +>> +endobj +7255 0 obj +<< +/D [ 2489 0 R /XYZ 72 708.525 null ] +>> +endobj +7256 0 obj +<< +/D [ 2506 0 R /XYZ 72 500.729 null ] +>> +endobj +7257 0 obj +<< +/D [ 2518 0 R /XYZ 72 310.791 null ] +>> +endobj +7258 0 obj +<< +/D [ 2547 0 R /XYZ 72 760.305 null ] +>> +endobj +7259 0 obj +<< +/D [ 2563 0 R /XYZ 72 593.008 null ] +>> +endobj +7260 0 obj +<< +/D [ 2575 0 R /XYZ 72 386.482 null ] +>> +endobj +7261 0 obj +<< +/D [ 2592 0 R /XYZ 72 190.642 null ] +>> +endobj +7262 0 obj +<< +/D [ 2618 0 R /XYZ 72 644.789 null ] +>> +endobj +7263 0 obj +<< +/D [ 2629 0 R /XYZ 72 516.644 null ] +>> +endobj +7264 0 obj +<< +/D [ 2636 0 R /XYZ 72 450.218 null ] +>> +endobj +7265 0 obj +<< +/D [ 2647 0 R /XYZ 72 334.702 null ] +>> +endobj +7266 0 obj +<< +/D [ 2671 0 R /XYZ 72 560.505 null ] +>> +endobj +7267 0 obj +<< +/D [ 2682 0 R /XYZ 72 167.329 null ] +>> +endobj +7268 0 obj +<< +/D [ 2708 0 R /XYZ 72 438.263 null ] +>> +endobj +7269 0 obj +<< +/D [ 2730 0 R /XYZ 72 760.305 null ] +>> +endobj +7270 0 obj +<< +/D [ 2747 0 R /XYZ 72 628.779 null ] +>> +endobj +7271 0 obj +<< +/D [ 2747 0 R /XYZ 72 159.245 null ] +>> +endobj +7272 0 obj +<< +/D [ 2766 0 R /XYZ 72 708.525 null ] +>> +endobj +7273 0 obj +<< +/D [ 2776 0 R /XYZ 72 428.998 null ] +>> +endobj +7274 0 obj +<< +/D [ 2789 0 R /XYZ 72 414.353 null ] +>> +endobj +7275 0 obj +<< +/D [ 2808 0 R /XYZ 72 708.525 null ] +>> +endobj +7276 0 obj +<< +/D [ 2824 0 R /XYZ 72 760.305 null ] +>> +endobj +7277 0 obj +<< +/D [ 2832 0 R /XYZ 72 656.744 null ] +>> +endobj +7278 0 obj +<< +/D [ 2841 0 R /XYZ 72 536.594 null ] +>> +endobj +7279 0 obj +<< +/D [ 2850 0 R /XYZ 72 504.953 null ] +>> +endobj +7280 0 obj +<< +/D [ 2850 0 R /XYZ 72 356.306 null ] +>> +endobj +7281 0 obj +<< +/D [ 2864 0 R /XYZ 72 296.221 null ] +>> +endobj +7282 0 obj +<< +/D [ 2864 0 R /XYZ 72 185.92 null ] +>> +endobj +7283 0 obj +<< +/D [ 2876 0 R /XYZ 72 298.836 null ] +>> +endobj +7284 0 obj +<< +/D [ 2876 0 R /XYZ 72 188.535 null ] +>> +endobj +7285 0 obj +<< +/D [ 2889 0 R /XYZ 72 262.971 null ] +>> +endobj +7286 0 obj +<< +/D [ 2889 0 R /XYZ 72 152.669 null ] +>> +endobj +7287 0 obj +<< +/D [ 2900 0 R /XYZ 72 199.384 null ] +>> +endobj +7288 0 obj +<< +/D [ 2911 0 R /XYZ 72 722.402 null ] +>> +endobj +7289 0 obj +<< +/D [ 2923 0 R /XYZ 72 760.305 null ] +>> +endobj +7290 0 obj +<< +/D [ 2926 0 R /XYZ 72 659.04 null ] +>> +endobj +7291 0 obj +<< +/D [ 2959 0 R /XYZ 72 282.119 null ] +>> +endobj +7292 0 obj +<< +/D [ 2966 0 R /XYZ 72 222.472 null ] +>> +endobj +7293 0 obj +<< +/D [ 2980 0 R /XYZ 72 561.775 null ] +>> +endobj +7294 0 obj +<< +/D [ 2985 0 R /XYZ 72 498.039 null ] +>> +endobj +7295 0 obj +<< +/D [ 2992 0 R /XYZ 72 330.069 null ] +>> +endobj +7296 0 obj +<< +/D [ 3010 0 R /XYZ 72 640.156 null ] +>> +endobj +7297 0 obj +<< +/D [ 3077 0 R /XYZ 72 150.53 null ] +>> +endobj +7298 0 obj +<< +/D [ 2162 0 R /XYZ 72 340.619 null ] +>> +endobj +7299 0 obj +<< +/D [ 2138 0 R /XYZ 72 282.771 null ] +>> +endobj +7300 0 obj +<< +/D [ 2168 0 R /XYZ 72 747.658 null ] +>> +endobj +7301 0 obj +<< +/D [ 2138 0 R /XYZ 72 168.002 null ] +>> +endobj +7302 0 obj +<< +/D [ 2168 0 R /XYZ 72 290.731 null ] +>> +endobj +7303 0 obj +<< +/D [ 2168 0 R /XYZ 72 237.566 null ] +>> +endobj +7304 0 obj +<< +/D [ 2138 0 R /XYZ 72 249.113 null ] +>> +endobj +7305 0 obj +<< +/D [ 2162 0 R /XYZ 72 690.039 null ] +>> +endobj +7306 0 obj +<< +/D [ 3089 0 R /XYZ 72 272.141 null ] +>> +endobj +7307 0 obj +<< +/D [ 1909 0 R /XYZ 72 232.789 null ] +>> +endobj +7308 0 obj +<< +/D [ 1896 0 R /XYZ 72 182.363 null ] +>> +endobj +7309 0 obj +<< +/D [ 1909 0 R /XYZ 72 169.053 null ] +>> +endobj +7310 0 obj +<< +/D [ 1909 0 R /XYZ 72 493.381 null ] +>> +endobj +7311 0 obj +<< +/D [ 1909 0 R /XYZ 72 710.447 null ] +>> +endobj +7312 0 obj +<< +/D [ 1941 0 R /XYZ 72 276.794 null ] +>> +endobj +7313 0 obj +<< +/D [ 1909 0 R /XYZ 72 606.886 null ] +>> +endobj +7314 0 obj +<< +/D [ 1920 0 R /XYZ 72 656.594 null ] +>> +endobj +7315 0 obj +<< +/D [ 1896 0 R /XYZ 72 314.567 null ] +>> +endobj +7316 0 obj +<< +/D [ 2985 0 R /XYZ 72 646.696 null ] +>> +endobj +7317 0 obj +<< +/D [ 2985 0 R /XYZ 72 275.304 null ] +>> +endobj +7318 0 obj +<< +/D [ 2985 0 R /XYZ 72 416.345 null ] +>> +endobj +7319 0 obj +<< +/D [ 2985 0 R /XYZ 72 581.576 null ] +>> +endobj +7320 0 obj +<< +/D [ 2985 0 R /XYZ 72 529.795 null ] +>> +endobj +7321 0 obj +<< +/D [ 2992 0 R /XYZ 72 711.737 null ] +>> +endobj +7322 0 obj +<< +/D [ 2985 0 R /XYZ 72 707.364 null ] +>> +endobj +7323 0 obj +<< +/D [ 3055 0 R /XYZ 72 296.266 null ] +>> +endobj +7324 0 obj +<< +/D [ 3055 0 R /XYZ 72 183.11 null ] +>> +endobj +7325 0 obj +<< +/D [ 3067 0 R /XYZ 72 644.639 null ] +>> +endobj +7326 0 obj +<< +/D [ 3055 0 R /XYZ 72 380.017 null ] +>> +endobj +7327 0 obj +<< +/D [ 2426 0 R /XYZ 72 664.589 null ] +>> +endobj +7328 0 obj +<< +/D [ 2440 0 R /XYZ 72 537.042 null ] +>> +endobj +7329 0 obj +<< +/D [ 2426 0 R /XYZ 72 474.816 null ] +>> +endobj +7330 0 obj +<< +/D [ 2440 0 R /XYZ 72 487.374 null ] +>> +endobj +7331 0 obj +<< +/D [ 2426 0 R /XYZ 72 177.925 null ] +>> +endobj +7332 0 obj +<< +/D [ 2426 0 R /XYZ 72 422.253 null ] +>> +endobj +7333 0 obj +<< +/D [ 2426 0 R /XYZ 72 358.462 null ] +>> +endobj +7334 0 obj +<< +/D [ 2426 0 R /XYZ 72 308.794 null ] +>> +endobj +7335 0 obj +<< +/D [ 2440 0 R /XYZ 72 409.571 null ] +>> +endobj +7336 0 obj +<< +/D [ 2426 0 R /XYZ 72 632.833 null ] +>> +endobj +7337 0 obj +<< +/D [ 1710 0 R /XYZ 72 508.574 null ] +>> +endobj +7338 0 obj +<< +/D [ 1731 0 R /XYZ 72 675.872 null ] +>> +endobj +7339 0 obj +<< +/D [ 838 0 R /XYZ 72 482.139 null ] +>> +endobj +7340 0 obj +<< +/D [ 854 0 R /XYZ 72 671.961 null ] +>> +endobj +7341 0 obj +<< +/D [ 838 0 R /XYZ 72 226.856 null ] +>> +endobj +7342 0 obj +<< +/D [ 838 0 R /XYZ 72 429.521 null ] +>> +endobj +7343 0 obj +<< +/D [ 838 0 R /XYZ 72 377.74 null ] +>> +endobj +7344 0 obj +<< +/D [ 838 0 R /XYZ 72 326.014 null ] +>> +endobj +7345 0 obj +<< +/D [ 854 0 R /XYZ 72 549.548 null ] +>> +endobj +7346 0 obj +<< +/D [ 838 0 R /XYZ 72 615.085 null ] +>> +endobj +7347 0 obj +<< +/D [ 838 0 R /XYZ 72 648.001 null ] +>> +endobj +7348 0 obj +<< +/D [ 1676 0 R /XYZ 72 568.405 null ] +>> +endobj +7349 0 obj +<< +/D [ 1710 0 R /XYZ 72 759.558 null ] +>> +endobj +7350 0 obj +<< +/D [ 1699 0 R /XYZ 72 688.664 null ] +>> +endobj +7351 0 obj +<< +/D [ 1710 0 R /XYZ 72 695.822 null ] +>> +endobj +7352 0 obj +<< +/D [ 1699 0 R /XYZ 72 389.147 null ] +>> +endobj +7353 0 obj +<< +/D [ 1699 0 R /XYZ 72 606.213 null ] +>> +endobj +7354 0 obj +<< +/D [ 1699 0 R /XYZ 72 554.378 null ] +>> +endobj +7355 0 obj +<< +/D [ 1699 0 R /XYZ 72 502.652 null ] +>> +endobj +7356 0 obj +<< +/D [ 1710 0 R /XYZ 72 560.355 null ] +>> +endobj +7357 0 obj +<< +/D [ 1685 0 R /XYZ 72 187.623 null ] +>> +endobj +7358 0 obj +<< +/D [ 1790 0 R /XYZ 72 441.401 null ] +>> +endobj +7359 0 obj +<< +/D [ 1780 0 R /XYZ 72 384.555 null ] +>> +endobj +7360 0 obj +<< +/D [ 1790 0 R /XYZ 72 389.62 null ] +>> +endobj +7361 0 obj +<< +/D [ 1790 0 R /XYZ 72 701.994 null ] +>> +endobj +7362 0 obj +<< +/D [ 1780 0 R /XYZ 72 290.149 null ] +>> +endobj +7363 0 obj +<< +/D [ 1780 0 R /XYZ 72 238.313 null ] +>> +endobj +7364 0 obj +<< +/D [ 1780 0 R /XYZ 72 186.587 null ] +>> +endobj +7365 0 obj +<< +/D [ 1790 0 R /XYZ 72 301.974 null ] +>> +endobj +7366 0 obj +<< +/D [ 1780 0 R /XYZ 72 517.501 null ] +>> +endobj +7367 0 obj +<< +/D [ 1754 0 R /XYZ 72 281.581 null ] +>> +endobj +7368 0 obj +<< +/D [ 1754 0 R /XYZ 72 748.44 null ] +>> +endobj +7369 0 obj +<< +/D [ 1754 0 R /XYZ 72 229.8 null ] +>> +endobj +7370 0 obj +<< +/D [ 1754 0 R /XYZ 72 422.622 null ] +>> +endobj +7371 0 obj +<< +/D [ 1754 0 R /XYZ 72 654.034 null ] +>> +endobj +7372 0 obj +<< +/D [ 1754 0 R /XYZ 72 602.198 null ] +>> +endobj +7373 0 obj +<< +/D [ 1754 0 R /XYZ 72 550.472 null ] +>> +endobj +7374 0 obj +<< +/D [ 1765 0 R /XYZ 72 759.558 null ] +>> +endobj +7375 0 obj +<< +/D [ 1739 0 R /XYZ 72 247.02 null ] +>> +endobj +7376 0 obj +<< +/D [ 1887 0 R /XYZ 72 723.693 null ] +>> +endobj +7377 0 obj +<< +/D [ 1876 0 R /XYZ 72 434.99 null ] +>> +endobj +7378 0 obj +<< +/D [ 1887 0 R /XYZ 72 674.024 null ] +>> +endobj +7379 0 obj +<< +/D [ 1876 0 R /XYZ 72 201.601 null ] +>> +endobj +7380 0 obj +<< +/D [ 1876 0 R /XYZ 72 352.54 null ] +>> +endobj +7381 0 obj +<< +/D [ 1909 0 R /XYZ 72 658.612 null ] +>> +endobj +7382 0 obj +<< +/D [ 1876 0 R /XYZ 72 300.704 null ] +>> +endobj +7383 0 obj +<< +/D [ 1887 0 R /XYZ 72 584.266 null ] +>> +endobj +7384 0 obj +<< +/D [ 1876 0 R /XYZ 72 557.142 null ] +>> +endobj +7385 0 obj +<< +/D [ 1710 0 R /XYZ 72 211.205 null ] +>> +endobj +7386 0 obj +<< +/D [ 1731 0 R /XYZ 72 624.091 null ] +>> +endobj +7387 0 obj +<< +/D [ 1720 0 R /XYZ 72 458.861 null ] +>> +endobj +7388 0 obj +<< +/D [ 1720 0 R /XYZ 72 675.927 null ] +>> +endobj +7389 0 obj +<< +/D [ 1720 0 R /XYZ 72 624.091 null ] +>> +endobj +7390 0 obj +<< +/D [ 1720 0 R /XYZ 72 572.365 null ] +>> +endobj +7391 0 obj +<< +/D [ 1731 0 R /XYZ 72 524.49 null ] +>> +endobj +7392 0 obj +<< +/D [ 1710 0 R /XYZ 72 476.819 null ] +>> +endobj +7393 0 obj +<< +/D [ 2730 0 R /XYZ 72 154.911 null ] +>> +endobj +7394 0 obj +<< +/D [ 2747 0 R /XYZ 272.914 630.935 null ] +>> +endobj +7395 0 obj +<< +/D [ 2182 0 R /XYZ 72 247.653 null ] +>> +endobj +7396 0 obj +<< +/D [ 2182 0 R /XYZ 72 174.597 null ] +>> +endobj +7397 0 obj +<< +/D [ 2196 0 R /XYZ 72 675.379 null ] +>> +endobj +7398 0 obj +<< +/D [ 2747 0 R /XYZ 272.914 630.935 null ] +>> +endobj +7399 0 obj +<< +/D [ 2182 0 R /XYZ 72 279.464 null ] +>> +endobj +7400 0 obj +<< +/D [ 2747 0 R /XYZ 72 680.559 null ] +>> +endobj +7401 0 obj +<< +/D [ 2196 0 R /XYZ 72 598.313 null ] +>> +endobj +7402 0 obj +<< +/D [ 2747 0 R /XYZ 272.914 630.935 null ] +>> +endobj +7403 0 obj +<< +/D [ 2196 0 R /XYZ 72 512.041 null ] +>> +endobj +7404 0 obj +<< +/D [ 2747 0 R /XYZ 72 547.085 null ] +>> +endobj +7405 0 obj +<< +/D [ 2227 0 R /XYZ 72 305.875 null ] +>> +endobj +7406 0 obj +<< +/D [ 2239 0 R /XYZ 72 623.12 null ] +>> +endobj +7407 0 obj +<< +/D [ 2239 0 R /XYZ 72 716.34 null ] +>> +endobj +7408 0 obj +<< +/D [ 2227 0 R /XYZ 72 241.302 null ] +>> +endobj +7409 0 obj +<< +/D [ 2227 0 R /XYZ 72 189.521 null ] +>> +endobj +7410 0 obj +<< +/D [ 2239 0 R /XYZ 72 523.518 null ] +>> +endobj +7411 0 obj +<< +/D [ 2227 0 R /XYZ 72 438.821 null ] +>> +endobj +7412 0 obj +<< +/D [ 2209 0 R /XYZ 72 305.875 null ] +>> +endobj +7413 0 obj +<< +/D [ 2218 0 R /XYZ 72 623.12 null ] +>> +endobj +7414 0 obj +<< +/D [ 2218 0 R /XYZ 72 716.34 null ] +>> +endobj +7415 0 obj +<< +/D [ 2209 0 R /XYZ 72 241.302 null ] +>> +endobj +7416 0 obj +<< +/D [ 2209 0 R /XYZ 72 189.521 null ] +>> +endobj +7417 0 obj +<< +/D [ 2218 0 R /XYZ 72 523.518 null ] +>> +endobj +7418 0 obj +<< +/D [ 2209 0 R /XYZ 72 438.821 null ] +>> +endobj +7419 0 obj +<< +/D [ 2196 0 R /XYZ 72 458.049 null ] +>> +endobj +7420 0 obj +<< +/D [ 1790 0 R /XYZ 72 250.193 null ] +>> +endobj +7421 0 obj +<< +/D [ 1817 0 R /XYZ 72 675.872 null ] +>> +endobj +7422 0 obj +<< +/D [ 1806 0 R /XYZ 72 712.574 null ] +>> +endobj +7423 0 obj +<< +/D [ 1817 0 R /XYZ 72 624.091 null ] +>> +endobj +7424 0 obj +<< +/D [ 1806 0 R /XYZ 72 401.103 null ] +>> +endobj +7425 0 obj +<< +/D [ 1806 0 R /XYZ 72 618.168 null ] +>> +endobj +7426 0 obj +<< +/D [ 1806 0 R /XYZ 72 566.333 null ] +>> +endobj +7427 0 obj +<< +/D [ 1806 0 R /XYZ 72 514.607 null ] +>> +endobj +7428 0 obj +<< +/D [ 1817 0 R /XYZ 72 524.49 null ] +>> +endobj +7429 0 obj +<< +/D [ 1790 0 R /XYZ 72 216.535 null ] +>> +endobj +7430 0 obj +<< +/D [ 2265 0 R /XYZ 72 160.903 null ] +>> +endobj +7431 0 obj +<< +/D [ 2277 0 R /XYZ 72 638.153 null ] +>> +endobj +7432 0 obj +<< +/D [ 2277 0 R /XYZ 72 238.243 null ] +>> +endobj +7433 0 obj +<< +/D [ 2277 0 R /XYZ 72 385.262 null ] +>> +endobj +7434 0 obj +<< +/D [ 2277 0 R /XYZ 72 573.635 null ] +>> +endobj +7435 0 obj +<< +/D [ 2277 0 R /XYZ 72 521.8 null ] +>> +endobj +7436 0 obj +<< +/D [ 2277 0 R /XYZ 72 472.131 null ] +>> +endobj +7437 0 obj +<< +/D [ 2277 0 R /XYZ 72 151.434 null ] +>> +endobj +7438 0 obj +<< +/D [ 2277 0 R /XYZ 72 758.402 null ] +>> +endobj +7439 0 obj +<< +/D [ 1611 0 R /XYZ 72 240.784 null ] +>> +endobj +7440 0 obj +<< +/D [ 1626 0 R /XYZ 72 359.663 null ] +>> +endobj +7441 0 obj +<< +/D [ 1626 0 R /XYZ 72 700.619 null ] +>> +endobj +7442 0 obj +<< +/D [ 1626 0 R /XYZ 72 286.084 null ] +>> +endobj +7443 0 obj +<< +/D [ 1626 0 R /XYZ 72 482.771 null ] +>> +endobj +7444 0 obj +<< +/D [ 1626 0 R /XYZ 72 648.001 null ] +>> +endobj +7445 0 obj +<< +/D [ 1626 0 R /XYZ 72 596.221 null ] +>> +endobj +7446 0 obj +<< +/D [ 1626 0 R /XYZ 72 148.505 null ] +>> +endobj +7447 0 obj +<< +/D [ 1611 0 R /XYZ 72 207.125 null ] +>> +endobj +7448 0 obj +<< +/D [ 1391 0 R /XYZ 72 276.644 null ] +>> +endobj +7449 0 obj +<< +/D [ 1238 0 R /XYZ 72 578.886 null ] +>> +endobj +7450 0 obj +<< +/D [ 1223 0 R /XYZ 72 418.403 null ] +>> +endobj +7451 0 obj +<< +/D [ 1238 0 R /XYZ 72 529.217 null ] +>> +endobj +7452 0 obj +<< +/D [ 1238 0 R /XYZ 72 771.732 null ] +>> +endobj +7453 0 obj +<< +/D [ 1223 0 R /XYZ 72 365.785 null ] +>> +endobj +7454 0 obj +<< +/D [ 1223 0 R /XYZ 72 314.004 null ] +>> +endobj +7455 0 obj +<< +/D [ 1223 0 R /XYZ 72 262.278 null ] +>> +endobj +7456 0 obj +<< +/D [ 408 0 R /XYZ 72 760.305 null ] +>> +endobj +7457 0 obj +<< +/D [ 1238 0 R /XYZ 72 427.503 null ] +>> +endobj +7458 0 obj +<< +/D [ 1223 0 R /XYZ 72 538.652 null ] +>> +endobj +7459 0 obj +<< +/D [ 1223 0 R /XYZ 72 572.31 null ] +>> +endobj +7460 0 obj +<< +/D [ 482 0 R /XYZ 72 706.622 null ] +>> +endobj +7461 0 obj +<< +/D [ 482 0 R /XYZ 72 549.725 null ] +>> +endobj +7462 0 obj +<< +/D [ 482 0 R /XYZ 72 401.85 null ] +>> +endobj +7463 0 obj +<< +/D [ 482 0 R /XYZ 72 248.33 null ] +>> +endobj +7464 0 obj +<< +/D [ 482 0 R /XYZ 72 158.592 null ] +>> +endobj +7465 0 obj +<< +/D [ 482 0 R /XYZ 72 740.335 null ] +>> +endobj +7466 0 obj +<< +/D [ 499 0 R /XYZ 72 679.962 null ] +>> +endobj +7467 0 obj +<< +/D [ 687 0 R /XYZ 72 504.594 null ] +>> +endobj +7468 0 obj +<< +/D [ 499 0 R /XYZ 72 648.151 null ] +>> +endobj +7469 0 obj +<< +/D [ 705 0 R /XYZ 72 642.218 null ] +>> +endobj +7470 0 obj +<< +/D [ 499 0 R /XYZ 72 374.736 null ] +>> +endobj +7471 0 obj +<< +/D [ 687 0 R /XYZ 72 421.581 null ] +>> +endobj +7472 0 obj +<< +/D [ 687 0 R /XYZ 72 322.423 null ] +>> +endobj +7473 0 obj +<< +/D [ 523 0 R /XYZ 72 375.424 null ] +>> +endobj +7474 0 obj +<< +/D [ 755 0 R /XYZ 72 502.97 null ] +>> +endobj +7475 0 obj +<< +/D [ 2937 0 R /XYZ 72 225.013 null ] +>> +endobj +7476 0 obj +<< +/D [ 2950 0 R /XYZ 72 661.227 null ] +>> +endobj +7477 0 obj +<< +/D [ 2950 0 R /XYZ 72 609.501 null ] +>> +endobj +7478 0 obj +<< +/D [ 2950 0 R /XYZ 72 557.665 null ] +>> +endobj +7479 0 obj +<< +/D [ 2950 0 R /XYZ 72 759.145 null ] +>> +endobj +7480 0 obj +<< +/D [ 854 0 R /XYZ 72 345.408 null ] +>> +endobj +7481 0 obj +<< +/D [ 866 0 R /XYZ 72 522.298 null ] +>> +endobj +7482 0 obj +<< +/D [ 866 0 R /XYZ 72 730.686 null ] +>> +endobj +7483 0 obj +<< +/D [ 854 0 R /XYZ 72 281.609 null ] +>> +endobj +7484 0 obj +<< +/D [ 854 0 R /XYZ 72 230.603 null ] +>> +endobj +7485 0 obj +<< +/D [ 854 0 R /XYZ 72 179.651 null ] +>> +endobj +7486 0 obj +<< +/D [ 866 0 R /XYZ 72 354.731 null ] +>> +endobj +7487 0 obj +<< +/D [ 854 0 R /XYZ 72 465.657 null ] +>> +endobj +7488 0 obj +<< +/D [ 854 0 R /XYZ 72 498.541 null ] +>> +endobj +7489 0 obj +<< +/S /GoTo +/D [ 3 0 R /Fit ] +>> +endobj +7490 0 obj +<< +/Author () +/Title (The MPL Reference Manual) +/Subject () +/Creator (LaTeX with hyperref package) +/Producer (pdfTeX-1.10b extended by PPower4 V0.9.4) +/Keywords () +/CreationDate (D:20041115075700) +>> +endobj +xref +0 7491 +0000000000 65535 f +0000000009 00000 n +0000000239 00000 n +0000002446 00000 n +0000002559 00000 n +0000002627 00000 n +0000002715 00000 n +0000004767 00000 n +0000005000 00000 n +0000005114 00000 n +0000005206 00000 n +0000005294 00000 n +0000005450 00000 n +0000007272 00000 n +0000007325 00000 n +0000007542 00000 n +0000008937 00000 n +0000009578 00000 n +0000009979 00000 n +0000010141 00000 n +0000010302 00000 n +0000010465 00000 n +0000010634 00000 n +0000010802 00000 n +0000010970 00000 n +0000011138 00000 n +0000011307 00000 n +0000011475 00000 n +0000011643 00000 n +0000011812 00000 n +0000011979 00000 n +0000012149 00000 n +0000012312 00000 n +0000012481 00000 n +0000012650 00000 n +0000012819 00000 n +0000012988 00000 n +0000013156 00000 n +0000013325 00000 n +0000013493 00000 n +0000013662 00000 n +0000013831 00000 n +0000013994 00000 n +0000014163 00000 n +0000014332 00000 n +0000014501 00000 n +0000014670 00000 n +0000014839 00000 n +0000015008 00000 n +0000015177 00000 n +0000015340 00000 n +0000015509 00000 n +0000015677 00000 n +0000015846 00000 n +0000016014 00000 n +0000016183 00000 n +0000016351 00000 n +0000016520 00000 n +0000016601 00000 n +0000019449 00000 n +0000019947 00000 n +0000020116 00000 n +0000020285 00000 n +0000020454 00000 n +0000020624 00000 n +0000020792 00000 n +0000020962 00000 n +0000021131 00000 n +0000021300 00000 n +0000021470 00000 n +0000021639 00000 n +0000021809 00000 n +0000021978 00000 n +0000022148 00000 n +0000022318 00000 n +0000022488 00000 n +0000022658 00000 n +0000022819 00000 n +0000022981 00000 n +0000023150 00000 n +0000023318 00000 n +0000023487 00000 n +0000023650 00000 n +0000023819 00000 n +0000023988 00000 n +0000024157 00000 n +0000024326 00000 n +0000024495 00000 n +0000024664 00000 n +0000024824 00000 n +0000024987 00000 n +0000025154 00000 n +0000025322 00000 n +0000025484 00000 n +0000025653 00000 n +0000025821 00000 n +0000025990 00000 n +0000026153 00000 n +0000026322 00000 n +0000026491 00000 n +0000026660 00000 n +0000026829 00000 n +0000026999 00000 n +0000027163 00000 n +0000027333 00000 n +0000027502 00000 n +0000027671 00000 n +0000027841 00000 n +0000028010 00000 n +0000028179 00000 n +0000028349 00000 n +0000028519 00000 n +0000028601 00000 n +0000032330 00000 n +0000032877 00000 n +0000033047 00000 n +0000033218 00000 n +0000033381 00000 n +0000033551 00000 n +0000033719 00000 n +0000033889 00000 n +0000034058 00000 n +0000034227 00000 n +0000034397 00000 n +0000034567 00000 n +0000034737 00000 n +0000034906 00000 n +0000035077 00000 n +0000035248 00000 n +0000035419 00000 n +0000035590 00000 n +0000035761 00000 n +0000035932 00000 n +0000036103 00000 n +0000036273 00000 n +0000036443 00000 n +0000036614 00000 n +0000036785 00000 n +0000036956 00000 n +0000037127 00000 n +0000037289 00000 n +0000037452 00000 n +0000037622 00000 n +0000037792 00000 n +0000037962 00000 n +0000038132 00000 n +0000038301 00000 n +0000038471 00000 n +0000038641 00000 n +0000038805 00000 n +0000038975 00000 n +0000039145 00000 n +0000039315 00000 n +0000039485 00000 n +0000039648 00000 n +0000039818 00000 n +0000039988 00000 n +0000040158 00000 n +0000040322 00000 n +0000040492 00000 n +0000040662 00000 n +0000040831 00000 n +0000041001 00000 n +0000041170 00000 n +0000041340 00000 n +0000041502 00000 n +0000041671 00000 n +0000041753 00000 n +0000045630 00000 n +0000046169 00000 n +0000046339 00000 n +0000046509 00000 n +0000046678 00000 n +0000046848 00000 n +0000047016 00000 n +0000047180 00000 n +0000047349 00000 n +0000047518 00000 n +0000047688 00000 n +0000047857 00000 n +0000048027 00000 n +0000048196 00000 n +0000048360 00000 n +0000048530 00000 n +0000048700 00000 n +0000048870 00000 n +0000049034 00000 n +0000049204 00000 n +0000049372 00000 n +0000049542 00000 n +0000049711 00000 n +0000049881 00000 n +0000050045 00000 n +0000050215 00000 n +0000050379 00000 n +0000050549 00000 n +0000050720 00000 n +0000050891 00000 n +0000051062 00000 n +0000051233 00000 n +0000051404 00000 n +0000051573 00000 n +0000051744 00000 n +0000051906 00000 n +0000052070 00000 n +0000052240 00000 n +0000052404 00000 n +0000052573 00000 n +0000052743 00000 n +0000052912 00000 n +0000053082 00000 n +0000053252 00000 n +0000053416 00000 n +0000053586 00000 n +0000053756 00000 n +0000053925 00000 n +0000054086 00000 n +0000054250 00000 n +0000054419 00000 n +0000054589 00000 n +0000054759 00000 n +0000054841 00000 n +0000058586 00000 n +0000058885 00000 n +0000059055 00000 n +0000059219 00000 n +0000059388 00000 n +0000059557 00000 n +0000059719 00000 n +0000059889 00000 n +0000060058 00000 n +0000060227 00000 n +0000060397 00000 n +0000060567 00000 n +0000060737 00000 n +0000060907 00000 n +0000061077 00000 n +0000061241 00000 n +0000061411 00000 n +0000061572 00000 n +0000061734 00000 n +0000061898 00000 n +0000062062 00000 n +0000062224 00000 n +0000062390 00000 n +0000062472 00000 n +0000064382 00000 n +0000064501 00000 n +0000064583 00000 n +0000064904 00000 n +0000065123 00000 n +0000065286 00000 n +0000065454 00000 n +0000065616 00000 n +0000065773 00000 n +0000065927 00000 n +0000066097 00000 n +0000066265 00000 n +0000066435 00000 n +0000066605 00000 n +0000066774 00000 n +0000066945 00000 n +0000067066 00000 n +0000067157 00000 n +0000067339 00000 n +0000067570 00000 n +0000067853 00000 n +0000078820 00000 n +0000078982 00000 n +0000080167 00000 n +0000080550 00000 n +0000081141 00000 n +0000096637 00000 n +0000099550 00000 n +0000099889 00000 n +0000100047 00000 n +0000100204 00000 n +0000100362 00000 n +0000100531 00000 n +0000100689 00000 n +0000100848 00000 n +0000101017 00000 n +0000101174 00000 n +0000101329 00000 n +0000101487 00000 n +0000101653 00000 n +0000101815 00000 n +0000101977 00000 n +0000102153 00000 n +0000102322 00000 n +0000102479 00000 n +0000102636 00000 n +0000102794 00000 n +0000102953 00000 n +0000103112 00000 n +0000103286 00000 n +0000103455 00000 n +0000103630 00000 n +0000103798 00000 n +0000103968 00000 n +0000104143 00000 n +0000104238 00000 n +0000107095 00000 n +0000107402 00000 n +0000107578 00000 n +0000107754 00000 n +0000107923 00000 n +0000108081 00000 n +0000108238 00000 n +0000108397 00000 n +0000108559 00000 n +0000108729 00000 n +0000108904 00000 n +0000109080 00000 n +0000109239 00000 n +0000109396 00000 n +0000109554 00000 n +0000109728 00000 n +0000109903 00000 n +0000110078 00000 n +0000110253 00000 n +0000110429 00000 n +0000110605 00000 n +0000110781 00000 n +0000110957 00000 n +0000111133 00000 n +0000111228 00000 n +0000113689 00000 n +0000114004 00000 n +0000114160 00000 n +0000114318 00000 n +0000114476 00000 n +0000114638 00000 n +0000114814 00000 n +0000114986 00000 n +0000115160 00000 n +0000115319 00000 n +0000115476 00000 n +0000115632 00000 n +0000115803 00000 n +0000115976 00000 n +0000116146 00000 n +0000116319 00000 n +0000116492 00000 n +0000116665 00000 n +0000116838 00000 n +0000117009 00000 n +0000117169 00000 n +0000117335 00000 n +0000117494 00000 n +0000117653 00000 n +0000117810 00000 n +0000117905 00000 n +0000120933 00000 n +0000121288 00000 n +0000121446 00000 n +0000121602 00000 n +0000121764 00000 n +0000121942 00000 n +0000122102 00000 n +0000122268 00000 n +0000122427 00000 n +0000122586 00000 n +0000122764 00000 n +0000122937 00000 n +0000123109 00000 n +0000123281 00000 n +0000123458 00000 n +0000123636 00000 n +0000123814 00000 n +0000123986 00000 n +0000124150 00000 n +0000124313 00000 n +0000124475 00000 n +0000124634 00000 n +0000124792 00000 n +0000124948 00000 n +0000125110 00000 n +0000125283 00000 n +0000125461 00000 n +0000125625 00000 n +0000125788 00000 n +0000125947 00000 n +0000126042 00000 n +0000128658 00000 n +0000128957 00000 n +0000129134 00000 n +0000129306 00000 n +0000129478 00000 n +0000129651 00000 n +0000129829 00000 n +0000130006 00000 n +0000130183 00000 n +0000130356 00000 n +0000130518 00000 n +0000130680 00000 n +0000130838 00000 n +0000130996 00000 n +0000131153 00000 n +0000131315 00000 n +0000131488 00000 n +0000131667 00000 n +0000131830 00000 n +0000131992 00000 n +0000132150 00000 n +0000132323 00000 n +0000132493 00000 n +0000132601 00000 n +0000135363 00000 n +0000135694 00000 n +0000135868 00000 n +0000136038 00000 n +0000136206 00000 n +0000136377 00000 n +0000136548 00000 n +0000136717 00000 n +0000136888 00000 n +0000137049 00000 n +0000137208 00000 n +0000137379 00000 n +0000137538 00000 n +0000137692 00000 n +0000137853 00000 n +0000138016 00000 n +0000138180 00000 n +0000138335 00000 n +0000138490 00000 n +0000138652 00000 n +0000138828 00000 n +0000138988 00000 n +0000139147 00000 n +0000139306 00000 n +0000139462 00000 n +0000139624 00000 n +0000139788 00000 n +0000139896 00000 n +0000143368 00000 n +0000143691 00000 n +0000143864 00000 n +0000144038 00000 n +0000144210 00000 n +0000144383 00000 n +0000144557 00000 n +0000144731 00000 n +0000144907 00000 n +0000145083 00000 n +0000145259 00000 n +0000145435 00000 n +0000145609 00000 n +0000145783 00000 n +0000145942 00000 n +0000146100 00000 n +0000146263 00000 n +0000146421 00000 n +0000146578 00000 n +0000146733 00000 n +0000146887 00000 n +0000147048 00000 n +0000147221 00000 n +0000147380 00000 n +0000147537 00000 n +0000147695 00000 n +0000147790 00000 n +0000150992 00000 n +0000151211 00000 n +0000151389 00000 n +0000151558 00000 n +0000151729 00000 n +0000151907 00000 n +0000152076 00000 n +0000152245 00000 n +0000152414 00000 n +0000152583 00000 n +0000152743 00000 n +0000152901 00000 n +0000153058 00000 n +0000153179 00000 n +0000153342 00000 n +0000154529 00000 n +0000154768 00000 n +0000155077 00000 n +0000161063 00000 n +0000164042 00000 n +0000164285 00000 n +0000164447 00000 n +0000164618 00000 n +0000164789 00000 n +0000164959 00000 n +0000165129 00000 n +0000165295 00000 n +0000165466 00000 n +0000165635 00000 n +0000165803 00000 n +0000165972 00000 n +0000166141 00000 n +0000166299 00000 n +0000166453 00000 n +0000166608 00000 n +0000166729 00000 n +0000169703 00000 n +0000170002 00000 n +0000170164 00000 n +0000170331 00000 n +0000170509 00000 n +0000170680 00000 n +0000170856 00000 n +0000171027 00000 n +0000171196 00000 n +0000171370 00000 n +0000171540 00000 n +0000171716 00000 n +0000171892 00000 n +0000172062 00000 n +0000172232 00000 n +0000172403 00000 n +0000172574 00000 n +0000172750 00000 n +0000172926 00000 n +0000173102 00000 n +0000173278 00000 n +0000173446 00000 n +0000173622 00000 n +0000173743 00000 n +0000177048 00000 n +0000177355 00000 n +0000177531 00000 n +0000177707 00000 n +0000177883 00000 n +0000178059 00000 n +0000178231 00000 n +0000178404 00000 n +0000178577 00000 n +0000178749 00000 n +0000178921 00000 n +0000179099 00000 n +0000179276 00000 n +0000179455 00000 n +0000179634 00000 n +0000179796 00000 n +0000179967 00000 n +0000180143 00000 n +0000180316 00000 n +0000180478 00000 n +0000180636 00000 n +0000180807 00000 n +0000180977 00000 n +0000181149 00000 n +0000181257 00000 n +0000184702 00000 n +0000185001 00000 n +0000185170 00000 n +0000185337 00000 n +0000185508 00000 n +0000185685 00000 n +0000185854 00000 n +0000186025 00000 n +0000186196 00000 n +0000186366 00000 n +0000186536 00000 n +0000186706 00000 n +0000186877 00000 n +0000187047 00000 n +0000187216 00000 n +0000187388 00000 n +0000187560 00000 n +0000187733 00000 n +0000187905 00000 n +0000188078 00000 n +0000188257 00000 n +0000188435 00000 n +0000188614 00000 n +0000188735 00000 n +0000192240 00000 n +0000192555 00000 n +0000192717 00000 n +0000192888 00000 n +0000193058 00000 n +0000193231 00000 n +0000193391 00000 n +0000193551 00000 n +0000193722 00000 n +0000193898 00000 n +0000194071 00000 n +0000194231 00000 n +0000194400 00000 n +0000194573 00000 n +0000194744 00000 n +0000194919 00000 n +0000195096 00000 n +0000195254 00000 n +0000195415 00000 n +0000195574 00000 n +0000195731 00000 n +0000195887 00000 n +0000196058 00000 n +0000196232 00000 n +0000196407 00000 n +0000196502 00000 n +0000198686 00000 n +0000199009 00000 n +0000199177 00000 n +0000199349 00000 n +0000199523 00000 n +0000199694 00000 n +0000199865 00000 n +0000200039 00000 n +0000200212 00000 n +0000200385 00000 n +0000200559 00000 n +0000200730 00000 n +0000200903 00000 n +0000201075 00000 n +0000201246 00000 n +0000201420 00000 n +0000201594 00000 n +0000201768 00000 n +0000201942 00000 n +0000202113 00000 n +0000202287 00000 n +0000202460 00000 n +0000202634 00000 n +0000202808 00000 n +0000202982 00000 n +0000203141 00000 n +0000203262 00000 n +0000207055 00000 n +0000207338 00000 n +0000207500 00000 n +0000207671 00000 n +0000207845 00000 n +0000208021 00000 n +0000208180 00000 n +0000208336 00000 n +0000208496 00000 n +0000208667 00000 n +0000208841 00000 n +0000209017 00000 n +0000209186 00000 n +0000209358 00000 n +0000209532 00000 n +0000209703 00000 n +0000209872 00000 n +0000210046 00000 n +0000210220 00000 n +0000210391 00000 n +0000210565 00000 n +0000210686 00000 n +0000213686 00000 n +0000213977 00000 n +0000214148 00000 n +0000214322 00000 n +0000214496 00000 n +0000214670 00000 n +0000214844 00000 n +0000215018 00000 n +0000215191 00000 n +0000215362 00000 n +0000215536 00000 n +0000215709 00000 n +0000215883 00000 n +0000216057 00000 n +0000216231 00000 n +0000216390 00000 n +0000216552 00000 n +0000216723 00000 n +0000216897 00000 n +0000217073 00000 n +0000217230 00000 n +0000217390 00000 n +0000217485 00000 n +0000220653 00000 n +0000220896 00000 n +0000221072 00000 n +0000221243 00000 n +0000221415 00000 n +0000221590 00000 n +0000221760 00000 n +0000221936 00000 n +0000222112 00000 n +0000222288 00000 n +0000222464 00000 n +0000222635 00000 n +0000222811 00000 n +0000222987 00000 n +0000223163 00000 n +0000223338 00000 n +0000223446 00000 n +0000226442 00000 n +0000226693 00000 n +0000226855 00000 n +0000227031 00000 n +0000227193 00000 n +0000227352 00000 n +0000227512 00000 n +0000227690 00000 n +0000227848 00000 n +0000228007 00000 n +0000228184 00000 n +0000228352 00000 n +0000228526 00000 n +0000228697 00000 n +0000228873 00000 n +0000229050 00000 n +0000229210 00000 n +0000229318 00000 n +0000231390 00000 n +0000231689 00000 n +0000231849 00000 n +0000232028 00000 n +0000232207 00000 n +0000232386 00000 n +0000232565 00000 n +0000232727 00000 n +0000232905 00000 n +0000233065 00000 n +0000233228 00000 n +0000233387 00000 n +0000233547 00000 n +0000233708 00000 n +0000233887 00000 n +0000234045 00000 n +0000234203 00000 n +0000234380 00000 n +0000234548 00000 n +0000234716 00000 n +0000234887 00000 n +0000235064 00000 n +0000235221 00000 n +0000235342 00000 n +0000238234 00000 n +0000238549 00000 n +0000238706 00000 n +0000238885 00000 n +0000239064 00000 n +0000239243 00000 n +0000239422 00000 n +0000239600 00000 n +0000239762 00000 n +0000239940 00000 n +0000240098 00000 n +0000240262 00000 n +0000240424 00000 n +0000240583 00000 n +0000240744 00000 n +0000240923 00000 n +0000241080 00000 n +0000241236 00000 n +0000241405 00000 n +0000241577 00000 n +0000241751 00000 n +0000241907 00000 n +0000242062 00000 n +0000242240 00000 n +0000242418 00000 n +0000242539 00000 n +0000245638 00000 n +0000245873 00000 n +0000246052 00000 n +0000246231 00000 n +0000246409 00000 n +0000246571 00000 n +0000246749 00000 n +0000246906 00000 n +0000247070 00000 n +0000247232 00000 n +0000247392 00000 n +0000247553 00000 n +0000247725 00000 n +0000247886 00000 n +0000248043 00000 n +0000248164 00000 n +0000250731 00000 n +0000250926 00000 n +0000251102 00000 n +0000251278 00000 n +0000251454 00000 n +0000251616 00000 n +0000251775 00000 n +0000251935 00000 n +0000252093 00000 n +0000252257 00000 n +0000252365 00000 n +0000254297 00000 n +0000254548 00000 n +0000254716 00000 n +0000254886 00000 n +0000255057 00000 n +0000255227 00000 n +0000255397 00000 n +0000255568 00000 n +0000255736 00000 n +0000255906 00000 n +0000256074 00000 n +0000256236 00000 n +0000256395 00000 n +0000256563 00000 n +0000256727 00000 n +0000256889 00000 n +0000257057 00000 n +0000257165 00000 n +0000259857 00000 n +0000260092 00000 n +0000260260 00000 n +0000260436 00000 n +0000260612 00000 n +0000260782 00000 n +0000260951 00000 n +0000261121 00000 n +0000261282 00000 n +0000261440 00000 n +0000261604 00000 n +0000261770 00000 n +0000261933 00000 n +0000262093 00000 n +0000262257 00000 n +0000262352 00000 n +0000264748 00000 n +0000264927 00000 n +0000265095 00000 n +0000265263 00000 n +0000265432 00000 n +0000265601 00000 n +0000265771 00000 n +0000265941 00000 n +0000266049 00000 n +0000268260 00000 n +0000268471 00000 n +0000268633 00000 n +0000268792 00000 n +0000268957 00000 n +0000269124 00000 n +0000269286 00000 n +0000269454 00000 n +0000269628 00000 n +0000269804 00000 n +0000269979 00000 n +0000270155 00000 n +0000270263 00000 n +0000272454 00000 n +0000272689 00000 n +0000272851 00000 n +0000273010 00000 n +0000273178 00000 n +0000273342 00000 n +0000273510 00000 n +0000273674 00000 n +0000273836 00000 n +0000274004 00000 n +0000274171 00000 n +0000274341 00000 n +0000274510 00000 n +0000274678 00000 n +0000274848 00000 n +0000274956 00000 n +0000277070 00000 n +0000277273 00000 n +0000277443 00000 n +0000277613 00000 n +0000277775 00000 n +0000277934 00000 n +0000278099 00000 n +0000278263 00000 n +0000278425 00000 n +0000278592 00000 n +0000278760 00000 n +0000278868 00000 n +0000281126 00000 n +0000281417 00000 n +0000281586 00000 n +0000281756 00000 n +0000281925 00000 n +0000282095 00000 n +0000282265 00000 n +0000282435 00000 n +0000282605 00000 n +0000282767 00000 n +0000282926 00000 n +0000283091 00000 n +0000283258 00000 n +0000283422 00000 n +0000283587 00000 n +0000283754 00000 n +0000283931 00000 n +0000284109 00000 n +0000284286 00000 n +0000284450 00000 n +0000284609 00000 n +0000284766 00000 n +0000284888 00000 n +0000285049 00000 n +0000285142 00000 n +0000285370 00000 n +0000288769 00000 n +0000292105 00000 n +0000292292 00000 n +0000292459 00000 n +0000292629 00000 n +0000292803 00000 n +0000292969 00000 n +0000293139 00000 n +0000293313 00000 n +0000293482 00000 n +0000293590 00000 n +0000295613 00000 n +0000295840 00000 n +0000296009 00000 n +0000296180 00000 n +0000296353 00000 n +0000296522 00000 n +0000296698 00000 n +0000296872 00000 n +0000297041 00000 n +0000297217 00000 n +0000297391 00000 n +0000297549 00000 n +0000297708 00000 n +0000297866 00000 n +0000297961 00000 n +0000300321 00000 n +0000300476 00000 n +0000300643 00000 n +0000300812 00000 n +0000300987 00000 n +0000301095 00000 n +0000303191 00000 n +0000303386 00000 n +0000303554 00000 n +0000303729 00000 n +0000303884 00000 n +0000304042 00000 n +0000304199 00000 n +0000304366 00000 n +0000304542 00000 n +0000304717 00000 n +0000304825 00000 n +0000306674 00000 n +0000306893 00000 n +0000307068 00000 n +0000307227 00000 n +0000307389 00000 n +0000307546 00000 n +0000307705 00000 n +0000307861 00000 n +0000308031 00000 n +0000308187 00000 n +0000308353 00000 n +0000308522 00000 n +0000308679 00000 n +0000308787 00000 n +0000310710 00000 n +0000310913 00000 n +0000311082 00000 n +0000311240 00000 n +0000311402 00000 n +0000311571 00000 n +0000311728 00000 n +0000311886 00000 n +0000312045 00000 n +0000312216 00000 n +0000312383 00000 n +0000312491 00000 n +0000314361 00000 n +0000314604 00000 n +0000314777 00000 n +0000314953 00000 n +0000315129 00000 n +0000315301 00000 n +0000315477 00000 n +0000315650 00000 n +0000315826 00000 n +0000315996 00000 n +0000316170 00000 n +0000316327 00000 n +0000316484 00000 n +0000316641 00000 n +0000316796 00000 n +0000316966 00000 n +0000317074 00000 n +0000319255 00000 n +0000319474 00000 n +0000319641 00000 n +0000319811 00000 n +0000319979 00000 n +0000320150 00000 n +0000320318 00000 n +0000320486 00000 n +0000320643 00000 n +0000320801 00000 n +0000320957 00000 n +0000321127 00000 n +0000321285 00000 n +0000321393 00000 n +0000323394 00000 n +0000323610 00000 n +0000323777 00000 n +0000323947 00000 n +0000324105 00000 n +0000324275 00000 n +0000324433 00000 n +0000324595 00000 n +0000324764 00000 n +0000324924 00000 n +0000325081 00000 n +0000325240 00000 n +0000325349 00000 n +0000327382 00000 n +0000327624 00000 n +0000327792 00000 n +0000327966 00000 n +0000328142 00000 n +0000328319 00000 n +0000328490 00000 n +0000328661 00000 n +0000328834 00000 n +0000329008 00000 n +0000329178 00000 n +0000329351 00000 n +0000329527 00000 n +0000329701 00000 n +0000329810 00000 n +0000332423 00000 n +0000332638 00000 n +0000332814 00000 n +0000332987 00000 n +0000333160 00000 n +0000333337 00000 n +0000333501 00000 n +0000333665 00000 n +0000333828 00000 n +0000333989 00000 n +0000334165 00000 n +0000334274 00000 n +0000336411 00000 n +0000336626 00000 n +0000336794 00000 n +0000336971 00000 n +0000337147 00000 n +0000337324 00000 n +0000337495 00000 n +0000337670 00000 n +0000337829 00000 n +0000337989 00000 n +0000338149 00000 n +0000338258 00000 n +0000340360 00000 n +0000340575 00000 n +0000340743 00000 n +0000340914 00000 n +0000341084 00000 n +0000341254 00000 n +0000341413 00000 n +0000341578 00000 n +0000341736 00000 n +0000341896 00000 n +0000342053 00000 n +0000342149 00000 n +0000343958 00000 n +0000344137 00000 n +0000344309 00000 n +0000344477 00000 n +0000344652 00000 n +0000344826 00000 n +0000344998 00000 n +0000345107 00000 n +0000347060 00000 n +0000347293 00000 n +0000347466 00000 n +0000347626 00000 n +0000347787 00000 n +0000347951 00000 n +0000348121 00000 n +0000348298 00000 n +0000348475 00000 n +0000348643 00000 n +0000348817 00000 n +0000348993 00000 n +0000349169 00000 n +0000349278 00000 n +0000351131 00000 n +0000351355 00000 n +0000351526 00000 n +0000351699 00000 n +0000351873 00000 n +0000352045 00000 n +0000352221 00000 n +0000352397 00000 n +0000352569 00000 n +0000352745 00000 n +0000352921 00000 n +0000353094 00000 n +0000353190 00000 n +0000356093 00000 n +0000356353 00000 n +0000356526 00000 n +0000356703 00000 n +0000356870 00000 n +0000357035 00000 n +0000357199 00000 n +0000357359 00000 n +0000357527 00000 n +0000357699 00000 n +0000357873 00000 n +0000358050 00000 n +0000358221 00000 n +0000358392 00000 n +0000358564 00000 n +0000358733 00000 n +0000358842 00000 n +0000361027 00000 n +0000361242 00000 n +0000361416 00000 n +0000361588 00000 n +0000361761 00000 n +0000361922 00000 n +0000362087 00000 n +0000362251 00000 n +0000362411 00000 n +0000362583 00000 n +0000362754 00000 n +0000362863 00000 n +0000365094 00000 n +0000365291 00000 n +0000365463 00000 n +0000365633 00000 n +0000365793 00000 n +0000365950 00000 n +0000366111 00000 n +0000366269 00000 n +0000366431 00000 n +0000366527 00000 n +0000368294 00000 n +0000368527 00000 n +0000368690 00000 n +0000368858 00000 n +0000369033 00000 n +0000369196 00000 n +0000369370 00000 n +0000369533 00000 n +0000369706 00000 n +0000369871 00000 n +0000370032 00000 n +0000370190 00000 n +0000370348 00000 n +0000370457 00000 n +0000372725 00000 n +0000372913 00000 n +0000373084 00000 n +0000373252 00000 n +0000373427 00000 n +0000373601 00000 n +0000373773 00000 n +0000373945 00000 n +0000374054 00000 n +0000376103 00000 n +0000376309 00000 n +0000376482 00000 n +0000376644 00000 n +0000376804 00000 n +0000376958 00000 n +0000377126 00000 n +0000377305 00000 n +0000377483 00000 n +0000377662 00000 n +0000377784 00000 n +0000379664 00000 n +0000379861 00000 n +0000380039 00000 n +0000380199 00000 n +0000380363 00000 n +0000380520 00000 n +0000380684 00000 n +0000380852 00000 n +0000381032 00000 n +0000381154 00000 n +0000382883 00000 n +0000383080 00000 n +0000383259 00000 n +0000383439 00000 n +0000383617 00000 n +0000383776 00000 n +0000383940 00000 n +0000384099 00000 n +0000384261 00000 n +0000384370 00000 n +0000386049 00000 n +0000386264 00000 n +0000386432 00000 n +0000386611 00000 n +0000386789 00000 n +0000386966 00000 n +0000387144 00000 n +0000387305 00000 n +0000387468 00000 n +0000387625 00000 n +0000387790 00000 n +0000387899 00000 n +0000390069 00000 n +0000390239 00000 n +0000390407 00000 n +0000390587 00000 n +0000390766 00000 n +0000390946 00000 n +0000391068 00000 n +0000393054 00000 n +0000393260 00000 n +0000393438 00000 n +0000393598 00000 n +0000393761 00000 n +0000393920 00000 n +0000394083 00000 n +0000394254 00000 n +0000394423 00000 n +0000394601 00000 n +0000394710 00000 n +0000396619 00000 n +0000396807 00000 n +0000396984 00000 n +0000397153 00000 n +0000397321 00000 n +0000397492 00000 n +0000397662 00000 n +0000397834 00000 n +0000397943 00000 n +0000399853 00000 n +0000400095 00000 n +0000400272 00000 n +0000400443 00000 n +0000400613 00000 n +0000400790 00000 n +0000400950 00000 n +0000401110 00000 n +0000401268 00000 n +0000401431 00000 n +0000401596 00000 n +0000401764 00000 n +0000401939 00000 n +0000402104 00000 n +0000402226 00000 n +0000404387 00000 n +0000404584 00000 n +0000404758 00000 n +0000404923 00000 n +0000405096 00000 n +0000405259 00000 n +0000405416 00000 n +0000405574 00000 n +0000405732 00000 n +0000405828 00000 n +0000407362 00000 n +0000407595 00000 n +0000407760 00000 n +0000407938 00000 n +0000408109 00000 n +0000408285 00000 n +0000408462 00000 n +0000408637 00000 n +0000408812 00000 n +0000408982 00000 n +0000409147 00000 n +0000409316 00000 n +0000409487 00000 n +0000409596 00000 n +0000412487 00000 n +0000412711 00000 n +0000412882 00000 n +0000413054 00000 n +0000413217 00000 n +0000413393 00000 n +0000413563 00000 n +0000413723 00000 n +0000413882 00000 n +0000414058 00000 n +0000414228 00000 n +0000414398 00000 n +0000414494 00000 n +0000416914 00000 n +0000417165 00000 n +0000417336 00000 n +0000417513 00000 n +0000417690 00000 n +0000417862 00000 n +0000418025 00000 n +0000418195 00000 n +0000418372 00000 n +0000418549 00000 n +0000418709 00000 n +0000418884 00000 n +0000419060 00000 n +0000419236 00000 n +0000419413 00000 n +0000419522 00000 n +0000422021 00000 n +0000422263 00000 n +0000422438 00000 n +0000422613 00000 n +0000422784 00000 n +0000422957 00000 n +0000423128 00000 n +0000423290 00000 n +0000423465 00000 n +0000423641 00000 n +0000423802 00000 n +0000423964 00000 n +0000424141 00000 n +0000424318 00000 n +0000424427 00000 n +0000426675 00000 n +0000426881 00000 n +0000427051 00000 n +0000427223 00000 n +0000427391 00000 n +0000427561 00000 n +0000427733 00000 n +0000427904 00000 n +0000428074 00000 n +0000428249 00000 n +0000428358 00000 n +0000430509 00000 n +0000430724 00000 n +0000430887 00000 n +0000431055 00000 n +0000431218 00000 n +0000431377 00000 n +0000431549 00000 n +0000431718 00000 n +0000431885 00000 n +0000432055 00000 n +0000432227 00000 n +0000432336 00000 n +0000434427 00000 n +0000434660 00000 n +0000434837 00000 n +0000435000 00000 n +0000435168 00000 n +0000435330 00000 n +0000435489 00000 n +0000435649 00000 n +0000435821 00000 n +0000435993 00000 n +0000436163 00000 n +0000436333 00000 n +0000436503 00000 n +0000436625 00000 n +0000438938 00000 n +0000439144 00000 n +0000439307 00000 n +0000439466 00000 n +0000439624 00000 n +0000439783 00000 n +0000439943 00000 n +0000440115 00000 n +0000440287 00000 n +0000440457 00000 n +0000440579 00000 n +0000442871 00000 n +0000443068 00000 n +0000443238 00000 n +0000443409 00000 n +0000443572 00000 n +0000443731 00000 n +0000443889 00000 n +0000444047 00000 n +0000444207 00000 n +0000444316 00000 n +0000446019 00000 n +0000446207 00000 n +0000446377 00000 n +0000446547 00000 n +0000446708 00000 n +0000446865 00000 n +0000447021 00000 n +0000447177 00000 n +0000447273 00000 n +0000449245 00000 n +0000449433 00000 n +0000449604 00000 n +0000449774 00000 n +0000449946 00000 n +0000450116 00000 n +0000450293 00000 n +0000450468 00000 n +0000450577 00000 n +0000452535 00000 n +0000452723 00000 n +0000452886 00000 n +0000453045 00000 n +0000453203 00000 n +0000453365 00000 n +0000453526 00000 n +0000453685 00000 n +0000453781 00000 n +0000454386 00000 n +0000454619 00000 n +0000454782 00000 n +0000454943 00000 n +0000455160 00000 n +0000455335 00000 n +0000455507 00000 n +0000455668 00000 n +0000455885 00000 n +0000456065 00000 n +0000456245 00000 n +0000456408 00000 n +0000456580 00000 n +0000456689 00000 n +0000459904 00000 n +0000460173 00000 n +0000460330 00000 n +0000460497 00000 n +0000460663 00000 n +0000460827 00000 n +0000461007 00000 n +0000461166 00000 n +0000461335 00000 n +0000461503 00000 n +0000461677 00000 n +0000461852 00000 n +0000462023 00000 n +0000462186 00000 n +0000462357 00000 n +0000462528 00000 n +0000462702 00000 n +0000462824 00000 n +0000465566 00000 n +0000465709 00000 n +0000465883 00000 n +0000466005 00000 n +0000467728 00000 n +0000467943 00000 n +0000468105 00000 n +0000468264 00000 n +0000468423 00000 n +0000468602 00000 n +0000468765 00000 n +0000468927 00000 n +0000469106 00000 n +0000469269 00000 n +0000469446 00000 n +0000469555 00000 n +0000471232 00000 n +0000471438 00000 n +0000471601 00000 n +0000471764 00000 n +0000471926 00000 n +0000472100 00000 n +0000472258 00000 n +0000472426 00000 n +0000472588 00000 n +0000472750 00000 n +0000472859 00000 n +0000474459 00000 n +0000474692 00000 n +0000474872 00000 n +0000475035 00000 n +0000475213 00000 n +0000475376 00000 n +0000475540 00000 n +0000475703 00000 n +0000475878 00000 n +0000476037 00000 n +0000476205 00000 n +0000476370 00000 n +0000476533 00000 n +0000476629 00000 n +0000478608 00000 n +0000478832 00000 n +0000478994 00000 n +0000479166 00000 n +0000479329 00000 n +0000479501 00000 n +0000479664 00000 n +0000479828 00000 n +0000479991 00000 n +0000480166 00000 n +0000480335 00000 n +0000480503 00000 n +0000480599 00000 n +0000483001 00000 n +0000483171 00000 n +0000483340 00000 n +0000483512 00000 n +0000483681 00000 n +0000483852 00000 n +0000483961 00000 n +0000486139 00000 n +0000486372 00000 n +0000486535 00000 n +0000486699 00000 n +0000486864 00000 n +0000487027 00000 n +0000487198 00000 n +0000487356 00000 n +0000487517 00000 n +0000487687 00000 n +0000487859 00000 n +0000488029 00000 n +0000488201 00000 n +0000488310 00000 n +0000490791 00000 n +0000490970 00000 n +0000491133 00000 n +0000491304 00000 n +0000491462 00000 n +0000491628 00000 n +0000491786 00000 n +0000491920 00000 n +0000494020 00000 n +0000494199 00000 n +0000494370 00000 n +0000494541 00000 n +0000494712 00000 n +0000494882 00000 n +0000495054 00000 n +0000495150 00000 n +0000497330 00000 n +0000497545 00000 n +0000497709 00000 n +0000497868 00000 n +0000498040 00000 n +0000498204 00000 n +0000498375 00000 n +0000498546 00000 n +0000498717 00000 n +0000498887 00000 n +0000499059 00000 n +0000499182 00000 n +0000501740 00000 n +0000501910 00000 n +0000502074 00000 n +0000502237 00000 n +0000502404 00000 n +0000502562 00000 n +0000502696 00000 n +0000504700 00000 n +0000504879 00000 n +0000505038 00000 n +0000505207 00000 n +0000505379 00000 n +0000505548 00000 n +0000505719 00000 n +0000505841 00000 n +0000508111 00000 n +0000508335 00000 n +0000508498 00000 n +0000508656 00000 n +0000508822 00000 n +0000508984 00000 n +0000509155 00000 n +0000509313 00000 n +0000509473 00000 n +0000509644 00000 n +0000509814 00000 n +0000509985 00000 n +0000510094 00000 n +0000512077 00000 n +0000512301 00000 n +0000512474 00000 n +0000512637 00000 n +0000512799 00000 n +0000512959 00000 n +0000513125 00000 n +0000513295 00000 n +0000513467 00000 n +0000513636 00000 n +0000513806 00000 n +0000513977 00000 n +0000514086 00000 n +0000516262 00000 n +0000516459 00000 n +0000516632 00000 n +0000516791 00000 n +0000516954 00000 n +0000517120 00000 n +0000517292 00000 n +0000517463 00000 n +0000517633 00000 n +0000517742 00000 n +0000519796 00000 n +0000519993 00000 n +0000520165 00000 n +0000520338 00000 n +0000520497 00000 n +0000520659 00000 n +0000520819 00000 n +0000520985 00000 n +0000521156 00000 n +0000521265 00000 n +0000523169 00000 n +0000523393 00000 n +0000523563 00000 n +0000523735 00000 n +0000523906 00000 n +0000524067 00000 n +0000524224 00000 n +0000524384 00000 n +0000524545 00000 n +0000524708 00000 n +0000524878 00000 n +0000525049 00000 n +0000525158 00000 n +0000527298 00000 n +0000527504 00000 n +0000527674 00000 n +0000527845 00000 n +0000528017 00000 n +0000528190 00000 n +0000528350 00000 n +0000528509 00000 n +0000528670 00000 n +0000528832 00000 n +0000528941 00000 n +0000530803 00000 n +0000531045 00000 n +0000531215 00000 n +0000531387 00000 n +0000531558 00000 n +0000531730 00000 n +0000531901 00000 n +0000532074 00000 n +0000532249 00000 n +0000532422 00000 n +0000532588 00000 n +0000532747 00000 n +0000532909 00000 n +0000533075 00000 n +0000533171 00000 n +0000535732 00000 n +0000535929 00000 n +0000536099 00000 n +0000536271 00000 n +0000536442 00000 n +0000536614 00000 n +0000536785 00000 n +0000536962 00000 n +0000537137 00000 n +0000537246 00000 n +0000539744 00000 n +0000539968 00000 n +0000540141 00000 n +0000540307 00000 n +0000540466 00000 n +0000540628 00000 n +0000540794 00000 n +0000540964 00000 n +0000541136 00000 n +0000541306 00000 n +0000541478 00000 n +0000541649 00000 n +0000541758 00000 n +0000543969 00000 n +0000544193 00000 n +0000544366 00000 n +0000544532 00000 n +0000544694 00000 n +0000544860 00000 n +0000545019 00000 n +0000545189 00000 n +0000545358 00000 n +0000545528 00000 n +0000545700 00000 n +0000545871 00000 n +0000545980 00000 n +0000548250 00000 n +0000548483 00000 n +0000548656 00000 n +0000548822 00000 n +0000548984 00000 n +0000549150 00000 n +0000549309 00000 n +0000549481 00000 n +0000549652 00000 n +0000549824 00000 n +0000549994 00000 n +0000550166 00000 n +0000550338 00000 n +0000550447 00000 n +0000552778 00000 n +0000552966 00000 n +0000553139 00000 n +0000553298 00000 n +0000553460 00000 n +0000553622 00000 n +0000553837 00000 n +0000554012 00000 n +0000554147 00000 n +0000556535 00000 n +0000556768 00000 n +0000556942 00000 n +0000557110 00000 n +0000557273 00000 n +0000557448 00000 n +0000557616 00000 n +0000557777 00000 n +0000557956 00000 n +0000558131 00000 n +0000558297 00000 n +0000558459 00000 n +0000558623 00000 n +0000558719 00000 n +0000560888 00000 n +0000561094 00000 n +0000561268 00000 n +0000561439 00000 n +0000561610 00000 n +0000561773 00000 n +0000561948 00000 n +0000562118 00000 n +0000562290 00000 n +0000562451 00000 n +0000562586 00000 n +0000564850 00000 n +0000565047 00000 n +0000565226 00000 n +0000565401 00000 n +0000565570 00000 n +0000565729 00000 n +0000565893 00000 n +0000566058 00000 n +0000566228 00000 n +0000566337 00000 n +0000567831 00000 n +0000568037 00000 n +0000568211 00000 n +0000568382 00000 n +0000568554 00000 n +0000568717 00000 n +0000568892 00000 n +0000569061 00000 n +0000569231 00000 n +0000569392 00000 n +0000569514 00000 n +0000572209 00000 n +0000572388 00000 n +0000572567 00000 n +0000572742 00000 n +0000572912 00000 n +0000573071 00000 n +0000573236 00000 n +0000573371 00000 n +0000575277 00000 n +0000575519 00000 n +0000575693 00000 n +0000575863 00000 n +0000576026 00000 n +0000576201 00000 n +0000576371 00000 n +0000576533 00000 n +0000576711 00000 n +0000576885 00000 n +0000577053 00000 n +0000577217 00000 n +0000577377 00000 n +0000577540 00000 n +0000577649 00000 n +0000579998 00000 n +0000580204 00000 n +0000580377 00000 n +0000580547 00000 n +0000580719 00000 n +0000580882 00000 n +0000581057 00000 n +0000581227 00000 n +0000581399 00000 n +0000581562 00000 n +0000581697 00000 n +0000584239 00000 n +0000584481 00000 n +0000584659 00000 n +0000584833 00000 n +0000585003 00000 n +0000585164 00000 n +0000585327 00000 n +0000585490 00000 n +0000585664 00000 n +0000585834 00000 n +0000585994 00000 n +0000586168 00000 n +0000586338 00000 n +0000586500 00000 n +0000586635 00000 n +0000589066 00000 n +0000589263 00000 n +0000589441 00000 n +0000589615 00000 n +0000589782 00000 n +0000589945 00000 n +0000590103 00000 n +0000590264 00000 n +0000590438 00000 n +0000590573 00000 n +0000592553 00000 n +0000592804 00000 n +0000592974 00000 n +0000593146 00000 n +0000593309 00000 n +0000593483 00000 n +0000593653 00000 n +0000593816 00000 n +0000593988 00000 n +0000594167 00000 n +0000594342 00000 n +0000594512 00000 n +0000594673 00000 n +0000594835 00000 n +0000595000 00000 n +0000595109 00000 n +0000597493 00000 n +0000597699 00000 n +0000597873 00000 n +0000598043 00000 n +0000598215 00000 n +0000598375 00000 n +0000598550 00000 n +0000598719 00000 n +0000598890 00000 n +0000599051 00000 n +0000599186 00000 n +0000601512 00000 n +0000601709 00000 n +0000601888 00000 n +0000602063 00000 n +0000602231 00000 n +0000602392 00000 n +0000602554 00000 n +0000602719 00000 n +0000602889 00000 n +0000603024 00000 n +0000605149 00000 n +0000605409 00000 n +0000605583 00000 n +0000605754 00000 n +0000605926 00000 n +0000606089 00000 n +0000606264 00000 n +0000606433 00000 n +0000606604 00000 n +0000606766 00000 n +0000606925 00000 n +0000607102 00000 n +0000607275 00000 n +0000607443 00000 n +0000607612 00000 n +0000607769 00000 n +0000607865 00000 n +0000610289 00000 n +0000610504 00000 n +0000610678 00000 n +0000610849 00000 n +0000611020 00000 n +0000611183 00000 n +0000611358 00000 n +0000611528 00000 n +0000611700 00000 n +0000611863 00000 n +0000612021 00000 n +0000612156 00000 n +0000614649 00000 n +0000614837 00000 n +0000615016 00000 n +0000615191 00000 n +0000615369 00000 n +0000615533 00000 n +0000615692 00000 n +0000615856 00000 n +0000615991 00000 n +0000617974 00000 n +0000618180 00000 n +0000618354 00000 n +0000618522 00000 n +0000618694 00000 n +0000618857 00000 n +0000619031 00000 n +0000619201 00000 n +0000619373 00000 n +0000619535 00000 n +0000619631 00000 n +0000621700 00000 n +0000621906 00000 n +0000622085 00000 n +0000622260 00000 n +0000622423 00000 n +0000622589 00000 n +0000622759 00000 n +0000622922 00000 n +0000623092 00000 n +0000623255 00000 n +0000623390 00000 n +0000625566 00000 n +0000625754 00000 n +0000625933 00000 n +0000626108 00000 n +0000626274 00000 n +0000626433 00000 n +0000626595 00000 n +0000626769 00000 n +0000626904 00000 n +0000628618 00000 n +0000628842 00000 n +0000629012 00000 n +0000629175 00000 n +0000629349 00000 n +0000629519 00000 n +0000629682 00000 n +0000629861 00000 n +0000630036 00000 n +0000630194 00000 n +0000630364 00000 n +0000630535 00000 n +0000630644 00000 n +0000632791 00000 n +0000632997 00000 n +0000633171 00000 n +0000633341 00000 n +0000633513 00000 n +0000633676 00000 n +0000633851 00000 n +0000634020 00000 n +0000634191 00000 n +0000634351 00000 n +0000634473 00000 n +0000636792 00000 n +0000636989 00000 n +0000637168 00000 n +0000637343 00000 n +0000637504 00000 n +0000637671 00000 n +0000637835 00000 n +0000638000 00000 n +0000638170 00000 n +0000638305 00000 n +0000640453 00000 n +0000640659 00000 n +0000640833 00000 n +0000641001 00000 n +0000641173 00000 n +0000641336 00000 n +0000641510 00000 n +0000641680 00000 n +0000641851 00000 n +0000642013 00000 n +0000642109 00000 n +0000644136 00000 n +0000644333 00000 n +0000644512 00000 n +0000644687 00000 n +0000644850 00000 n +0000645017 00000 n +0000645182 00000 n +0000645356 00000 n +0000645526 00000 n +0000645661 00000 n +0000647796 00000 n +0000648020 00000 n +0000648183 00000 n +0000648357 00000 n +0000648527 00000 n +0000648689 00000 n +0000648868 00000 n +0000649043 00000 n +0000649204 00000 n +0000649377 00000 n +0000649538 00000 n +0000649710 00000 n +0000649819 00000 n +0000652082 00000 n +0000652288 00000 n +0000652462 00000 n +0000652632 00000 n +0000652802 00000 n +0000652965 00000 n +0000653139 00000 n +0000653309 00000 n +0000653481 00000 n +0000653644 00000 n +0000653766 00000 n +0000656321 00000 n +0000656563 00000 n +0000656742 00000 n +0000656917 00000 n +0000657081 00000 n +0000657251 00000 n +0000657415 00000 n +0000657579 00000 n +0000657752 00000 n +0000657922 00000 n +0000658083 00000 n +0000658258 00000 n +0000658427 00000 n +0000658588 00000 n +0000658723 00000 n +0000661074 00000 n +0000661289 00000 n +0000661468 00000 n +0000661643 00000 n +0000661804 00000 n +0000661976 00000 n +0000662143 00000 n +0000662307 00000 n +0000662469 00000 n +0000662629 00000 n +0000662802 00000 n +0000662937 00000 n +0000665064 00000 n +0000665315 00000 n +0000665485 00000 n +0000665657 00000 n +0000665820 00000 n +0000665995 00000 n +0000666164 00000 n +0000666326 00000 n +0000666497 00000 n +0000666676 00000 n +0000666851 00000 n +0000667014 00000 n +0000667183 00000 n +0000667353 00000 n +0000667517 00000 n +0000667613 00000 n +0000669980 00000 n +0000670186 00000 n +0000670358 00000 n +0000670528 00000 n +0000670700 00000 n +0000670861 00000 n +0000671036 00000 n +0000671204 00000 n +0000671374 00000 n +0000671534 00000 n +0000671669 00000 n +0000674015 00000 n +0000674212 00000 n +0000674391 00000 n +0000674566 00000 n +0000674726 00000 n +0000674895 00000 n +0000675064 00000 n +0000675229 00000 n +0000675407 00000 n +0000675542 00000 n +0000677618 00000 n +0000677878 00000 n +0000678052 00000 n +0000678220 00000 n +0000678392 00000 n +0000678555 00000 n +0000678729 00000 n +0000678899 00000 n +0000679071 00000 n +0000679234 00000 n +0000679393 00000 n +0000679572 00000 n +0000679747 00000 n +0000679910 00000 n +0000680089 00000 n +0000680248 00000 n +0000680344 00000 n +0000682797 00000 n +0000683012 00000 n +0000683186 00000 n +0000683357 00000 n +0000683527 00000 n +0000683690 00000 n +0000683865 00000 n +0000684035 00000 n +0000684207 00000 n +0000684370 00000 n +0000684529 00000 n +0000684664 00000 n +0000687176 00000 n +0000687364 00000 n +0000687543 00000 n +0000687718 00000 n +0000687888 00000 n +0000688060 00000 n +0000688219 00000 n +0000688383 00000 n +0000688479 00000 n +0000689901 00000 n +0000690023 00000 n +0000690106 00000 n +0000690457 00000 n +0000690699 00000 n +0000690868 00000 n +0000691033 00000 n +0000691212 00000 n +0000691389 00000 n +0000691562 00000 n +0000691727 00000 n +0000691899 00000 n +0000692070 00000 n +0000692245 00000 n +0000692423 00000 n +0000692599 00000 n +0000692764 00000 n +0000692886 00000 n +0000696358 00000 n +0000696645 00000 n +0000696811 00000 n +0000696977 00000 n +0000697142 00000 n +0000697303 00000 n +0000697460 00000 n +0000697618 00000 n +0000697777 00000 n +0000697934 00000 n +0000698100 00000 n +0000698273 00000 n +0000698445 00000 n +0000698609 00000 n +0000698768 00000 n +0000698929 00000 n +0000699088 00000 n +0000699255 00000 n +0000699426 00000 n +0000699548 00000 n +0000702101 00000 n +0000702415 00000 n +0000702588 00000 n +0000702761 00000 n +0000702924 00000 n +0000703083 00000 n +0000703239 00000 n +0000703397 00000 n +0000703562 00000 n +0000703726 00000 n +0000703892 00000 n +0000704059 00000 n +0000704231 00000 n +0000704396 00000 n +0000704561 00000 n +0000704720 00000 n +0000704880 00000 n +0000705051 00000 n +0000705221 00000 n +0000705394 00000 n +0000705567 00000 n +0000705744 00000 n +0000705866 00000 n +0000708395 00000 n +0000708718 00000 n +0000708877 00000 n +0000709041 00000 n +0000709207 00000 n +0000709374 00000 n +0000709534 00000 n +0000709695 00000 n +0000709870 00000 n +0000710036 00000 n +0000710212 00000 n +0000710389 00000 n +0000710556 00000 n +0000710733 00000 n +0000710901 00000 n +0000711066 00000 n +0000711237 00000 n +0000711404 00000 n +0000711572 00000 n +0000711732 00000 n +0000711893 00000 n +0000712061 00000 n +0000712228 00000 n +0000712337 00000 n +0000714823 00000 n +0000714984 00000 n +0000715152 00000 n +0000715322 00000 n +0000715495 00000 n +0000715617 00000 n +0000718234 00000 n +0000718404 00000 n +0000718569 00000 n +0000718735 00000 n +0000718908 00000 n +0000719083 00000 n +0000719206 00000 n +0000720607 00000 n +0000720777 00000 n +0000720951 00000 n +0000721120 00000 n +0000721294 00000 n +0000721465 00000 n +0000721587 00000 n +0000723875 00000 n +0000724108 00000 n +0000724265 00000 n +0000724421 00000 n +0000724579 00000 n +0000724739 00000 n +0000724907 00000 n +0000725075 00000 n +0000725242 00000 n +0000725416 00000 n +0000725592 00000 n +0000725767 00000 n +0000725941 00000 n +0000726037 00000 n +0000727881 00000 n +0000728078 00000 n +0000728253 00000 n +0000728418 00000 n +0000728585 00000 n +0000728750 00000 n +0000728916 00000 n +0000729078 00000 n +0000729240 00000 n +0000729362 00000 n +0000731286 00000 n +0000731408 00000 n +0000731491 00000 n +0000731853 00000 n +0000732041 00000 n +0000732213 00000 n +0000732383 00000 n +0000732547 00000 n +0000732717 00000 n +0000732874 00000 n +0000733033 00000 n +0000733142 00000 n +0000735110 00000 n +0000735298 00000 n +0000735462 00000 n +0000735632 00000 n +0000735787 00000 n +0000735947 00000 n +0000736104 00000 n +0000736279 00000 n +0000736388 00000 n +0000738271 00000 n +0000738486 00000 n +0000738658 00000 n +0000738825 00000 n +0000738995 00000 n +0000739161 00000 n +0000739325 00000 n +0000739495 00000 n +0000739657 00000 n +0000739811 00000 n +0000739985 00000 n +0000740094 00000 n +0000742220 00000 n +0000742417 00000 n +0000742584 00000 n +0000742750 00000 n +0000742914 00000 n +0000743084 00000 n +0000743244 00000 n +0000743399 00000 n +0000743556 00000 n +0000743665 00000 n +0000745450 00000 n +0000745620 00000 n +0000745793 00000 n +0000745965 00000 n +0000746137 00000 n +0000746307 00000 n +0000746429 00000 n +0000748341 00000 n +0000748529 00000 n +0000748694 00000 n +0000748858 00000 n +0000749018 00000 n +0000749177 00000 n +0000749335 00000 n +0000749508 00000 n +0000749617 00000 n +0000751185 00000 n +0000751400 00000 n +0000751572 00000 n +0000751742 00000 n +0000751908 00000 n +0000752073 00000 n +0000752233 00000 n +0000752394 00000 n +0000752554 00000 n +0000752713 00000 n +0000752875 00000 n +0000752984 00000 n +0000754958 00000 n +0000755155 00000 n +0000755327 00000 n +0000755500 00000 n +0000755672 00000 n +0000755842 00000 n +0000756013 00000 n +0000756186 00000 n +0000756359 00000 n +0000756481 00000 n +0000758457 00000 n +0000758672 00000 n +0000758838 00000 n +0000759010 00000 n +0000759183 00000 n +0000759342 00000 n +0000759506 00000 n +0000759665 00000 n +0000759833 00000 n +0000760005 00000 n +0000760184 00000 n +0000760306 00000 n +0000762610 00000 n +0000762834 00000 n +0000763011 00000 n +0000763168 00000 n +0000763326 00000 n +0000763484 00000 n +0000763643 00000 n +0000763806 00000 n +0000763982 00000 n +0000764155 00000 n +0000764328 00000 n +0000764505 00000 n +0000764614 00000 n +0000766847 00000 n +0000767062 00000 n +0000767235 00000 n +0000767412 00000 n +0000767590 00000 n +0000767755 00000 n +0000767922 00000 n +0000768081 00000 n +0000768240 00000 n +0000768402 00000 n +0000768562 00000 n +0000768671 00000 n +0000770610 00000 n +0000770789 00000 n +0000770958 00000 n +0000771166 00000 n +0000771382 00000 n +0000771554 00000 n +0000771726 00000 n +0000771835 00000 n +0000773392 00000 n +0000773571 00000 n +0000773742 00000 n +0000773915 00000 n +0000774083 00000 n +0000774249 00000 n +0000774416 00000 n +0000774538 00000 n +0000776403 00000 n +0000776609 00000 n +0000776787 00000 n +0000776952 00000 n +0000777119 00000 n +0000777280 00000 n +0000777440 00000 n +0000777601 00000 n +0000777761 00000 n +0000777926 00000 n +0000778035 00000 n +0000779354 00000 n +0000779542 00000 n +0000779709 00000 n +0000779880 00000 n +0000780051 00000 n +0000780218 00000 n +0000780385 00000 n +0000780557 00000 n +0000780679 00000 n +0000782643 00000 n +0000782831 00000 n +0000783009 00000 n +0000783174 00000 n +0000783333 00000 n +0000783494 00000 n +0000783655 00000 n +0000783815 00000 n +0000783924 00000 n +0000785339 00000 n +0000785545 00000 n +0000785718 00000 n +0000785895 00000 n +0000786073 00000 n +0000786240 00000 n +0000786401 00000 n +0000786560 00000 n +0000786720 00000 n +0000786885 00000 n +0000786994 00000 n +0000789050 00000 n +0000789247 00000 n +0000789420 00000 n +0000789590 00000 n +0000789758 00000 n +0000789931 00000 n +0000790101 00000 n +0000790274 00000 n +0000790443 00000 n +0000790552 00000 n +0000792407 00000 n +0000792604 00000 n +0000792781 00000 n +0000792945 00000 n +0000793103 00000 n +0000793262 00000 n +0000793426 00000 n +0000793600 00000 n +0000793772 00000 n +0000793881 00000 n +0000795517 00000 n +0000795759 00000 n +0000795934 00000 n +0000796108 00000 n +0000796279 00000 n +0000796450 00000 n +0000796621 00000 n +0000796793 00000 n +0000796966 00000 n +0000797140 00000 n +0000797306 00000 n +0000797465 00000 n +0000797625 00000 n +0000797784 00000 n +0000797906 00000 n +0000800083 00000 n +0000800289 00000 n +0000800463 00000 n +0000800635 00000 n +0000800810 00000 n +0000800984 00000 n +0000801156 00000 n +0000801327 00000 n +0000801499 00000 n +0000801671 00000 n +0000801793 00000 n +0000803930 00000 n +0000804163 00000 n +0000804337 00000 n +0000804512 00000 n +0000804679 00000 n +0000804838 00000 n +0000804999 00000 n +0000805159 00000 n +0000805333 00000 n +0000805505 00000 n +0000805680 00000 n +0000805854 00000 n +0000806026 00000 n +0000806148 00000 n +0000808164 00000 n +0000808379 00000 n +0000808550 00000 n +0000808722 00000 n +0000808893 00000 n +0000809059 00000 n +0000809234 00000 n +0000809401 00000 n +0000809563 00000 n +0000809725 00000 n +0000809884 00000 n +0000810006 00000 n +0000811851 00000 n +0000812057 00000 n +0000812231 00000 n +0000812403 00000 n +0000812578 00000 n +0000812752 00000 n +0000812923 00000 n +0000813093 00000 n +0000813265 00000 n +0000813437 00000 n +0000813559 00000 n +0000815765 00000 n +0000816007 00000 n +0000816181 00000 n +0000816356 00000 n +0000816523 00000 n +0000816683 00000 n +0000816845 00000 n +0000817004 00000 n +0000817177 00000 n +0000817349 00000 n +0000817524 00000 n +0000817698 00000 n +0000817870 00000 n +0000818041 00000 n +0000818163 00000 n +0000820260 00000 n +0000820466 00000 n +0000820637 00000 n +0000820809 00000 n +0000820974 00000 n +0000821148 00000 n +0000821314 00000 n +0000821475 00000 n +0000821634 00000 n +0000821792 00000 n +0000821901 00000 n +0000823680 00000 n +0000823940 00000 n +0000824114 00000 n +0000824286 00000 n +0000824461 00000 n +0000824635 00000 n +0000824807 00000 n +0000824977 00000 n +0000825149 00000 n +0000825320 00000 n +0000825494 00000 n +0000825669 00000 n +0000825836 00000 n +0000825995 00000 n +0000826155 00000 n +0000826314 00000 n +0000826423 00000 n +0000828618 00000 n +0000828833 00000 n +0000829004 00000 n +0000829178 00000 n +0000829350 00000 n +0000829525 00000 n +0000829699 00000 n +0000829871 00000 n +0000830042 00000 n +0000830214 00000 n +0000830386 00000 n +0000830508 00000 n +0000832587 00000 n +0000832838 00000 n +0000833003 00000 n +0000833178 00000 n +0000833345 00000 n +0000833510 00000 n +0000833672 00000 n +0000833832 00000 n +0000834004 00000 n +0000834177 00000 n +0000834349 00000 n +0000834524 00000 n +0000834698 00000 n +0000834870 00000 n +0000835041 00000 n +0000835163 00000 n +0000837309 00000 n +0000837533 00000 n +0000837704 00000 n +0000837876 00000 n +0000838041 00000 n +0000838216 00000 n +0000838383 00000 n +0000838542 00000 n +0000838704 00000 n +0000838863 00000 n +0000839035 00000 n +0000839209 00000 n +0000839318 00000 n +0000841050 00000 n +0000841301 00000 n +0000841473 00000 n +0000841648 00000 n +0000841821 00000 n +0000841993 00000 n +0000842163 00000 n +0000842335 00000 n +0000842506 00000 n +0000842671 00000 n +0000842846 00000 n +0000843013 00000 n +0000843180 00000 n +0000843339 00000 n +0000843502 00000 n +0000843624 00000 n +0000845915 00000 n +0000846130 00000 n +0000846302 00000 n +0000846476 00000 n +0000846648 00000 n +0000846823 00000 n +0000846997 00000 n +0000847168 00000 n +0000847338 00000 n +0000847510 00000 n +0000847682 00000 n +0000847791 00000 n +0000849940 00000 n +0000850200 00000 n +0000850365 00000 n +0000850540 00000 n +0000850707 00000 n +0000850869 00000 n +0000851028 00000 n +0000851190 00000 n +0000851362 00000 n +0000851536 00000 n +0000851708 00000 n +0000851883 00000 n +0000852056 00000 n +0000852228 00000 n +0000852399 00000 n +0000852571 00000 n +0000852693 00000 n +0000854900 00000 n +0000855115 00000 n +0000855286 00000 n +0000855451 00000 n +0000855626 00000 n +0000855793 00000 n +0000855959 00000 n +0000856118 00000 n +0000856290 00000 n +0000856463 00000 n +0000856635 00000 n +0000856744 00000 n +0000858579 00000 n +0000858812 00000 n +0000858987 00000 n +0000859161 00000 n +0000859332 00000 n +0000859503 00000 n +0000859674 00000 n +0000859846 00000 n +0000860011 00000 n +0000860186 00000 n +0000860353 00000 n +0000860516 00000 n +0000860675 00000 n +0000860797 00000 n +0000862800 00000 n +0000863006 00000 n +0000863173 00000 n +0000863339 00000 n +0000863511 00000 n +0000863682 00000 n +0000863847 00000 n +0000864019 00000 n +0000864175 00000 n +0000864332 00000 n +0000864454 00000 n +0000866689 00000 n +0000866859 00000 n +0000867022 00000 n +0000867188 00000 n +0000867360 00000 n +0000867532 00000 n +0000867654 00000 n +0000869798 00000 n +0000870004 00000 n +0000870170 00000 n +0000870343 00000 n +0000870501 00000 n +0000870659 00000 n +0000870826 00000 n +0000870992 00000 n +0000871164 00000 n +0000871336 00000 n +0000871458 00000 n +0000873298 00000 n +0000873531 00000 n +0000873697 00000 n +0000873870 00000 n +0000874028 00000 n +0000874185 00000 n +0000874358 00000 n +0000874530 00000 n +0000874705 00000 n +0000874879 00000 n +0000875051 00000 n +0000875222 00000 n +0000875394 00000 n +0000875516 00000 n +0000877590 00000 n +0000877787 00000 n +0000877959 00000 n +0000878131 00000 n +0000878306 00000 n +0000878473 00000 n +0000878633 00000 n +0000878794 00000 n +0000878957 00000 n +0000879066 00000 n +0000880751 00000 n +0000880957 00000 n +0000881131 00000 n +0000881303 00000 n +0000881478 00000 n +0000881652 00000 n +0000881824 00000 n +0000881995 00000 n +0000882167 00000 n +0000882339 00000 n +0000882461 00000 n +0000884576 00000 n +0000884773 00000 n +0000884945 00000 n +0000885120 00000 n +0000885287 00000 n +0000885448 00000 n +0000885609 00000 n +0000885773 00000 n +0000885947 00000 n +0000886069 00000 n +0000887546 00000 n +0000887797 00000 n +0000887969 00000 n +0000888144 00000 n +0000888318 00000 n +0000888490 00000 n +0000888661 00000 n +0000888832 00000 n +0000889004 00000 n +0000889176 00000 n +0000889351 00000 n +0000889518 00000 n +0000889679 00000 n +0000889839 00000 n +0000890002 00000 n +0000890124 00000 n +0000892509 00000 n +0000892724 00000 n +0000892898 00000 n +0000893069 00000 n +0000893241 00000 n +0000893415 00000 n +0000893589 00000 n +0000893760 00000 n +0000893932 00000 n +0000894103 00000 n +0000894275 00000 n +0000894397 00000 n +0000896523 00000 n +0000896720 00000 n +0000896891 00000 n +0000897063 00000 n +0000897238 00000 n +0000897405 00000 n +0000897571 00000 n +0000897732 00000 n +0000897906 00000 n +0000898028 00000 n +0000899646 00000 n +0000899906 00000 n +0000900078 00000 n +0000900250 00000 n +0000900425 00000 n +0000900599 00000 n +0000900771 00000 n +0000900943 00000 n +0000901114 00000 n +0000901286 00000 n +0000901458 00000 n +0000901630 00000 n +0000901805 00000 n +0000901972 00000 n +0000902137 00000 n +0000902298 00000 n +0000902407 00000 n +0000904731 00000 n +0000904928 00000 n +0000905103 00000 n +0000905281 00000 n +0000905456 00000 n +0000905621 00000 n +0000905794 00000 n +0000906013 00000 n +0000906179 00000 n +0000906275 00000 n +0000908291 00000 n +0000908479 00000 n +0000908645 00000 n +0000908812 00000 n +0000908974 00000 n +0000909135 00000 n +0000909295 00000 n +0000909467 00000 n +0000909576 00000 n +0000911472 00000 n +0000911669 00000 n +0000911841 00000 n +0000912014 00000 n +0000912179 00000 n +0000912351 00000 n +0000912513 00000 n +0000912671 00000 n +0000912830 00000 n +0000912939 00000 n +0000914616 00000 n +0000914777 00000 n +0000914942 00000 n +0000915107 00000 n +0000915272 00000 n +0000915394 00000 n +0000917383 00000 n +0000917553 00000 n +0000917719 00000 n +0000917884 00000 n +0000918055 00000 n +0000918218 00000 n +0000918340 00000 n +0000919940 00000 n +0000920128 00000 n +0000920298 00000 n +0000920464 00000 n +0000920635 00000 n +0000920807 00000 n +0000920975 00000 n +0000921145 00000 n +0000921241 00000 n +0000923394 00000 n +0000923591 00000 n +0000923757 00000 n +0000923921 00000 n +0000924083 00000 n +0000924247 00000 n +0000924406 00000 n +0000924573 00000 n +0000924746 00000 n +0000924842 00000 n +0000926270 00000 n +0000926440 00000 n +0000926612 00000 n +0000926784 00000 n +0000926955 00000 n +0000927126 00000 n +0000927222 00000 n +0000929065 00000 n +0000929253 00000 n +0000929418 00000 n +0000929592 00000 n +0000929750 00000 n +0000929908 00000 n +0000930067 00000 n +0000930233 00000 n +0000930342 00000 n +0000931672 00000 n +0000931851 00000 n +0000932017 00000 n +0000932183 00000 n +0000932341 00000 n +0000932500 00000 n +0000932666 00000 n +0000932775 00000 n +0000934543 00000 n +0000934731 00000 n +0000934897 00000 n +0000935063 00000 n +0000935229 00000 n +0000935387 00000 n +0000935546 00000 n +0000935712 00000 n +0000935808 00000 n +0000937594 00000 n +0000937782 00000 n +0000937954 00000 n +0000938120 00000 n +0000938291 00000 n +0000938457 00000 n +0000938629 00000 n +0000938790 00000 n +0000938899 00000 n +0000940758 00000 n +0000940991 00000 n +0000941162 00000 n +0000941334 00000 n +0000941501 00000 n +0000941673 00000 n +0000941844 00000 n +0000942015 00000 n +0000942186 00000 n +0000942357 00000 n +0000942528 00000 n +0000942684 00000 n +0000942840 00000 n +0000942949 00000 n +0000945280 00000 n +0000945495 00000 n +0000945652 00000 n +0000945814 00000 n +0000945978 00000 n +0000946157 00000 n +0000946322 00000 n +0000946493 00000 n +0000946664 00000 n +0000946833 00000 n +0000947005 00000 n +0000947114 00000 n +0000949007 00000 n +0000949231 00000 n +0000949390 00000 n +0000949554 00000 n +0000949725 00000 n +0000949883 00000 n +0000950042 00000 n +0000950207 00000 n +0000950378 00000 n +0000950549 00000 n +0000950719 00000 n +0000950891 00000 n +0000951000 00000 n +0000953041 00000 n +0000953247 00000 n +0000953411 00000 n +0000953582 00000 n +0000953741 00000 n +0000953902 00000 n +0000954067 00000 n +0000954237 00000 n +0000954408 00000 n +0000954577 00000 n +0000954686 00000 n +0000956415 00000 n +0000956621 00000 n +0000956793 00000 n +0000956957 00000 n +0000957128 00000 n +0000957286 00000 n +0000957447 00000 n +0000957612 00000 n +0000957782 00000 n +0000957953 00000 n +0000958062 00000 n +0000959952 00000 n +0000960167 00000 n +0000960337 00000 n +0000960509 00000 n +0000960673 00000 n +0000960844 00000 n +0000961002 00000 n +0000961161 00000 n +0000961326 00000 n +0000961498 00000 n +0000961669 00000 n +0000961778 00000 n +0000963628 00000 n +0000963750 00000 n +0000963833 00000 n +0000964192 00000 n +0000964398 00000 n +0000964567 00000 n +0000964739 00000 n +0000964903 00000 n +0000965074 00000 n +0000965233 00000 n +0000965391 00000 n +0000965549 00000 n +0000965710 00000 n +0000965806 00000 n +0000967858 00000 n +0000968082 00000 n +0000968246 00000 n +0000968410 00000 n +0000968577 00000 n +0000968746 00000 n +0000968911 00000 n +0000969072 00000 n +0000969236 00000 n +0000969398 00000 n +0000969568 00000 n +0000969727 00000 n +0000969823 00000 n +0000971340 00000 n +0000971528 00000 n +0000971692 00000 n +0000971851 00000 n +0000972016 00000 n +0000972174 00000 n +0000972332 00000 n +0000972497 00000 n +0000972593 00000 n +0000973567 00000 n +0000973737 00000 n +0000973899 00000 n +0000974063 00000 n +0000974230 00000 n +0000974397 00000 n +0000974519 00000 n +0000976557 00000 n +0000976727 00000 n +0000976888 00000 n +0000977053 00000 n +0000977218 00000 n +0000977388 00000 n +0000977497 00000 n +0000979701 00000 n +0000979871 00000 n +0000980032 00000 n +0000980193 00000 n +0000980358 00000 n +0000980528 00000 n +0000980637 00000 n +0000983101 00000 n +0000983253 00000 n +0000983420 00000 n +0000983587 00000 n +0000983696 00000 n +0000985766 00000 n +0000985936 00000 n +0000986097 00000 n +0000986258 00000 n +0000986423 00000 n +0000986593 00000 n +0000986702 00000 n +0000989013 00000 n +0000989219 00000 n +0000989380 00000 n +0000989541 00000 n +0000989706 00000 n +0000989871 00000 n +0000990037 00000 n +0000990206 00000 n +0000990378 00000 n +0000990555 00000 n +0000990677 00000 n +0000993271 00000 n +0000993441 00000 n +0000993601 00000 n +0000993779 00000 n +0000993946 00000 n +0000994113 00000 n +0000994222 00000 n +0000995792 00000 n +0000995989 00000 n +0000996158 00000 n +0000996330 00000 n +0000996497 00000 n +0000996669 00000 n +0000996836 00000 n +0000997008 00000 n +0000997177 00000 n +0000997312 00000 n +0001000308 00000 n +0001000478 00000 n +0001000638 00000 n +0001000810 00000 n +0001000979 00000 n +0001001202 00000 n +0001001298 00000 n +0001003075 00000 n +0001003326 00000 n +0001003486 00000 n +0001003654 00000 n +0001003824 00000 n +0001003994 00000 n +0001004172 00000 n +0001004332 00000 n +0001004500 00000 n +0001004671 00000 n +0001004849 00000 n +0001005016 00000 n +0001005189 00000 n +0001005363 00000 n +0001005537 00000 n +0001005659 00000 n +0001007930 00000 n +0001008145 00000 n +0001008304 00000 n +0001008471 00000 n +0001008644 00000 n +0001008816 00000 n +0001008990 00000 n +0001009164 00000 n +0001009331 00000 n +0001009505 00000 n +0001009675 00000 n +0001009797 00000 n +0001011947 00000 n +0001012162 00000 n +0001012334 00000 n +0001012507 00000 n +0001012680 00000 n +0001012847 00000 n +0001013021 00000 n +0001013193 00000 n +0001013364 00000 n +0001013538 00000 n +0001013712 00000 n +0001013834 00000 n +0001016104 00000 n +0001016301 00000 n +0001016468 00000 n +0001016642 00000 n +0001016811 00000 n +0001016983 00000 n +0001017153 00000 n +0001017325 00000 n +0001017497 00000 n +0001017619 00000 n +0001019656 00000 n +0001019871 00000 n +0001020038 00000 n +0001020212 00000 n +0001020381 00000 n +0001020552 00000 n +0001020723 00000 n +0001020896 00000 n +0001021063 00000 n +0001021237 00000 n +0001021409 00000 n +0001021531 00000 n +0001023731 00000 n +0001023919 00000 n +0001024148 00000 n +0001024314 00000 n +0001024485 00000 n +0001024645 00000 n +0001024813 00000 n +0001024985 00000 n +0001025094 00000 n +0001027484 00000 n +0001027606 00000 n +0001027689 00000 n +0001028049 00000 n +0001028192 00000 n +0001028350 00000 n +0001028446 00000 n +0001029694 00000 n +0001029816 00000 n +0001029899 00000 n +0001030228 00000 n +0001030596 00000 n +0001030769 00000 n +0001030946 00000 n +0001031121 00000 n +0001031296 00000 n +0001031471 00000 n +0001031642 00000 n +0001031811 00000 n +0001031980 00000 n +0001032158 00000 n +0001032319 00000 n +0001032488 00000 n +0001032666 00000 n +0001032835 00000 n +0001033000 00000 n +0001033170 00000 n +0001033342 00000 n +0001033515 00000 n +0001033689 00000 n +0001033864 00000 n +0001034037 00000 n +0001034204 00000 n +0001034377 00000 n +0001034547 00000 n +0001034705 00000 n +0001034868 00000 n +0001035031 00000 n +0001035127 00000 n +0001036736 00000 n +0001037203 00000 n +0001037371 00000 n +0001037541 00000 n +0001037708 00000 n +0001037880 00000 n +0001038050 00000 n +0001038226 00000 n +0001038394 00000 n +0001038561 00000 n +0001038738 00000 n +0001038905 00000 n +0001039071 00000 n +0001039241 00000 n +0001039405 00000 n +0001039571 00000 n +0001039737 00000 n +0001039900 00000 n +0001040060 00000 n +0001040218 00000 n +0001040374 00000 n +0001040532 00000 n +0001040695 00000 n +0001040851 00000 n +0001041005 00000 n +0001041162 00000 n +0001041319 00000 n +0001041483 00000 n +0001041641 00000 n +0001041798 00000 n +0001041957 00000 n +0001042115 00000 n +0001042273 00000 n +0001042430 00000 n +0001042588 00000 n +0001042749 00000 n +0001042906 00000 n +0001043066 00000 n +0001043223 00000 n +0001043332 00000 n +0001045367 00000 n +0001045816 00000 n +0001045977 00000 n +0001046134 00000 n +0001046292 00000 n +0001046453 00000 n +0001046613 00000 n +0001046771 00000 n +0001046934 00000 n +0001047101 00000 n +0001047257 00000 n +0001047415 00000 n +0001047576 00000 n +0001047733 00000 n +0001047894 00000 n +0001048054 00000 n +0001048216 00000 n +0001048380 00000 n +0001048537 00000 n +0001048696 00000 n +0001048853 00000 n +0001049011 00000 n +0001049178 00000 n +0001049338 00000 n +0001049504 00000 n +0001049662 00000 n +0001049823 00000 n +0001049978 00000 n +0001050135 00000 n +0001050295 00000 n +0001050463 00000 n +0001050622 00000 n +0001050787 00000 n +0001050944 00000 n +0001051100 00000 n +0001051263 00000 n +0001051426 00000 n +0001051522 00000 n +0001053252 00000 n +0001053701 00000 n +0001053863 00000 n +0001054031 00000 n +0001054198 00000 n +0001054361 00000 n +0001054522 00000 n +0001054680 00000 n +0001054837 00000 n +0001055000 00000 n +0001055157 00000 n +0001055316 00000 n +0001055473 00000 n +0001055637 00000 n +0001055793 00000 n +0001055949 00000 n +0001056113 00000 n +0001056269 00000 n +0001056433 00000 n +0001056591 00000 n +0001056751 00000 n +0001056910 00000 n +0001057066 00000 n +0001057222 00000 n +0001057387 00000 n +0001057550 00000 n +0001057705 00000 n +0001057863 00000 n +0001058019 00000 n +0001058181 00000 n +0001058338 00000 n +0001058499 00000 n +0001058661 00000 n +0001058819 00000 n +0001058979 00000 n +0001059141 00000 n +0001059303 00000 n +0001059399 00000 n +0001061154 00000 n +0001061603 00000 n +0001061761 00000 n +0001061921 00000 n +0001062080 00000 n +0001062242 00000 n +0001062402 00000 n +0001062565 00000 n +0001062725 00000 n +0001062890 00000 n +0001063056 00000 n +0001063221 00000 n +0001063388 00000 n +0001063557 00000 n +0001063724 00000 n +0001063893 00000 n +0001064061 00000 n +0001064230 00000 n +0001064407 00000 n +0001064575 00000 n +0001064742 00000 n +0001064907 00000 n +0001065062 00000 n +0001065220 00000 n +0001065383 00000 n +0001065545 00000 n +0001065709 00000 n +0001065866 00000 n +0001066025 00000 n +0001066184 00000 n +0001066341 00000 n +0001066509 00000 n +0001066667 00000 n +0001066829 00000 n +0001066996 00000 n +0001067155 00000 n +0001067318 00000 n +0001067414 00000 n +0001069190 00000 n +0001069378 00000 n +0001069542 00000 n +0001069704 00000 n +0001069862 00000 n +0001070023 00000 n +0001070180 00000 n +0001070341 00000 n +0001070437 00000 n +0001071114 00000 n +0001071266 00000 n +0001071464 00000 n +0001071661 00000 n +0001071744 00000 n +0001072263 00000 n +0001072385 00000 n +0001072468 00000 n +0001072799 00000 n +0001072951 00000 n +0001073185 00000 n +0001073408 00000 n +0001073504 00000 n +0001074091 00000 n +0001074172 00000 n +0001074256 00000 n +0001074285 00000 n +0001074334 00000 n +0001074474 00000 n +0001074504 00000 n +0001074552 00000 n +0001074692 00000 n +0001074722 00000 n +0001074770 00000 n +0001074910 00000 n +0001074941 00000 n +0001074989 00000 n +0001075130 00000 n +0001075164 00000 n +0001075212 00000 n +0001075352 00000 n +0001075383 00000 n +0001075431 00000 n +0001075571 00000 n +0001075598 00000 n +0001075646 00000 n +0001075745 00000 n +0001075777 00000 n +0001075825 00000 n +0001075965 00000 n +0001076003 00000 n +0001076051 00000 n +0001076150 00000 n +0001076187 00000 n +0001076235 00000 n +0001076319 00000 n +0001076352 00000 n +0001076404 00000 n +0001076488 00000 n +0001076517 00000 n +0001076567 00000 n +0001076651 00000 n +0001076682 00000 n +0001076732 00000 n +0001076857 00000 n +0001076885 00000 n +0001076935 00000 n +0001077075 00000 n +0001077109 00000 n +0001077159 00000 n +0001077299 00000 n +0001077333 00000 n +0001077383 00000 n +0001077508 00000 n +0001077556 00000 n +0001077606 00000 n +0001077675 00000 n +0001077724 00000 n +0001077779 00000 n +0001077863 00000 n +0001077921 00000 n +0001077976 00000 n +0001078075 00000 n +0001078120 00000 n +0001078175 00000 n +0001078274 00000 n +0001078329 00000 n +0001078384 00000 n +0001078483 00000 n +0001078531 00000 n +0001078586 00000 n +0001078685 00000 n +0001078731 00000 n +0001078786 00000 n +0001078885 00000 n +0001078930 00000 n +0001078985 00000 n +0001079084 00000 n +0001079129 00000 n +0001079184 00000 n +0001079268 00000 n +0001079314 00000 n +0001079369 00000 n +0001079453 00000 n +0001079501 00000 n +0001079556 00000 n +0001079640 00000 n +0001079694 00000 n +0001079749 00000 n +0001079833 00000 n +0001079870 00000 n +0001079925 00000 n +0001080024 00000 n +0001080065 00000 n +0001080120 00000 n +0001080219 00000 n +0001080260 00000 n +0001080315 00000 n +0001080399 00000 n +0001080445 00000 n +0001080500 00000 n +0001080625 00000 n +0001080675 00000 n +0001080815 00000 n +0001080843 00000 n +0001080893 00000 n +0001081018 00000 n +0001081052 00000 n +0001081102 00000 n +0001081186 00000 n +0001081211 00000 n +0001081266 00000 n +0001081365 00000 n +0001081396 00000 n +0001081451 00000 n +0001081535 00000 n +0001081561 00000 n +0001081616 00000 n +0001081700 00000 n +0001081726 00000 n +0001081781 00000 n +0001081880 00000 n +0001081905 00000 n +0001081960 00000 n +0001082059 00000 n +0001082085 00000 n +0001082140 00000 n +0001082239 00000 n +0001082266 00000 n +0001082321 00000 n +0001082405 00000 n +0001082436 00000 n +0001082491 00000 n +0001082560 00000 n +0001082598 00000 n +0001082653 00000 n +0001082778 00000 n +0001082828 00000 n +0001082968 00000 n +0001083003 00000 n +0001083053 00000 n +0001083193 00000 n +0001083224 00000 n +0001083274 00000 n +0001083414 00000 n +0001083467 00000 n +0001083517 00000 n +0001083657 00000 n +0001083699 00000 n +0001083749 00000 n +0001083889 00000 n +0001083921 00000 n +0001083971 00000 n +0001084111 00000 n +0001084150 00000 n +0001084200 00000 n +0001084340 00000 n +0001084379 00000 n +0001084429 00000 n +0001084569 00000 n +0001084597 00000 n +0001084647 00000 n +0001084772 00000 n +0001084823 00000 n +0001084907 00000 n +0001084936 00000 n +0001084992 00000 n +0001085091 00000 n +0001085118 00000 n +0001085174 00000 n +0001085273 00000 n +0001085301 00000 n +0001085357 00000 n +0001085456 00000 n +0001085493 00000 n +0001085549 00000 n +0001085648 00000 n +0001085681 00000 n +0001085737 00000 n +0001085836 00000 n +0001085860 00000 n +0001085916 00000 n +0001086015 00000 n +0001086039 00000 n +0001086095 00000 n +0001086179 00000 n +0001086207 00000 n +0001086263 00000 n +0001086332 00000 n +0001086382 00000 n +0001086437 00000 n +0001086521 00000 n +0001086549 00000 n +0001086604 00000 n +0001086703 00000 n +0001086730 00000 n +0001086785 00000 n +0001086884 00000 n +0001086912 00000 n +0001086967 00000 n +0001087066 00000 n +0001087097 00000 n +0001087152 00000 n +0001087236 00000 n +0001087268 00000 n +0001087323 00000 n +0001087407 00000 n +0001087432 00000 n +0001087487 00000 n +0001087586 00000 n +0001087610 00000 n +0001087665 00000 n +0001087749 00000 n +0001087774 00000 n +0001087829 00000 n +0001087913 00000 n +0001087938 00000 n +0001087993 00000 n +0001088092 00000 n +0001088123 00000 n +0001088178 00000 n +0001088277 00000 n +0001088305 00000 n +0001088360 00000 n +0001088459 00000 n +0001088493 00000 n +0001088548 00000 n +0001088647 00000 n +0001088676 00000 n +0001088731 00000 n +0001088815 00000 n +0001088848 00000 n +0001088903 00000 n +0001088987 00000 n +0001089012 00000 n +0001089067 00000 n +0001089166 00000 n +0001089192 00000 n +0001089247 00000 n +0001089346 00000 n +0001089372 00000 n +0001089427 00000 n +0001089526 00000 n +0001089554 00000 n +0001089609 00000 n +0001089708 00000 n +0001089736 00000 n +0001089791 00000 n +0001089875 00000 n +0001089902 00000 n +0001089957 00000 n +0001090041 00000 n +0001090074 00000 n +0001090129 00000 n +0001090228 00000 n +0001090255 00000 n +0001090310 00000 n +0001090409 00000 n +0001090434 00000 n +0001090489 00000 n +0001090588 00000 n +0001090614 00000 n +0001090669 00000 n +0001090768 00000 n +0001090792 00000 n +0001090847 00000 n +0001090931 00000 n +0001090959 00000 n +0001091014 00000 n +0001091098 00000 n +0001091124 00000 n +0001091179 00000 n +0001091278 00000 n +0001091309 00000 n +0001091364 00000 n +0001091448 00000 n +0001091480 00000 n +0001091535 00000 n +0001091619 00000 n +0001091643 00000 n +0001091698 00000 n +0001091797 00000 n +0001091822 00000 n +0001091877 00000 n +0001091976 00000 n +0001092004 00000 n +0001092059 00000 n +0001092143 00000 n +0001092173 00000 n +0001092228 00000 n +0001092312 00000 n +0001092345 00000 n +0001092400 00000 n +0001092499 00000 n +0001092538 00000 n +0001092593 00000 n +0001092692 00000 n +0001092730 00000 n +0001092785 00000 n +0001092884 00000 n +0001092927 00000 n +0001092982 00000 n +0001093081 00000 n +0001093129 00000 n +0001093184 00000 n +0001093283 00000 n +0001093324 00000 n +0001093379 00000 n +0001093463 00000 n +0001093504 00000 n +0001093559 00000 n +0001093684 00000 n +0001093734 00000 n +0001093874 00000 n +0001093904 00000 n +0001093954 00000 n +0001094094 00000 n +0001094135 00000 n +0001094185 00000 n +0001094326 00000 n +0001094366 00000 n +0001094416 00000 n +0001094542 00000 n +0001094588 00000 n +0001094638 00000 n +0001094722 00000 n +0001094747 00000 n +0001094802 00000 n +0001094901 00000 n +0001094929 00000 n +0001094984 00000 n +0001095083 00000 n +0001095113 00000 n +0001095168 00000 n +0001095267 00000 n +0001095295 00000 n +0001095350 00000 n +0001095449 00000 n +0001095480 00000 n +0001095535 00000 n +0001095634 00000 n +0001095661 00000 n +0001095716 00000 n +0001095815 00000 n +0001095845 00000 n +0001095900 00000 n +0001095999 00000 n +0001096026 00000 n +0001096081 00000 n +0001096180 00000 n +0001096210 00000 n +0001096265 00000 n +0001096364 00000 n +0001096401 00000 n +0001096457 00000 n +0001096556 00000 n +0001096581 00000 n +0001096637 00000 n +0001096736 00000 n +0001096764 00000 n +0001096820 00000 n +0001096919 00000 n +0001096952 00000 n +0001097008 00000 n +0001097107 00000 n +0001097143 00000 n +0001097199 00000 n +0001097298 00000 n +0001097336 00000 n +0001097392 00000 n +0001097491 00000 n +0001097527 00000 n +0001097583 00000 n +0001097682 00000 n +0001097721 00000 n +0001097777 00000 n +0001097876 00000 n +0001097911 00000 n +0001097967 00000 n +0001098066 00000 n +0001098104 00000 n +0001098160 00000 n +0001098259 00000 n +0001098294 00000 n +0001098350 00000 n +0001098449 00000 n +0001098487 00000 n +0001098543 00000 n +0001098627 00000 n +0001098672 00000 n +0001098728 00000 n +0001098812 00000 n +0001098837 00000 n +0001098892 00000 n +0001098991 00000 n +0001099019 00000 n +0001099074 00000 n +0001099173 00000 n +0001099202 00000 n +0001099257 00000 n +0001099356 00000 n +0001099382 00000 n +0001099437 00000 n +0001099536 00000 n +0001099565 00000 n +0001099620 00000 n +0001099719 00000 n +0001099751 00000 n +0001099806 00000 n +0001099905 00000 n +0001099937 00000 n +0001099992 00000 n +0001100091 00000 n +0001100123 00000 n +0001100178 00000 n +0001100277 00000 n +0001100309 00000 n +0001100364 00000 n +0001100448 00000 n +0001100474 00000 n +0001100530 00000 n +0001100614 00000 n +0001100639 00000 n +0001100694 00000 n +0001100793 00000 n +0001100823 00000 n +0001100878 00000 n +0001100977 00000 n +0001101010 00000 n +0001101065 00000 n +0001101164 00000 n +0001101202 00000 n +0001101257 00000 n +0001101341 00000 n +0001101372 00000 n +0001101427 00000 n +0001101511 00000 n +0001101545 00000 n +0001101600 00000 n +0001101699 00000 n +0001101734 00000 n +0001101789 00000 n +0001101873 00000 n +0001101902 00000 n +0001101957 00000 n +0001102041 00000 n +0001102070 00000 n +0001102125 00000 n +0001102209 00000 n +0001102250 00000 n +0001102305 00000 n +0001102430 00000 n +0001102480 00000 n +0001102605 00000 n +0001102648 00000 n +0001102698 00000 n +0001102782 00000 n +0001102810 00000 n +0001102865 00000 n +0001102964 00000 n +0001102993 00000 n +0001103048 00000 n +0001103147 00000 n +0001103172 00000 n +0001103227 00000 n +0001103326 00000 n +0001103352 00000 n +0001103407 00000 n +0001103506 00000 n +0001103532 00000 n +0001103587 00000 n +0001103671 00000 n +0001103709 00000 n +0001103764 00000 n +0001103848 00000 n +0001103885 00000 n +0001103940 00000 n +0001104039 00000 n +0001104082 00000 n +0001104137 00000 n +0001104221 00000 n +0001104264 00000 n +0001104319 00000 n +0001104445 00000 n +0001104495 00000 n +0001104635 00000 n +0001104663 00000 n +0001104713 00000 n +0001104853 00000 n +0001104879 00000 n +0001104929 00000 n +0001105055 00000 n +0001105099 00000 n +0001105149 00000 n +0001105233 00000 n +0001105256 00000 n +0001105311 00000 n +0001105410 00000 n +0001105435 00000 n +0001105490 00000 n +0001105589 00000 n +0001105614 00000 n +0001105669 00000 n +0001105768 00000 n +0001105794 00000 n +0001105849 00000 n +0001105948 00000 n +0001105974 00000 n +0001106029 00000 n +0001106128 00000 n +0001106154 00000 n +0001106209 00000 n +0001106308 00000 n +0001106332 00000 n +0001106387 00000 n +0001106486 00000 n +0001106512 00000 n +0001106567 00000 n +0001106666 00000 n +0001106696 00000 n +0001106751 00000 n +0001106850 00000 n +0001106876 00000 n +0001106932 00000 n +0001107031 00000 n +0001107059 00000 n +0001107115 00000 n +0001107214 00000 n +0001107241 00000 n +0001107297 00000 n +0001107396 00000 n +0001107429 00000 n +0001107485 00000 n +0001107584 00000 n +0001107616 00000 n +0001107672 00000 n +0001107771 00000 n +0001107800 00000 n +0001107856 00000 n +0001107955 00000 n +0001107981 00000 n +0001108037 00000 n +0001108136 00000 n +0001108165 00000 n +0001108221 00000 n +0001108320 00000 n +0001108350 00000 n +0001108406 00000 n +0001108505 00000 n +0001108535 00000 n +0001108591 00000 n +0001108690 00000 n +0001108721 00000 n +0001108777 00000 n +0001108876 00000 n +0001108909 00000 n +0001108965 00000 n +0001109064 00000 n +0001109089 00000 n +0001109145 00000 n +0001109229 00000 n +0001109260 00000 n +0001109316 00000 n +0001109400 00000 n +0001109435 00000 n +0001109490 00000 n +0001109589 00000 n +0001109621 00000 n +0001109676 00000 n +0001109775 00000 n +0001109810 00000 n +0001109865 00000 n +0001109964 00000 n +0001109995 00000 n +0001110050 00000 n +0001110149 00000 n +0001110181 00000 n +0001110236 00000 n +0001110335 00000 n +0001110370 00000 n +0001110425 00000 n +0001110509 00000 n +0001110538 00000 n +0001110593 00000 n +0001110677 00000 n +0001110704 00000 n +0001110759 00000 n +0001110858 00000 n +0001110883 00000 n +0001110938 00000 n +0001111037 00000 n +0001111063 00000 n +0001111118 00000 n +0001111217 00000 n +0001111241 00000 n +0001111296 00000 n +0001111395 00000 n +0001111419 00000 n +0001111474 00000 n +0001111573 00000 n +0001111601 00000 n +0001111656 00000 n +0001111755 00000 n +0001111784 00000 n +0001111839 00000 n +0001111938 00000 n +0001111965 00000 n +0001112020 00000 n +0001112104 00000 n +0001112130 00000 n +0001112185 00000 n +0001112269 00000 n +0001112306 00000 n +0001112361 00000 n +0001112460 00000 n +0001112503 00000 n +0001112558 00000 n +0001112657 00000 n +0001112700 00000 n +0001112755 00000 n +0001112854 00000 n +0001112894 00000 n +0001112949 00000 n +0001113048 00000 n +0001113094 00000 n +0001113149 00000 n +0001113248 00000 n +0001113293 00000 n +0001113348 00000 n +0001113447 00000 n +0001113488 00000 n +0001113543 00000 n +0001113642 00000 n +0001113694 00000 n +0001113749 00000 n +0001113848 00000 n +0001113894 00000 n +0001113949 00000 n +0001114033 00000 n +0001114071 00000 n +0001114127 00000 n +0001114167 00000 n +0001114210 00000 n +0001207960 00000 n +0001208018 00000 n +0001208078 00000 n +0001208138 00000 n +0001208199 00000 n +0001208260 00000 n +0001208321 00000 n +0001208382 00000 n +0001208442 00000 n +0001208502 00000 n +0001208563 00000 n +0001208624 00000 n +0001208685 00000 n +0001208746 00000 n +0001208807 00000 n +0001208868 00000 n +0001208929 00000 n +0001208990 00000 n +0001209051 00000 n +0001209112 00000 n +0001209173 00000 n +0001209233 00000 n +0001209294 00000 n +0001209354 00000 n +0001209414 00000 n +0001209475 00000 n +0001209536 00000 n +0001209597 00000 n +0001209658 00000 n +0001209719 00000 n +0001209779 00000 n +0001209840 00000 n +0001209900 00000 n +0001209961 00000 n +0001210022 00000 n +0001210083 00000 n +0001210144 00000 n +0001210204 00000 n +0001210264 00000 n +0001210325 00000 n +0001210386 00000 n +0001210447 00000 n +0001210508 00000 n +0001210569 00000 n +0001210630 00000 n +0001210691 00000 n +0001210752 00000 n +0001210813 00000 n +0001210874 00000 n +0001210935 00000 n +0001210996 00000 n +0001211057 00000 n +0001211117 00000 n +0001211178 00000 n +0001211239 00000 n +0001211300 00000 n +0001211360 00000 n +0001211420 00000 n +0001211481 00000 n +0001211542 00000 n +0001211603 00000 n +0001211664 00000 n +0001211725 00000 n +0001211786 00000 n +0001211847 00000 n +0001211908 00000 n +0001211969 00000 n +0001212030 00000 n +0001212091 00000 n +0001212152 00000 n +0001212213 00000 n +0001212273 00000 n +0001212334 00000 n +0001212395 00000 n +0001212456 00000 n +0001212517 00000 n +0001212578 00000 n +0001212639 00000 n +0001212700 00000 n +0001212761 00000 n +0001212822 00000 n +0001212883 00000 n +0001212944 00000 n +0001213005 00000 n +0001213066 00000 n +0001213127 00000 n +0001213188 00000 n +0001213249 00000 n +0001213310 00000 n +0001213371 00000 n +0001213431 00000 n +0001213491 00000 n +0001213551 00000 n +0001213611 00000 n +0001213671 00000 n +0001213731 00000 n +0001213791 00000 n +0001213851 00000 n +0001213911 00000 n +0001213971 00000 n +0001214031 00000 n +0001214091 00000 n +0001214151 00000 n +0001214211 00000 n +0001214271 00000 n +0001214331 00000 n +0001214391 00000 n +0001214451 00000 n +0001214512 00000 n +0001214573 00000 n +0001214634 00000 n +0001214695 00000 n +0001214755 00000 n +0001214816 00000 n +0001214877 00000 n +0001214938 00000 n +0001214998 00000 n +0001215058 00000 n +0001215118 00000 n +0001215178 00000 n +0001215238 00000 n +0001215298 00000 n +0001215358 00000 n +0001215418 00000 n +0001215479 00000 n +0001215539 00000 n +0001215599 00000 n +0001215657 00000 n +0001215717 00000 n +0001215777 00000 n +0001215837 00000 n +0001215897 00000 n +0001215956 00000 n +0001216016 00000 n +0001216076 00000 n +0001216136 00000 n +0001216196 00000 n +0001216256 00000 n +0001216316 00000 n +0001216376 00000 n +0001216435 00000 n +0001216496 00000 n +0001216556 00000 n +0001216616 00000 n +0001216676 00000 n +0001216737 00000 n +0001216798 00000 n +0001216857 00000 n +0001216917 00000 n +0001216976 00000 n +0001217035 00000 n +0001217096 00000 n +0001217157 00000 n +0001217218 00000 n +0001217279 00000 n +0001217340 00000 n +0001217401 00000 n +0001217462 00000 n +0001217523 00000 n +0001217583 00000 n +0001217644 00000 n +0001217705 00000 n +0001217766 00000 n +0001217827 00000 n +0001217888 00000 n +0001217948 00000 n +0001218007 00000 n +0001218068 00000 n +0001218129 00000 n +0001218190 00000 n +0001218251 00000 n +0001218312 00000 n +0001218373 00000 n +0001218433 00000 n +0001218494 00000 n +0001218555 00000 n +0001218616 00000 n +0001218677 00000 n +0001218738 00000 n +0001218799 00000 n +0001218859 00000 n +0001218920 00000 n +0001218981 00000 n +0001219042 00000 n +0001219103 00000 n +0001219164 00000 n +0001219225 00000 n +0001219286 00000 n +0001219347 00000 n +0001219408 00000 n +0001219469 00000 n +0001219530 00000 n +0001219591 00000 n +0001219652 00000 n +0001219712 00000 n +0001219773 00000 n +0001219833 00000 n +0001219894 00000 n +0001219955 00000 n +0001220016 00000 n +0001220077 00000 n +0001220138 00000 n +0001220199 00000 n +0001220260 00000 n +0001220321 00000 n +0001220381 00000 n +0001220442 00000 n +0001220503 00000 n +0001220564 00000 n +0001220625 00000 n +0001220686 00000 n +0001220747 00000 n +0001220808 00000 n +0001220869 00000 n +0001220930 00000 n +0001220991 00000 n +0001221052 00000 n +0001221113 00000 n +0001221174 00000 n +0001221235 00000 n +0001221294 00000 n +0001221355 00000 n +0001221415 00000 n +0001221476 00000 n +0001221537 00000 n +0001221598 00000 n +0001221659 00000 n +0001221720 00000 n +0001221781 00000 n +0001221842 00000 n +0001221903 00000 n +0001221963 00000 n +0001222024 00000 n +0001222085 00000 n +0001222145 00000 n +0001222205 00000 n +0001222265 00000 n +0001222325 00000 n +0001222385 00000 n +0001222445 00000 n +0001222505 00000 n +0001222565 00000 n +0001222625 00000 n +0001222685 00000 n +0001222745 00000 n +0001222805 00000 n +0001222865 00000 n +0001222925 00000 n +0001222985 00000 n +0001223044 00000 n +0001223104 00000 n +0001223164 00000 n +0001223224 00000 n +0001223284 00000 n +0001223344 00000 n +0001223404 00000 n +0001223464 00000 n +0001223524 00000 n +0001223584 00000 n +0001223644 00000 n +0001223705 00000 n +0001223766 00000 n +0001223827 00000 n +0001223888 00000 n +0001223949 00000 n +0001224009 00000 n +0001224069 00000 n +0001224130 00000 n +0001224191 00000 n +0001224252 00000 n +0001224313 00000 n +0001224373 00000 n +0001224434 00000 n +0001224495 00000 n +0001224556 00000 n +0001224617 00000 n +0001224678 00000 n +0001224738 00000 n +0001224799 00000 n +0001224860 00000 n +0001224921 00000 n +0001224981 00000 n +0001225042 00000 n +0001225103 00000 n +0001225164 00000 n +0001225224 00000 n +0001225285 00000 n +0001225345 00000 n +0001225406 00000 n +0001225466 00000 n +0001225527 00000 n +0001225588 00000 n +0001225649 00000 n +0001225709 00000 n +0001225769 00000 n +0001225829 00000 n +0001225889 00000 n +0001225949 00000 n +0001226009 00000 n +0001226070 00000 n +0001226131 00000 n +0001226192 00000 n +0001226253 00000 n +0001226314 00000 n +0001226375 00000 n +0001226436 00000 n +0001226497 00000 n +0001226558 00000 n +0001226619 00000 n +0001226680 00000 n +0001226741 00000 n +0001226802 00000 n +0001226863 00000 n +0001226924 00000 n +0001226985 00000 n +0001227046 00000 n +0001227106 00000 n +0001227166 00000 n +0001227226 00000 n +0001227286 00000 n +0001227347 00000 n +0001227408 00000 n +0001227469 00000 n +0001227529 00000 n +0001227590 00000 n +0001227651 00000 n +0001227712 00000 n +0001227773 00000 n +0001227834 00000 n +0001227895 00000 n +0001227956 00000 n +0001228017 00000 n +0001228078 00000 n +0001228139 00000 n +0001228200 00000 n +0001228261 00000 n +0001228322 00000 n +0001228383 00000 n +0001228444 00000 n +0001228505 00000 n +0001228566 00000 n +0001228627 00000 n +0001228688 00000 n +0001228749 00000 n +0001228810 00000 n +0001228871 00000 n +0001228932 00000 n +0001228993 00000 n +0001229054 00000 n +0001229115 00000 n +0001229174 00000 n +0001229234 00000 n +0001229294 00000 n +0001229354 00000 n +0001229414 00000 n +0001229474 00000 n +0001229534 00000 n +0001229594 00000 n +0001229655 00000 n +0001229716 00000 n +0001229777 00000 n +0001229838 00000 n +0001229899 00000 n +0001229959 00000 n +0001230020 00000 n +0001230081 00000 n +0001230142 00000 n +0001230202 00000 n +0001230263 00000 n +0001230324 00000 n +0001230385 00000 n +0001230446 00000 n +0001230507 00000 n +0001230566 00000 n +0001230627 00000 n +0001230688 00000 n +0001230749 00000 n +0001230810 00000 n +0001230870 00000 n +0001230931 00000 n +0001230992 00000 n +0001231053 00000 n +0001231114 00000 n +0001231175 00000 n +0001231236 00000 n +0001231297 00000 n +0001231357 00000 n +0001231418 00000 n +0001231478 00000 n +0001231539 00000 n +0001231598 00000 n +0001231658 00000 n +0001231714 00000 n +0001231774 00000 n +0001231834 00000 n +0001231894 00000 n +0001231954 00000 n +0001232014 00000 n +0001232074 00000 n +0001232134 00000 n +0001232194 00000 n +0001232254 00000 n +0001232314 00000 n +0001232374 00000 n +0001232434 00000 n +0001232494 00000 n +0001232553 00000 n +0001232613 00000 n +0001232673 00000 n +0001232733 00000 n +0001232794 00000 n +0001232855 00000 n +0001232916 00000 n +0001232977 00000 n +0001233038 00000 n +0001233097 00000 n +0001233158 00000 n +0001233219 00000 n +0001233280 00000 n +0001233341 00000 n +0001233401 00000 n +0001233461 00000 n +0001233521 00000 n +0001233582 00000 n +0001233643 00000 n +0001233704 00000 n +0001233765 00000 n +0001233826 00000 n +0001233887 00000 n +0001233947 00000 n +0001234008 00000 n +0001234068 00000 n +0001234129 00000 n +0001234189 00000 n +0001234249 00000 n +0001234310 00000 n +0001234371 00000 n +0001234432 00000 n +0001234493 00000 n +0001234554 00000 n +0001234615 00000 n +0001234675 00000 n +0001234735 00000 n +0001234794 00000 n +0001234854 00000 n +0001234914 00000 n +0001234974 00000 n +0001235034 00000 n +0001235094 00000 n +0001235154 00000 n +0001235214 00000 n +0001235274 00000 n +0001235334 00000 n +0001235394 00000 n +0001235454 00000 n +0001235514 00000 n +0001235574 00000 n +0001235634 00000 n +0001235694 00000 n +0001235754 00000 n +0001235815 00000 n +0001235876 00000 n +0001235937 00000 n +0001235998 00000 n +0001236059 00000 n +0001236120 00000 n +0001236181 00000 n +0001236242 00000 n +0001236303 00000 n +0001236364 00000 n +0001236425 00000 n +0001236486 00000 n +0001236547 00000 n +0001236607 00000 n +0001236667 00000 n +0001236728 00000 n +0001236789 00000 n +0001236850 00000 n +0001236911 00000 n +0001236972 00000 n +0001237033 00000 n +0001237094 00000 n +0001237155 00000 n +0001237215 00000 n +0001237275 00000 n +0001237335 00000 n +0001237396 00000 n +0001237457 00000 n +0001237517 00000 n +0001237578 00000 n +0001237638 00000 n +0001237698 00000 n +0001237758 00000 n +0001237819 00000 n +0001237880 00000 n +0001237939 00000 n +0001237999 00000 n +0001238060 00000 n +0001238120 00000 n +0001238180 00000 n +0001238240 00000 n +0001238301 00000 n +0001238362 00000 n +0001238423 00000 n +0001238484 00000 n +0001238545 00000 n +0001238606 00000 n +0001238667 00000 n +0001238728 00000 n +0001238789 00000 n +0001238850 00000 n +0001238910 00000 n +0001238971 00000 n +0001239032 00000 n +0001239092 00000 n +0001239153 00000 n +0001239214 00000 n +0001239275 00000 n +0001239336 00000 n +0001239397 00000 n +0001239458 00000 n +0001239519 00000 n +0001239579 00000 n +0001239640 00000 n +0001239700 00000 n +0001239761 00000 n +0001239822 00000 n +0001239883 00000 n +0001239944 00000 n +0001240005 00000 n +0001240065 00000 n +0001240125 00000 n +0001240185 00000 n +0001240246 00000 n +0001240307 00000 n +0001240367 00000 n +0001240428 00000 n +0001240489 00000 n +0001240550 00000 n +0001240611 00000 n +0001240672 00000 n +0001240733 00000 n +0001240794 00000 n +0001240855 00000 n +0001240916 00000 n +0001240977 00000 n +0001241038 00000 n +0001241098 00000 n +0001241159 00000 n +0001241220 00000 n +0001241281 00000 n +0001241341 00000 n +0001241402 00000 n +0001241463 00000 n +0001241524 00000 n +0001241585 00000 n +0001241646 00000 n +0001241706 00000 n +0001241767 00000 n +0001241828 00000 n +0001241888 00000 n +0001241949 00000 n +0001242010 00000 n +0001242071 00000 n +0001242132 00000 n +0001242193 00000 n +0001242254 00000 n +0001242315 00000 n +0001242376 00000 n +0001242437 00000 n +0001242498 00000 n +0001242559 00000 n +0001242620 00000 n +0001242681 00000 n +0001242742 00000 n +0001242803 00000 n +0001242864 00000 n +0001242925 00000 n +0001242985 00000 n +0001243046 00000 n +0001243107 00000 n +0001243167 00000 n +0001243228 00000 n +0001243288 00000 n +0001243349 00000 n +0001243410 00000 n +0001243471 00000 n +0001243532 00000 n +0001243593 00000 n +0001243654 00000 n +0001243715 00000 n +0001243775 00000 n +0001243836 00000 n +0001243897 00000 n +0001243958 00000 n +0001244019 00000 n +0001244079 00000 n +0001244140 00000 n +0001244201 00000 n +0001244261 00000 n +0001244322 00000 n +0001244383 00000 n +0001244444 00000 n +0001244505 00000 n +0001244566 00000 n +0001244627 00000 n +0001244687 00000 n +0001244748 00000 n +0001244809 00000 n +0001244870 00000 n +0001244931 00000 n +0001244992 00000 n +0001245053 00000 n +0001245114 00000 n +0001245175 00000 n +0001245236 00000 n +0001245297 00000 n +0001245358 00000 n +0001245419 00000 n +0001245480 00000 n +0001245541 00000 n +0001245601 00000 n +0001245662 00000 n +0001245723 00000 n +0001245784 00000 n +0001245845 00000 n +0001245906 00000 n +0001245967 00000 n +0001246028 00000 n +0001246089 00000 n +0001246150 00000 n +0001246211 00000 n +0001246272 00000 n +0001246332 00000 n +0001246393 00000 n +0001246454 00000 n +0001246515 00000 n +0001246576 00000 n +0001246637 00000 n +0001246698 00000 n +0001246759 00000 n +0001246820 00000 n +0001246881 00000 n +0001246942 00000 n +0001247003 00000 n +0001247064 00000 n +0001247125 00000 n +0001247186 00000 n +0001247247 00000 n +0001247307 00000 n +0001247368 00000 n +0001247429 00000 n +0001247490 00000 n +0001247551 00000 n +0001247612 00000 n +0001247673 00000 n +0001247734 00000 n +0001247795 00000 n +0001247856 00000 n +0001247917 00000 n +0001247978 00000 n +0001248039 00000 n +0001248100 00000 n +0001248161 00000 n +0001248222 00000 n +0001248283 00000 n +0001248344 00000 n +0001248405 00000 n +0001248466 00000 n +0001248527 00000 n +0001248588 00000 n +0001248648 00000 n +0001248709 00000 n +0001248770 00000 n +0001248831 00000 n +0001248892 00000 n +0001248952 00000 n +0001249013 00000 n +0001249074 00000 n +0001249135 00000 n +0001249195 00000 n +0001249256 00000 n +0001249317 00000 n +0001249378 00000 n +0001249439 00000 n +0001249499 00000 n +0001249560 00000 n +0001249621 00000 n +0001249681 00000 n +0001249742 00000 n +0001249803 00000 n +0001249863 00000 n +0001249924 00000 n +0001249984 00000 n +0001250045 00000 n +0001250106 00000 n +0001250167 00000 n +0001250228 00000 n +0001250289 00000 n +0001250350 00000 n +0001250411 00000 n +0001250472 00000 n +0001250533 00000 n +0001250594 00000 n +0001250655 00000 n +0001250716 00000 n +0001250776 00000 n +0001250837 00000 n +0001250897 00000 n +0001250957 00000 n +0001251018 00000 n +0001251079 00000 n +0001251139 00000 n +0001251199 00000 n +0001251258 00000 n +0001251318 00000 n +0001251379 00000 n +0001251439 00000 n +0001251499 00000 n +0001251559 00000 n +0001251619 00000 n +0001251677 00000 n +0001251737 00000 n +0001251797 00000 n +0001251857 00000 n +0001251917 00000 n +0001251977 00000 n +0001252037 00000 n +0001252097 00000 n +0001252157 00000 n +0001252217 00000 n +0001252277 00000 n +0001252337 00000 n +0001252398 00000 n +0001252459 00000 n +0001252520 00000 n +0001252581 00000 n +0001252642 00000 n +0001252703 00000 n +0001252764 00000 n +0001252825 00000 n +0001252886 00000 n +0001252947 00000 n +0001253008 00000 n +0001253069 00000 n +0001253130 00000 n +0001253191 00000 n +0001253252 00000 n +0001253311 00000 n +0001253372 00000 n +0001253432 00000 n +0001253493 00000 n +0001253554 00000 n +0001253615 00000 n +0001253674 00000 n +0001253735 00000 n +0001253795 00000 n +0001253856 00000 n +0001253917 00000 n +0001253978 00000 n +0001254039 00000 n +0001254100 00000 n +0001254161 00000 n +0001254222 00000 n +0001254283 00000 n +0001254344 00000 n +0001254405 00000 n +0001254466 00000 n +0001254527 00000 n +0001254588 00000 n +0001254649 00000 n +0001254710 00000 n +0001254771 00000 n +0001254832 00000 n +0001254893 00000 n +0001254954 00000 n +0001255014 00000 n +0001255074 00000 n +0001255135 00000 n +0001255195 00000 n +0001255256 00000 n +0001255316 00000 n +0001255377 00000 n +0001255438 00000 n +0001255499 00000 n +0001255559 00000 n +0001255620 00000 n +0001255680 00000 n +0001255741 00000 n +0001255802 00000 n +0001255863 00000 n +0001255924 00000 n +0001255985 00000 n +0001256046 00000 n +0001256107 00000 n +0001256167 00000 n +0001256228 00000 n +0001256289 00000 n +0001256350 00000 n +0001256411 00000 n +0001256472 00000 n +0001256533 00000 n +0001256594 00000 n +0001256655 00000 n +0001256716 00000 n +0001256776 00000 n +0001256837 00000 n +0001256897 00000 n +0001256958 00000 n +0001257019 00000 n +0001257080 00000 n +0001257141 00000 n +0001257202 00000 n +0001257263 00000 n +0001257324 00000 n +0001257385 00000 n +0001257445 00000 n +0001257506 00000 n +0001257567 00000 n +0001257627 00000 n +0001257687 00000 n +0001257747 00000 n +0001257807 00000 n +0001257868 00000 n +0001257929 00000 n +0001257990 00000 n +0001258051 00000 n +0001258112 00000 n +0001258173 00000 n +0001258234 00000 n +0001258295 00000 n +0001258355 00000 n +0001258415 00000 n +0001258475 00000 n +0001258535 00000 n +0001258595 00000 n +0001258656 00000 n +0001258717 00000 n +0001258777 00000 n +0001258837 00000 n +0001258898 00000 n +0001258959 00000 n +0001259019 00000 n +0001259080 00000 n +0001259141 00000 n +0001259202 00000 n +0001259263 00000 n +0001259323 00000 n +0001259383 00000 n +0001259443 00000 n +0001259503 00000 n +0001259562 00000 n +0001259622 00000 n +0001259682 00000 n +0001259742 00000 n +0001259802 00000 n +0001259863 00000 n +0001259923 00000 n +0001259984 00000 n +0001260045 00000 n +0001260106 00000 n +0001260167 00000 n +0001260228 00000 n +0001260288 00000 n +0001260349 00000 n +0001260410 00000 n +0001260471 00000 n +0001260532 00000 n +0001260593 00000 n +0001260654 00000 n +0001260714 00000 n +0001260775 00000 n +0001260836 00000 n +0001260897 00000 n +0001260958 00000 n +0001261019 00000 n +0001261079 00000 n +0001261140 00000 n +0001261201 00000 n +0001261262 00000 n +0001261322 00000 n +0001261383 00000 n +0001261444 00000 n +0001261504 00000 n +0001261564 00000 n +0001261624 00000 n +0001261684 00000 n +0001261744 00000 n +0001261805 00000 n +0001261866 00000 n +0001261927 00000 n +0001261988 00000 n +0001262049 00000 n +0001262110 00000 n +0001262171 00000 n +0001262231 00000 n +0001262292 00000 n +0001262353 00000 n +0001262414 00000 n +0001262474 00000 n +0001262535 00000 n +0001262595 00000 n +0001262656 00000 n +0001262717 00000 n +0001262778 00000 n +0001262839 00000 n +0001262900 00000 n +0001262961 00000 n +0001263022 00000 n +0001263082 00000 n +0001263143 00000 n +0001263204 00000 n +0001263265 00000 n +0001263326 00000 n +0001263387 00000 n +0001263447 00000 n +0001263508 00000 n +0001263569 00000 n +0001263630 00000 n +0001263691 00000 n +0001263752 00000 n +0001263812 00000 n +0001263872 00000 n +0001263932 00000 n +0001263992 00000 n +0001264052 00000 n +0001264112 00000 n +0001264172 00000 n +0001264232 00000 n +0001264293 00000 n +0001264354 00000 n +0001264415 00000 n +0001264476 00000 n +0001264537 00000 n +0001264598 00000 n +0001264659 00000 n +0001264720 00000 n +0001264781 00000 n +0001264842 00000 n +0001264903 00000 n +0001264964 00000 n +0001265025 00000 n +0001265086 00000 n +0001265147 00000 n +0001265208 00000 n +0001265269 00000 n +0001265330 00000 n +0001265391 00000 n +0001265452 00000 n +0001265513 00000 n +0001265574 00000 n +0001265634 00000 n +0001265694 00000 n +0001265755 00000 n +0001265816 00000 n +0001265877 00000 n +0001265938 00000 n +0001265999 00000 n +0001266060 00000 n +0001266121 00000 n +0001266182 00000 n +0001266243 00000 n +0001266304 00000 n +0001266365 00000 n +0001266426 00000 n +0001266487 00000 n +0001266548 00000 n +0001266609 00000 n +0001266670 00000 n +0001266731 00000 n +0001266792 00000 n +0001266853 00000 n +0001266914 00000 n +0001266975 00000 n +0001267035 00000 n +0001267095 00000 n +0001267155 00000 n +0001267215 00000 n +0001267275 00000 n +0001267335 00000 n +0001267395 00000 n +0001267454 00000 n +0001267515 00000 n +0001267576 00000 n +0001267637 00000 n +0001267698 00000 n +0001267759 00000 n +0001267820 00000 n +0001267880 00000 n +0001267941 00000 n +0001268002 00000 n +0001268063 00000 n +0001268123 00000 n +0001268184 00000 n +0001268245 00000 n +0001268306 00000 n +0001268367 00000 n +0001268427 00000 n +0001268488 00000 n +0001268549 00000 n +0001268610 00000 n +0001268671 00000 n +0001268732 00000 n +0001268793 00000 n +0001268854 00000 n +0001268915 00000 n +0001268976 00000 n +0001269037 00000 n +0001269098 00000 n +0001269159 00000 n +0001269220 00000 n +0001269281 00000 n +0001269342 00000 n +0001269403 00000 n +0001269464 00000 n +0001269525 00000 n +0001269586 00000 n +0001269647 00000 n +0001269708 00000 n +0001269769 00000 n +0001269830 00000 n +0001269891 00000 n +0001269952 00000 n +0001270013 00000 n +0001270073 00000 n +0001270134 00000 n +0001270194 00000 n +0001270255 00000 n +0001270316 00000 n +0001270377 00000 n +0001270438 00000 n +0001270498 00000 n +0001270559 00000 n +0001270620 00000 n +0001270681 00000 n +0001270742 00000 n +0001270803 00000 n +0001270864 00000 n +0001270925 00000 n +0001270986 00000 n +0001271047 00000 n +0001271108 00000 n +0001271169 00000 n +0001271230 00000 n +0001271291 00000 n +0001271352 00000 n +0001271412 00000 n +0001271473 00000 n +0001271534 00000 n +0001271595 00000 n +0001271656 00000 n +0001271717 00000 n +0001271778 00000 n +0001271839 00000 n +0001271900 00000 n +0001271961 00000 n +0001272021 00000 n +0001272081 00000 n +0001272142 00000 n +0001272203 00000 n +0001272264 00000 n +0001272325 00000 n +0001272385 00000 n +0001272446 00000 n +0001272507 00000 n +0001272568 00000 n +0001272629 00000 n +0001272690 00000 n +0001272751 00000 n +0001272812 00000 n +0001272873 00000 n +0001272934 00000 n +0001272995 00000 n +0001273056 00000 n +0001273117 00000 n +0001273178 00000 n +0001273239 00000 n +0001273300 00000 n +0001273361 00000 n +0001273422 00000 n +0001273483 00000 n +0001273544 00000 n +0001273605 00000 n +0001273666 00000 n +0001273727 00000 n +0001273788 00000 n +0001273849 00000 n +0001273910 00000 n +0001273971 00000 n +0001274032 00000 n +0001274092 00000 n +0001274153 00000 n +0001274214 00000 n +0001274275 00000 n +0001274336 00000 n +0001274396 00000 n +0001274457 00000 n +0001274518 00000 n +0001274579 00000 n +0001274640 00000 n +0001274701 00000 n +0001274762 00000 n +0001274823 00000 n +0001274884 00000 n +0001274945 00000 n +0001275006 00000 n +0001275067 00000 n +0001275128 00000 n +0001275189 00000 n +0001275249 00000 n +0001275309 00000 n +0001275370 00000 n +0001275431 00000 n +0001275491 00000 n +0001275552 00000 n +0001275613 00000 n +0001275674 00000 n +0001275735 00000 n +0001275796 00000 n +0001275857 00000 n +0001275918 00000 n +0001275979 00000 n +0001276039 00000 n +0001276100 00000 n +0001276161 00000 n +0001276222 00000 n +0001276283 00000 n +0001276344 00000 n +0001276405 00000 n +0001276464 00000 n +0001276525 00000 n +0001276586 00000 n +0001276647 00000 n +0001276708 00000 n +0001276769 00000 n +0001276830 00000 n +0001276891 00000 n +0001276952 00000 n +0001277013 00000 n +0001277074 00000 n +0001277135 00000 n +0001277196 00000 n +0001277257 00000 n +0001277315 00000 n +0001277375 00000 n +0001277436 00000 n +0001277497 00000 n +0001277558 00000 n +0001277619 00000 n +0001277680 00000 n +0001277741 00000 n +0001277802 00000 n +0001277863 00000 n +0001277924 00000 n +0001277985 00000 n +0001278045 00000 n +0001278106 00000 n +0001278167 00000 n +0001278228 00000 n +0001278289 00000 n +0001278350 00000 n +0001278411 00000 n +0001278472 00000 n +0001278533 00000 n +0001278594 00000 n +0001278655 00000 n +0001278715 00000 n +0001278776 00000 n +0001278837 00000 n +0001278898 00000 n +0001278959 00000 n +0001279020 00000 n +0001279081 00000 n +0001279142 00000 n +0001279203 00000 n +0001279264 00000 n +0001279325 00000 n +0001279385 00000 n +0001279446 00000 n +0001279507 00000 n +0001279568 00000 n +0001279629 00000 n +0001279690 00000 n +0001279751 00000 n +0001279812 00000 n +0001279873 00000 n +0001279934 00000 n +0001279995 00000 n +0001280055 00000 n +0001280116 00000 n +0001280177 00000 n +0001280238 00000 n +0001280299 00000 n +0001280360 00000 n +0001280421 00000 n +0001280482 00000 n +0001280543 00000 n +0001280604 00000 n +0001280665 00000 n +0001280725 00000 n +0001280786 00000 n +0001280847 00000 n +0001280908 00000 n +0001280969 00000 n +0001281030 00000 n +0001281091 00000 n +0001281152 00000 n +0001281213 00000 n +0001281274 00000 n +0001281335 00000 n +0001281395 00000 n +0001281456 00000 n +0001281517 00000 n +0001281578 00000 n +0001281639 00000 n +0001281700 00000 n +0001281761 00000 n +0001281822 00000 n +0001281883 00000 n +0001281944 00000 n +0001282005 00000 n +0001282065 00000 n +0001282126 00000 n +0001282187 00000 n +0001282248 00000 n +0001282309 00000 n +0001282370 00000 n +0001282431 00000 n +0001282492 00000 n +0001282553 00000 n +0001282614 00000 n +0001282675 00000 n +0001282735 00000 n +0001282796 00000 n +0001282857 00000 n +0001282918 00000 n +0001282979 00000 n +0001283040 00000 n +0001283101 00000 n +0001283162 00000 n +0001283223 00000 n +0001283284 00000 n +0001283345 00000 n +0001283405 00000 n +0001283466 00000 n +0001283527 00000 n +0001283588 00000 n +0001283649 00000 n +0001283710 00000 n +0001283771 00000 n +0001283832 00000 n +0001283893 00000 n +0001283954 00000 n +0001284015 00000 n +0001284073 00000 n +0001284133 00000 n +0001284194 00000 n +0001284255 00000 n +0001284316 00000 n +0001284377 00000 n +0001284438 00000 n +0001284499 00000 n +0001284560 00000 n +0001284621 00000 n +0001284682 00000 n +0001284743 00000 n +0001284803 00000 n +0001284864 00000 n +0001284925 00000 n +0001284986 00000 n +0001285047 00000 n +0001285108 00000 n +0001285169 00000 n +0001285230 00000 n +0001285291 00000 n +0001285352 00000 n +0001285413 00000 n +0001285473 00000 n +0001285534 00000 n +0001285595 00000 n +0001285656 00000 n +0001285717 00000 n +0001285778 00000 n +0001285839 00000 n +0001285900 00000 n +0001285961 00000 n +0001286022 00000 n +0001286083 00000 n +0001286143 00000 n +0001286204 00000 n +0001286265 00000 n +0001286326 00000 n +0001286387 00000 n +0001286448 00000 n +0001286509 00000 n +0001286570 00000 n +0001286631 00000 n +0001286692 00000 n +0001286753 00000 n +0001286813 00000 n +0001286874 00000 n +0001286935 00000 n +0001286996 00000 n +0001287057 00000 n +0001287118 00000 n +0001287179 00000 n +0001287239 00000 n +0001287299 00000 n +0001287359 00000 n +0001287419 00000 n +0001287479 00000 n +0001287538 00000 n +0001287598 00000 n +0001287658 00000 n +0001287718 00000 n +0001287778 00000 n +0001287838 00000 n +0001287898 00000 n +0001287958 00000 n +0001288018 00000 n +0001288078 00000 n +0001288138 00000 n +0001288197 00000 n +0001288257 00000 n +0001288317 00000 n +0001288377 00000 n +0001288437 00000 n +0001288497 00000 n +0001288557 00000 n +0001288617 00000 n +0001288677 00000 n +0001288738 00000 n +0001288799 00000 n +0001288859 00000 n +0001288920 00000 n +0001288981 00000 n +0001289042 00000 n +0001289103 00000 n +0001289164 00000 n +0001289225 00000 n +0001289286 00000 n +0001289347 00000 n +0001289408 00000 n +0001289469 00000 n +0001289529 00000 n +0001289590 00000 n +0001289651 00000 n +0001289712 00000 n +0001289773 00000 n +0001289834 00000 n +0001289895 00000 n +0001289956 00000 n +0001290017 00000 n +0001290078 00000 n +0001290139 00000 n +0001290199 00000 n +0001290260 00000 n +0001290321 00000 n +0001290382 00000 n +0001290443 00000 n +0001290504 00000 n +0001290565 00000 n +0001290626 00000 n +0001290687 00000 n +0001290748 00000 n +0001290809 00000 n +0001290869 00000 n +0001290930 00000 n +0001290991 00000 n +0001291052 00000 n +0001291113 00000 n +0001291174 00000 n +0001291235 00000 n +0001291296 00000 n +0001291357 00000 n +0001291418 00000 n +0001291479 00000 n +0001291539 00000 n +0001291600 00000 n +0001291661 00000 n +0001291722 00000 n +0001291783 00000 n +0001291844 00000 n +0001291905 00000 n +0001291966 00000 n +0001292027 00000 n +0001292088 00000 n +0001292149 00000 n +0001292210 00000 n +0001292271 00000 n +0001292331 00000 n +0001292392 00000 n +0001292453 00000 n +0001292514 00000 n +0001292574 00000 n +0001292635 00000 n +0001292696 00000 n +0001292757 00000 n +0001292818 00000 n +0001292879 00000 n +0001292940 00000 n +0001293001 00000 n +0001293062 00000 n +0001293123 00000 n +0001293183 00000 n +0001293244 00000 n +0001293305 00000 n +0001293366 00000 n +0001293427 00000 n +0001293488 00000 n +0001293549 00000 n +0001293610 00000 n +0001293671 00000 n +0001293732 00000 n +0001293793 00000 n +0001293854 00000 n +0001293915 00000 n +0001293976 00000 n +0001294036 00000 n +0001294097 00000 n +0001294158 00000 n +0001294218 00000 n +0001294279 00000 n +0001294340 00000 n +0001294401 00000 n +0001294462 00000 n +0001294523 00000 n +0001294584 00000 n +0001294644 00000 n +0001294705 00000 n +0001294766 00000 n +0001294827 00000 n +0001294888 00000 n +0001294949 00000 n +0001295009 00000 n +0001295070 00000 n +0001295131 00000 n +0001295192 00000 n +0001295253 00000 n +0001295314 00000 n +0001295375 00000 n +0001295436 00000 n +0001295497 00000 n +0001295558 00000 n +0001295619 00000 n +0001295680 00000 n +0001295741 00000 n +0001295802 00000 n +0001295863 00000 n +0001295924 00000 n +0001295985 00000 n +0001296046 00000 n +0001296107 00000 n +0001296168 00000 n +0001296229 00000 n +0001296290 00000 n +0001296351 00000 n +0001296412 00000 n +0001296473 00000 n +0001296534 00000 n +0001296595 00000 n +0001296656 00000 n +0001296716 00000 n +0001296775 00000 n +0001296836 00000 n +0001296897 00000 n +0001296958 00000 n +0001297019 00000 n +0001297080 00000 n +0001297141 00000 n +0001297202 00000 n +0001297263 00000 n +0001297324 00000 n +0001297385 00000 n +0001297446 00000 n +0001297507 00000 n +0001297568 00000 n +0001297628 00000 n +0001297689 00000 n +0001297750 00000 n +0001297811 00000 n +0001297872 00000 n +0001297933 00000 n +0001297994 00000 n +0001298055 00000 n +0001298116 00000 n +0001298177 00000 n +0001298238 00000 n +0001298299 00000 n +0001298360 00000 n +0001298421 00000 n +0001298482 00000 n +0001298543 00000 n +0001298604 00000 n +0001298664 00000 n +0001298724 00000 n +0001298783 00000 n +0001298843 00000 n +0001298904 00000 n +0001298964 00000 n +0001299024 00000 n +0001299084 00000 n +0001299143 00000 n +0001299203 00000 n +0001299263 00000 n +0001299323 00000 n +0001299383 00000 n +0001299443 00000 n +0001299502 00000 n +0001299562 00000 n +0001299623 00000 n +0001299684 00000 n +0001299745 00000 n +0001299806 00000 n +0001299866 00000 n +0001299927 00000 n +0001299988 00000 n +0001300049 00000 n +0001300110 00000 n +0001300171 00000 n +0001300232 00000 n +0001300293 00000 n +0001300354 00000 n +0001300415 00000 n +0001300476 00000 n +0001300537 00000 n +0001300597 00000 n +0001300658 00000 n +0001300719 00000 n +0001300780 00000 n +0001300841 00000 n +0001300901 00000 n +0001300962 00000 n +0001301023 00000 n +0001301084 00000 n +0001301145 00000 n +0001301206 00000 n +0001301267 00000 n +0001301328 00000 n +0001301389 00000 n +0001301450 00000 n +0001301511 00000 n +0001301572 00000 n +0001301632 00000 n +0001301693 00000 n +0001301754 00000 n +0001301815 00000 n +0001301876 00000 n +0001301937 00000 n +0001301998 00000 n +0001302059 00000 n +0001302120 00000 n +0001302181 00000 n +0001302242 00000 n +0001302302 00000 n +0001302363 00000 n +0001302423 00000 n +0001302484 00000 n +0001302545 00000 n +0001302606 00000 n +0001302667 00000 n +0001302727 00000 n +0001302787 00000 n +0001302848 00000 n +0001302909 00000 n +0001302970 00000 n +0001303031 00000 n +0001303092 00000 n +0001303152 00000 n +0001303213 00000 n +0001303274 00000 n +0001303335 00000 n +0001303396 00000 n +0001303456 00000 n +0001303517 00000 n +0001303578 00000 n +0001303639 00000 n +0001303700 00000 n +0001303761 00000 n +0001303821 00000 n +0001303881 00000 n +0001303942 00000 n +0001304003 00000 n +0001304064 00000 n +0001304124 00000 n +0001304185 00000 n +0001304246 00000 n +0001304307 00000 n +0001304368 00000 n +0001304429 00000 n +0001304490 00000 n +0001304551 00000 n +0001304612 00000 n +0001304673 00000 n +0001304734 00000 n +0001304794 00000 n +0001304855 00000 n +0001304916 00000 n +0001304977 00000 n +0001305038 00000 n +0001305099 00000 n +0001305160 00000 n +0001305221 00000 n +0001305282 00000 n +0001305343 00000 n +0001305404 00000 n +0001305463 00000 n +0001305524 00000 n +0001305585 00000 n +0001305646 00000 n +0001305707 00000 n +0001305768 00000 n +0001305828 00000 n +0001305889 00000 n +0001305950 00000 n +0001306011 00000 n +0001306072 00000 n +0001306132 00000 n +0001306193 00000 n +0001306254 00000 n +0001306315 00000 n +0001306376 00000 n +0001306437 00000 n +0001306498 00000 n +0001306559 00000 n +0001306620 00000 n +0001306681 00000 n +0001306742 00000 n +0001306802 00000 n +0001306863 00000 n +0001306924 00000 n +0001306985 00000 n +0001307045 00000 n +0001307106 00000 n +0001307167 00000 n +0001307228 00000 n +0001307289 00000 n +0001307350 00000 n +0001307411 00000 n +0001307471 00000 n +0001307532 00000 n +0001307592 00000 n +0001307653 00000 n +0001307714 00000 n +0001307775 00000 n +0001307836 00000 n +0001307897 00000 n +0001307958 00000 n +0001308018 00000 n +0001308079 00000 n +0001308139 00000 n +0001308200 00000 n +0001308261 00000 n +0001308322 00000 n +0001308383 00000 n +0001308444 00000 n +0001308505 00000 n +0001308565 00000 n +0001308626 00000 n +0001308687 00000 n +0001308748 00000 n +0001308808 00000 n +0001308869 00000 n +0001308930 00000 n +0001308991 00000 n +0001309052 00000 n +0001309112 00000 n +0001309173 00000 n +0001309234 00000 n +0001309295 00000 n +0001309356 00000 n +0001309417 00000 n +0001309477 00000 n +0001309537 00000 n +0001309598 00000 n +0001309659 00000 n +0001309720 00000 n +0001309781 00000 n +0001309842 00000 n +0001309903 00000 n +0001309964 00000 n +0001310025 00000 n +0001310086 00000 n +0001310147 00000 n +0001310206 00000 n +0001310267 00000 n +0001310328 00000 n +0001310389 00000 n +0001310450 00000 n +0001310511 00000 n +0001310572 00000 n +0001310633 00000 n +0001310694 00000 n +0001310755 00000 n +0001310816 00000 n +0001310876 00000 n +0001310937 00000 n +0001310998 00000 n +0001311059 00000 n +0001311120 00000 n +0001311181 00000 n +0001311242 00000 n +0001311303 00000 n +0001311364 00000 n +0001311425 00000 n +0001311486 00000 n +0001311546 00000 n +0001311607 00000 n +0001311668 00000 n +0001311729 00000 n +0001311790 00000 n +0001311851 00000 n +0001311912 00000 n +0001311973 00000 n +0001312034 00000 n +0001312095 00000 n +0001312156 00000 n +0001312216 00000 n +0001312277 00000 n +0001312338 00000 n +0001312399 00000 n +0001312460 00000 n +0001312521 00000 n +0001312582 00000 n +0001312643 00000 n +0001312704 00000 n +0001312765 00000 n +0001312826 00000 n +0001312886 00000 n +0001312947 00000 n +0001313008 00000 n +0001313069 00000 n +0001313129 00000 n +0001313190 00000 n +0001313251 00000 n +0001313312 00000 n +0001313373 00000 n +0001313434 00000 n +0001313495 00000 n +0001313555 00000 n +0001313616 00000 n +0001313677 00000 n +0001313738 00000 n +0001313799 00000 n +0001313860 00000 n +0001313921 00000 n +0001313982 00000 n +0001314043 00000 n +0001314104 00000 n +0001314165 00000 n +0001314225 00000 n +0001314286 00000 n +0001314347 00000 n +0001314408 00000 n +0001314468 00000 n +0001314529 00000 n +0001314590 00000 n +0001314651 00000 n +0001314712 00000 n +0001314772 00000 n +0001314833 00000 n +0001314893 00000 n +0001314954 00000 n +0001315015 00000 n +0001315075 00000 n +0001315136 00000 n +0001315197 00000 n +0001315258 00000 n +0001315319 00000 n +0001315380 00000 n +0001315441 00000 n +0001315502 00000 n +0001315562 00000 n +0001315623 00000 n +0001315684 00000 n +0001315745 00000 n +0001315806 00000 n +0001315866 00000 n +0001315927 00000 n +0001315988 00000 n +0001316049 00000 n +0001316110 00000 n +0001316171 00000 n +0001316231 00000 n +0001316289 00000 n +0001316350 00000 n +0001316410 00000 n +0001316471 00000 n +0001316532 00000 n +0001316593 00000 n +0001316654 00000 n +0001316715 00000 n +0001316776 00000 n +0001316837 00000 n +0001316898 00000 n +0001316958 00000 n +0001317019 00000 n +0001317080 00000 n +0001317140 00000 n +0001317201 00000 n +0001317261 00000 n +0001317322 00000 n +0001317383 00000 n +0001317444 00000 n +0001317504 00000 n +0001317565 00000 n +0001317625 00000 n +0001317686 00000 n +0001317747 00000 n +0001317808 00000 n +0001317869 00000 n +0001317930 00000 n +0001317991 00000 n +0001318052 00000 n +0001318113 00000 n +0001318173 00000 n +0001318234 00000 n +0001318294 00000 n +0001318355 00000 n +0001318416 00000 n +0001318475 00000 n +0001318536 00000 n +0001318597 00000 n +0001318658 00000 n +0001318719 00000 n +0001318780 00000 n +0001318841 00000 n +0001318902 00000 n +0001318962 00000 n +0001319023 00000 n +0001319084 00000 n +0001319145 00000 n +0001319206 00000 n +0001319267 00000 n +0001319328 00000 n +0001319389 00000 n +0001319450 00000 n +0001319511 00000 n +0001319572 00000 n +0001319632 00000 n +0001319693 00000 n +0001319754 00000 n +0001319815 00000 n +0001319875 00000 n +0001319936 00000 n +0001319997 00000 n +0001320058 00000 n +0001320119 00000 n +0001320180 00000 n +0001320241 00000 n +0001320301 00000 n +0001320361 00000 n +0001320422 00000 n +0001320482 00000 n +0001320543 00000 n +0001320604 00000 n +0001320665 00000 n +0001320726 00000 n +0001320787 00000 n +0001320848 00000 n +0001320909 00000 n +0001320969 00000 n +0001321030 00000 n +0001321090 00000 n +0001321151 00000 n +0001321212 00000 n +0001321273 00000 n +0001321334 00000 n +0001321395 00000 n +0001321455 00000 n +0001321516 00000 n +0001321577 00000 n +0001321637 00000 n +0001321698 00000 n +0001321759 00000 n +0001321820 00000 n +0001321881 00000 n +0001321942 00000 n +0001322003 00000 n +0001322064 00000 n +0001322125 00000 n +0001322186 00000 n +0001322247 00000 n +0001322307 00000 n +0001322368 00000 n +0001322429 00000 n +0001322490 00000 n +0001322551 00000 n +0001322612 00000 n +0001322672 00000 n +0001322733 00000 n +0001322794 00000 n +0001322855 00000 n +0001322916 00000 n +0001322976 00000 n +0001323036 00000 n +0001323097 00000 n +0001323158 00000 n +0001323219 00000 n +0001323280 00000 n +0001323341 00000 n +0001323401 00000 n +0001323462 00000 n +0001323522 00000 n +0001323583 00000 n +0001323643 00000 n +0001323704 00000 n +0001323764 00000 n +0001323823 00000 n +0001323883 00000 n +0001323943 00000 n +0001324003 00000 n +0001324063 00000 n +0001324123 00000 n +0001324183 00000 n +0001324243 00000 n +0001324303 00000 n +0001324363 00000 n +0001324423 00000 n +0001324483 00000 n +0001324543 00000 n +0001324603 00000 n +0001324663 00000 n +0001324723 00000 n +0001324783 00000 n +0001324843 00000 n +0001324903 00000 n +0001324963 00000 n +0001325023 00000 n +0001325083 00000 n +0001325143 00000 n +0001325203 00000 n +0001325263 00000 n +0001325323 00000 n +0001325383 00000 n +0001325443 00000 n +0001325503 00000 n +0001325563 00000 n +0001325623 00000 n +0001325683 00000 n +0001325743 00000 n +0001325803 00000 n +0001325863 00000 n +0001325923 00000 n +0001325983 00000 n +0001326043 00000 n +0001326103 00000 n +0001326163 00000 n +0001326222 00000 n +0001326282 00000 n +0001326342 00000 n +0001326402 00000 n +0001326462 00000 n +0001326522 00000 n +0001326582 00000 n +0001326642 00000 n +0001326702 00000 n +0001326762 00000 n +0001326822 00000 n +0001326882 00000 n +0001326942 00000 n +0001327002 00000 n +0001327062 00000 n +0001327122 00000 n +0001327182 00000 n +0001327242 00000 n +0001327302 00000 n +0001327362 00000 n +0001327422 00000 n +0001327481 00000 n +0001327541 00000 n +0001327600 00000 n +0001327660 00000 n +0001327720 00000 n +0001327780 00000 n +0001327840 00000 n +0001327900 00000 n +0001327959 00000 n +0001328019 00000 n +0001328079 00000 n +0001328139 00000 n +0001328198 00000 n +0001328258 00000 n +0001328318 00000 n +0001328378 00000 n +0001328438 00000 n +0001328498 00000 n +0001328558 00000 n +0001328618 00000 n +0001328678 00000 n +0001328738 00000 n +0001328798 00000 n +0001328858 00000 n +0001328918 00000 n +0001328978 00000 n +0001329038 00000 n +0001329098 00000 n +0001329158 00000 n +0001329218 00000 n +0001329278 00000 n +0001329338 00000 n +0001329398 00000 n +0001329458 00000 n +0001329518 00000 n +0001329578 00000 n +0001329638 00000 n +0001329698 00000 n +0001329758 00000 n +0001329818 00000 n +0001329878 00000 n +0001329938 00000 n +0001329998 00000 n +0001330058 00000 n +0001330118 00000 n +0001330178 00000 n +0001330238 00000 n +0001330298 00000 n +0001330358 00000 n +0001330419 00000 n +0001330480 00000 n +0001330540 00000 n +0001330600 00000 n +0001330661 00000 n +0001330722 00000 n +0001330783 00000 n +0001330844 00000 n +0001330904 00000 n +0001330965 00000 n +0001331026 00000 n +0001331087 00000 n +0001331148 00000 n +0001331209 00000 n +0001331270 00000 n +0001331331 00000 n +0001331392 00000 n +0001331453 00000 n +0001331514 00000 n +0001331574 00000 n +0001331635 00000 n +0001331696 00000 n +0001331757 00000 n +0001331818 00000 n +0001331879 00000 n +0001331940 00000 n +0001332001 00000 n +0001332062 00000 n +0001332123 00000 n +0001332184 00000 n +0001332244 00000 n +0001332304 00000 n +0001332365 00000 n +0001332426 00000 n +0001332487 00000 n +0001332547 00000 n +0001332608 00000 n +0001332669 00000 n +0001332730 00000 n +0001332790 00000 n +0001332851 00000 n +0001332910 00000 n +0001332971 00000 n +0001333032 00000 n +0001333093 00000 n +0001333154 00000 n +0001333215 00000 n +0001333276 00000 n +0001333337 00000 n +0001333398 00000 n +0001333459 00000 n +0001333520 00000 n +0001333580 00000 n +0001333641 00000 n +0001333702 00000 n +0001333762 00000 n +0001333823 00000 n +0001333884 00000 n +0001333945 00000 n +0001334006 00000 n +0001334067 00000 n +0001334128 00000 n +0001334189 00000 n +0001334249 00000 n +0001334310 00000 n +0001334371 00000 n +0001334432 00000 n +0001334493 00000 n +0001334554 00000 n +0001334615 00000 n +0001334676 00000 n +0001334737 00000 n +0001334798 00000 n +0001334859 00000 n +0001334919 00000 n +0001334978 00000 n +0001335039 00000 n +0001335100 00000 n +0001335161 00000 n +0001335222 00000 n +0001335282 00000 n +0001335343 00000 n +0001335404 00000 n +0001335465 00000 n +0001335526 00000 n +0001335587 00000 n +0001335647 00000 n +0001335708 00000 n +0001335769 00000 n +0001335830 00000 n +0001335891 00000 n +0001335952 00000 n +0001336013 00000 n +0001336074 00000 n +0001336135 00000 n +0001336196 00000 n +0001336257 00000 n +0001336317 00000 n +0001336378 00000 n +0001336439 00000 n +0001336500 00000 n +0001336561 00000 n +0001336622 00000 n +0001336683 00000 n +0001336744 00000 n +0001336805 00000 n +0001336866 00000 n +0001336927 00000 n +0001336987 00000 n +0001337048 00000 n +0001337109 00000 n +0001337170 00000 n +0001337231 00000 n +0001337292 00000 n +0001337353 00000 n +0001337414 00000 n +0001337475 00000 n +0001337536 00000 n +0001337597 00000 n +0001337657 00000 n +0001337717 00000 n +0001337778 00000 n +0001337839 00000 n +0001337900 00000 n +0001337961 00000 n +0001338022 00000 n +0001338083 00000 n +0001338144 00000 n +0001338205 00000 n +0001338265 00000 n +0001338325 00000 n +0001338386 00000 n +0001338447 00000 n +0001338508 00000 n +0001338569 00000 n +0001338630 00000 n +0001338691 00000 n +0001338752 00000 n +0001338813 00000 n +0001338874 00000 n +0001338935 00000 n +0001338995 00000 n +0001339056 00000 n +0001339117 00000 n +0001339178 00000 n +0001339239 00000 n +0001339300 00000 n +0001339361 00000 n +0001339422 00000 n +0001339483 00000 n +0001339544 00000 n +0001339605 00000 n +0001339665 00000 n +0001339726 00000 n +0001339787 00000 n +0001339848 00000 n +0001339908 00000 n +0001339969 00000 n +0001340030 00000 n +0001340091 00000 n +0001340152 00000 n +0001340213 00000 n +0001340273 00000 n +0001340333 00000 n +0001340394 00000 n +0001340455 00000 n +0001340516 00000 n +0001340577 00000 n +0001340637 00000 n +0001340698 00000 n +0001340759 00000 n +0001340820 00000 n +0001340881 00000 n +0001340942 00000 n +0001341002 00000 n +0001341063 00000 n +0001341123 00000 n +0001341184 00000 n +0001341245 00000 n +0001341306 00000 n +0001341367 00000 n +0001341428 00000 n +0001341489 00000 n +0001341550 00000 n +0001341611 00000 n +0001341670 00000 n +0001341730 00000 n +0001341791 00000 n +0001341852 00000 n +0001341913 00000 n +0001341974 00000 n +0001342035 00000 n +0001342095 00000 n +0001342156 00000 n +0001342217 00000 n +0001342278 00000 n +0001342339 00000 n +0001342399 00000 n +0001342459 00000 n +0001342520 00000 n +0001342581 00000 n +0001342642 00000 n +0001342703 00000 n +0001342764 00000 n +0001342825 00000 n +0001342886 00000 n +0001342947 00000 n +0001343008 00000 n +0001343067 00000 n +0001343128 00000 n +0001343189 00000 n +0001343250 00000 n +0001343311 00000 n +0001343372 00000 n +0001343433 00000 n +0001343493 00000 n +0001343554 00000 n +0001343615 00000 n +0001343676 00000 n +0001343736 00000 n +0001343797 00000 n +0001343858 00000 n +0001343919 00000 n +0001343980 00000 n +0001344041 00000 n +0001344102 00000 n +0001344163 00000 n +0001344224 00000 n +0001344285 00000 n +0001344345 00000 n +0001344405 00000 n +0001344466 00000 n +0001344526 00000 n +0001344587 00000 n +0001344648 00000 n +0001344709 00000 n +0001344770 00000 n +0001344830 00000 n +0001344891 00000 n +0001344952 00000 n +0001345012 00000 n +0001345072 00000 n +0001345133 00000 n +0001345194 00000 n +0001345255 00000 n +0001345316 00000 n +0001345377 00000 n +0001345438 00000 n +0001345499 00000 n +0001345560 00000 n +0001345621 00000 n +0001345682 00000 n +0001345742 00000 n +0001345803 00000 n +0001345864 00000 n +0001345924 00000 n +0001345985 00000 n +0001346046 00000 n +0001346107 00000 n +0001346168 00000 n +0001346229 00000 n +0001346290 00000 n +0001346351 00000 n +0001346411 00000 n +0001346471 00000 n +0001346532 00000 n +0001346593 00000 n +0001346654 00000 n +0001346715 00000 n +0001346776 00000 n +0001346837 00000 n +0001346898 00000 n +0001346959 00000 n +0001347020 00000 n +0001347080 00000 n +0001347141 00000 n +0001347202 00000 n +0001347263 00000 n +0001347324 00000 n +0001347384 00000 n +0001347445 00000 n +0001347506 00000 n +0001347567 00000 n +0001347627 00000 n +0001347688 00000 n +0001347748 00000 n +0001347809 00000 n +0001347870 00000 n +0001347931 00000 n +0001347992 00000 n +0001348053 00000 n +0001348114 00000 n +0001348175 00000 n +0001348236 00000 n +0001348297 00000 n +0001348358 00000 n +0001348418 00000 n +0001348478 00000 n +0001348539 00000 n +0001348600 00000 n +0001348661 00000 n +0001348722 00000 n +0001348783 00000 n +0001348843 00000 n +0001348904 00000 n +0001348963 00000 n +0001349024 00000 n +0001349085 00000 n +0001349144 00000 n +0001349204 00000 n +0001349265 00000 n +0001349326 00000 n +0001349387 00000 n +0001349448 00000 n +0001349509 00000 n +0001349570 00000 n +0001349630 00000 n +0001349691 00000 n +0001349752 00000 n +0001349811 00000 n +0001349872 00000 n +0001349933 00000 n +0001349994 00000 n +0001350054 00000 n +0001350115 00000 n +0001350176 00000 n +0001350237 00000 n +0001350298 00000 n +0001350359 00000 n +0001350420 00000 n +0001350480 00000 n +0001350541 00000 n +0001350602 00000 n +0001350663 00000 n +0001350724 00000 n +0001350785 00000 n +0001350846 00000 n +0001350907 00000 n +0001350968 00000 n +0001351029 00000 n +0001351090 00000 n +0001351150 00000 n +0001351209 00000 n +0001351270 00000 n +0001351331 00000 n +0001351392 00000 n +0001351453 00000 n +0001351513 00000 n +0001351574 00000 n +0001351635 00000 n +0001351696 00000 n +0001351757 00000 n +0001351817 00000 n +0001351878 00000 n +0001351938 00000 n +0001351999 00000 n +0001352060 00000 n +0001352121 00000 n +0001352181 00000 n +0001352242 00000 n +0001352303 00000 n +0001352364 00000 n +0001352425 00000 n +0001352485 00000 n +0001352546 00000 n +0001352607 00000 n +0001352668 00000 n +0001352729 00000 n +0001352790 00000 n +0001352851 00000 n +0001352912 00000 n +0001352973 00000 n +0001353034 00000 n +0001353095 00000 n +0001353155 00000 n +0001353216 00000 n +0001353277 00000 n +0001353338 00000 n +0001353399 00000 n +0001353460 00000 n +0001353521 00000 n +0001353582 00000 n +0001353643 00000 n +0001353704 00000 n +0001353765 00000 n +0001353825 00000 n +0001353886 00000 n +0001353947 00000 n +0001354008 00000 n +0001354069 00000 n +0001354130 00000 n +0001354191 00000 n +0001354252 00000 n +0001354313 00000 n +0001354373 00000 n +0001354434 00000 n +0001354494 00000 n +0001354555 00000 n +0001354616 00000 n +0001354677 00000 n +0001354738 00000 n +0001354799 00000 n +0001354860 00000 n +0001354921 00000 n +0001354982 00000 n +0001355043 00000 n +0001355104 00000 n +0001355164 00000 n +0001355223 00000 n +0001355284 00000 n +0001355345 00000 n +0001355406 00000 n +0001355467 00000 n +0001355528 00000 n +0001355589 00000 n +0001355650 00000 n +0001355711 00000 n +0001355772 00000 n +0001355833 00000 n +0001355893 00000 n +0001355954 00000 n +0001356015 00000 n +0001356076 00000 n +0001356137 00000 n +0001356198 00000 n +0001356259 00000 n +0001356320 00000 n +0001356381 00000 n +0001356442 00000 n +0001356503 00000 n +0001356563 00000 n +0001356624 00000 n +0001356685 00000 n +0001356746 00000 n +0001356807 00000 n +0001356868 00000 n +0001356929 00000 n +0001356990 00000 n +0001357051 00000 n +0001357112 00000 n +0001357173 00000 n +0001357233 00000 n +0001357294 00000 n +0001357355 00000 n +0001357416 00000 n +0001357477 00000 n +0001357538 00000 n +0001357599 00000 n +0001357660 00000 n +0001357721 00000 n +0001357782 00000 n +0001357843 00000 n +0001357903 00000 n +0001357964 00000 n +0001358025 00000 n +0001358086 00000 n +0001358147 00000 n +0001358208 00000 n +0001358269 00000 n +0001358330 00000 n +0001358391 00000 n +0001358452 00000 n +0001358513 00000 n +0001358573 00000 n +0001358634 00000 n +0001358694 00000 n +0001358755 00000 n +0001358816 00000 n +0001358877 00000 n +0001358938 00000 n +0001358999 00000 n +0001359060 00000 n +0001359121 00000 n +0001359182 00000 n +0001359242 00000 n +0001359303 00000 n +0001359364 00000 n +0001359425 00000 n +0001359486 00000 n +0001359547 00000 n +0001359608 00000 n +0001359669 00000 n +0001359730 00000 n +0001359791 00000 n +0001359852 00000 n +0001359912 00000 n +0001359973 00000 n +0001360034 00000 n +0001360095 00000 n +0001360156 00000 n +0001360217 00000 n +0001360278 00000 n +0001360339 00000 n +0001360400 00000 n +0001360461 00000 n +0001360522 00000 n +0001360582 00000 n +0001360642 00000 n +0001360703 00000 n +0001360764 00000 n +0001360825 00000 n +0001360886 00000 n +0001360947 00000 n +0001361007 00000 n +0001361068 00000 n +0001361129 00000 n +0001361190 00000 n +0001361250 00000 n +0001361311 00000 n +0001361372 00000 n +0001361433 00000 n +0001361494 00000 n +0001361555 00000 n +0001361616 00000 n +0001361676 00000 n +0001361737 00000 n +0001361798 00000 n +0001361859 00000 n +0001361919 00000 n +0001361979 00000 n +0001362040 00000 n +0001362101 00000 n +0001362162 00000 n +0001362223 00000 n +0001362284 00000 n +0001362345 00000 n +0001362406 00000 n +0001362466 00000 n +0001362527 00000 n +0001362588 00000 n +0001362648 00000 n +0001362709 00000 n +0001362770 00000 n +0001362831 00000 n +0001362891 00000 n +0001362952 00000 n +0001363013 00000 n +0001363074 00000 n +0001363135 00000 n +0001363196 00000 n +0001363257 00000 n +0001363317 00000 n +0001363378 00000 n +0001363439 00000 n +0001363500 00000 n +0001363560 00000 n +0001363621 00000 n +0001363682 00000 n +0001363743 00000 n +0001363804 00000 n +0001363865 00000 n +0001363926 00000 n +0001363986 00000 n +0001364047 00000 n +0001364107 00000 n +0001364168 00000 n +0001364229 00000 n +0001364290 00000 n +0001364351 00000 n +0001364412 00000 n +0001364473 00000 n +0001364534 00000 n +0001364595 00000 n +0001364655 00000 n +0001364716 00000 n +0001364777 00000 n +0001364838 00000 n +0001364898 00000 n +0001364959 00000 n +0001365020 00000 n +0001365081 00000 n +0001365142 00000 n +0001365202 00000 n +0001365262 00000 n +0001365321 00000 n +0001365382 00000 n +0001365443 00000 n +0001365504 00000 n +0001365565 00000 n +0001365626 00000 n +0001365687 00000 n +0001365748 00000 n +0001365809 00000 n +0001365870 00000 n +0001365931 00000 n +0001365991 00000 n +0001366051 00000 n +0001366112 00000 n +0001366172 00000 n +0001366233 00000 n +0001366294 00000 n +0001366355 00000 n +0001366416 00000 n +0001366477 00000 n +0001366537 00000 n +0001366598 00000 n +0001366658 00000 n +0001366719 00000 n +0001366780 00000 n +0001366841 00000 n +0001366902 00000 n +0001366963 00000 n +0001367024 00000 n +0001367085 00000 n +0001367146 00000 n +0001367207 00000 n +0001367268 00000 n +0001367328 00000 n +0001367389 00000 n +0001367450 00000 n +0001367511 00000 n +0001367572 00000 n +0001367633 00000 n +0001367693 00000 n +0001367754 00000 n +0001367814 00000 n +0001367874 00000 n +0001367935 00000 n +0001367995 00000 n +0001368056 00000 n +0001368117 00000 n +0001368177 00000 n +0001368237 00000 n +0001368298 00000 n +0001368359 00000 n +0001368420 00000 n +0001368481 00000 n +0001368542 00000 n +0001368603 00000 n +0001368663 00000 n +0001368723 00000 n +0001368784 00000 n +0001368845 00000 n +0001368906 00000 n +0001368967 00000 n +0001369028 00000 n +0001369089 00000 n +0001369150 00000 n +0001369211 00000 n +0001369272 00000 n +0001369333 00000 n +0001369393 00000 n +0001369454 00000 n +0001369515 00000 n +0001369576 00000 n +0001369637 00000 n +0001369698 00000 n +0001369759 00000 n +0001369820 00000 n +0001369881 00000 n +0001369942 00000 n +0001370003 00000 n +0001370063 00000 n +0001370124 00000 n +0001370185 00000 n +0001370245 00000 n +0001370306 00000 n +0001370367 00000 n +0001370428 00000 n +0001370489 00000 n +0001370550 00000 n +0001370611 00000 n +0001370672 00000 n +0001370732 00000 n +0001370793 00000 n +0001370854 00000 n +0001370914 00000 n +0001370975 00000 n +0001371036 00000 n +0001371097 00000 n +0001371158 00000 n +0001371219 00000 n +0001371279 00000 n +0001371340 00000 n +0001371400 00000 n +0001371461 00000 n +0001371522 00000 n +0001371583 00000 n +0001371644 00000 n +0001371705 00000 n +0001371765 00000 n +0001371826 00000 n +0001371887 00000 n +0001371948 00000 n +0001372009 00000 n +0001372069 00000 n +0001372130 00000 n +0001372190 00000 n +0001372250 00000 n +0001372311 00000 n +0001372372 00000 n +0001372433 00000 n +0001372494 00000 n +0001372555 00000 n +0001372616 00000 n +0001372676 00000 n +0001372736 00000 n +0001372797 00000 n +0001372858 00000 n +0001372919 00000 n +0001372980 00000 n +0001373041 00000 n +0001373102 00000 n +0001373163 00000 n +0001373224 00000 n +0001373285 00000 n +0001373346 00000 n +0001373406 00000 n +0001373467 00000 n +0001373528 00000 n +0001373589 00000 n +0001373649 00000 n +0001373710 00000 n +0001373771 00000 n +0001373832 00000 n +0001373893 00000 n +0001373954 00000 n +0001374015 00000 n +0001374075 00000 n +0001374136 00000 n +0001374197 00000 n +0001374258 00000 n +0001374319 00000 n +0001374380 00000 n +0001374441 00000 n +0001374501 00000 n +0001374562 00000 n +0001374623 00000 n +0001374684 00000 n +0001374743 00000 n +0001374804 00000 n +0001374865 00000 n +0001374926 00000 n +0001374987 00000 n +0001375048 00000 n +0001375109 00000 n +0001375170 00000 n +0001375231 00000 n +0001375292 00000 n +0001375353 00000 n +0001375413 00000 n +0001375473 00000 n +0001375534 00000 n +0001375595 00000 n +0001375656 00000 n +0001375717 00000 n +0001375778 00000 n +0001375839 00000 n +0001375900 00000 n +0001375961 00000 n +0001376021 00000 n +0001376082 00000 n +0001376142 00000 n +0001376203 00000 n +0001376264 00000 n +0001376325 00000 n +0001376385 00000 n +0001376446 00000 n +0001376507 00000 n +0001376568 00000 n +0001376629 00000 n +0001376690 00000 n +0001376751 00000 n +0001376811 00000 n +0001376872 00000 n +0001376933 00000 n +0001376994 00000 n +0001377055 00000 n +0001377116 00000 n +0001377177 00000 n +0001377238 00000 n +0001377299 00000 n +0001377360 00000 n +0001377421 00000 n +0001377481 00000 n +0001377542 00000 n +0001377603 00000 n +0001377664 00000 n +0001377725 00000 n +0001377785 00000 n +0001377845 00000 n +0001377906 00000 n +0001377966 00000 n +0001378027 00000 n +0001378088 00000 n +0001378147 00000 n +0001378208 00000 n +0001378269 00000 n +0001378330 00000 n +0001378391 00000 n +0001378452 00000 n +0001378513 00000 n +0001378574 00000 n +0001378634 00000 n +0001378695 00000 n +0001378756 00000 n +0001378816 00000 n +0001378877 00000 n +0001378938 00000 n +0001378999 00000 n +0001379060 00000 n +0001379121 00000 n +0001379182 00000 n +0001379243 00000 n +0001379304 00000 n +0001379365 00000 n +0001379426 00000 n +0001379486 00000 n +0001379547 00000 n +0001379608 00000 n +0001379669 00000 n +0001379730 00000 n +0001379791 00000 n +0001379852 00000 n +0001379913 00000 n +0001379974 00000 n +0001380035 00000 n +0001380096 00000 n +0001380156 00000 n +0001380217 00000 n +0001380278 00000 n +0001380339 00000 n +0001380400 00000 n +0001380460 00000 n +0001380521 00000 n +0001380582 00000 n +0001380643 00000 n +0001380703 00000 n +0001380764 00000 n +0001380823 00000 n +0001380884 00000 n +0001380945 00000 n +0001381006 00000 n +0001381067 00000 n +0001381128 00000 n +0001381188 00000 n +0001381249 00000 n +0001381310 00000 n +0001381371 00000 n +0001381432 00000 n +0001381492 00000 n +0001381553 00000 n +0001381614 00000 n +0001381675 00000 n +0001381736 00000 n +0001381797 00000 n +0001381858 00000 n +0001381919 00000 n +0001381980 00000 n +0001382041 00000 n +0001382102 00000 n +0001382161 00000 n +0001382221 00000 n +0001382281 00000 n +0001382341 00000 n +0001382402 00000 n +0001382463 00000 n +0001382524 00000 n +0001382585 00000 n +0001382646 00000 n +0001382707 00000 n +0001382768 00000 n +0001382829 00000 n +0001382890 00000 n +0001382951 00000 n +0001383012 00000 n +0001383073 00000 n +0001383134 00000 n +0001383195 00000 n +0001383256 00000 n +0001383317 00000 n +0001383378 00000 n +0001383439 00000 n +0001383500 00000 n +0001383561 00000 n +0001383622 00000 n +0001383683 00000 n +0001383744 00000 n +0001383805 00000 n +0001383866 00000 n +0001383927 00000 n +0001383987 00000 n +0001384048 00000 n +0001384109 00000 n +0001384170 00000 n +0001384231 00000 n +0001384292 00000 n +0001384353 00000 n +0001384414 00000 n +0001384475 00000 n +0001384535 00000 n +0001384595 00000 n +0001384655 00000 n +0001384715 00000 n +0001384775 00000 n +0001384835 00000 n +0001384895 00000 n +0001384954 00000 n +0001385014 00000 n +0001385075 00000 n +0001385136 00000 n +0001385197 00000 n +0001385258 00000 n +0001385319 00000 n +0001385380 00000 n +0001385439 00000 n +0001385500 00000 n +0001385561 00000 n +0001385622 00000 n +0001385683 00000 n +0001385743 00000 n +0001385803 00000 n +0001385863 00000 n +0001385922 00000 n +0001385982 00000 n +0001386042 00000 n +0001386102 00000 n +0001386162 00000 n +0001386221 00000 n +0001386282 00000 n +0001386343 00000 n +0001386404 00000 n +0001386465 00000 n +0001386526 00000 n +0001386587 00000 n +0001386648 00000 n +0001386709 00000 n +0001386770 00000 n +0001386831 00000 n +0001386892 00000 n +0001386953 00000 n +0001387012 00000 n +0001387073 00000 n +0001387134 00000 n +0001387195 00000 n +0001387256 00000 n +0001387317 00000 n +0001387378 00000 n +0001387439 00000 n +0001387500 00000 n +0001387561 00000 n +0001387622 00000 n +0001387682 00000 n +0001387743 00000 n +0001387803 00000 n +0001387864 00000 n +0001387924 00000 n +0001387985 00000 n +0001388046 00000 n +0001388107 00000 n +0001388168 00000 n +0001388229 00000 n +0001388290 00000 n +0001388351 00000 n +0001388412 00000 n +0001388473 00000 n +0001388534 00000 n +0001388595 00000 n +0001388656 00000 n +0001388717 00000 n +0001388777 00000 n +0001388837 00000 n +0001388896 00000 n +0001388956 00000 n +0001389016 00000 n +0001389076 00000 n +0001389136 00000 n +0001389196 00000 n +0001389256 00000 n +0001389316 00000 n +0001389376 00000 n +0001389436 00000 n +0001389496 00000 n +0001389556 00000 n +0001389616 00000 n +0001389675 00000 n +0001389735 00000 n +0001389795 00000 n +0001389855 00000 n +0001389915 00000 n +0001389975 00000 n +0001390035 00000 n +0001390095 00000 n +0001390154 00000 n +0001390214 00000 n +0001390274 00000 n +0001390334 00000 n +0001390395 00000 n +0001390456 00000 n +0001390516 00000 n +0001390577 00000 n +0001390638 00000 n +0001390699 00000 n +0001390760 00000 n +0001390820 00000 n +0001390881 00000 n +0001390942 00000 n +0001391002 00000 n +0001391063 00000 n +0001391124 00000 n +0001391185 00000 n +0001391245 00000 n +0001391305 00000 n +0001391365 00000 n +0001391425 00000 n +0001391485 00000 n +0001391545 00000 n +0001391605 00000 n +0001391666 00000 n +0001391727 00000 n +0001391788 00000 n +0001391849 00000 n +0001391910 00000 n +0001391971 00000 n +0001392032 00000 n +0001392093 00000 n +0001392154 00000 n +0001392215 00000 n +0001392276 00000 n +0001392336 00000 n +0001392397 00000 n +0001392458 00000 n +0001392519 00000 n +0001392580 00000 n +0001392641 00000 n +0001392702 00000 n +0001392763 00000 n +0001392824 00000 n +0001392884 00000 n +0001392945 00000 n +0001393006 00000 n +0001393067 00000 n +0001393128 00000 n +0001393189 00000 n +0001393250 00000 n +0001393311 00000 n +0001393372 00000 n +0001393433 00000 n +0001393492 00000 n +0001393553 00000 n +0001393614 00000 n +0001393675 00000 n +0001393736 00000 n +0001393797 00000 n +0001393858 00000 n +0001393919 00000 n +0001393980 00000 n +0001394041 00000 n +0001394102 00000 n +0001394163 00000 n +0001394224 00000 n +0001394285 00000 n +0001394346 00000 n +0001394407 00000 n +0001394468 00000 n +0001394529 00000 n +0001394590 00000 n +0001394651 00000 n +0001394712 00000 n +0001394773 00000 n +0001394833 00000 n +0001394894 00000 n +0001394955 00000 n +0001395016 00000 n +0001395077 00000 n +0001395138 00000 n +0001395199 00000 n +0001395260 00000 n +0001395321 00000 n +0001395382 00000 n +0001395443 00000 n +0001395504 00000 n +0001395565 00000 n +0001395626 00000 n +0001395687 00000 n +0001395748 00000 n +0001395809 00000 n +0001395870 00000 n +0001395931 00000 n +0001395992 00000 n +0001396053 00000 n +0001396114 00000 n +0001396175 00000 n +0001396236 00000 n +0001396297 00000 n +0001396358 00000 n +0001396419 00000 n +0001396480 00000 n +0001396540 00000 n +0001396601 00000 n +0001396662 00000 n +0001396722 00000 n +0001396783 00000 n +0001396844 00000 n +0001396905 00000 n +0001396966 00000 n +0001397027 00000 n +0001397088 00000 n +0001397148 00000 n +0001397208 00000 n +0001397269 00000 n +0001397330 00000 n +0001397391 00000 n +0001397452 00000 n +0001397513 00000 n +0001397574 00000 n +0001397635 00000 n +0001397696 00000 n +0001397757 00000 n +0001397818 00000 n +0001397879 00000 n +0001397940 00000 n +0001398001 00000 n +0001398062 00000 n +0001398123 00000 n +0001398184 00000 n +0001398245 00000 n +0001398306 00000 n +0001398366 00000 n +0001398426 00000 n +0001398487 00000 n +0001398548 00000 n +0001398608 00000 n +0001398669 00000 n +0001398730 00000 n +0001398791 00000 n +0001398851 00000 n +0001398912 00000 n +0001398973 00000 n +0001399034 00000 n +0001399095 00000 n +0001399156 00000 n +0001399216 00000 n +0001399277 00000 n +0001399337 00000 n +0001399397 00000 n +0001399457 00000 n +0001399517 00000 n +0001399577 00000 n +0001399637 00000 n +0001399697 00000 n +0001399757 00000 n +0001399816 00000 n +0001399876 00000 n +0001399936 00000 n +0001399996 00000 n +0001400056 00000 n +0001400112 00000 n +0001400172 00000 n +0001400232 00000 n +0001400292 00000 n +0001400352 00000 n +0001400412 00000 n +0001400472 00000 n +0001400532 00000 n +0001400591 00000 n +0001400651 00000 n +0001400711 00000 n +0001400770 00000 n +0001400830 00000 n +0001400890 00000 n +0001400950 00000 n +0001401010 00000 n +0001401070 00000 n +0001401130 00000 n +0001401189 00000 n +0001401249 00000 n +0001401309 00000 n +0001401369 00000 n +0001401429 00000 n +0001401489 00000 n +0001401549 00000 n +0001401609 00000 n +0001401669 00000 n +0001401729 00000 n +0001401789 00000 n +0001401849 00000 n +0001401909 00000 n +0001401969 00000 n +0001402029 00000 n +0001402089 00000 n +0001402148 00000 n +0001402208 00000 n +0001402268 00000 n +0001402328 00000 n +0001402388 00000 n +0001402448 00000 n +0001402509 00000 n +0001402570 00000 n +0001402631 00000 n +0001402691 00000 n +0001402752 00000 n +0001402813 00000 n +0001402874 00000 n +0001402935 00000 n +0001402996 00000 n +0001403057 00000 n +0001403118 00000 n +0001403179 00000 n +0001403240 00000 n +0001403301 00000 n +0001403361 00000 n +0001403422 00000 n +0001403483 00000 n +0001403544 00000 n +0001403605 00000 n +0001403665 00000 n +0001403725 00000 n +0001403786 00000 n +0001403847 00000 n +0001403907 00000 n +0001403968 00000 n +0001404029 00000 n +0001404090 00000 n +0001404151 00000 n +0001404212 00000 n +0001404273 00000 n +0001404334 00000 n +0001404395 00000 n +0001404456 00000 n +0001404517 00000 n +0001404578 00000 n +0001404638 00000 n +0001404699 00000 n +0001404760 00000 n +0001404821 00000 n +0001404882 00000 n +0001404943 00000 n +0001405004 00000 n +0001405065 00000 n +0001405126 00000 n +0001405187 00000 n +0001405248 00000 n +0001405308 00000 n +0001405369 00000 n +0001405430 00000 n +0001405491 00000 n +0001405552 00000 n +0001405613 00000 n +0001405674 00000 n +0001405734 00000 n +0001405795 00000 n +0001405856 00000 n +0001405917 00000 n +0001405978 00000 n +0001406038 00000 n +0001406099 00000 n +0001406160 00000 n +0001406221 00000 n +0001406282 00000 n +0001406343 00000 n +0001406404 00000 n +0001406465 00000 n +0001406526 00000 n +0001406587 00000 n +0001406648 00000 n +0001406709 00000 n +0001406770 00000 n +0001406831 00000 n +0001406892 00000 n +0001406953 00000 n +0001407014 00000 n +0001407073 00000 n +0001407134 00000 n +0001407195 00000 n +0001407256 00000 n +0001407317 00000 n +0001407377 00000 n +0001407438 00000 n +0001407499 00000 n +0001407559 00000 n +0001407620 00000 n +0001407681 00000 n +0001407742 00000 n +0001407803 00000 n +0001407864 00000 n +0001407925 00000 n +0001407986 00000 n +0001408047 00000 n +0001408108 00000 n +0001408169 00000 n +0001408230 00000 n +0001408291 00000 n +0001408352 00000 n +0001408413 00000 n +0001408474 00000 n +0001408535 00000 n +0001408596 00000 n +0001408657 00000 n +0001408718 00000 n +0001408779 00000 n +0001408840 00000 n +0001408901 00000 n +0001408962 00000 n +0001409023 00000 n +0001409084 00000 n +0001409145 00000 n +0001409206 00000 n +0001409267 00000 n +0001409328 00000 n +0001409389 00000 n +0001409450 00000 n +0001409511 00000 n +0001409572 00000 n +0001409633 00000 n +0001409694 00000 n +0001409755 00000 n +0001409816 00000 n +0001409877 00000 n +0001409938 00000 n +0001409999 00000 n +0001410060 00000 n +0001410120 00000 n +0001410181 00000 n +0001410242 00000 n +0001410303 00000 n +0001410364 00000 n +0001410425 00000 n +0001410486 00000 n +0001410547 00000 n +0001410607 00000 n +0001410668 00000 n +0001410729 00000 n +0001410790 00000 n +0001410851 00000 n +0001410912 00000 n +0001410973 00000 n +0001411033 00000 n +0001411094 00000 n +0001411155 00000 n +0001411216 00000 n +0001411277 00000 n +0001411338 00000 n +0001411399 00000 n +0001411460 00000 n +0001411521 00000 n +0001411582 00000 n +0001411643 00000 n +0001411704 00000 n +0001411765 00000 n +0001411826 00000 n +0001411887 00000 n +0001411948 00000 n +0001412009 00000 n +0001412070 00000 n +0001412131 00000 n +0001412192 00000 n +0001412253 00000 n +0001412314 00000 n +0001412375 00000 n +0001412436 00000 n +0001412497 00000 n +0001412558 00000 n +0001412619 00000 n +0001412679 00000 n +0001412740 00000 n +0001412801 00000 n +0001412862 00000 n +0001412923 00000 n +0001412984 00000 n +0001413045 00000 n +0001413106 00000 n +0001413167 00000 n +0001413228 00000 n +0001413289 00000 n +0001413350 00000 n +0001413411 00000 n +0001413472 00000 n +0001413533 00000 n +0001413593 00000 n +0001413653 00000 n +0001413713 00000 n +0001413773 00000 n +0001413832 00000 n +0001413892 00000 n +0001413952 00000 n +0001414012 00000 n +0001414072 00000 n +0001414133 00000 n +0001414194 00000 n +0001414255 00000 n +0001414316 00000 n +0001414377 00000 n +0001414438 00000 n +0001414499 00000 n +0001414560 00000 n +0001414621 00000 n +0001414682 00000 n +0001414743 00000 n +0001414804 00000 n +0001414864 00000 n +0001414925 00000 n +0001414986 00000 n +0001415047 00000 n +0001415108 00000 n +0001415169 00000 n +0001415230 00000 n +0001415291 00000 n +0001415351 00000 n +0001415410 00000 n +0001415471 00000 n +0001415532 00000 n +0001415593 00000 n +0001415654 00000 n +0001415715 00000 n +0001415775 00000 n +0001415836 00000 n +0001415896 00000 n +0001415957 00000 n +0001416018 00000 n +0001416078 00000 n +0001416139 00000 n +0001416200 00000 n +0001416261 00000 n +0001416322 00000 n +0001416383 00000 n +0001416444 00000 n +0001416505 00000 n +0001416566 00000 n +0001416627 00000 n +0001416688 00000 n +0001416748 00000 n +0001416809 00000 n +0001416870 00000 n +0001416936 00000 n +0001416997 00000 n +0001417058 00000 n +0001417119 00000 n +0001417185 00000 n +0001417246 00000 n +0001417307 00000 n +0001417368 00000 n +0001417434 00000 n +0001417495 00000 n +0001417556 00000 n +0001417617 00000 n +0001417677 00000 n +0001417737 00000 n +0001417798 00000 n +0001417859 00000 n +0001417920 00000 n +0001417981 00000 n +0001418042 00000 n +0001418102 00000 n +0001418162 00000 n +0001418223 00000 n +0001418284 00000 n +0001418345 00000 n +0001418406 00000 n +0001418467 00000 n +0001418528 00000 n +0001418589 00000 n +0001418650 00000 n +0001418711 00000 n +0001418772 00000 n +0001418833 00000 n +0001418894 00000 n +0001418955 00000 n +0001419015 00000 n +0001419076 00000 n +0001419137 00000 n +0001419198 00000 n +0001419259 00000 n +0001419320 00000 n +0001419381 00000 n +0001419440 00000 n +0001419501 00000 n +0001419562 00000 n +0001419623 00000 n +0001419684 00000 n +0001419745 00000 n +0001419806 00000 n +0001419867 00000 n +0001419928 00000 n +0001419989 00000 n +0001420050 00000 n +0001420111 00000 n +0001420172 00000 n +0001420233 00000 n +0001420294 00000 n +0001420355 00000 n +0001420416 00000 n +0001420477 00000 n +0001420538 00000 n +0001420599 00000 n +0001420660 00000 n +0001420720 00000 n +0001420781 00000 n +0001420842 00000 n +0001420902 00000 n +0001420962 00000 n +0001421022 00000 n +0001421081 00000 n +0001421140 00000 n +0001421200 00000 n +0001421260 00000 n +0001421320 00000 n +0001421380 00000 n +0001421440 00000 n +0001421500 00000 n +0001421560 00000 n +0001421620 00000 n +0001421680 00000 n +0001421740 00000 n +0001421799 00000 n +0001421860 00000 n +0001421921 00000 n +0001421982 00000 n +0001422043 00000 n +0001422104 00000 n +0001422164 00000 n +0001422224 00000 n +0001422284 00000 n +0001422344 00000 n +0001422404 00000 n +0001422464 00000 n +0001422524 00000 n +0001422584 00000 n +0001422644 00000 n +0001422695 00000 n +trailer +<< +/Size 7491 +/Root 1 0 R +/Info 7490 0 R +>> +startxref +1422913 +%%EOF diff --git a/doc/refmanual/accumulate.html b/doc/refmanual/accumulate.html new file mode 100644 index 0000000..2975322 --- /dev/null +++ b/doc/refmanual/accumulate.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: accumulate + + + + + +
Front Page / Algorithms / Iteration Algorithms / accumulate

+
+

accumulate

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename State
+    , typename ForwardOp
+    >
+struct accumulate
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of the successive application of binary ForwardOp to the +result of the previous ForwardOp invocation (State if it's the first call) +and every element of the sequence in the range [begin<Sequence>::type, end<Sequence>::type) in order. +[Note: accumulate is a synonym for foldend note]

+
+
+

Header

+
+#include <boost/mpl/accumulate.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to iterate.
StateAny typeThe initial state for the first ForwardOp +application.
ForwardOpBinary Lambda ExpressionThe operation to be executed on forward +traversal.
+
+
+

Expression semantics

+

For any Forward Sequence s, binary Lambda Expression op, and arbitrary type state:

+
+typedef accumulate<s,state,op>::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef fold<s,state,op>::type t; 
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of op.

+
+
+

Example

+
+typedef vector<long,float,short,double,float,long,long double> types;
+typedef accumulate<
+      types
+    , int_<0>
+    , if_< is_float<_2>,next<_1>,_1 >
+    >::type number_of_floats;
+
+BOOST_MPL_ASSERT_RELATION( number_of_floats::value, ==, 4 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/acknowledgements.html b/doc/refmanual/acknowledgements.html new file mode 100644 index 0000000..eb3dda2 --- /dev/null +++ b/doc/refmanual/acknowledgements.html @@ -0,0 +1,24 @@ + + + + + + +The MPL Reference Manual: Acknowledgements + + + + + +
Front Page / Acknowledgements
+
+

Acknowledgements

+

The format and language of this reference documentation has been greatly influenced by +the SGI's Standard Template Library Programmer's Guide.

+ +
+ + + + + diff --git a/doc/refmanual/advance.html b/doc/refmanual/advance.html new file mode 100644 index 0000000..02c8823 --- /dev/null +++ b/doc/refmanual/advance.html @@ -0,0 +1,138 @@ + + + + + + +The MPL Reference Manual: advance + + + + + +
Front Page / Iterators / Iterator Metafunctions / advance
+
+

advance

+
+

Synopsis

+
+template<
+      typename Iterator
+    , typename N
+    >
+struct advance
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Moves Iterator by the distance N. For bidirectional and +random access iterators, the distance may be negative.

+
+
+

Header

+
+#include <boost/mpl/advance.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
IteratorForward IteratorAn iterator to advance.
NIntegral ConstantA distance.
+
+ +
+

Expression semantics

+

For a Forward Iterator iter and arbitrary Integral Constant n:

+
+typedef advance<iter,n>::type j; 
+
+ +++ + + + + + + + + + +
Return type:Forward Iterator.
Precondition:If Iterator is a Forward Iterator, n::value must be nonnegative.
Semantics:

Equivalent to:

+
+typedef iter i0; 
+typedef next<i0>::type i1; 
+...
+typedef next<in-1>::type j;
+
+

if n::value > 0, and

+
+typedef iter i0; 
+typedef prior<i0>::type i1; 
+...
+typedef prior<in-1>::type j;
+
+

otherwise.

+
Postcondition:j is dereferenceable or past-the-end; +distance<iter,j>::value == n::value if n::value > 0, and +distance<j,iter>::value == n::value otherwise.
+
+
+

Complexity

+

Amortized constant time if iter is a model of +Random Access Iterator, otherwise linear time.

+
+
+

Example

+
+typedef range_c<int,0,10> numbers;
+typedef begin<numbers>::type first;
+typedef end<numbers>::type last;
+
+typedef advance<first,int_<10> >::type i1;
+typedef advance<last,int_<-10> >::type i2;
+
+BOOST_MPL_ASSERT(( boost::is_same<i1,last> ));
+BOOST_MPL_ASSERT(( boost::is_same<i2,first> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/algorithms-concepts.html b/doc/refmanual/algorithms-concepts.html new file mode 100644 index 0000000..17c73fe --- /dev/null +++ b/doc/refmanual/algorithms-concepts.html @@ -0,0 +1,26 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Algorithms / Concepts
+ + + + + + diff --git a/doc/refmanual/algorithms.html b/doc/refmanual/algorithms.html new file mode 100644 index 0000000..121f45d --- /dev/null +++ b/doc/refmanual/algorithms.html @@ -0,0 +1,59 @@ + + + + + + +The MPL Reference Manual: Algorithms + + + + + +
Front Page / Algorithms
+
+

Algorithms

+

The MPL provides a broad range of fundamental algorithms aimed to +satisfy the majority of sequential compile-time data processing +needs. The algorithms include compile-time counterparts +of many of the STL algorithms, iteration algorithms borrowed from +functional programming languages, and more.

+

Unlike the algorithms in the C++ Standard Library, which operate on +implict iterator ranges, the majority of MPL counterparts take +and return sequences. This derivation is not dictated by the +functional nature of C++ compile-time computations per se, but +rather by a desire to improve general usability of the library, +making programming with compile-time data structures as enjoyable +as possible.

+ +

In the spirit of the STL, MPL algorithms are generic, meaning +that they are not tied to particular sequence class +implementations, and can operate on a wide range of arguments as +long as they satisfy the documented requirements. The requirements +are formulated in terms of concepts. Under the hood, +algorithms are decoupled from concrete sequence +implementations by operating on Iterators.

+

All MPL algorithms can be sorted into three +major categories: iteration algorithms, querying algorithms, and +transformation algorithms. The transformation algorithms introduce +an associated Inserter concept, a rough equivalent for the notion of +Output Iterator in the Standard Library. Moreover, every +transformation algorithm provides a reverse_ counterpart, +allowing for a wider range of efficient transformations — a +common functionality documented by the Reversible Algorithm +concept.

+ + +
+ + + + + diff --git a/doc/refmanual/always.html b/doc/refmanual/always.html new file mode 100644 index 0000000..d47550e --- /dev/null +++ b/doc/refmanual/always.html @@ -0,0 +1,108 @@ + + + + + + +The MPL Reference Manual: always + + + + + +
Front Page / Metafunctions / Miscellaneous / always
+
+

always

+
+

Synopsis

+
+template< 
+      typename X
+    >
+struct always
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

always<X> specialization is a variadic Metafunction Class always returning the +same type, X, regardless of the number and types of passed arguments.

+
+
+

Header

+
+#include <boost/mpl/always.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeA type to be returned.
+
+
+

Expression semantics

+

For an arbitrary type x:

+
+typedef always<x> f;
+
+ +++ + + + + + +
Return type:Metafunction Class.
Semantics:

Equivalent to

+
+struct f : bind< identity<_1>, x > {};
+
+
+
+
+

Example

+
+typedef always<true_> always_true;
+
+BOOST_MPL_ASSERT(( apply< always_true,false_> ));
+BOOST_MPL_ASSERT(( apply< always_true,false_,false_ > ));
+BOOST_MPL_ASSERT(( apply< always_true,false_,false_,false_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/and.html b/doc/refmanual/and.html new file mode 100644 index 0000000..375f080 --- /dev/null +++ b/doc/refmanual/and.html @@ -0,0 +1,126 @@ + + + + + + +The MPL Reference Manual: and_ + + + + + +
Front Page / Metafunctions / Logical Operations / and_
+
+

and_

+
+

Synopsis

+
+template< 
+      typename F1
+    , typename F2
+    ...
+    , typename Fn = unspecified
+    >
+struct and_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of short-circuit logical and (&&) operation on its arguments.

+
+
+

Header

+
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/logical.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
F1, F2,... FnNullary MetafunctionOperation's arguments.
+
+
+

Expression semantics

+

For arbitrary nullary Metafunctions f1, f2,... fn:

+
+typedef and_<f1,f2,...,fn>::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:r is false_ if either of f1::type::value, f2::type::value,... +fn::type::value expressions evaluates to false, and true_ otherwise; +guarantees left-to-right evaluation; the operands subsequent to the first +fi metafunction that evaluates to false are not evaluated.
+ +
+typedef and_<f1,f2,...,fn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : and_<f1,f2,...,fn>::type {};
+
+
+
+
+

Example

+
+struct unknown;
+
+BOOST_MPL_ASSERT(( and_< true_,true_ > ));
+BOOST_MPL_ASSERT_NOT(( and_< false_,true_ > ));
+BOOST_MPL_ASSERT_NOT(( and_< true_,false_ > ));
+BOOST_MPL_ASSERT_NOT(( and_< false_,false_ > ));
+BOOST_MPL_ASSERT_NOT(( and_< false_,unknown > )); // OK
+BOOST_MPL_ASSERT_NOT(( and_< false_,unknown,unknown > )); // OK too
+
+
+ +
+ + + + + diff --git a/doc/refmanual/apply-wrap.html b/doc/refmanual/apply-wrap.html new file mode 100644 index 0000000..0c2e853 --- /dev/null +++ b/doc/refmanual/apply-wrap.html @@ -0,0 +1,151 @@ + + + + + + +The MPL Reference Manual: apply_wrap + + + + + +
Front Page / Metafunctions / Invocation / apply_wrap
+
+

apply_wrap

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct apply_wrap0
+{
+    typedef unspecified type;
+};
+
+template< 
+      typename F, typename A1
+    >
+struct apply_wrap1
+{
+    typedef unspecified type;
+};
+
+...
+
+template< 
+      typename F, typename A1,... typename An
+    >
+struct apply_wrapn
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Invokes a Metafunction Class F with arguments A1,... An.

+

In essence, apply_wrap forms are nothing more than syntactic wrappers around +F::apply<A1,... An>::type / F::apply::type expressions (hence the name). +They provide a more concise notation and higher portability than their +underlaying constructs at the cost of an extra template instantiation.

+
+
+

Header

+
+#include <boost/mpl/apply_wrap.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
FMetafunction ClassA metafunction class to invoke.
A1,... AnAny typeInvocation arguments.
+
+
+

Expression semantics

+

For any Metafunction Class f and arbitrary types a1,... an:

+
+typedef apply_wrapn<f,a1,...an>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:If n > 0, equivalent to typedef f::apply<a1,... an>::type t;, +otherwise equivalent to either typedef f::apply::type t; or +typedef f::apply<>::type t; depending on whether f::apply is +a class or a class template.
+
+
+

Example

+
+struct f0
+{
+    template< typename T = int > struct apply
+    {
+        typedef char type;
+    };
+};
+    
+struct g0
+{
+    struct apply { typedef char type; };
+};
+
+struct f2
+{
+    template< typename T1, typename T2 > struct apply
+    {
+        typedef T2 type;
+    };
+};
+
+
+typedef apply_wrap0< f0 >::type r1;
+typedef apply_wrap0< g0 >::type r2;
+typedef apply_wrap2< f2,int,char >::type r3;
+
+BOOST_MPL_ASSERT(( is_same<r1,char> ));
+BOOST_MPL_ASSERT(( is_same<r2,char> ));
+BOOST_MPL_ASSERT(( is_same<r3,char> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/apply.html b/doc/refmanual/apply.html new file mode 100644 index 0000000..755ad01 --- /dev/null +++ b/doc/refmanual/apply.html @@ -0,0 +1,137 @@ + + + + + + +The MPL Reference Manual: apply + + + + + +
Front Page / Metafunctions / Invocation / apply
+
+

apply

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct apply0
+{
+    typedef unspecified type;
+};
+
+template< 
+      typename F, typename A1
+    >
+struct apply1
+{
+    typedef unspecified type;
+};
+
+...
+
+template< 
+      typename F, typename A1,... typename An
+    >
+struct applyn
+{
+    typedef unspecified type;
+};
+
+template< 
+      typename F
+    , typename A1 = unspecified
+    ...
+    , typename An = unspecified
+    >
+struct apply
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Invokes a Metafunction Class or a Lambda Expression F with arguments A1,... An.

+
+
+

Header

+
+#include <boost/mpl/apply.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
FLambda ExpressionAn expression to invoke.
A1,... AnAny typeInvocation arguments.
+
+
+

Expression semantics

+

For any Lambda Expression f and arbitrary types a1,... an:

+
+typedef applyn<f,a1,...an>::type t;
+typedef apply<f,a1,...an>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:Equivalent to typedef apply_wrapn< lambda<f>::type,a1,... an>::type t;.
+
+
+

Example

+
+template< typename N1, typename N2 > struct int_plus
+    : int_<( N1::value + N2::value )>
+{
+};
+
+typedef apply< int_plus<_1,_2>, int_<2>, int_<3> >::type r1;
+typedef apply< quote2<int_plus>, int_<2>, int_<3> >::type r2;
+
+BOOST_MPL_ASSERT_RELATION( r1::value, ==, 5 );
+BOOST_MPL_ASSERT_RELATION( r2::value, ==, 5 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/arg.html b/doc/refmanual/arg.html new file mode 100644 index 0000000..3ab828c --- /dev/null +++ b/doc/refmanual/arg.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: arg + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / arg
+
+

arg

+
+

Synopsis

+
+template< int n > struct arg;
+
+template<> struct arg<1>
+{
+    template< typename A1,... typename An = unspecified >
+    struct apply
+    {
+        typedef A1 type;
+    };
+};
+
+...
+
+template<> struct arg<n>
+{
+    template< typename A1,... typename An >
+    struct apply
+    {
+        typedef An type;
+    };
+};
+
+
+
+

Description

+

arg<n> specialization is a Metafunction Class that return the nth of its arguments.

+
+
+

Header

+
+#include <boost/mpl/arg.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
nAn integral constantA number of argument to return.
+
+
+

Expression semantics

+

For any integral constant n in the range [1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY] and +arbitrary types a1,... an:

+
+typedef apply_wrapn< arg<n>,a1,...an >::type x;
+
+ +++ + + + + + +
Return type:A type.
Semantics:x is identical to an.
+
+
+

Example

+
+typedef apply_wrap5< arg<1>,bool,char,short,int,long >::type t1;
+typedef apply_wrap5< arg<3>,bool,char,short,int,long >::type t3;
+
+BOOST_MPL_ASSERT(( is_same< t1, bool > ));
+BOOST_MPL_ASSERT(( is_same< t3, short > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/arithmetic-operations.html b/doc/refmanual/arithmetic-operations.html new file mode 100644 index 0000000..5945f74 --- /dev/null +++ b/doc/refmanual/arithmetic-operations.html @@ -0,0 +1,31 @@ + + + + + + +The MPL Reference Manual: Arithmetic Operations + + + + + +
Front Page / Metafunctions / Arithmetic Operations
+ + + + + + diff --git a/doc/refmanual/assert-msg.html b/doc/refmanual/assert-msg.html new file mode 100644 index 0000000..a63876f --- /dev/null +++ b/doc/refmanual/assert-msg.html @@ -0,0 +1,152 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_ASSERT_MSG + + + + + +
Front Page / Macros / Asserts / BOOST_MPL_ASSERT_MSG
+
+

BOOST_MPL_ASSERT_MSG

+
+

Synopsis

+
+#define BOOST_MPL_ASSERT_MSG( condition, message, types ) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Generates a compilation error with an embedded custom message when the condition +doesn't hold.

+
+
+

Header

+
+#include <boost/mpl/assert.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
conditionAn integral constant expressionA condition to be asserted.
messageA legal identifier tokenA custom message in a form of a legal C++ +identifier token.
typesA legal function parameter listA parenthized list of types to be displayed +in the error message.
+
+
+

Expression semantics

+

For any integral constant expression expr, legal C++ identifier message, and +arbitrary types t1, t2,... tn:

+
+BOOST_MPL_ASSERT_MSG( expr, message, (t1, t2,... tn) );
+
+ +++ + + + + + + + +
Return type:None.
Precondition:t1, t2,... tn are non-void.
Semantics:

Generates a compilation error if expr::value != true, otherwise +has no effect.

+

When possible within the compiler's diagnostic capabilities, +the error message will include the message identifier and the parenthized +list of t1, t2,... tn types, and have a general form of:

+
+... ************( ...::message )************)(t1, t2,... tn) ...
+
+
+
+BOOST_MPL_ASSERT_MSG( expr, message, (types<t1, t2,... tn>) );
+
+ +++ + + + + + + + +
Return type:None.
Precondition:None.
Semantics:

Generates a compilation error if expr::value != true, otherwise +has no effect.

+

When possible within the compiler's diagnostics capabilities, +the error message will include the message identifier and the list of +t1, t2,... tn types, and have a general form of:

+
+... ************( ...::message )************)(types<t1, t2,... tn>) ...
+
+
+
+
+

Example

+
+template< typename T > struct my
+{
+    // ...
+    BOOST_MPL_ASSERT_MSG( 
+          is_integral<T>::value
+        , NON_INTEGRAL_TYPES_ARE_NOT_ALLOWED
+        , (T)
+        );
+};
+
+my<void*> test;
+
+// In instantiation of `my<void*>':
+//   instantiated from here
+// conversion from `
+//   mpl_::failed************(my<void*>::
+//   NON_INTEGRAL_TYPES_ARE_NOT_ALLOWED::************)(void*)
+//   ' to non-scalar type `mpl_::assert<false>' requested
+
+
+ +
+ + + + + diff --git a/doc/refmanual/assert-not.html b/doc/refmanual/assert-not.html new file mode 100644 index 0000000..dae6006 --- /dev/null +++ b/doc/refmanual/assert-not.html @@ -0,0 +1,111 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_ASSERT_NOT + + + + + +
Front Page / Macros / Asserts / BOOST_MPL_ASSERT_NOT
+
+

BOOST_MPL_ASSERT_NOT

+
+

Synopsis

+
+#define BOOST_MPL_ASSERT_NOT( pred ) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Generates a compilation error when predicate holds true.

+
+
+

Header

+
+#include <boost/mpl/assert.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
predBoolean nullary MetafunctionA predicate to be asserted to be false.
+
+
+

Expression semantics

+

For any boolean nullary Metafunction pred:

+
+BOOST_MPL_ASSERT_NOT(( pred ));
+
+ +++ + + + + + +
Return type:None.
Semantics:

Generates a compilation error if pred::type::value != false, otherwise +has no effect. Note that double parentheses are required even if no commas +appear in the condition.

+

When possible within the compiler's diagnostic capabilities, +the error message will include the predicate's full type name, and have a +general form of:

+
+... ************boost::mpl::not_< pred >::************ ...
+
+
+
+
+

Example

+
+template< typename T, typename U > struct my
+{
+    // ...
+    BOOST_MPL_ASSERT_NOT(( is_same< T,U > ));
+};
+
+my<void,void> test;
+
+// In instantiation of `my<void, void>':
+//   instantiated from here
+// conversion from `
+//   mpl_::failed************boost::mpl::not_<boost::is_same<void, void> 
+//   >::************' to non-scalar type `mpl_::assert<false>' requested
+
+
+ +
+ + + + + diff --git a/doc/refmanual/assert-relation.html b/doc/refmanual/assert-relation.html new file mode 100644 index 0000000..da15b73 --- /dev/null +++ b/doc/refmanual/assert-relation.html @@ -0,0 +1,120 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_ASSERT_RELATION + + + + + +
Front Page / Macros / Asserts / BOOST_MPL_ASSERT_RELATION
+
+

BOOST_MPL_ASSERT_RELATION

+
+

Synopsis

+
+#define BOOST_MPL_ASSERT_RELATION( x, relation, y ) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

A specialized assertion macro for checking numerical conditions. Generates +a compilation error when the condition ( x relation y ) +doesn't hold.

+
+
+

Header

+
+#include <boost/mpl/assert.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
xAn integral constantLeft operand of the checked relation.
yAn integral constantRight operand of the checked relation.
relationA C++ operator tokenAn operator token for the relation being +checked.
+
+
+

Expression semantics

+

For any integral constants x, y and a legal C++ operator token op:

+
+BOOST_MPL_ASSERT_RELATION( x, op, y );
+
+ +++ + + + + + +
Return type:None.
Semantics:

Generates a compilation error if ( x op y ) != true, otherwise +has no effect.

+

When possible within the compiler's diagnostic capabilities, +the error message will include a name of the relation being checked, +the actual values of both operands, and have a general form of:

+
+... ************...assert_relation<op, x, y>::************) ...
+
+
+
+
+

Example

+
+template< typename T, typename U > struct my
+{
+    // ...
+    BOOST_MPL_ASSERT_RELATION( sizeof(T), <, sizeof(U) );
+};
+
+my<char[50],char[10]> test;
+
+// In instantiation of `my<char[50], char[10]>':
+//   instantiated from here
+// conversion from `
+//   mpl_::failed************mpl_::assert_relation<less, 50, 10>::************' 
+//   to non-scalar type `mpl_::assert<false>' requested
+
+
+ +
+ + + + + diff --git a/doc/refmanual/assert.html b/doc/refmanual/assert.html new file mode 100644 index 0000000..6dd79a6 --- /dev/null +++ b/doc/refmanual/assert.html @@ -0,0 +1,111 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_ASSERT + + + + + +
Front Page / Macros / Asserts / BOOST_MPL_ASSERT
+
+

BOOST_MPL_ASSERT

+
+

Synopsis

+
+#define BOOST_MPL_ASSERT( pred ) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Generates a compilation error when the predicate pred holds false.

+
+
+

Header

+
+#include <boost/mpl/assert.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
predBoolean nullary MetafunctionA predicate to be asserted.
+
+
+

Expression semantics

+

For any boolean nullary Metafunction pred:

+
+BOOST_MPL_ASSERT(( pred ));
+
+ +++ + + + + + +
Return type:None.
Semantics:

Generates a compilation error if pred::type::value != true, otherwise +has no effect. Note that double parentheses are required even if no commas +appear in the condition.

+

When possible within the compiler's diagnostic capabilities, +the error message will include the predicate's full type name, and have a +general form of:

+
+... ************ pred::************ ...
+
+
+
+
+

Example

+
+template< typename T, typename U > struct my
+{
+    // ...
+    BOOST_MPL_ASSERT(( is_same< T,U > ));
+};
+
+my<void*,char*> test;
+
+// In instantiation of `my<void, char*>':
+//   instantiated from here
+// conversion from `
+//   mpl_::failed************boost::is_same<void, char*>::************' to 
+//   non-scalar type `mpl_::assert<false>' requested
+
+
+ +
+ + + + + diff --git a/doc/refmanual/asserts.html b/doc/refmanual/asserts.html new file mode 100644 index 0000000..5bf26e8 --- /dev/null +++ b/doc/refmanual/asserts.html @@ -0,0 +1,33 @@ + + + + + + +The MPL Reference Manual: Asserts + + + + + +
Front Page / Macros / Asserts
+
+

Asserts

+

The MPL supplies a suite of static assertion macros that are specifically +designed to generate maximally useful and informative error messages +within the diagnostic capabilities of each compiler.

+

All assert macros can be used at class, function, or namespace scope.

+ + + +
+ + + + + diff --git a/doc/refmanual/associative-sequence.html b/doc/refmanual/associative-sequence.html new file mode 100644 index 0000000..aa8f1ea --- /dev/null +++ b/doc/refmanual/associative-sequence.html @@ -0,0 +1,156 @@ + + + + + + +The MPL Reference Manual: Associative Sequence + + + + + +
Front Page / Sequences / Concepts / Associative Sequence
+
+

Associative Sequence

+
+

Description

+

An Associative Sequence is a Forward Sequence that allows efficient retrieval of +elements based on keys. Unlike associative containers in the C++ Standard Library, +MPL associative sequences have no associated ordering relation. Instead, +type identity is used to impose an equivalence relation on keys, and the +order in which sequence elements are traversed during iteration is left +unspecified.

+
+
+

Definitions

+
    +
  • A key is a part of the element type used to identify and retrieve +the element within the sequence.
  • +
  • A value is a part of the element type retrievied from the sequence +by its key.
  • +
+
+
+

Expression requirements

+

In the following table and subsequent specifications, s is an Associative Sequence, +x is a sequence element, and k and def are arbitrary types.

+

In addition to the requirements defined in Forward Sequence, +the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
has_key<s,k>::typeBoolean Integral ConstantAmortized constant time
count<s,k>::typeIntegral ConstantAmortized constant time
order<s,k>::typeIntegral Constant or void_Amortized constant time
at<s,k>::typeAny typeAmortized constant time
at<s,k,def>::typeAny typeAmortized constant time
key_type<s,x>::typeAny typeAmortized constant time
value_type<s,x>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
has_key<s,k>::typeA boolean Integral Constant c such that +c::value == true if and only if there is one or more +elements with the key k in s; see has_key.
count<s,k>::typeThe number of elements with the key k in s; +see count.
order<s,k>::typeA unique unsigned Integral Constant associated +with the key k in the sequence s; see order.
+at<s,k>::type
+at<s,k,def>::type
+
+
The first element associated with the key k +in the sequence s; see at.
key_type<s,x>::typeThe key part of the element x that would be +used to identify x in s; see key_type.
value_type<s,x>::typeThe value part of the element x that would be +used for x in s; see value_type.
+ +
+
+

Models

+ + +
+ +
+ + + + + diff --git a/doc/refmanual/at-c.html b/doc/refmanual/at-c.html new file mode 100644 index 0000000..1a339ca --- /dev/null +++ b/doc/refmanual/at-c.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: at_c + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / at_c
+
+

at_c

+
+

Synopsis

+
+template<
+      typename Sequence
+    , long n
+    >
+struct at_c
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a type identical to the nth element from the beginning of +the sequence. at_c<Sequence,n>::type is a shorcut notation for +at< Sequence, long_<n> >::type.

+
+
+

Header

+
+#include <boost/mpl/at.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
nA compile-time integral constantAn offset from the beginning of the sequence +specifying the element to be retrieved.
+
+
+

Expression semantics

+
+typedef at_c<Sequence,n>::type t; 
+
+ +++ + + + + + + + +
Return type:A type
Precondition:0 <= n < size<Sequence>::value
Semantics:

Equivalent to

+
+typedef at< Sequence, long_<n> >::type t;
+
+
+
+
+

Complexity

+ ++++ + + + + + + + + + + + + + +
Sequence archetypeComplexity
Forward SequenceLinear.
Random Access SequenceAmortized constant time.
+
+
+

Example

+
+typedef range_c<long,10,50> range;
+BOOST_MPL_ASSERT_RELATION( (at_c< range,0 >::value), ==, 10 );
+BOOST_MPL_ASSERT_RELATION( (at_c< range,10 >::value), ==, 20 );
+BOOST_MPL_ASSERT_RELATION( (at_c< range,40 >::value), ==, 50 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/at.html b/doc/refmanual/at.html new file mode 100644 index 0000000..1be8132 --- /dev/null +++ b/doc/refmanual/at.html @@ -0,0 +1,211 @@ + + + + + + +The MPL Reference Manual: at + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / at
+
+

at

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename N
+    >
+struct at
+{
+    typedef unspecified type;
+};
+
+template<
+      typename AssocSeq
+    , typename Key
+    , typename Default = unspecified
+    >
+struct at
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

at is an overloaded name:

+
    +
  • at<Sequence,N> returns the N-th element from the beginning of the +Forward Sequence Sequence.
  • +
  • at<AssocSeq,Key,Default> returns the first element associated with Key +in the Associative Sequence AssocSeq, or Default if no such element +exists.
  • +
+
+
+

Header

+
+#include <boost/mpl/at.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
AssocSeqAssociative SequenceA sequence to be examined.
NIntegral ConstantAn offset from the beginning of the sequence +specifying the element to be retrieved.
KeyAny typeA key for the element to be retrieved.
DefaultAny typeA default value to return if the element is +not found.
+
+
+

Expression semantics

+
+

For any Forward Sequence s, and Integral Constant n:

+
+typedef at<s,n>::type t; 
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:0 <= n::value < size<s>::value.
Semantics:

Equivalent to

+
+typedef deref< advance< begin<s>::type,n >::type >::type t;
+
+
+
+
+

For any Associative Sequence s, and arbitrary types key and x:

+
+typedef at<s,key,x>::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:If has_key<s,key>::value == true, t is the value type associated with key; +otherwise t is identical to x.
+ +
+typedef at<s,key>::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef at<s,key,void_>::type t;
+
+
+
+
+
+

Complexity

+ ++++ + + + + + + + + + + + + + + + + +
Sequence archetypeComplexity
Forward SequenceLinear.
Random Access SequenceAmortized constant time.
Associative SequenceAmortized constant time.
+
+
+

Example

+
+typedef range_c<long,10,50> range;
+BOOST_MPL_ASSERT_RELATION( (at< range, int_<0> >::value), ==, 10 );
+BOOST_MPL_ASSERT_RELATION( (at< range, int_<10> >::value), ==, 20 );
+BOOST_MPL_ASSERT_RELATION( (at< range, int_<40> >::value), ==, 50 );
+
+
+typedef set< int const,long*,double > s;
+
+BOOST_MPL_ASSERT(( is_same< at<s,char>::type, void_ > ));
+BOOST_MPL_ASSERT(( is_same< at<s,int>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/aux-lambda-support.html b/doc/refmanual/aux-lambda-support.html new file mode 100644 index 0000000..413e979 --- /dev/null +++ b/doc/refmanual/aux-lambda-support.html @@ -0,0 +1,120 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_AUX_LAMBDA_SUPPORT + + + + + +
Front Page / Macros / Broken Compiler Workarounds / BOOST_MPL_AUX_LAMBDA_SUPPORT
+
+

BOOST_MPL_AUX_LAMBDA_SUPPORT

+
+

Synopsis

+
+#define BOOST_MPL_AUX_LAMBDA_SUPPORT(arity, fun, params) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Enables metafunction fun for the use in Lambda Expressions on +compilers that don't support partial template specialization or/and +template template parameters. Expands to nothing on conforming compilers.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
arityAn integral constantThe metafunction's arity, i.e. the number of its +template parameters, including the defaults.
funA legal identifier tokenThe metafunction's name.
paramsA PP-tupleA tuple of the metafunction's parameter names, in +their original order, including the defaults.
+
+
+

Expression semantics

+

For any integral constant n, a Metafunction fun, and arbitrary types A1,... An:

+
+template< typename A1,... typename An > struct fun
+{
+    // ...
+
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(n, fun, (A1,...An))
+};
+
+ +++ + + + + + + + +
Precondition:Appears in fun's scope, immediately followed by the scope-closing +bracket (}).
Return type:None.
Semantics:Expands to nothing and has no effect on conforming compilers. On compilers that +don't support partial template specialization or/and template template parameters +expands to an unspecified token sequence enabling fun to participate in +Lambda Expressions with the semantics described in this manual.
+
+
+

Example

+
+template< typename T, typename U = int > struct f
+{
+    typedef T type[sizeof(U)];
+
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(2, f, (T,U))
+};
+
+typedef apply1< f<char,_1>,long >::type r;
+BOOST_MPL_ASSERT(( is_same< r, char[sizeof(long)] > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/back-extensible-sequence.html b/doc/refmanual/back-extensible-sequence.html new file mode 100644 index 0000000..0de8463 --- /dev/null +++ b/doc/refmanual/back-extensible-sequence.html @@ -0,0 +1,104 @@ + + + + + + +The MPL Reference Manual: Back Extensible Sequence + + + + + +
Front Page / Sequences / Concepts / Back Extensible Sequence
+
+

Back Extensible Sequence

+
+

Description

+

A Back Extensible Sequence is an Extensible Sequence that supports amortized constant +time insertion and removal operations at the end.

+
+ +
+

Expression requirements

+

In addition to the requirements defined in Extensible Sequence, +for any Back Extensible Sequence s the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
push_back<s,x>::typeBack Extensible SequenceAmortized constant time
pop_back<s>::typeBack Extensible SequenceAmortized constant time
back<s>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Extensible Sequence.

+ ++++ + + + + + + + + + + + + + + + + +
ExpressionSemantics
push_back<s,x>::typeEquivalent to insert<s,end<s>::type,x>::type; +see push_back.
pop_back<v>::typeEquivalent to erase<s,end<s>::type>::type; +see pop_back.
back<s>::typeThe last element in the sequence; see back.
+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/back-inserter.html b/doc/refmanual/back-inserter.html new file mode 100644 index 0000000..f0137cd --- /dev/null +++ b/doc/refmanual/back-inserter.html @@ -0,0 +1,117 @@ + + + + + + +The MPL Reference Manual: back_inserter + + + + + +
Front Page / Algorithms / Inserters / back_inserter
+
+

back_inserter

+
+

Synopsis

+
+template<
+      typename Seq
+    >
+struct back_inserter
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

Inserts elements at the end of the sequence.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SeqBack Extensible SequenceA sequence to bind the inserter to.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Inserter.

+

For any Back Extensible Sequence s:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
back_inserter<s>

An Inserter in, equivalent to

+
+struct in : inserter<s,push_back<_1,_2> > {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef copy<
+      range_c<int,5,10>
+    , back_inserter< vector_c<int,0,1,2,3,4> >
+    >::type range;
+   
+BOOST_MPL_ASSERT(( equal< range, range_c<int,0,10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/back.html b/doc/refmanual/back.html new file mode 100644 index 0000000..95287a8 --- /dev/null +++ b/doc/refmanual/back.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: back + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / back
+
+

back

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct back
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the last element in the sequence.

+
+
+

Header

+
+#include <boost/mpl/back.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceBidirectional SequenceA sequence to be examined.
+
+
+

Expression semantics

+

For any Bidirectional Sequence s:

+
+typedef back<s>::type t; 
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:empty<s>::value == false.
Semantics:

Equivalent to

+
+typedef deref< prior< end<s>::type >::type >::type t;
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef range_c<int,0,1> range1;
+typedef range_c<int,0,10> range2;
+typedef range_c<int,-10,0> range3;
+    
+BOOST_MPL_ASSERT_RELATION( back<range1>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( back<range2>::value, ==, 9 );
+BOOST_MPL_ASSERT_RELATION( back<range3>::value, ==, -1 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/begin.html b/doc/refmanual/begin.html new file mode 100644 index 0000000..f989262 --- /dev/null +++ b/doc/refmanual/begin.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: begin + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / begin
+
+

begin

+
+

Synopsis

+
+template<
+      typename X
+    >
+struct begin
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an iterator that points to the first element of the sequence. If +the argument is not a Forward Sequence, returns void_.

+
+
+

Header

+
+#include <boost/mpl/begin_end.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeA type whose begin iterator, if any, will be +returned.
+
+
+

Expression semantics

+

For any arbitrary type x:

+
+typedef begin<x>::type first;
+
+ +++ + + + + + + + +
Return type:Forward Iterator or void_.
Semantics:If x is a Forward Sequence, first is an iterator pointing to the +first element of s; otherwise first is void_.
Postcondition:If first is an iterator, it is either dereferenceable or past-the-end; it +is past-the-end if and only if size<x>::value == 0.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector< unsigned char,unsigned short,
+    unsigned int,unsigned long > unsigned_types;
+
+typedef begin<unsigned_types>::type iter;
+BOOST_MPL_ASSERT(( is_same< deref<iter>::type, unsigned char > ));
+
+BOOST_MPL_ASSERT(( is_same< begin<int>::type, void_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/bidirectional-iterator.html b/doc/refmanual/bidirectional-iterator.html new file mode 100644 index 0000000..cc12165 --- /dev/null +++ b/doc/refmanual/bidirectional-iterator.html @@ -0,0 +1,107 @@ + + + + + + +The MPL Reference Manual: Bidirectional Iterator + + + + + +
Front Page / Iterators / Concepts / Bidirectional Iterator
+
+

Bidirectional Iterator

+
+

Description

+

A Bidirectional Iterator is a Forward Iterator that provides a way to +obtain an iterator to the previous element in a sequence.

+
+ +
+

Definitions

+
    +
  • a bidirectional iterator i is decrementable if there is a "previous" +iterator, that is, if prior<i>::type expression is well-defined; +iterators pointing to the first element of the sequence are not +decrementable.
  • +
+
+
+

Expression requirements

+

In addition to the requirements defined in Forward Iterator, +the following requirements must be met.

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
next<i>::typeBidirectional IteratorAmortized constant time
prior<i>::typeBidirectional IteratorAmortized constant time
i::categoryIntegral Constant, convertible +to bidirectional_iterator_tagConstant time
+
+
+

Expression semantics

+
+typedef prior<i>::type j;
+
+ +++ + + + + + + + +
Precondition:i is decrementable
Semantics:j is an iterator pointing to the previous element of the +sequence
Postcondition:j is dereferenceable and incrementable
+
+
+

Invariants

+

For any bidirectional iterators i and j the following invariants +always hold:

+
    +
  • If i is incrementable, then prior< next<i>::type >::type is a null +operation; similarly, if i is decrementable, next< prior<i>::type >::type +is a null operation.
  • +
+
+ +
+ + + + + diff --git a/doc/refmanual/bidirectional-sequence.html b/doc/refmanual/bidirectional-sequence.html new file mode 100644 index 0000000..ca7c5ae --- /dev/null +++ b/doc/refmanual/bidirectional-sequence.html @@ -0,0 +1,96 @@ + + + + + + +The MPL Reference Manual: Bidirectional Sequence + + + + + +
Front Page / Sequences / Concepts / Bidirectional Sequence
+
+

Bidirectional Sequence

+ + +
+

Expression requirements

+

In addition to the requirements defined in Forward Sequence, +for any Bidirectional Sequence s the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
begin<s>::typeBidirectional IteratorAmortized constant time
end<s>::typeBidirectional IteratorAmortized constant time
back<s>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+ ++++ + + + + + + + + + + +
ExpressionSemantics
back<s>::typeThe last element in the sequence; see back.
+
+ + +
+ + + + + diff --git a/doc/refmanual/bind.html b/doc/refmanual/bind.html new file mode 100644 index 0000000..8bf8685 --- /dev/null +++ b/doc/refmanual/bind.html @@ -0,0 +1,224 @@ + + + + + + +The MPL Reference Manual: bind + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / bind
+
+

bind

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct bind0
+{
+    // unspecified
+    // ...
+};
+
+template< 
+      typename F, typename A1
+    >
+struct bind1
+{
+    // unspecified
+    // ...
+};
+
+...
+
+template< 
+      typename F, typename A1,... typename An
+    >
+struct bindn
+{
+    // unspecified
+    // ...
+};
+
+template< 
+      typename F
+    , typename A1 = unspecified
+    ...
+    , typename An = unspecified
+    >
+struct bind
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

bind is a higher-order primitive for Metafunction Class composition +and argument binding. In essence, it's a compile-time counterpart of +the similar run-time functionality provided by Boost.Bind and Boost.Lambda +libraries.

+
+
+

Header

+
+#include <boost/mpl/bind.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
FMetafunction ClassAn metafunction class to perform binding on.
A1,... AnAny typeArguments to bind.
+
+
+

Expression semantics

+

For any Metafunction Class f and arbitrary types a1,... an:

+
+typedef bind<f,a1,...an> g;
+typedef bindn<f,a1,...an> g;
+
+ +++ + + + +
Return type:Metafunction Class
+ +++ + + + +
Semantics:

Equivalent to

+
+struct g
+{
+    template< 
+          typename U1 = unspecified
+        ...
+        , typename Un = unspecified
+        >
+    struct apply
+        : apply_wrapn<
+              typename h0<f,U1,...Un>::type 
+            , typename h1<a1,U1,...Un>::type 
+            ...
+            , typename hn<an,U1,...Un>::type 
+            >
+    {
+    };
+};
+
+

where hk is equivalent to

+
+template< typename X, typename U1,... typename Un > struct hk
+    : apply_wrapn<X,U1,...Un>
+{
+};
+
+

if f or ak is a bind expression or a placeholder, and

+
+template< typename X, typename U1,... typename Un > struct hk
+{
+    typedef X type;
+};
+
+

otherwise. [Note: Every nth appearance of the unnamed placeholder +in the bind<f,a1,...an> specialization is replaced with the corresponding +numbered placeholder _nend note]

+
+
+
+

Example

+
+struct f1
+{
+    template< typename T1 > struct apply
+    {
+        typedef T1 type;
+    };
+};
+
+struct f5
+{
+    template< typename T1, typename T2, typename T3, typename T4, typename T5 >
+    struct apply
+    {
+        typedef T5 type;
+    };
+};
+
+typedef apply_wrap1< 
+      bind1<f1,_1>
+    , int 
+    >::type r11;
+
+typedef apply_wrap5< 
+      bind1<f1,_5>
+    , void,void,void,void,int 
+    >::type r12;
+
+BOOST_MPL_ASSERT(( is_same<r11,int> ));
+BOOST_MPL_ASSERT(( is_same<r12,int> ));
+
+typedef apply_wrap5< 
+      bind5<f5,_1,_2,_3,_4,_5>
+    , void,void,void,void,int 
+    >::type r51;
+
+typedef apply_wrap5<
+      bind5<f5,_5,_4,_3,_2,_1>
+    , int,void,void,void,void
+    >::type r52;
+
+BOOST_MPL_ASSERT(( is_same<r51,int> ));
+BOOST_MPL_ASSERT(( is_same<r52,int> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/bitand.html b/doc/refmanual/bitand.html new file mode 100644 index 0000000..ec8975f --- /dev/null +++ b/doc/refmanual/bitand.html @@ -0,0 +1,149 @@ + + + + + + +The MPL Reference Manual: bitand_ + + + + + +
Front Page / Metafunctions / Bitwise Operations / bitand_
+
+

bitand_

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct bitand_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of bitwise and (&) operation of its arguments.

+
+
+

Header

+
+#include <boost/mpl/bitand.hpp>
+#include <boost/mpl/bitwise.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef bitand_<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value & c2::value)
+    , ( c1::value & c2::value )
+    > c;
+    
+typedef bitand_<c,c3,...cn>::type r; 
+
+
+ +
+typedef bitand_<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : bitand_<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef integral_c<unsigned,0> u0;
+typedef integral_c<unsigned,1> u1;
+typedef integral_c<unsigned,2> u2;
+typedef integral_c<unsigned,8> u8;
+typedef integral_c<unsigned,0xffffffff> uffffffff;
+
+BOOST_MPL_ASSERT_RELATION( (bitand_<u0,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitand_<u1,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitand_<u0,u1>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitand_<u0,uffffffff>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitand_<u1,uffffffff>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (bitand_<u8,uffffffff>::value), ==, 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/bitor.html b/doc/refmanual/bitor.html new file mode 100644 index 0000000..3bf306a --- /dev/null +++ b/doc/refmanual/bitor.html @@ -0,0 +1,149 @@ + + + + + + +The MPL Reference Manual: bitor_ + + + + + +
Front Page / Metafunctions / Bitwise Operations / bitor_
+
+

bitor_

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct bitor_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of bitwise or (|) operation of its arguments.

+
+
+

Header

+
+#include <boost/mpl/bitor.hpp>
+#include <boost/mpl/bitwise.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef bitor_<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value | c2::value)
+    , ( c1::value | c2::value )
+    > c;
+    
+typedef bitor_<c,c3,...cn>::type r; 
+
+
+ +
+typedef bitor_<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : bitor_<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef integral_c<unsigned,0> u0;
+typedef integral_c<unsigned,1> u1;
+typedef integral_c<unsigned,2> u2;
+typedef integral_c<unsigned,8> u8;
+typedef integral_c<unsigned,0xffffffff> uffffffff;
+
+BOOST_MPL_ASSERT_RELATION( (bitor_<u0,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitor_<u1,u0>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (bitor_<u0,u1>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (bitor_<u0,uffffffff>::value), ==, 0xffffffff );
+BOOST_MPL_ASSERT_RELATION( (bitor_<u1,uffffffff>::value), ==, 0xffffffff );
+BOOST_MPL_ASSERT_RELATION( (bitor_<u8,uffffffff>::value), ==, 0xffffffff );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/bitwise-operations.html b/doc/refmanual/bitwise-operations.html new file mode 100644 index 0000000..9c17f54 --- /dev/null +++ b/doc/refmanual/bitwise-operations.html @@ -0,0 +1,30 @@ + + + + + + +The MPL Reference Manual: Bitwise Operations + + + + + +
Front Page / Metafunctions / Bitwise Operations
+ + + + + + diff --git a/doc/refmanual/bitxor.html b/doc/refmanual/bitxor.html new file mode 100644 index 0000000..baa7a73 --- /dev/null +++ b/doc/refmanual/bitxor.html @@ -0,0 +1,150 @@ + + + + + + +The MPL Reference Manual: bitxor_ + + + + + +
Front Page / Metafunctions / Bitwise Operations / bitxor_
+
+

bitxor_

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct bitxor_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of bitwise xor (^) operation of its arguments.

+
+
+

Header

+
+#include <boost/mpl/bitxor.hpp>
+#include <boost/mpl/bitwise.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef bitxor_<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value ^ c2::value)
+    , ( c1::value ^ c2::value )
+    > c;
+    
+typedef bitxor_<c,c3,...cn>::type r; 
+
+
+ +
+typedef bitxor_<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : bitxor_<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef integral_c<unsigned,0> u0;
+typedef integral_c<unsigned,1> u1;
+typedef integral_c<unsigned,2> u2;
+typedef integral_c<unsigned,8> u8;
+typedef integral_c<unsigned,0xffffffff> uffffffff;
+
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u0,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u1,u0>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u0,u1>::value), ==, 1 );
+
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u0,uffffffff>::value), ==, 0xffffffff ^ 0 );
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u1,uffffffff>::value), ==, 0xffffffff ^ 1 );
+BOOST_MPL_ASSERT_RELATION( (bitxor_<u8,uffffffff>::value), ==, 0xffffffff ^ 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/bool.html b/doc/refmanual/bool.html new file mode 100644 index 0000000..36ecac8 --- /dev/null +++ b/doc/refmanual/bool.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: bool_ + + + + + +
Front Page / Data Types / Numeric / bool_
+
+

bool_

+
+

Synopsis

+
+template<
+      bool C
+    >
+struct bool_
+{
+    // unspecified
+    // ...
+};
+
+typedef bool_<true>  true_;
+typedef bool_<false> false_;
+
+
+
+

Description

+

A boolean Integral Constant wrapper.

+
+
+

Header

+
+#include <boost/mpl/bool.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
CA boolean integral constantA value to wrap.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Integral Constant.

+

For arbitrary integral constant c:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
bool_<c>An Integral Constant x such that x::value == c +and x::value_type is identical to bool.
+
+
+

Example

+
+BOOST_MPL_ASSERT(( is_same< bool_<true>::value_type, bool > ));
+BOOST_MPL_ASSERT(( is_same< bool_<true>, true_ > )); }
+BOOST_MPL_ASSERT(( is_same< bool_<true>::type, bool_<true> > ));
+BOOST_MPL_ASSERT_RELATION( bool_<true>::value, ==, true );
+assert( bool_<true>() == true );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/broken-compiler.html b/doc/refmanual/broken-compiler.html new file mode 100644 index 0000000..dd53ef9 --- /dev/null +++ b/doc/refmanual/broken-compiler.html @@ -0,0 +1,25 @@ + + + + + + +The MPL Reference Manual: Broken Compiler Workarounds + + + + + +
Front Page / Macros / Broken Compiler Workarounds
+ + + + + + diff --git a/doc/refmanual/categorized-concepts.html b/doc/refmanual/categorized-concepts.html new file mode 100644 index 0000000..371ee72 --- /dev/null +++ b/doc/refmanual/categorized-concepts.html @@ -0,0 +1,46 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Categorized Index / Concepts
+ + + + + + diff --git a/doc/refmanual/categorized-index.html b/doc/refmanual/categorized-index.html new file mode 100644 index 0000000..9dc77ee --- /dev/null +++ b/doc/refmanual/categorized-index.html @@ -0,0 +1,25 @@ + + + + + + +The MPL Reference Manual: Categorized Index + + + + + +
Front Page / Categorized Index
+ + + + + + diff --git a/doc/refmanual/cfg-no-has-xxx.html b/doc/refmanual/cfg-no-has-xxx.html new file mode 100644 index 0000000..0770149 --- /dev/null +++ b/doc/refmanual/cfg-no-has-xxx.html @@ -0,0 +1,40 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_CFG_NO_HAS_XXX + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_CFG_NO_HAS_XXX
+
+

BOOST_MPL_CFG_NO_HAS_XXX

+ +
+

Description

+

BOOST_MPL_CFG_NO_HAS_XXX is an boolean configuration macro +signaling availability of the BOOST_MPL_HAS_XXX_TRAIT_DEF / +BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF introspection macros' functionality +on a particular compiler.

+
+ +
+ + + + + diff --git a/doc/refmanual/cfg-no-preprocessed.html b/doc/refmanual/cfg-no-preprocessed.html new file mode 100644 index 0000000..5c30190 --- /dev/null +++ b/doc/refmanual/cfg-no-preprocessed.html @@ -0,0 +1,46 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+

BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS

+ +
+

Description

+

BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS is an boolean configuration macro +regulating library's internal use of preprocessed headers. When defined, it +instructs the MPL to discard the pre-generated headers found in +boost/mpl/aux_/preprocessed directory and use preprocessor +metaprogramming techniques to generate the necessary versions of the +library components on the fly.

+

In this implementation of the library, the macro is not defined by default. +To change the default configuration, define +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS before including any library +header.

+
+ +
+ + + + + diff --git a/doc/refmanual/classes.html b/doc/refmanual/classes.html new file mode 100644 index 0000000..d48e68b --- /dev/null +++ b/doc/refmanual/classes.html @@ -0,0 +1,38 @@ + + + + + + +The MPL Reference Manual: Classes + + + + + +
Front Page / Sequences / Classes
+
+

Classes

+

The MPL provides a large number of predefined general-purpose sequence +classes covering most of the typical metaprogramming needs out-of-box.

+ + + + +
+ + + + + diff --git a/doc/refmanual/clear.html b/doc/refmanual/clear.html new file mode 100644 index 0000000..1fbe149 --- /dev/null +++ b/doc/refmanual/clear.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: clear + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / clear
+
+

clear

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct clear
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an empty sequence concept-identical to Sequence.

+
+
+

Header

+
+#include <boost/mpl/clear.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceExtensible Sequence or +Extensible Associative SequenceA sequence to get an empty "copy" of.
+
+
+

Expression semantics

+

For any Extensible Sequence or Extensible Associative Sequence s:

+
+typedef clear<s>::type t; 
+
+ +++ + + + + + + + +
Return type:Extensible Sequence or Extensible Associative Sequence.
Semantics:

Equivalent to

+
+typedef erase< s, begin<s>::type, end<s>::type >::type t;
+
+
Postcondition:empty<s>::value == true.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector_c<int,1,3,5,7,9,11> odds;
+typedef clear<odds>::type nothing;
+
+BOOST_MPL_ASSERT(( empty<nothing> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/comparisons.html b/doc/refmanual/comparisons.html new file mode 100644 index 0000000..6d7bee8 --- /dev/null +++ b/doc/refmanual/comparisons.html @@ -0,0 +1,31 @@ + + + + + + +The MPL Reference Manual: Comparisons + + + + + +
Front Page / Metafunctions / Comparisons
+ + + + + + diff --git a/doc/refmanual/components.html b/doc/refmanual/components.html new file mode 100644 index 0000000..13cb4e4 --- /dev/null +++ b/doc/refmanual/components.html @@ -0,0 +1,173 @@ + + + + + + +The MPL Reference Manual: Components + + + + + +
Front Page / Categorized Index / Components
+
+

Components

+ + +
+ + + + + diff --git a/doc/refmanual/composition-and-argument.html b/doc/refmanual/composition-and-argument.html new file mode 100644 index 0000000..62fdcd8 --- /dev/null +++ b/doc/refmanual/composition-and-argument.html @@ -0,0 +1,31 @@ + + + + + + +The MPL Reference Manual: Composition and Argument Binding + + + + + +
Front Page / Metafunctions / Composition and Argument Binding
+ + + + + + diff --git a/doc/refmanual/concepts.html b/doc/refmanual/concepts.html new file mode 100644 index 0000000..3d3086c --- /dev/null +++ b/doc/refmanual/concepts.html @@ -0,0 +1,57 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Sequences / Concepts
+
+

Concepts

+

The taxonomy of sequence concepts in MPL parallels the taxonomy of the MPL +Iterators, with two additional classification dimensions: +extensibility and associativeness.

+ + + + +
+ + + + + diff --git a/doc/refmanual/configuration.html b/doc/refmanual/configuration.html new file mode 100644 index 0000000..b06733e --- /dev/null +++ b/doc/refmanual/configuration.html @@ -0,0 +1,33 @@ + + + + + + +The MPL Reference Manual: Configuration + + + + + +
Front Page / Macros / Configuration
+ + + + + + diff --git a/doc/refmanual/contains.html b/doc/refmanual/contains.html new file mode 100644 index 0000000..f28a524 --- /dev/null +++ b/doc/refmanual/contains.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: contains + + + + + +
Front Page / Algorithms / Querying Algorithms / contains
+
+

contains

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    >
+struct contains
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if one or more elements in Sequence +are identical to T.

+
+
+

Header

+
+#include <boost/mpl/contains.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
TAny typeA type to search for.
+
+
+

Expression semantics

+

For any Forward Sequence s and arbitrary type t:

+
+typedef contains<s,t>::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef not_< is_same< 
+      find<s,t>::type
+    , end<s>::type
+    > >::type r;
+
+
+
+
+

Complexity

+

Linear. At most size<s>::value comparisons for identity.

+
+
+

Example

+
+typedef vector<char,int,unsigned,long,unsigned long> types;
+BOOST_MPL_ASSERT_NOT(( contains<types,bool> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/copy-if.html b/doc/refmanual/copy-if.html new file mode 100644 index 0000000..f9e8e3c --- /dev/null +++ b/doc/refmanual/copy-if.html @@ -0,0 +1,142 @@ + + + + + + +The MPL Reference Manual: copy_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / copy_if
+
+

copy_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct copy_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a filtered copy of the original sequence containing the elements that satisfy +the predicate Pred.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/copy_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to copy.
PredUnary Lambda ExpressionA copying condition.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and +an Inserter in:

+
+typedef copy_if<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type op;
+
+typedef fold<
+      s
+    , in::state
+    , eval_if<
+          apply_wrap1<p,_2>
+        , apply_wrap2<op,_1,_2>
+        , identity<_1>
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and at +most size<s>::value applications of in::operation.

+
+
+

Example

+
+typedef copy_if<
+      range_c<int,0,10>
+    , less< _1, int_<5> >
+    , back_inserter< vector<> >
+    >::type result;
+
+BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 5 );
+BOOST_MPL_ASSERT(( equal<result,range_c<int,0,5> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/copy.html b/doc/refmanual/copy.html new file mode 100644 index 0000000..eb8d4a9 --- /dev/null +++ b/doc/refmanual/copy.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: copy + + + + + +
Front Page / Algorithms / Transformation Algorithms / copy
+
+

copy

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename In = unspecified
+    >
+struct copy
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a copy of the original sequence.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/copy.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to copy.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, and an Inserter in:

+
+typedef copy<s,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef fold< s,in::state,in::operation >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of in::operation.

+
+
+

Example

+
+typedef vector_c<int,0,1,2,3,4,5,6,7,8,9> numbers;
+typedef copy<
+      range_c<int,10,20>
+    , back_inserter< numbers >
+    >::type result;
+
+BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 20 );
+BOOST_MPL_ASSERT(( equal< result,range_c<int,0,20> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/count-if.html b/doc/refmanual/count-if.html new file mode 100644 index 0000000..4f0cac5 --- /dev/null +++ b/doc/refmanual/count-if.html @@ -0,0 +1,116 @@ + + + + + + +The MPL Reference Manual: count_if + + + + + +
Front Page / Algorithms / Querying Algorithms / count_if
+
+

count_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    >
+struct count_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the number of elements in Sequence that satisfy the predicate Pred.

+
+
+

Header

+
+#include <boost/mpl/count_if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
PredUnary Lambda ExpressionA count condition.
+
+
+

Expression semantics

+

For any Forward Sequence s and unary Lambda Expression pred:

+
+typedef count_if<s,pred>::type n; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef fold< 
+      s
+    , long_<0>
+    , if_< apply_wrap1<p,_2>, next<_1>, _1 >
+    >::type n;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred.

+
+
+

Example

+
+typedef vector<int,char,long,short,char,long,double,long> types;
+    
+BOOST_MPL_ASSERT_RELATION( (count_if< types, is_float<_> >::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (count_if< types, is_same<_,char> >::value), ==, 2 );
+BOOST_MPL_ASSERT_RELATION( (count_if< types, is_same<_,void> >::value), ==, 0 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/count.html b/doc/refmanual/count.html new file mode 100644 index 0000000..7506704 --- /dev/null +++ b/doc/refmanual/count.html @@ -0,0 +1,110 @@ + + + + + + +The MPL Reference Manual: count + + + + + +
Front Page / Algorithms / Querying Algorithms / count
+
+

count

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    >
+struct count
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the number of elements in a Sequence that are identical to T.

+
+
+

Header

+
+#include <boost/mpl/count.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
TAny typeA type to search for.
+
+
+

Expression semantics

+

For any Forward Sequence s and arbitrary type t:

+
+typedef count<s,t>::type n;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef count_if< s,is_same<_,T> >::type n;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value comparisons for identity.

+
+
+

Example

+
+typedef vector<int,char,long,short,char,short,double,long> types;
+typedef count<types, short>::type n;
+
+BOOST_MPL_ASSERT_RELATION( n::value, ==, 2 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/data-concepts.html b/doc/refmanual/data-concepts.html new file mode 100644 index 0000000..e37a500 --- /dev/null +++ b/doc/refmanual/data-concepts.html @@ -0,0 +1,25 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Data Types / Concepts
+ + + + + + diff --git a/doc/refmanual/data-miscellaneous.html b/doc/refmanual/data-miscellaneous.html new file mode 100644 index 0000000..d530f72 --- /dev/null +++ b/doc/refmanual/data-miscellaneous.html @@ -0,0 +1,27 @@ + + + + + + +The MPL Reference Manual: Miscellaneous + + + + + +
Front Page / Data Types / Miscellaneous
+ + + + + + diff --git a/doc/refmanual/data-types.html b/doc/refmanual/data-types.html new file mode 100644 index 0000000..c4c9d7a --- /dev/null +++ b/doc/refmanual/data-types.html @@ -0,0 +1,27 @@ + + + + + + +The MPL Reference Manual: Data Types + + + + + +
Front Page / Data Types
+ + + + + + diff --git a/doc/refmanual/deque.html b/doc/refmanual/deque.html new file mode 100644 index 0000000..c92c40b --- /dev/null +++ b/doc/refmanual/deque.html @@ -0,0 +1,63 @@ + + + + + + +The MPL Reference Manual: deque + + + + + +
Front Page / Sequences / Classes / deque
+
+

deque

+
+

Description

+

deque is a variadic, random access, extensible sequence of types that +supports constant-time insertion and removal of elements at both ends, and +linear-time insertion and removal of elements in the middle. In this implementation +of the library, deque is a synonym for vector.

+
+
+

Header

+
+#include <boost/mpl/deque.hpp>
+
+
+ +
+

Expression semantics

+

See vector specification.

+
+
+

Example

+
+typedef deque<float,double,long double> floats;
+typedef push_back<floats,int>::type types;
+
+BOOST_MPL_ASSERT(( is_same< at_c<types,3>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/deref.html b/doc/refmanual/deref.html new file mode 100644 index 0000000..e4c6efe --- /dev/null +++ b/doc/refmanual/deref.html @@ -0,0 +1,109 @@ + + + + + + +The MPL Reference Manual: deref + + + + + +
Front Page / Iterators / Iterator Metafunctions / deref
+
+

deref

+
+

Synopsis

+
+template<
+      typename Iterator
+    >
+struct deref
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Dereferences an iterator.

+
+
+

Header

+
+#include <boost/mpl/deref.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
IteratorForward IteratorThe iterator to dereference.
+
+
+

Expression semantics

+

For any Forward Iterators iter:

+
+typedef deref<iter>::type t; 
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:iter is dereferenceable.
Semantics:

t is identical to the element referenced by iter. If iter is +a user-defined iterator, the library-provided default implementation is +equivalent to

+
+typedef iter::type t;
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector<char,short,int,long> types;
+typedef begin<types>::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter>::type, char > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/distance.html b/doc/refmanual/distance.html new file mode 100644 index 0000000..f7c2f06 --- /dev/null +++ b/doc/refmanual/distance.html @@ -0,0 +1,124 @@ + + + + + + +The MPL Reference Manual: distance + + + + + +
Front Page / Iterators / Iterator Metafunctions / distance
+
+

distance

+
+

Synopsis

+
+template<
+      typename First
+    , typename Last
+    >
+struct distance
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the distance between First and Last iterators, that is, an +Integral Constant n such that advance<First,n>::type is +identical to Last.

+
+
+

Header

+
+#include <boost/mpl/distance.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
First, +LastForward IteratorIterators to compute a +distance between.
+
+ +
+

Expression semantics

+

For any Forward Iterators first and last:

+
+typedef distance<first,last>::type n; 
+
+ +++ + + + + + + + + + +
Return type:Integral Constant.
Precondition:[first, last) is a valid range.
Semantics:

Equivalent to

+
+typedef iter_fold<
+      iterator_range<first,last>
+    , long_<0>
+    , next<_1>
+    >::type n;
+
+
Postcondition:is_same< advance<first,n>::type, last >::value == true.
+
+
+

Complexity

+

Amortized constant time if first and last are Random Access Iterators, +otherwise linear time.

+
+
+

Example

+
+typedef range_c<int,0,10>::type range;
+typedef begin<range>::type first;
+typedef end<range>::type last;
+
+BOOST_MPL_ASSERT_RELATION( (distance<first,last>::value), ==, 10);
+
+
+ +
+ + + + + diff --git a/doc/refmanual/divides.html b/doc/refmanual/divides.html new file mode 100644 index 0000000..06fda85 --- /dev/null +++ b/doc/refmanual/divides.html @@ -0,0 +1,144 @@ + + + + + + +The MPL Reference Manual: divides + + + + + +
Front Page / Metafunctions / Arithmetic Operations / divides
+
+

divides

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct divides
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the quotient of its arguments.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef divides<c1,...cn>::type r; 
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Precondition:c2::value != 0, ... cn::value != 0.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value / c2::value)
+    , ( c1::value / c2::value )
+    > c;
+    
+typedef divides<c,c3,...cn>::type r; 
+
+
+ +
+typedef divides<c1,...cn> r;
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Precondition:c2::value != 0, ... cn::value != 0.
Semantics:

Equivalent to

+
+struct r : divides<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef divides< int_<-10>, int_<3>, long_<1> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, -3 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/empty-base.html b/doc/refmanual/empty-base.html new file mode 100644 index 0000000..42b5b19 --- /dev/null +++ b/doc/refmanual/empty-base.html @@ -0,0 +1,44 @@ + + + + + + +The MPL Reference Manual: empty_base + + + + + +
Front Page / Data Types / Miscellaneous / empty_base
+
+

empty_base

+
+

Synopsis

+
+struct empty_base {};
+
+
+
+

Description

+

An empty base class. Inheritance from empty_base through the inherit +metafunction is a no-op.

+
+
+

Header

+
+#include <boost/mpl/empty_base.hpp>
+
+
+ +
+ + + + + diff --git a/doc/refmanual/empty-sequence.html b/doc/refmanual/empty-sequence.html new file mode 100644 index 0000000..af4892b --- /dev/null +++ b/doc/refmanual/empty-sequence.html @@ -0,0 +1,89 @@ + + + + + + +The MPL Reference Manual: empty_sequence + + + + + +
Front Page / Sequences / Views / empty_sequence
+
+

empty_sequence

+
+

Synopsis

+
+struct empty_sequence
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

Represents a sequence containing no elements.

+
+ +
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Random Access Sequence.

+

In the following table, s is an instance of empty_sequence.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
empty_sequenceAn empty Random Access Sequence.
size<s>::typesize<s>::value == 0; see Random Access Sequence.
+
+
+

Example

+
+typedef begin<empty_sequence>::type first;
+typedef end<empty_sequence>::type last;
+
+BOOST_MPL_ASSERT(( is_same<first,last> ));
+BOOST_MPL_ASSERT_RELATION( size<empty_sequence>::value, ==, 0 );
+
+typedef transform_view<
+      empty_sequence
+    , add_pointer<_>
+    > empty_view;
+
+BOOST_MPL_ASSERT_RELATION( size<empty_sequence>::value, ==, 0 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/empty.html b/doc/refmanual/empty.html new file mode 100644 index 0000000..3be9254 --- /dev/null +++ b/doc/refmanual/empty.html @@ -0,0 +1,109 @@ + + + + + + +The MPL Reference Manual: empty + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / empty
+
+

empty

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct empty
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an Integral Constant c such that c::value == true if +and only if the sequence is empty.

+
+
+

Header

+
+#include <boost/mpl/empty.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to test.
+
+
+

Expression semantics

+

For any Forward Sequence s:

+
+typedef empty<s>::type c; 
+
+ +++ + + + + + + + +
Return type:Boolean Integral Constant.
Semantics:Equivalent to typedef is_same< begin<s>::type,end<s>::type >::type c;.
Postcondition:empty<s>::value == ( size<s>::value == 0 ).
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef range_c<int,0,0> empty_range;
+typedef vector<long,float,double> types;
+
+BOOST_MPL_ASSERT( empty<empty_range> );
+BOOST_MPL_ASSERT_NOT( empty<types> );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/end.html b/doc/refmanual/end.html new file mode 100644 index 0000000..822caea --- /dev/null +++ b/doc/refmanual/end.html @@ -0,0 +1,111 @@ + + + + + + +The MPL Reference Manual: end + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / end
+
+

end

+
+

Synopsis

+
+template<
+      typename X
+    >
+struct end
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the sequence's past-the-end iterator. If the argument is not a +Forward Sequence, returns void_.

+
+
+

Header

+
+#include <boost/mpl/begin_end.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeA type whose end iterator, if any, will be +returned.
+
+
+

Expression semantics

+

For any arbitrary type x:

+
+typedef end<x>::type last; 
+
+ +++ + + + + + + + +
Return type:Forward Iterator or void_.
Semantics:If x is Forward Sequence, last is an iterator pointing one past the +last element in s; otherwise last is void_.
Postcondition:If last is an iterator, it is past-the-end.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector<long> v;
+typedef begin<v>::type first;
+typedef end<v>::type last;
+
+BOOST_MPL_ASSERT(( is_same< next<first>::type, last > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/equal-to.html b/doc/refmanual/equal-to.html new file mode 100644 index 0000000..cadaac7 --- /dev/null +++ b/doc/refmanual/equal-to.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: equal_to + + + + + +
Front Page / Metafunctions / Comparisons / equal_to
+
+

equal_to

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct equal_to
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 and T2 are equal.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef equal_to<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value == c2::value) > r;
+
+
+ +
+typedef equal_to<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : equal_to<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+ + +
+ + + + + diff --git a/doc/refmanual/equal.html b/doc/refmanual/equal.html new file mode 100644 index 0000000..7b7f534 --- /dev/null +++ b/doc/refmanual/equal.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: equal + + + + + +
Front Page / Algorithms / Querying Algorithms / equal
+
+

equal

+
+

Synopsis

+
+template<
+      typename Seq1
+    , typename Seq2
+    , typename Pred = is_same<_1,_2>
+    >
+struct equal
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if the two sequences Seq1 +and Seq2 are identical when compared element-by-element.

+
+
+

Header

+
+#include <boost/mpl/equal.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
Seq1, Seq2Forward SequenceSequences to compare.
PredBinary Lambda ExpressionA comparison criterion.
+
+
+

Expression semantics

+

For any Forward Sequences s1 and s2 and a binary Lambda Expression pred:

+
+typedef equal<s1,s2,pred>::type c; 
+
+ +++ + + + + + +
Return type:Integral Constant
Semantics:

c::value == true is and only if size<s1>::value == size<s2>::value +and for every iterator i in [begin<s1>::type, end<s1>::type) deref<i>::type is identical to

+
+advance< begin<s2>::type, distance< begin<s1>::type,i >::type >::type
+
+
+
+
+

Complexity

+

Linear. At most size<s1>::value comparisons.

+
+
+

Example

+
+typedef vector<char,int,unsigned,long,unsigned long> s1;
+typedef list<char,int,unsigned,long,unsigned long> s2;
+
+BOOST_MPL_ASSERT(( equal<s1,s2> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/erase-key.html b/doc/refmanual/erase-key.html new file mode 100644 index 0000000..da28fe8 --- /dev/null +++ b/doc/refmanual/erase-key.html @@ -0,0 +1,116 @@ + + + + + + +The MPL Reference Manual: erase_key + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / erase_key
+
+

erase_key

+
+

Synopsis

+
+template<
+      typename AssocSeq
+    , typename Key
+    >
+struct erase_key
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Erases elements associated with the key Key in the Extensible Associative Sequence +AssocSeq .

+
+
+

Header

+
+#include <boost/mpl/erase_key.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
AssocSeqExtensible Associative SequenceA sequence to erase elements from.
KeyAny typeA key for the elements to be removed.
+
+
+

Expression semantics

+

For any Extensible Associative Sequence s, and arbitrary type key:

+
+typedef erase_key<s,key>::type r; 
+
+ +++ + + + + + + + +
Return type:Extensible Associative Sequence.
Semantics:r is concept-identical and equivalent to s except that +has_key<r,k>::value == false.
Postcondition:size<r>::value == size<s>::value - 1.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef map< pair<int,unsigned>, pair<char,long> > m;
+typedef erase_key<m,char>::type m1;
+
+BOOST_MPL_ASSERT_RELATION( size<m1>::type::value, ==, 1 );
+BOOST_MPL_ASSERT(( is_same< at<m1,char>::type,void_ > ));
+BOOST_MPL_ASSERT(( is_same< at<m1,int>::type,unsigned > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/erase.html b/doc/refmanual/erase.html new file mode 100644 index 0000000..8ff4690 --- /dev/null +++ b/doc/refmanual/erase.html @@ -0,0 +1,193 @@ + + + + + + +The MPL Reference Manual: erase + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / erase
+
+

erase

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename First
+    , typename Last = unspecified
+    >
+struct erase
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

erase performs a removal of one or more adjacent elements in the sequence +starting from an arbitrary position.

+
+
+

Header

+
+#include <boost/mpl/erase.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceExtensible Sequence or +Extensible Associative SequenceA sequence to erase from.
FirstForward IteratorAn iterator to the beginning of the range to +be erased.
LastForward IteratorAn iterator past-the-end of the range to be +erased.
+
+
+

Expression semantics

+
+

For any Extensible Sequence s, and iterators pos, first and last into s:

+
+typedef erase<s,first,last>::type r; 
+
+ +++ + + + + + + + + + +
Return type:Extensible Sequence.
Precondition:[first,last) is a valid range in s.
Semantics:r is a new sequence, concept-identical to s, of the following elements: +[begin<s>::type, pos), [last, end<s>::type).
Postcondition:

The relative order of the elements in r is the same as in s;

+
+size<r>::value == size<s>::value - distance<first,last>::value
+
+
+ +
+typedef erase<s,pos>::type r;
+
+ +++ + + + + + + + +
Return type:Extensible Sequence.
Precondition:pos is a dereferenceable iterator in s.
Semantics:

Equivalent to

+
+typedef erase< s,pos,next<pos>::type >::type r;
+
+
+
+
+

For any Extensible Associative Sequence s, and iterator pos into s:

+
+typedef erase<s,pos>::type r;
+
+ +++ + + + + + + + + + +
Return type:Extensible Sequence.
Precondition:pos is a dereferenceable iterator to s.
Semantics:Erases the element at a specific position pos; equivalent to +erase_key<s, deref<pos>::type >::type.
Postcondition:size<r>::value == size<s>::value - 1.
+
+
+
+

Complexity

+ ++++ + + + + + + + + + + + + + +
Sequence archetypeComplexity (the range form)
Extensible Associative SequenceAmortized constant time.
Extensible SequenceQuadratic in the worst case, linear at best.
+
+
+

Example

+
+typedef vector_c<int,1,0,5,1,7,5,0,5> values;
+typedef find< values, integral_c<int,7> >::type pos;
+typedef erase<values,pos>::type result;
+
+BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 7 );
+
+typedef find<result, integral_c<int,7> >::type iter;
+BOOST_MPL_ASSERT(( is_same< iter, end<result>::type > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/eval-if-c.html b/doc/refmanual/eval-if-c.html new file mode 100644 index 0000000..d116f77 --- /dev/null +++ b/doc/refmanual/eval-if-c.html @@ -0,0 +1,105 @@ + + + + + + +The MPL Reference Manual: eval_if_c + + + + + +
Front Page / Metafunctions / Type Selection / eval_if_c
+
+

eval_if_c

+
+

Synopsis

+
+template< 
+      bool c
+    , typename F1
+    , typename F2
+    >
+struct eval_if_c
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Evaluates one of its two nullary-metafunction arguments, F1 or F2, depending +on the value of integral constant c. eval_if_c<c,f1,f2>::type is a shorcut +notation for eval_if< bool_<c>,f1,f2 >::type.

+
+
+

Header

+
+#include <boost/mpl/eval_if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
cAn integral constantAn evaluation condition.
F1, F2Nullary MetafunctionMetafunctions to select for evaluation from.
+
+
+

Expression semantics

+

For any integral constant c and nullary Metafunctions f1, f2:

+
+typedef eval_if_c<c,f1,f2>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:Equivalent to typedef eval_if< bool_<c>,f1,f2 >::type t;
+
+
+

Example

+
+typedef eval_if_c< true, identity<char>, identity<long> >::type t1;
+typedef eval_if_c< false, identity<char>, identity<long> >::type t2;
+
+BOOST_MPL_ASSERT(( is_same<t1,char> ));
+BOOST_MPL_ASSERT(( is_same<t2,long> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/eval-if.html b/doc/refmanual/eval-if.html new file mode 100644 index 0000000..7a9cb28 --- /dev/null +++ b/doc/refmanual/eval-if.html @@ -0,0 +1,106 @@ + + + + + + +The MPL Reference Manual: eval_if + + + + + +
Front Page / Metafunctions / Type Selection / eval_if
+
+

eval_if

+
+

Synopsis

+
+template< 
+      typename C
+    , typename F1
+    , typename F2
+    >
+struct eval_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Evaluates one of its two nullary-metafunction arguments, F1 or F2, depending +on the value C.

+
+
+

Header

+
+#include <boost/mpl/eval_if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
CIntegral ConstantAn evaluation condition.
F1, F2Nullary MetafunctionMetafunctions to select for evaluation from.
+
+
+

Expression semantics

+

For any Integral Constant c and nullary Metafunctions f1, f2:

+
+typedef eval_if<c,f1,f2>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:If c::value == true, t is identical to f1::type; otherwise t is +identical to f2::type.
+
+
+

Example

+
+typedef eval_if< true_, identity<char>, identity<long> >::type t1;
+typedef eval_if< false_, identity<char>, identity<long> >::type t2;
+
+BOOST_MPL_ASSERT(( is_same<t1,char> ));
+BOOST_MPL_ASSERT(( is_same<t2,long> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/extensible-associative.html b/doc/refmanual/extensible-associative.html new file mode 100644 index 0000000..293afad --- /dev/null +++ b/doc/refmanual/extensible-associative.html @@ -0,0 +1,131 @@ + + + + + + +The MPL Reference Manual: Extensible Associative Sequence + + + + + +
Front Page / Sequences / Concepts / Extensible Associative Sequence
+
+

Extensible Associative Sequence

+
+

Description

+

An Extensible Associative Sequence is an Associative Sequence that supports +insertion and removal of elements. In contrast to Extensible Sequence, +Extensible Associative Sequence does not provide a mechanism for +inserting an element at a specific position.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, s is an Associative Sequence, +pos is an iterator into s, and x and k are arbitrary types.

+

In addition to the Associative Sequence requirements, the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
insert<s,x>::typeExtensible Associative SequenceAmortized constant time
insert<s,pos,x>::typeExtensible Associative SequenceAmortized constant time
erase_key<s,k>::typeExtensible Associative SequenceAmortized constant time
erase<s,pos>::typeExtensible Associative SequenceAmortized constant time
clear<s>::typeExtensible Associative SequenceAmortized constant time
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Associative Sequence.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
insert<s,x>::type

Inserts x into s; the resulting sequence r is +equivalent to s except that

+
+at< r, key_type<s,x>::type >::type
+
+

is identical to value_type<s,x>::type; see insert.

+
insert<s,pos,x>::typeEquivalent to insert<s,x>::type; pos is ignored; +see insert.
erase_key<s,k>::typeErases elements in s associated with the key k; +the resulting sequence r is equivalent to s except +that has_key<r,k>::value == false; see erase_key.
erase<s,pos>::typeErases the element at a specific position; equivalent to +erase_key<s, deref<pos>::type >::type; see erase.
clear<s>::typeAn empty sequence concept-identical to s; see +clear.
+ +
+
+

Models

+ + +
+ +
+ + + + + diff --git a/doc/refmanual/extensible-sequence.html b/doc/refmanual/extensible-sequence.html new file mode 100644 index 0000000..5cae60b --- /dev/null +++ b/doc/refmanual/extensible-sequence.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: Extensible Sequence + + + + + +
Front Page / Sequences / Concepts / Extensible Sequence
+
+

Extensible Sequence

+
+

Description

+

An Extensible Sequence is a sequence that supports insertion and removal of +elements. Extensibility is orthogonal to sequence traversal characteristics.

+
+
+

Expression requirements

+

For any Extensible Sequence s, its iterators pos and last, +Forward Sequence r, and any type x, the following expressions must +be valid:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
insert<s,pos,x>::typeExtensible SequenceUnspecified
insert_range<s,pos,r>::typeExtensible SequenceUnspecified
erase<s,pos>::typeExtensible SequenceUnspecified
erase<s,pos,last>::typeExtensible SequenceUnspecified
clear<s>::typeExtensible SequenceConstant time
+
+
+

Expression semantics

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
insert<s,pos,x>::typeA new sequence, concept-identical to s, of +the following elements: +[begin<s>::type, pos), x, +[pos, end<s>::type); see insert.
insert_range<s,pos,r>::typeA new sequence, concept-identical to s, of +the following elements: +[begin<s>::type, pos), +[begin<r>::type, end<r>::type), +[pos, end<s>::type); see insert_range.
erase<s,pos>::typeA new sequence, concept-identical to s, of +the following elements: +[begin<s>::type, pos), +[next<pos>::type, end<s>::type); see erase.
erase<s,pos,last>::typeA new sequence, concept-identical to s, of +the following elements: +[begin<s>::type, pos), +[last, end<s>::type); see erase.
clear<s>::typeAn empty sequence concept-identical to s; see +clear.
+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/filter-view.html b/doc/refmanual/filter-view.html new file mode 100644 index 0000000..5830995 --- /dev/null +++ b/doc/refmanual/filter-view.html @@ -0,0 +1,129 @@ + + + + + + +The MPL Reference Manual: filter_view + + + + + +
Front Page / Sequences / Views / filter_view
+
+

filter_view

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    >
+struct filter_view
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A view into a subset of Sequence's elements satisfying the predicate Pred.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to wrap.
PredUnary Lambda ExpressionA filtering predicate.
+
+
+

Expression semantics

+

Semantics of an expression is defined only where it differs from, or is not +defined in Forward Sequence.

+

In the following table, v is an instance of filter_view, s is an arbitrary +Forward Sequence, pred is an unary Lambda Expression.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
+filter_view<s,pred>
+filter_view<s,pred>::type
+
+
A lazy Forward Sequence sequence of all the elements in +the range [begin<s>::type, end<s>::type) that satisfy the predicate +pred.
size<v>::typeThe size of v; +size<v>::value == count_if<s,pred>::value; +linear complexity; see Forward Sequence.
+
+
+

Example

+

Find the largest floating type in a sequence.

+
+typedef vector<int,float,long,float,char[50],long double,char> types;
+typedef max_element<
+      transform_view< filter_view< types,boost::is_float<_> >, size_of<_> >
+    >::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter::base>::type, long double > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/find-if.html b/doc/refmanual/find-if.html new file mode 100644 index 0000000..f304d93 --- /dev/null +++ b/doc/refmanual/find-if.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: find_if + + + + + +
Front Page / Algorithms / Querying Algorithms / find_if
+
+

find_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    >
+struct find_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an iterator to the first element in Sequence that satisfies +the predicate Pred.

+
+
+

Header

+
+#include <boost/mpl/find_if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to search in.
PredUnary Lambda ExpressionA search condition.
+
+
+

Expression semantics

+

For any Forward Sequence s and unary Lambda Expression pred:

+
+typedef find_if<s,pred>::type i; 
+
+ +++ + + + + + +
Return type:Forward Iterator.
Semantics:

i is the first iterator in the range [begin<s>::type, end<s>::type) such that

+
+apply< pred,deref<i>::type >::type::value == true
+
+

If no such iterator exists, i is identical to end<s>::type.

+
+
+
+

Complexity

+

Linear. At most size<s>::value applications of pred.

+
+
+

Example

+
+typedef vector<char,int,unsigned,long,unsigned long> types;
+typedef find_if<types, is_same<_1,unsigned> >::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter>::type, unsigned > ));
+BOOST_MPL_ASSERT_RELATION( iter::pos::value, ==, 2 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/find.html b/doc/refmanual/find.html new file mode 100644 index 0000000..c6f6423 --- /dev/null +++ b/doc/refmanual/find.html @@ -0,0 +1,111 @@ + + + + + + +The MPL Reference Manual: find + + + + + +
Front Page / Algorithms / Querying Algorithms / find
+
+

find

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    >
+struct find
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an iterator to the first occurrence of type T in a Sequence.

+
+
+

Header

+
+#include <boost/mpl/find.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to search in.
TAny typeA type to search for.
+
+
+

Expression semantics

+

For any Forward Sequence s and arbitrary type t:

+
+typedef find<s,t>::type i;
+
+ +++ + + + + + +
Return type:Forward Iterator.
Semantics:

Equivalent to

+
+typedef find_if<s, is_same<_,t> >::type i;
+
+
+
+
+

Complexity

+

Linear. At most size<s>::value comparisons for identity.

+
+
+

Example

+
+typedef vector<char,int,unsigned,long,unsigned long> types;
+typedef find<types,unsigned>::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter>::type, unsigned > ));
+BOOST_MPL_ASSERT_RELATION( iter::pos::value, ==, 2 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/fold.html b/doc/refmanual/fold.html new file mode 100644 index 0000000..aec4ab8 --- /dev/null +++ b/doc/refmanual/fold.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: fold + + + + + +
Front Page / Algorithms / Iteration Algorithms / fold
+
+

fold

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename State
+    , typename ForwardOp
+    >
+struct fold
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of the successive application of binary ForwardOp to the +result of the previous ForwardOp invocation (State if it's the first call) +and every element of the sequence in the range [begin<Sequence>::type, end<Sequence>::type) in order.

+
+
+

Header

+
+#include <boost/mpl/fold.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to iterate.
StateAny typeThe initial state for the first ForwardOp +application.
ForwardOpBinary Lambda ExpressionThe operation to be executed on forward +traversal.
+
+
+

Expression semantics

+

For any Forward Sequence s, binary Lambda Expression op, and arbitrary type state:

+
+typedef fold<s,state,op>::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef iter_fold< s,state,apply<op,_1,deref<_2> > >::type t; 
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of op.

+
+
+

Example

+
+typedef vector<long,float,short,double,float,long,long double> types;
+typedef fold<
+      types
+    , int_<0>
+    , if_< is_float<_2>,next<_1>,_1 >
+    >::type number_of_floats;
+
+BOOST_MPL_ASSERT_RELATION( number_of_floats::value, ==, 4 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/forward-iterator.html b/doc/refmanual/forward-iterator.html new file mode 100644 index 0000000..bdee558 --- /dev/null +++ b/doc/refmanual/forward-iterator.html @@ -0,0 +1,147 @@ + + + + + + +The MPL Reference Manual: Forward Iterator + + + + + +
Front Page / Iterators / Concepts / Forward Iterator
+
+

Forward Iterator

+
+

Description

+

A Forward Iterator i is a type that represents a positional reference +to an element of a Forward Sequence. It allows to access the element through +a dereference operation, and provides a way to obtain an iterator to +the next element in a sequence.

+ +
+
+

Definitions

+
    +
  • An iterator can be dereferenceable, meaning that deref<i>::type +is a well-defined expression.
  • +
  • An iterator is past-the-end if it points beyond the last element of a +sequence; past-the-end iterators are non-dereferenceable.
  • +
  • An iterator i is incrementable if there is a "next" iterator, that +is, if next<i>::type expression is well-defined; past-the-end iterators are +not incrementable.
  • +
  • Two iterators into the same sequence are equivalent if they have the same +type.
  • +
  • An iterator j is reachable from an iterator i if , after recursive +application of next metafunction to i a finite number of times, i +is equivalent to j.
  • +
  • The notation [i,j) refers to a range of iterators beginning with +i and up to but not including j.
  • +
  • The range [i,j) is a valid range if j is reachable from i.
  • +
+
+
+

Expression requirements

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
deref<i>::typeAny typeAmortized constant time
next<i>::typeForward IteratorAmortized constant time
i::categoryIntegral Constant, convertible +to forward_iterator_tagConstant time
+
+
+

Expression semantics

+
+typedef deref<i>::type j;
+
+ +++ + + + + + +
Precondition:i is dereferenceable
Semantics:j is identical to the type of the pointed element
+ +
+typedef next<i>::type j;
+
+ +++ + + + + + + + +
Precondition:i is incrementable
Semantics:j is the next iterator in a sequence
Postcondition:j is dereferenceable or past-the-end
+ +
+typedef i::category c;
+
+ +++ + + + +
Semantics:c is identical to the iterator's category tag
+
+
+

Invariants

+

For any forward iterators i and j the following invariants always hold:

+
    +
  • i and j are equivalent if and only if they are pointing to the same +element.
  • +
  • If i is dereferenceable, and j is equivalent to i, then j is +dereferenceable as well.
  • +
  • If i and j are equivalent and dereferenceable, then deref<i>::type +and deref<j>::type are identical.
  • +
  • If i is incrementable, and j is equivalent to i, then j is +incrementable as well.
  • +
  • If i and j are equivalent and incrementable, then next<i>::type +and next<j>::type are equivalent.
  • +
+
+ +
+ + + + + diff --git a/doc/refmanual/forward-sequence.html b/doc/refmanual/forward-sequence.html new file mode 100644 index 0000000..1b88668 --- /dev/null +++ b/doc/refmanual/forward-sequence.html @@ -0,0 +1,136 @@ + + + + + + +The MPL Reference Manual: Forward Sequence + + + + + +
Front Page / Sequences / Concepts / Forward Sequence
+
+

Forward Sequence

+
+

Description

+

A Forward Sequence is an MPL concept representing a compile-time sequence of +elements. Sequence elements are +types, and are accessible through Iterators. The begin and end metafunctions +provide iterators delimiting the range of the sequence +elements. A sequence guarantees that its elements are arranged in a definite, +but possibly unspecified, order. Every MPL sequence is a Forward Sequence.

+
+
+

Definitions

+
    +
  • The size of a sequence is the number of elements it contains. The size is a +nonnegative number.
  • +
  • A sequence is empty if its size is zero.
  • +
+
+
+

Expression requirements

+

For any Forward Sequence s the following expressions must be valid:

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
begin<s>::typeForward IteratorAmortized constant time
end<s>::typeForward IteratorAmortized constant time
size<s>::typeIntegral ConstantUnspecified
empty<s>::typeBoolean Integral ConstantConstant time
front<s>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+ ++++ + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
begin<s>::typeAn iterator to the first element of the sequence; see begin.
end<s>::typeA past-the-end iterator to the sequence; see end.
size<s>::typeThe size of the sequence; see size.
empty<s>::typeA boolean Integral Constant c such that +c::value == true if and only if the sequence is empty; see empty.
front<s>::typeThe first element in the sequence; see front.
+
+
+

Invariants

+

For any Forward Sequence s the following invariants always hold:

+
    +
  • [begin<s>::type, end<s>::type) is always a valid range.
  • +
  • An algorithm that iterates through the range [begin<s>::type, end<s>::type) +will pass through every element of s exactly once.
  • +
  • begin<s>::type is identical to end<s>::type if and only if s is empty.
  • +
  • Two different iterations through s will access its elements in the same order.
  • +
+
+ + +
+ + + + + diff --git a/doc/refmanual/front-extensible-sequence.html b/doc/refmanual/front-extensible-sequence.html new file mode 100644 index 0000000..1232049 --- /dev/null +++ b/doc/refmanual/front-extensible-sequence.html @@ -0,0 +1,104 @@ + + + + + + +The MPL Reference Manual: Front Extensible Sequence + + + + + +
Front Page / Sequences / Concepts / Front Extensible Sequence
+
+

Front Extensible Sequence

+
+

Description

+

A Front Extensible Sequence is an Extensible Sequence that supports amortized constant +time insertion and removal operations at the beginning.

+
+ +
+

Expression requirements

+

In addition to the requirements defined in Extensible Sequence, +for any Back Extensible Sequence s the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
push_front<s,x>::typeFront Extensible SequenceAmortized constant time
pop_front<s>::typeFront Extensible SequenceAmortized constant time
front<s>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Extensible Sequence.

+ ++++ + + + + + + + + + + + + + + + + +
ExpressionSemantics
push_front<s,x>::typeEquivalent to insert<s,begin<s>::type,x>::type; +see push_front.
pop_front<v>::typeEquivalent to erase<s,begin<s>::type>::type; +see pop_front.
front<s>::typeThe first element in the sequence; see front.
+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/front-inserter.html b/doc/refmanual/front-inserter.html new file mode 100644 index 0000000..e57b27e --- /dev/null +++ b/doc/refmanual/front-inserter.html @@ -0,0 +1,117 @@ + + + + + + +The MPL Reference Manual: front_inserter + + + + + +
Front Page / Algorithms / Inserters / front_inserter
+
+

front_inserter

+
+

Synopsis

+
+template<
+      typename Seq
+    >
+struct front_inserter
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

Inserts elements at the beginning of the sequence.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SeqFront Extensible SequenceA sequence to bind the inserter to.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Inserter.

+

For any Front Extensible Sequence s:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
front_inserter<s>

An Inserter in, equivalent to

+
+struct in : inserter<s,push_front<_1,_2> > {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef reverse_copy<
+      range_c<int,0,5>
+    , front_inserter< vector_c<int,5,6,7,8,9> >
+    >::type range;
+   
+BOOST_MPL_ASSERT(( equal< range, range_c<int,0,10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/front.html b/doc/refmanual/front.html new file mode 100644 index 0000000..4b0481c --- /dev/null +++ b/doc/refmanual/front.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: front + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / front
+
+

front

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct front
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the first element in the sequence.

+
+
+

Header

+
+#include <boost/mpl/front.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be examined.
+
+
+

Expression semantics

+

For any Forward Sequence s:

+
+typedef front<s>::type t; 
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:empty<s>::value == false.
Semantics:

Equivalent to

+
+typedef deref< begin<s>::type >::type t;
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef list<long>::type types1;
+typedef list<int,long>::type types2;
+typedef list<char,int,long>::type types3;
+
+BOOST_MPL_ASSERT(( is_same< front<types1>::type, long > ));
+BOOST_MPL_ASSERT(( is_same< front<types2>::type, int> ));
+BOOST_MPL_ASSERT(( is_same< front<types3>::type, char> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/greater-equal.html b/doc/refmanual/greater-equal.html new file mode 100644 index 0000000..dc34d36 --- /dev/null +++ b/doc/refmanual/greater-equal.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: greater_equal + + + + + +
Front Page / Metafunctions / Comparisons / greater_equal
+
+

greater_equal

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct greater_equal
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 is greater than or equal to T2.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef greater_equal<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value < c2::value) > r;
+
+
+ +
+typedef greater_equal<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : greater_equal<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+ + +
+ + + + + diff --git a/doc/refmanual/greater.html b/doc/refmanual/greater.html new file mode 100644 index 0000000..6fd2664 --- /dev/null +++ b/doc/refmanual/greater.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: greater + + + + + +
Front Page / Metafunctions / Comparisons / greater
+
+

greater

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct greater
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 is greater than T2.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef greater<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value < c2::value) > r;
+
+
+ +
+typedef greater<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : greater<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+BOOST_MPL_ASSERT(( greater< int_<10>, int_<0> > ));
+BOOST_MPL_ASSERT_NOT(( greater< long_<0>, int_<10> > ));
+BOOST_MPL_ASSERT_NOT(( greater< long_<10>, int_<10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/has-key.html b/doc/refmanual/has-key.html new file mode 100644 index 0000000..41b9b7c --- /dev/null +++ b/doc/refmanual/has-key.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: has_key + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / has_key
+
+

has_key

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Key
+    >
+struct has_key
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if Sequence contains an element +with key Key.

+
+
+

Header

+
+#include <boost/mpl/has_key.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceAssociative SequenceA sequence to query.
KeyAny typeThe queried key.
+
+
+

Expression semantics

+

For any Associative Sequence s, and arbitrary type key:

+
+typedef has_key<s,key>::type c; 
+
+ +++ + + + + + +
Return type:Boolean Integral Constant.
Semantics:c::value == true if key is in s's set of keys; otherwise +c::value == false.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef map< pair<int,unsigned>, pair<char,long> > m;
+BOOST_MPL_ASSERT_NOT(( has_key<m,long> ));
+
+typedef insert< m, pair<long,unsigned long> > m1;
+BOOST_MPL_ASSERT(( has_key<m1,long> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/has-xxx-trait-def.html b/doc/refmanual/has-xxx-trait-def.html new file mode 100644 index 0000000..7f414aa --- /dev/null +++ b/doc/refmanual/has-xxx-trait-def.html @@ -0,0 +1,134 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_HAS_XXX_TRAIT_DEF + + + + + +
Front Page / Macros / Introspection / BOOST_MPL_HAS_XXX_TRAIT_DEF
+
+

BOOST_MPL_HAS_XXX_TRAIT_DEF

+
+

Synopsis

+
+#define BOOST_MPL_HAS_XXX_TRAIT_DEF(name) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Expands into a definition of a boolean unary Metafunction has_name +such that for any type x has_name<x>::value == true if and only +if x is a class type and has a nested type memeber x::name.

+

On the deficient compilers not capabale of performing the detection, +has_name<x>::value always returns false. A boolean configuraion +macro, BOOST_MPL_CFG_NO_HAS_XXX, is provided to signal or override +the "deficient" status of a particular compiler.

+

[Note: BOOST_MPL_HAS_XXX_TRAIT_DEF is a simplified front end to +the BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF introspection macro — end note]

+
+
+

Header

+
+#include <boost/mpl/has_xxx.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
nameA legal identifier tokenA name of the member being detected.
+
+
+

Expression semantics

+

For any legal C++ identifier name:

+
+BOOST_MPL_HAS_XXX_TRAIT_DEF(name)
+
+ +++ + + + + + + + +
Precondition:Appears at namespace scope.
Return type:None.
Semantics:

Equivalent to

+
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(
+      BOOST_PP_CAT(has_,name), name, false
+    )
+
+
+
+
+

Example

+
+BOOST_MPL_HAS_XXX_TRAIT_DEF(has_xxx)
+
+struct test1 {};
+struct test2 { void xxx(); };
+struct test3 { int xxx; };
+struct test4 { static int xxx(); };
+struct test5 { template< typename T > struct xxx {}; };
+struct test6 { typedef int xxx; };
+struct test7 { struct xxx; };
+struct test8 { typedef void (*xxx)(); };
+struct test9 { typedef void (xxx)(); };
+
+BOOST_MPL_ASSERT_NOT(( has_xxx<test1> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test2> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test3> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test4> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test5> ));
+
+#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
+BOOST_MPL_ASSERT(( has_xxx<test6> ));
+BOOST_MPL_ASSERT(( has_xxx<test7> ));
+BOOST_MPL_ASSERT(( has_xxx<test8> ));
+BOOST_MPL_ASSERT(( has_xxx<test9> ));
+#endif
+
+BOOST_MPL_ASSERT(( has_xxx<test6,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test7,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test8,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test9,true_> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/has-xxx-trait-named-def.html b/doc/refmanual/has-xxx-trait-named-def.html new file mode 100644 index 0000000..a0edcec --- /dev/null +++ b/doc/refmanual/has-xxx-trait-named-def.html @@ -0,0 +1,180 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF + + + + + +
Front Page / Macros / Introspection / BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF
+
+

BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF

+
+

Synopsis

+
+#define BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, default_) \
+    unspecified token sequence \
+/**/
+
+
+
+

Description

+

Expands into a definition of a boolean unary Metafunction trait +such that for any type x trait<x>::value == true if and only +if x is a class type and has a nested type memeber x::name.

+

On the deficient compilers not capabale of performing the detection, +trait<x>::value always returns a fallback value default_. +A boolean configuraion macro, BOOST_MPL_CFG_NO_HAS_XXX, is provided +to signal or override the "deficient" status of a particular compiler. +[Note: The fallback value call also be provided at the point of the +metafunction invocation; see the Expression semantics section for +details — end note]

+
+
+

Header

+
+#include <boost/mpl/has_xxx.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
traitA legal identifier tokenA name of the metafunction to be generated.
nameA legal identifier tokenA name of the member being detected.
default_An boolean constantA fallback value for the deficient compilers.
+
+
+

Expression semantics

+

For any legal C++ identifiers trait and name, boolean constant expression c1, +boolean Integral Constant c2, and arbitrary type x:

+
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(trait, name, c1)
+
+ +++ + + + + + + + +
Precondition:Appears at namespace scope.
Return type:None.
Semantics:

Expands into an equivalent of the following class template definition

+
+template< typename X, typename fallback = boost::mpl::bool_<c1> >
+struct trait
+{
+    // unspecified
+    // ...
+};
+
+

where trait is a boolean Metafunction with the following semantics:

+
+typedef trait<x>::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:If BOOST_MPL_CFG_NO_HAS_XXX is defined, r::value == c1; +otherwise, r::value == true if and only if x is a class type +that has a nested type memeber x::name.
+
+typedef trait< x,c2 >::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

If BOOST_MPL_CFG_NO_HAS_XXX is defined, r::value == c2::value; +otherwise, equivalent to

+
+typedef trait<x>::type r;
+
+
+
+
+
+

Example

+
+BOOST_MPL_HAS_XXX_TRAIT_NAMED_DEF(has_xxx, xxx, false)
+
+struct test1 {};
+struct test2 { void xxx(); };
+struct test3 { int xxx; };
+struct test4 { static int xxx(); };
+struct test5 { template< typename T > struct xxx {}; };
+struct test6 { typedef int xxx; };
+struct test7 { struct xxx; };
+struct test8 { typedef void (*xxx)(); };
+struct test9 { typedef void (xxx)(); };
+
+BOOST_MPL_ASSERT_NOT(( has_xxx<test1> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test2> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test3> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test4> ));
+BOOST_MPL_ASSERT_NOT(( has_xxx<test5> ));
+
+#if !defined(BOOST_MPL_CFG_NO_HAS_XXX)
+BOOST_MPL_ASSERT(( has_xxx<test6> ));
+BOOST_MPL_ASSERT(( has_xxx<test7> ));
+BOOST_MPL_ASSERT(( has_xxx<test8> ));
+BOOST_MPL_ASSERT(( has_xxx<test9> ));
+#endif
+
+BOOST_MPL_ASSERT(( has_xxx<test6,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test7,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test8,true_> ));
+BOOST_MPL_ASSERT(( has_xxx<test9,true_> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/identity.html b/doc/refmanual/identity.html new file mode 100644 index 0000000..916f66e --- /dev/null +++ b/doc/refmanual/identity.html @@ -0,0 +1,108 @@ + + + + + + +The MPL Reference Manual: identity + + + + + +
Front Page / Metafunctions / Miscellaneous / identity
+
+

identity

+
+

Synopsis

+
+template< 
+      typename X
+    >
+struct identity
+{
+    typedef X type;
+};
+
+
+
+

Description

+

The identity metafunction. Returns X unchanged.

+
+
+

Header

+
+#include <boost/mpl/identity.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeAn argument to be returned.
+
+
+

Expression semantics

+

For an arbitrary type x:

+
+typedef identity<x>::type r;
+
+ +++ + + + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef x r;
+
+
Postcondition:is_same<r,x>::value == true.
+
+
+

Example

+
+typedef apply< identity<_1>, char >::type t1;
+typedef apply< identity<_2>, char,int >::type t2;
+
+BOOST_MPL_ASSERT(( is_same< t1, char > ));
+BOOST_MPL_ASSERT(( is_same< t2, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/if-c.html b/doc/refmanual/if-c.html new file mode 100644 index 0000000..c99dedd --- /dev/null +++ b/doc/refmanual/if-c.html @@ -0,0 +1,106 @@ + + + + + + +The MPL Reference Manual: if_c + + + + + +
Front Page / Metafunctions / Type Selection / if_c
+
+

if_c

+
+

Synopsis

+
+template< 
+      bool c
+    , typename T1
+    , typename T2
+    >
+struct if_c
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns one of its two arguments, T1 or T2, depending on the value of +integral constant c. if_c<c,t1,t2>::type is a shorcut notation for +if_< bool_<c>,t1,t2 >::type.

+
+
+

Header

+
+#include <boost/mpl/if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
cAn integral constantA selection condition.
T1, T2Any typeTypes to select from.
+
+
+

Expression semantics

+

For any integral constant c and arbitrary types t1, t2:

+
+typedef if_c<c,t1,t2>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:Equivalent to typedef if_< bool_<c>,t1,t2 >::type t;
+
+
+

Example

+
+typedef if_c<true,char,long>::type t1;
+typedef if_c<false,char,long>::type t2;
+
+BOOST_MPL_ASSERT(( is_same<t1, char> ));
+BOOST_MPL_ASSERT(( is_same<t2, long> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/if.html b/doc/refmanual/if.html new file mode 100644 index 0000000..4bbab46 --- /dev/null +++ b/doc/refmanual/if.html @@ -0,0 +1,105 @@ + + + + + + +The MPL Reference Manual: if_ + + + + + +
Front Page / Metafunctions / Type Selection / if_
+
+

if_

+
+

Synopsis

+
+template< 
+      typename C
+    , typename T1
+    , typename T2
+    >
+struct if_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns one of its two arguments, T1 or T2, depending on the value C.

+
+
+

Header

+
+#include <boost/mpl/if.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
CIntegral ConstantA selection condition.
T1, T2Any typeTypes to select from.
+
+
+

Expression semantics

+

For any Integral Constant c and arbitrary types t1, t2:

+
+typedef if_<c,t1,t2>::type t;
+
+ +++ + + + + + +
Return type:Any type.
Semantics:If c::value == true, t is identical to t1; otherwise t is +identical to t2.
+
+
+

Example

+
+typedef if_<true_,char,long>::type t1;
+typedef if_<false_,char,long>::type t2;
+
+BOOST_MPL_ASSERT(( is_same<t1, char> ));
+BOOST_MPL_ASSERT(( is_same<t2, long> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/inherit-linearly.html b/doc/refmanual/inherit-linearly.html new file mode 100644 index 0000000..a962d32 --- /dev/null +++ b/doc/refmanual/inherit-linearly.html @@ -0,0 +1,152 @@ + + + + + + +The MPL Reference Manual: inherit_linearly + + + + + +
Front Page / Metafunctions / Miscellaneous / inherit_linearly
+
+

inherit_linearly

+
+

Synopsis

+
+template<
+      typename Types
+    , typename Node
+    , typename Root = empty_base
+    >
+struct inherit_linearly
+    : fold<Types,Root,Node>
+{
+};
+
+
+
+

Description

+

A convenience wrapper for fold to use in the context of sequence-driven +class composition. Returns the result the successive application of binary +Node to the result of the previous Node invocation (Root if it's +the first call) and every type in the Forward Sequence Types in order.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
TypesForward SequenceTypes to inherit from.
NodeBinary Lambda ExpressionA derivation metafunction.
RootA class typeA type to be placed at the root of the class +hierarchy.
+
+
+

Expression semantics

+

For any Forward Sequence types, binary Lambda Expression node, and arbitrary +class type root:

+
+typedef inherit_linearly<types,node,root>::type r; 
+
+ +++ + + + + + +
Return type:A class type.
Semantics:

Equivalent to

+
+typedef fold<types,root,node>::type r; 
+
+
+
+
+

Complexity

+

Linear. Exactly size<types>::value applications of node.

+
+
+

Example

+
+template< typename T > struct tuple_field
+{
+    T field;
+};
+
+template< typename T >
+inline
+T& field(tuple_field<T>& t)
+{
+    return t.field;
+}
+
+typedef inherit_linearly<
+      vector<int,char const*,bool>
+    , inherit< _1, tuple_field<_2> >
+    >::type tuple;
+
+
+int main()
+{
+    tuple t;
+    
+    field<int>(t) = -1;
+    field<char const*>(t) = "text";
+    field<bool>(t) = false;
+
+    std::cout
+        << field<int>(t) << 'n'
+        << field<char const*>(t) << 'n'
+        << field<bool>(t) << 'n'
+        ;
+}
+
+
+ +
+ + + + + diff --git a/doc/refmanual/inherit.html b/doc/refmanual/inherit.html new file mode 100644 index 0000000..cdaa1df --- /dev/null +++ b/doc/refmanual/inherit.html @@ -0,0 +1,205 @@ + + + + + + +The MPL Reference Manual: inherit + + + + + +
Front Page / Metafunctions / Miscellaneous / inherit
+
+

inherit

+
+

Synopsis

+
+template<
+      typename T1, typename T2
+    >
+struct inherit2
+{
+    typedef unspecified type;
+};
+
+...
+
+template<
+      typename T1, typename T2,... typename Tn
+    >
+struct inheritn
+{
+    typedef unspecified type;
+};
+
+template<
+      typename T1
+    , typename T2
+    ...
+    , typename Tn = unspecified
+    >
+struct inherit
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an unspecified class type publically derived from T1, T2,... Tn. +Guarantees that derivation from empty_base is always a no-op, +regardless of the position and number of empty_base classes in +T1, T2,... Tn.

+
+
+

Header

+
+#include <boost/mpl/inherit.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnA class typeClasses to derived from.
+
+
+

Expression semantics

+

For artibrary class types t1,t2,... tn:

+
+typedef inherit2<t1,t2>::type r; 
+
+ +++ + + + + + + + +
Return type:A class type.
Precondition:t1 and t2 are complete types.
Semantics:

If both t1 and t2 are identical to empty_base, equivalent to

+
+typedef empty_base r;
+
+

otherwise, if t1 is identical to empty_base, equivalent to

+
+typedef t2 r;
+
+

otherwise, if t2 is identical to empty_base, equivalent to

+
+typedef t1 r;
+
+

otherwise equivalent to

+
+struct r : t1, t2 {};
+
+
+ +
+typedef inheritn<t1,t2,...tn>::type r; 
+
+ +++ + + + + + + + +
Return type:A class type.
Precondition:t1,t2,... tn are complete types.
Semantics:

Equivalent to

+
+struct r
+    : inherit2<
+          inheritn-1<t1,t2,...tn-1>::type
+        , tn
+        >
+{
+};
+
+
+ +
+typedef inherit<t1,t2,...tn>::type r; 
+
+ +++ + + + + + + + +
Precondition:t1,t2,... tn are complete types.
Return type:A class type.
Semantics:

Equivalent to

+
+typedef inheritn<t1,t2,...tn>::type r; 
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+struct udt1 { int n; };
+struct udt2 {};
+
+typedef inherit<udt1,udt2>::type r1;
+typedef inherit<empty_base,udt1>::type r2;
+typedef inherit<empty_base,udt1,empty_base,empty_base>::type r3;
+typedef inherit<udt1,empty_base,udt2>::type r4;
+typedef inherit<empty_base,empty_base>::type r5;
+
+BOOST_MPL_ASSERT(( is_base_and_derived< udt1, r1> ));
+BOOST_MPL_ASSERT(( is_base_and_derived< udt2, r1> ));
+BOOST_MPL_ASSERT(( is_same< r2, udt1> ));    
+BOOST_MPL_ASSERT(( is_same< r3, udt1 > ));
+BOOST_MPL_ASSERT(( is_base_and_derived< udt1, r4 > ));
+BOOST_MPL_ASSERT(( is_base_and_derived< udt2, r4 > ));
+BOOST_MPL_ASSERT(( is_same< r5, empty_base > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/insert-range.html b/doc/refmanual/insert-range.html new file mode 100644 index 0000000..c4f9d47 --- /dev/null +++ b/doc/refmanual/insert-range.html @@ -0,0 +1,139 @@ + + + + + + +The MPL Reference Manual: insert_range + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / insert_range
+
+

insert_range

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pos
+    , typename Range
+    >
+struct insert_range
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

insert_range performs an insertion of a range of elements at an arbitrary position in +the sequence.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceExtensible Sequence or +Extensible Associative SequenceA sequence to insert into.
PosForward IteratorAn iterator in Sequence specifying the +insertion position.
RangeForward SequenceThe range of elements to be inserted.
+
+
+

Expression semantics

+

For any Extensible Sequence s, iterator pos in s, and Forward Sequence range:

+
+typedef insert<s,pos,range>::type r; 
+
+ +++ + + + + + + + + + +
Return type:Extensible Sequence.
Precondition:pos is an iterator into s.
Semantics:r is a sequence, concept-identical to s, of the following elements: +[begin<s>::type, pos), [begin<r>::type, end<r>::type), +[pos, end<s>::type).
Postcondition:

The relative order of the elements in r is the same as in s;

+
+size<r>::value == size<s>::value + size<range>::value 
+
+
+
+
+

Complexity

+

Sequence dependent. Quadratic in the worst case, linear at best; see the particular +sequence class' specification for details.

+
+
+

Example

+
+typedef vector_c<int,0,1,7,8,9> numbers;
+typedef find< numbers,integral_c<int,7> >::type pos;
+typedef insert_range< numbers,pos,range_c<int,2,7> >::type range;
+
+BOOST_MPL_ASSERT_RELATION( size<range>::value, ==, 10 );
+BOOST_MPL_ASSERT(( equal< range,range_c<int,0,10> > ));
+
+typedef insert_range< 
+      list0<>
+    , end< list0<> >::type
+    , list<int>
+    >::type result2;
+
+BOOST_MPL_ASSERT_RELATION( size<result2>::value, ==, 1 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/insert.html b/doc/refmanual/insert.html new file mode 100644 index 0000000..d337e42 --- /dev/null +++ b/doc/refmanual/insert.html @@ -0,0 +1,214 @@ + + + + + + +The MPL Reference Manual: insert + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / insert
+
+

insert

+
+

Synopsis

+
+template< 
+      typename Sequence
+    , typename Pos
+    , typename T 
+    >
+struct insert
+{
+    typedef unspecified type;
+};
+
+
+template< 
+      typename Sequence
+    , typename T 
+    >
+struct insert
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

insert is an overloaded name:

+ +
+
+

Header

+
+#include <boost/mpl/insert.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceExtensible Sequence or +Extensible Associative SequenceA sequence to insert into.
PosForward IteratorAn iterator in Sequence specifying the +insertion position.
TAny typeThe element to be inserted.
+
+
+

Expression semantics

+
+

For any Extensible Sequence s, iterator pos in s, and arbitrary type x:

+
+typedef insert<s,pos,x>::type r; 
+
+ +++ + + + + + + + + + +
Return type:Extensible Sequence
Precondition:pos is an iterator in s.
Semantics:r is a sequence, concept-identical to s, of the following elements: +[begin<s>::type, pos), x, [pos, end<s>::type).
Postcondition:

The relative order of the elements in r is the same as in s.

+
+at< r, distance< begin<s>::type,pos >::type >::type
+
+

is identical to x;

+
+size<r>::value == size<s>::value + 1;        
+
+
+
+
+

For any Extensible Associative Sequence s, iterator pos in s, +and arbitrary type x:

+
+typedef insert<s,x>::type r; 
+
+ +++ + + + + + + + +
Return type:Extensible Associative Sequence
Semantics:r is concept-identical and equivalent to s, except that +at< r, key_type<s,x>::type >::type is identical to value_type<s,x>::type.
Postcondition:size<r>::value == size<s>::value + 1.
+ +
+typedef insert<s,pos,x>::type r; 
+
+ +++ + + + + + + + +
Return type:Extensible Associative Sequence
Precondition:pos is an iterator in s.
Semantics:Equivalent to typedef insert<s,x>::type r; pos is ignored.
+
+
+
+

Complexity

+ ++++ + + + + + + + + + + + + + +
Sequence archetypeComplexity
Extensible Associative SequenceAmortized constant time.
Extensible SequenceLinear in the worst case, or amortized +constant time.
+
+
+

Example

+
+typedef vector_c<int,0,1,3,4,5,6,7,8,9> numbers;
+typedef find< numbers,integral_c<int,3> >::type pos;
+typedef insert< numbers,pos,integral_c<int,2> >::type range;
+
+BOOST_MPL_ASSERT_RELATION( size<range>::value, ==, 10 );
+BOOST_MPL_ASSERT(( equal< range,range_c<int,0,10> > ));
+
+
+typedef map< mpl::pair<int,unsigned> > m;
+typedef insert<m,mpl::pair<char,long> >::type m1;
+
+BOOST_MPL_ASSERT_RELATION( size<m1>::value, ==, 2 );
+BOOST_MPL_ASSERT(( is_same< at<m1,int>::type,unsigned > ));
+BOOST_MPL_ASSERT(( is_same< at<m1,char>::type,long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/inserter.html b/doc/refmanual/inserter.html new file mode 100644 index 0000000..94bc653 --- /dev/null +++ b/doc/refmanual/inserter.html @@ -0,0 +1,107 @@ + + + + + + +The MPL Reference Manual: Inserter + + + + + +
Front Page / Algorithms / Concepts / Inserter
+
+

Inserter

+
+

Description

+

An Inserter is a compile-time substitute for STL Output Iterator. +Under the hood, it's simply a type holding +two entities: a state and an operation. When passed to a +transformation algorithm, the inserter's binary operation is +invoked for every element that would normally be written into the +output iterator, with the element itself (as the second +argument) and the result of the previous operation's invocation — or, +for the very first element, the inserter's initial state.

+

Technically, instead of taking a single inserter parameter, +transformation algorithms could accept the state and the "output" +operation separately. Grouping these in a single parameter entity, +however, brings the algorithms semantically and syntactically closer to +their STL counterparts, significantly simplifying many of the common +use cases.

+
+
+

Valid expressions

+

In the following table and subsequent specifications, in is a model of Inserter.

+ ++++ + + + + + + + + + + + + + +
ExpressionType
in::stateAny type
in::operationBinary Lambda Expression
+
+
+

Expression semantics

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
in::stateThe inserter's initial state.
in::operationThe inserter's "output" operation.
+
+
+

Example

+
+typedef transform<
+      range_c<int,0,10>
+    , plus<_1,_1>
+    , back_inserter< vector0<> >
+    >::type result;
+
+
+ + +
+ + + + + diff --git a/doc/refmanual/inserters-inserter.html b/doc/refmanual/inserters-inserter.html new file mode 100644 index 0000000..f2c2ef6 --- /dev/null +++ b/doc/refmanual/inserters-inserter.html @@ -0,0 +1,122 @@ + + + + + + +The MPL Reference Manual: inserter + + + + + +
Front Page / Algorithms / Inserters / inserter
+
+

inserter

+
+

Synopsis

+
+template<
+      typename State
+    , typename Operation
+    >
+struct inserter
+{
+    typedef State state;
+    typedef Operation operation;
+};
+
+
+
+

Description

+

A general-purpose model of the Inserter concept.

+
+
+

Header

+
+#include <boost/mpl/inserter.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
StateAny typeA initial state.
OperationBinary Lambda ExpressionAn output operation.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Inserter.

+

For any binary Lambda Expression op and arbitrary type state:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
inserter<op,state>An Inserter.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+template< typename N > struct is_odd : bool_< ( N::value % 2 ) > {};
+
+typedef copy<
+      range_c<int,0,10>
+    , inserter< // a filtering 'push_back' inserter
+          vector<>
+        , if_< is_odd<_2>, push_back<_1,_2>, _1 >
+        >
+    >::type odds;
+   
+BOOST_MPL_ASSERT(( equal< odds, vector_c<int,1,3,5,7,9>, equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/inserters.html b/doc/refmanual/inserters.html new file mode 100644 index 0000000..492aaab --- /dev/null +++ b/doc/refmanual/inserters.html @@ -0,0 +1,27 @@ + + + + + + +The MPL Reference Manual: Inserters + + + + + +
Front Page / Algorithms / Inserters
+ + + + + + diff --git a/doc/refmanual/int.html b/doc/refmanual/int.html new file mode 100644 index 0000000..f14276a --- /dev/null +++ b/doc/refmanual/int.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: int_ + + + + + +
Front Page / Data Types / Numeric / int_
+
+

int_

+
+

Synopsis

+
+template<
+      int N
+    >
+struct int_
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

An Integral Constant wrapper for int.

+
+
+

Header

+
+#include <boost/mpl/int.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
NAn integral constantA value to wrap.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Integral Constant.

+

For arbitrary integral constant n:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
int_<c>An Integral Constant x such that x::value == c +and x::value_type is identical to int.
+
+
+

Example

+
+typedef int_<8> eight;
+
+BOOST_MPL_ASSERT(( is_same< eight::value_type, int > ));
+BOOST_MPL_ASSERT(( is_same< eight::type, eight > ));
+BOOST_MPL_ASSERT(( is_same< next< eight >::type, int_<9> > ));
+BOOST_MPL_ASSERT(( is_same< prior< eight >::type, int_<7> > ));
+BOOST_MPL_ASSERT_RELATION( (eight::value), ==, 8 );
+assert( eight() == 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/integral-c.html b/doc/refmanual/integral-c.html new file mode 100644 index 0000000..889dd77 --- /dev/null +++ b/doc/refmanual/integral-c.html @@ -0,0 +1,115 @@ + + + + + + +The MPL Reference Manual: integral_c + + + + + +
Front Page / Data Types / Numeric / integral_c
+
+

integral_c

+
+

Synopsis

+
+template<
+      typename T, T N
+    >
+struct integral_c
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A generic Integral Constant wrapper.

+
+
+

Header

+
+#include <boost/mpl/integral_c.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
TAn integral typeWrapper's value type.
NAn integral constantA value to wrap.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Integral Constant.

+

For arbitrary integral type t and integral constant n:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
integral_c<t,c>An Integral Constant x such that x::value == c +and x::value_type is identical to t.
+
+
+

Example

+
+typedef integral_c<short,8> eight;
+
+BOOST_MPL_ASSERT(( is_same< eight::value_type, short > ));
+BOOST_MPL_ASSERT(( is_same< eight::type, eight > ));
+BOOST_MPL_ASSERT(( is_same< next< eight >::type, integral_c<short,9> > ));
+BOOST_MPL_ASSERT(( is_same< prior< eight >::type, integral_c<short,7> > ));
+BOOST_MPL_ASSERT_RELATION( (eight::value), ==, 8 );
+assert( eight() == 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/integral-constant.html b/doc/refmanual/integral-constant.html new file mode 100644 index 0000000..c5e8d5c --- /dev/null +++ b/doc/refmanual/integral-constant.html @@ -0,0 +1,121 @@ + + + + + + +The MPL Reference Manual: Integral Constant + + + + + +
Front Page / Data Types / Concepts / Integral Constant
+
+

Integral Constant

+
+

Description

+

An Integral Constant is a holder class for a compile-time value of an +integral type. Every Integral Constant is also a nullary Metafunction, +returning itself. An integral constant object is implicitly convertible to the +corresponding run-time value of the wrapped integral type.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, n is a model of Integral Constant.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
n::value_typeAn integral typeConstant time.
n::valueAn integral constant expressionConstant time.
n::typeIntegral ConstantConstant time.
next<n>::typeIntegral ConstantConstant time.
prior<n>::typeIntegral ConstantConstant time.
n::value_type const c = n() Constant time.
+
+
+

Expression semantics

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
n::value_typeA cv-unqualified type of n::value.
n::valueThe value of the wrapped integral constant.
n::typeis_same<n::type,n>::value == true.
next<n>::typeAn Integral Constant c of type n::value_type +such that c::value == n::value + 1.
prior<n>::typeAn Integral Constant c of type n::value_type +such that c::value == n::value - 1.
n::value_type const c = n()c == n::value.
+
+ + +
+ + + + + diff --git a/doc/refmanual/integral-sequence-wrapper.html b/doc/refmanual/integral-sequence-wrapper.html new file mode 100644 index 0000000..406a647 --- /dev/null +++ b/doc/refmanual/integral-sequence-wrapper.html @@ -0,0 +1,153 @@ + + + + + + +The MPL Reference Manual: Integral Sequence Wrapper + + + + + +
Front Page / Sequences / Concepts / Integral Sequence Wrapper
+
+

Integral Sequence Wrapper

+
+

Description

+

An Integral Sequence Wrapper is a class template that provides a concise +interface for creating a corresponding sequence of Integral Constants. In +particular, assuming that seq is a name of the wrapper's underlying +sequence and c1,c2,... cn are integral constants of an integral type T to +be stored in the sequence, the wrapper provides us with the following +notation:

+
+
+
seq_c<T,c1,c2,... cn>
+
+
+

If seq is a Variadic Sequence, numbered wrapper forms are +also avaialable:

+
+
+
seqn_c<T,c1,c2,... cn>
+
+
+
+
+

Expression requirements

+

In the following table and subsequent specifications, seq is a placeholder token for the +Integral Sequence Wrapper's underlying sequence's name.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
seq_c<T,c1,c2,... cn>Forward SequenceAmortized constant time.
seq_c<T,c1,c2,... cn>::typeForward SequenceAmortized constant time.
seq_c<T,c1,c2,... cn>::value_typeAn integral typeAmortized constant time.
seqn_c<T,c1,c2,... cn>Forward SequenceAmortized constant time.
seqn_c<T,c1,c2,... cn>::typeForward SequenceAmortized constant time.
seqn_c<T,c1,c2,... cn>::value_typeAn integral typeAmortized constant time.
+
+
+

Expression semantics

+
+typedef seq_c<T,c1,c2,... cn> s;
+typedef seqn_c<T,c1,c2,... cn> s;
+
+ +++ + + + + + +
Semantics:s is a sequence seq of integral constant wrappers integral_c<T,c1>, +integral_c<T,c2>, ... integral_c<T,cn>.
Postcondition:

size<s>::value == n.

+ +
+ +
+typedef seq_c<T,c1,c2,... cn>::type s;
+typedef seqn_c<T,c1,c2,... cn>::type s;
+
+ +++ + + + +
Semantics:s is identical to +seqn<integral_c<T,c1>,integral_c<T,c2>, +... integral_c<T,cn> >.
+ +
+typedef seq_c<T,c1,c2,... cn>::value_type t;
+typedef seqn_c<T,c1,c2,... cn>::value_type t;
+
+ +++ + + + +
Semantics:is_same<t,T>::value == true.
+
+ + +
+ + + + + diff --git a/doc/refmanual/intrinsic-metafunctions.html b/doc/refmanual/intrinsic-metafunctions.html new file mode 100644 index 0000000..904af36 --- /dev/null +++ b/doc/refmanual/intrinsic-metafunctions.html @@ -0,0 +1,64 @@ + + + + + + +The MPL Reference Manual: Intrinsic Metafunctions + + + + + +
Front Page / Sequences / Intrinsic Metafunctions
+
+

Intrinsic Metafunctions

+

The metafunctions that form the essential interface of sequence classes +documented in the corresponding sequence concepts are known as +intrinsic sequence operations. They differ from generic +sequence algorithms in that, in general, they need to be implemented +from scratch for each new sequence class [1].

+

It's worth noting that STL counterparts of these metafunctions are +usually implemented as member functions.

+ + + + + +
[1]In practice, many of intrinsic metafunctions offer a +default implementation that will work in majority of cases, given +that you've implemented the core functionality they rely on (such +as begin / end).
+ + + +
+ + + + + diff --git a/doc/refmanual/introspection.html b/doc/refmanual/introspection.html new file mode 100644 index 0000000..06f303c --- /dev/null +++ b/doc/refmanual/introspection.html @@ -0,0 +1,26 @@ + + + + + + +The MPL Reference Manual: Introspection + + + + + +
Front Page / Macros / Introspection
+ + + + + + diff --git a/doc/refmanual/invocation.html b/doc/refmanual/invocation.html new file mode 100644 index 0000000..105b9eb --- /dev/null +++ b/doc/refmanual/invocation.html @@ -0,0 +1,28 @@ + + + + + + +The MPL Reference Manual: Invocation + + + + + +
Front Page / Metafunctions / Invocation
+ + + + + + diff --git a/doc/refmanual/is-sequence.html b/doc/refmanual/is-sequence.html new file mode 100644 index 0000000..d00a61e --- /dev/null +++ b/doc/refmanual/is-sequence.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: is_sequence + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / is_sequence
+
+

is_sequence

+
+

Synopsis

+
+template<
+      typename X
+    >
+struct is_sequence
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a boolean Integral Constant c such that c::value == true if and +only if X is a model of Forward Sequence.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeThe type to query.
+
+
+

Expression semantics

+
+typedef is_sequence<X>::type c; 
+
+ +++ + + + + + +
Return type:Boolean Integral Constant.
Semantics:

Equivalent to

+
+typedef not_< is_same< begin<T>::type,void_ > >::type c;
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+ + +
+ + + + + diff --git a/doc/refmanual/iter-fold.html b/doc/refmanual/iter-fold.html new file mode 100644 index 0000000..ba57690 --- /dev/null +++ b/doc/refmanual/iter-fold.html @@ -0,0 +1,133 @@ + + + + + + +The MPL Reference Manual: iter_fold + + + + + +
Front Page / Algorithms / Iteration Algorithms / iter_fold
+
+

iter_fold

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename State
+    , typename ForwardOp
+    >
+struct iter_fold
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of the successive application of binary ForwardOp to the result +of the previous ForwardOp invocation (State if it's the first call) and each +iterator in the range [begin<Sequence>::type, end<Sequence>::type) in order.

+
+
+

Header

+
+#include <boost/mpl/iter_fold.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to iterate.
StateAny typeThe initial state for the first ForwardOp +application.
ForwardOpBinary Lambda ExpressionThe operation to be executed on forward +traversal.
+
+
+

Expression semantics

+

For any Forward Sequence s, binary Lambda Expression op, and an +arbitrary type state:

+
+typedef iter_fold<s,state,op>::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef begin<Sequence>::type i1;
+typedef apply<op,state,i1>::type state1;
+typedef next<i1>::type i2;
+typedef apply<op,state1,i2>::type state2;
+...
+typedef apply<op,staten-1,in>::type staten; 
+typedef next<in>::type last; 
+typedef staten t;
+
+

where n == size<s>::value and last is identical to end<s>::type; equivalent +to typedef state t; if empty<s>::value == true.

+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of op.

+
+
+

Example

+
+typedef vector_c<int,5,-1,0,7,2,0,-5,4> numbers;
+typedef iter_fold<
+      numbers
+    , begin<numbers>::type
+    , if_< less< deref<_1>, deref<_2> >,_2,_1 >
+    >::type max_element_iter;
+
+BOOST_MPL_ASSERT_RELATION( deref<max_element_iter>::type::value, ==, 7 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/iteration-algorithms.html b/doc/refmanual/iteration-algorithms.html new file mode 100644 index 0000000..fb4acae --- /dev/null +++ b/doc/refmanual/iteration-algorithms.html @@ -0,0 +1,47 @@ + + + + + + +The MPL Reference Manual: Iteration Algorithms + + + + + +
Front Page / Algorithms / Iteration Algorithms
+
+

Iteration Algorithms

+

Iteration algorithms are the basic building blocks behind many of the +MPL's algorithms, and are usually the first place to look at when +starting to build a new one. Abstracting away the details of sequence +iteration and employing various optimizations such as recursion +unrolling, they provide significant advantages over a hand-coded +approach.

+ + + + +
+ + + + + diff --git a/doc/refmanual/iterator-category.html b/doc/refmanual/iterator-category.html new file mode 100644 index 0000000..8dded50 --- /dev/null +++ b/doc/refmanual/iterator-category.html @@ -0,0 +1,130 @@ + + + + + + +The MPL Reference Manual: iterator_category + + + + + +
Front Page / Iterators / Iterator Metafunctions / iterator_category
+
+

iterator_category

+
+

Synopsis

+
+template<
+      typename Iterator
+    >
+struct iterator_category
+{
+    typedef typename Iterator::category type;
+};
+
+
+
+

Description

+

Returns one of the following iterator category tags:

+
    +
  • forward_iterator_tag
  • +
  • bidirectional_iterator_tag
  • +
  • random_access_iterator_tag
  • +
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
IteratorForward IteratorThe iterator to obtain a category for.
+
+
+

Expression semantics

+

For any Forward Iterators iter:

+
+typedef iterator_category<iter>::type tag; 
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Semantics:tag is forward_iterator_tag if iter is a model of Forward Iterator, +bidirectional_iterator_tag if iter is a model of Bidirectional Iterator, +or random_access_iterator_tag if iter is a model of Random Access Iterator;
Postcondition:
+
forward_iterator_tag::value < bidirectional_iterator_tag::value,
+
bidirectional_iterator_tag::value < random_access_iterator_tag::value.
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+template< typename Tag, typename Iterator >
+struct algorithm_impl
+{
+    // O(n) implementation
+};
+
+template< typename Iterator >
+struct algorithm_impl<random_access_iterator_tag,Iterator>
+{
+    // O(1) implementation
+};
+
+template< typename Iterator >
+struct algorithm
+    : algorithm_impl<
+          iterator_category<Iterator>::type
+        , Iterator
+        >
+{
+};
+
+
+ +
+ + + + + diff --git a/doc/refmanual/iterator-metafunctions.html b/doc/refmanual/iterator-metafunctions.html new file mode 100644 index 0000000..a393dda --- /dev/null +++ b/doc/refmanual/iterator-metafunctions.html @@ -0,0 +1,30 @@ + + + + + + +The MPL Reference Manual: Iterator Metafunctions + + + + + +
Front Page / Iterators / Iterator Metafunctions
+ + + + + + diff --git a/doc/refmanual/iterator-range.html b/doc/refmanual/iterator-range.html new file mode 100644 index 0000000..a4f367f --- /dev/null +++ b/doc/refmanual/iterator-range.html @@ -0,0 +1,122 @@ + + + + + + +The MPL Reference Manual: iterator_range + + + + + +
Front Page / Sequences / Views / iterator_range
+
+

iterator_range

+
+

Synopsis

+
+template<
+      typename First
+    , typename Last
+    >
+struct iterator_range
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A view into subset of sequence elements identified by a pair of iterators.

+
+
+

Header

+
+#include <boost/mpl/fold.hpp>
+
+
+
+

Model of

+ +
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
First, +LastForward IteratorIterators identifying the view's boundaries.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+

In the following table, v is an instance of iterator_range, first and last are +iterators into a Forward Sequence, and [first, last) form a valid range.

+ ++++ + + + + + + + + + + +
ExpressionSemantics
+iterator_range<first,last>
+iterator_range<first,last>::type
+
+
A lazy sequence all the elements in the range +[first, last).
+
+
+

Example

+
+typedef range_c<int,0,100> r;
+typedef advance_c< begin<r>::type,10 >::type first;
+typedef advance_c< end<r>::type,-10 >::type last;
+
+BOOST_MPL_ASSERT(( equal< 
+      iterator_range<first,last>
+    , range_c<int,10,90>
+    > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/iterators-concepts.html b/doc/refmanual/iterators-concepts.html new file mode 100644 index 0000000..3bdc91a --- /dev/null +++ b/doc/refmanual/iterators-concepts.html @@ -0,0 +1,43 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Iterators / Concepts
+
+

Concepts

+

All iterators in MPL are classified into three iterator concepts, or +categories, named according to the type of traversal provided. The +categories are: Forward Iterator, Bidirectional Iterator, and +Random Access Iterator. The concepts are hierarchical: +Random Access Iterator is a refinement of Bidirectional Iterator, +which, in its turn, is a refinement of Forward Iterator.

+

Because of the inherently immutable nature of the value access, MPL +iterators escape the problems of the traversal-only categorization +discussed at length in [n1550].

+ + + + + +
[n1550]http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1550.htm
+ + + +
+ + + + + diff --git a/doc/refmanual/iterators.html b/doc/refmanual/iterators.html new file mode 100644 index 0000000..bbedb19 --- /dev/null +++ b/doc/refmanual/iterators.html @@ -0,0 +1,35 @@ + + + + + + +The MPL Reference Manual: Iterators + + + + + +
Front Page / Iterators
+
+

Iterators

+

Iterators are generic means of addressing a particular element or a range +of sequential elements in a sequence. They are also a mechanism that makes +it possible to decouple algorithms from concrete compile-time sequence +implementations. Under the hood, all MPL sequence algorithms are +implemented in terms of iterators. In particular, that means that they +will work on any custom compile-time sequence, given that the appropriate +iterator inteface is provided.

+ + + + +
+ + + + + diff --git a/doc/refmanual/joint-view.html b/doc/refmanual/joint-view.html new file mode 100644 index 0000000..f1e1bae --- /dev/null +++ b/doc/refmanual/joint-view.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: joint_view + + + + + +
Front Page / Sequences / Views / joint_view
+
+

joint_view

+
+

Synopsis

+
+template<
+      typename Sequence1
+    , typename Sequence2
+    >
+struct joint_view
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A view into the sequence of elements formed by concatenating Sequence1 +and Sequence2 elements.

+
+
+

Header

+
+#include <boost/mpl/joint_view.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
Sequence1, +Sequence2Forward SequenceSequences to create a view on.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+

In the following table, v is an instance of joint_view, s1 and s2 are arbitrary +Forward Sequences.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
+joint_view<s1,s2>
+joint_view<s1,s2>::type
+
+
A lazy Forward Sequence of all the elements in the +ranges [begin<s1>::type, end<s1>::type), [begin<s2>::type, end<s2>::type).
size<v>::typeThe size of v; +size<v>::value == size<s1>::value + size<s2>::value; +linear complexity; see Forward Sequence.
+
+
+

Example

+
+typedef joint_view<
+      range_c<int,0,10>
+    , range_c<int,10,15>
+    > numbers;
+
+BOOST_MPL_ASSERT(( equal< numbers, range_c<int,0,15> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/key-type.html b/doc/refmanual/key-type.html new file mode 100644 index 0000000..176d781 --- /dev/null +++ b/doc/refmanual/key-type.html @@ -0,0 +1,117 @@ + + + + + + +The MPL Reference Manual: key_type + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / key_type
+
+

key_type

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename X
+    >
+struct key_type
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the key that would be used to identify X in Sequence.

+
+
+

Header

+
+#include <boost/mpl/key_type.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceAssociative SequenceA sequence to query.
XAny typeThe type to get the key for.
+
+
+

Expression semantics

+

For any Associative Sequence s, iterators pos1 and pos2 in s, and an +artibrary type x:

+
+typedef key_type<s,x>::type k; 
+
+ +++ + + + + + + + + + +
Return type:A type.
Precondition:x can be put in s.
Semantics:k is the key that would be used to identify x in s.
Postcondition:If key_type< s,deref<pos1>::type >::type is identical to +key_type< s,deref<pos2>::type >::type then pos1 is identical to pos2.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef key_type< map<>,pair<int,unsigned> >::type k1;
+typedef key_type< set<>,pair<int,unsigned> >::type k2;
+
+BOOST_MPL_ASSERT(( is_same< k1,int > ));
+BOOST_MPL_ASSERT(( is_same< k2,pair<int,unsigned> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/lambda-expression.html b/doc/refmanual/lambda-expression.html new file mode 100644 index 0000000..0900e29 --- /dev/null +++ b/doc/refmanual/lambda-expression.html @@ -0,0 +1,51 @@ + + + + + + +The MPL Reference Manual: Lambda Expression + + + + + +
Front Page / Metafunctions / Concepts / Lambda Expression
+
+

Lambda Expression

+
+

Description

+

A Lambda Expression is a compile-time invocable entity in either of the following two +forms:

+ +

Most of the MPL components accept either of those, and the concept +gives us a consice way to describe these requirements.

+
+
+

Expression requirements

+

See corresponding Metafunction Class and Placeholder Expression specifications.

+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/lambda.html b/doc/refmanual/lambda.html new file mode 100644 index 0000000..47399c4 --- /dev/null +++ b/doc/refmanual/lambda.html @@ -0,0 +1,146 @@ + + + + + + +The MPL Reference Manual: lambda + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / lambda
+
+

lambda

+
+

Synopsis

+
+template< 
+      typename X
+    , typename Tag = unspecified
+    >
+struct lambda
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

If X is a Placeholder Expression, transforms X into a corresponding +Metafunction Class, otherwise X is returned unchanged.

+
+
+

Header

+
+#include <boost/mpl/lambda.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeAn expression to transform.
TagAny typeA tag determining transform semantics.
+
+
+

Expression semantics

+

For arbitrary types x and tag:

+
+typedef lambda<x>::type f;
+
+ +++ + + + + + +
Return type:Metafunction Class.
Semantics:

If x is a Placeholder Expression in a general form X<a1,...an>, where +X is a class template and a1,... an are arbitrary types, equivalent +to

+
+typedef protect< bind<
+      quoten<X>
+    , lambda<a1>::type,... lambda<an>::type
+    > > f;
+
+

otherwise, f is identical to x.

+
+ +
+typedef lambda<x,tag>::type f;
+
+ +++ + + + + + +
Return type:Metafunction Class.
Semantics:

If x is a Placeholder Expression in a general form X<a1,...an>, where +X is a class template and a1,... an are arbitrary types, equivalent +to

+
+typedef protect< bind<
+      quoten<X,tag>
+    , lambda<a1,tag>::type,... lambda<an,tag>::type
+    > > f;
+
+

otherwise, f is identical to x.

+
+
+
+

Example

+
+template< typename N1, typename N2 > struct int_plus
+    : int_<( N1::value + N2::value )>
+{
+};
+
+typedef lambda< int_plus<_1, int_<42> > >::type f1;
+typedef bind< quote2<int_plus>, _1, int_<42> > f2;
+
+typedef f1::apply<42>::type r1;
+typedef f2::apply<42>::type r2;
+
+BOOST_MPL_ASSERT_RELATION( r1::value, ==, 84 );
+BOOST_MPL_ASSERT_RELATION( r2::value, ==, 84 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/less-equal.html b/doc/refmanual/less-equal.html new file mode 100644 index 0000000..aedf5f7 --- /dev/null +++ b/doc/refmanual/less-equal.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: less_equal + + + + + +
Front Page / Metafunctions / Comparisons / less_equal
+
+

less_equal

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct less_equal
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 is less than or equal to T2.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef less_equal<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value <= c2::value) > r;
+
+
+ +
+typedef less_equal<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : less_equal<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+ + +
+ + + + + diff --git a/doc/refmanual/less.html b/doc/refmanual/less.html new file mode 100644 index 0000000..a37d33d --- /dev/null +++ b/doc/refmanual/less.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: less + + + + + +
Front Page / Metafunctions / Comparisons / less
+
+

less

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct less
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 is less than T2.

+
+
+

Header

+
+#include <boost/mpl/less.hpp>
+#include <boost/mpl/comparison.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef less<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value < c2::value) > r;
+
+
+ +
+typedef less<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : less<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+BOOST_MPL_ASSERT(( less< int_<0>, int_<10> > ));
+BOOST_MPL_ASSERT_NOT(( less< long_<10>, int_<0> > ));
+BOOST_MPL_ASSERT_NOT(( less< long_<10>, int_<10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/limit-list-size.html b/doc/refmanual/limit-list-size.html new file mode 100644 index 0000000..5262e4c --- /dev/null +++ b/doc/refmanual/limit-list-size.html @@ -0,0 +1,62 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_LIST_SIZE + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_LIST_SIZE
+
+

BOOST_MPL_LIMIT_LIST_SIZE

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_LIST_SIZE)
+#   define BOOST_MPL_LIMIT_LIST_SIZE \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_LIST_SIZE is an overridable configuration macro regulating +the maximum arity of the list's and list_c's variadic forms. In this +implementation of the library, BOOST_MPL_LIMIT_LIST_SIZE has a default value +of 20. To override the default limit, define BOOST_MPL_LIMIT_LIST_SIZE to +the desired maximum arity rounded up to the nearest multiple of ten before +including any library header. [Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define BOOST_MPL_LIMIT_LIST_SIZE 10
+#include <boost/mpl/list.hpp>
+
+using namespace boost::mpl;
+
+typedef list_c<int,1> l_1;
+typedef list_c<int,1,2,3,4,5,6,7,8,9,10> l_10;
+// typedef list_c<int,1,2,3,4,5,6,7,8,9,10,11> l_11; // error!
+
+
+ +
+ + + + + diff --git a/doc/refmanual/limit-map-size.html b/doc/refmanual/limit-map-size.html new file mode 100644 index 0000000..612375c --- /dev/null +++ b/doc/refmanual/limit-map-size.html @@ -0,0 +1,69 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_MAP_SIZE + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_MAP_SIZE
+
+

BOOST_MPL_LIMIT_MAP_SIZE

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_MAP_SIZE)
+#   define BOOST_MPL_LIMIT_MAP_SIZE \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_MAP_SIZE is an overridable configuration macro regulating +the maximum arity of the map's variadic form. In this +implementation of the library, BOOST_MPL_LIMIT_MAP_SIZE has a default value +of 20. To override the default limit, define BOOST_MPL_LIMIT_MAP_SIZE to +the desired maximum arity rounded up to the nearest multiple of ten before +including any library header. [Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define BOOST_MPL_LIMIT_MAP_SIZE 10
+#include <boost/mpl/map.hpp>
+#include <boost/mpl/pair.hpp>
+#include <boost/mpl/int.hpp>
+
+using namespace boost::mpl;
+
+template< int i > struct ints : pair< int_<i>,int_<i> > {};
+
+typedef map< ints<1> > m_1;
+typedef map< ints<1>, ints<2>, ints<3>, ints<4>, ints<5>
+    ints<6>, ints<7>, ints<8>, ints<9>, ints<10> > m_10;
+
+// typedef map< ints<1>, ints<2>, ints<3>, ints<4>, ints<5>
+//     ints<6>, ints<7>, ints<8>, ints<9>, ints<10>, ints<11> > m_11; // error!
+
+
+ +
+ + + + + diff --git a/doc/refmanual/limit-metafunction-arity.html b/doc/refmanual/limit-metafunction-arity.html new file mode 100644 index 0000000..fc8b2b6 --- /dev/null +++ b/doc/refmanual/limit-metafunction-arity.html @@ -0,0 +1,72 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_METAFUNCTION_ARITY + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_METAFUNCTION_ARITY
+
+

BOOST_MPL_LIMIT_METAFUNCTION_ARITY

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
+#   define BOOST_MPL_LIMIT_METAFUNCTION_ARITY \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_METAFUNCTION_ARITY is an overridable configuration macro +regulating the maximum supported arity of metafunctions and +metafunction classes. In this implementation of the +library, BOOST_MPL_LIMIT_METAFUNCTION_ARITY has a default value of 5. To +override the default limit, define BOOST_MPL_LIMIT_METAFUNCTION_ARITY to +the desired maximum arity before including any library header. +[Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 2
+#include <boost/mpl/apply.hpp>
+
+using namespace boost::mpl;
+
+template< typename T1, typename T2 > struct second
+{
+    typedef T2 type;
+};
+
+template< typename T1, typename T2, typename T3 > struct third
+{
+    typedef T3 type;
+};
+
+typedef apply< second<_1,_2_>,int,long >::type r1;
+// typedef apply< third<_1,_2_,_3>,int,long,float >::type r2; // error!
+
+
+ +
+ + + + + diff --git a/doc/refmanual/limit-set-size.html b/doc/refmanual/limit-set-size.html new file mode 100644 index 0000000..2d0b0d1 --- /dev/null +++ b/doc/refmanual/limit-set-size.html @@ -0,0 +1,62 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_SET_SIZE + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_SET_SIZE
+
+

BOOST_MPL_LIMIT_SET_SIZE

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_SET_SIZE)
+#   define BOOST_MPL_LIMIT_SET_SIZE \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_SET_SIZE is an overridable configuration macro regulating +the maximum arity of the set's and set_c's variadic forms. In this +implementation of the library, BOOST_MPL_LIMIT_SET_SIZE has a default value +of 20. To override the default limit, define BOOST_MPL_LIMIT_SET_SIZE to +the desired maximum arity rounded up to the nearest multiple of ten before +including any library header. [Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define BOOST_MPL_LIMIT_SET_SIZE 10
+#include <boost/mpl/set.hpp>
+
+using namespace boost::mpl;
+
+typedef set_c<int,1> s_1;
+typedef set_c<int,1,2,3,4,5,6,7,8,9,10> s_10;
+// typedef set_c<int,1,2,3,4,5,6,7,8,9,10,11> s_11; // error!
+
+
+ +
+ + + + + diff --git a/doc/refmanual/limit-unrolling.html b/doc/refmanual/limit-unrolling.html new file mode 100644 index 0000000..60d2a63 --- /dev/null +++ b/doc/refmanual/limit-unrolling.html @@ -0,0 +1,52 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_UNROLLING + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_UNROLLING
+
+

BOOST_MPL_LIMIT_UNROLLING

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_UNROLLING)
+#   define BOOST_MPL_LIMIT_UNROLLING \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_UNROLLING is an overridable configuration macro regulating +the unrolling depth of the library's iteration algorithms. In this implementation +of the library, BOOST_MPL_LIMIT_UNROLLING has a default value of 4. To +override the default, define BOOST_MPL_LIMIT_UNROLLING to the desired +value before including any library header. +[Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+

Except for overall library performace, overriding the +BOOST_MPL_LIMIT_UNROLLING's default value has no user-observable effects.

+
+ +
+ + + + + diff --git a/doc/refmanual/limit-vector-size.html b/doc/refmanual/limit-vector-size.html new file mode 100644 index 0000000..b9a02a1 --- /dev/null +++ b/doc/refmanual/limit-vector-size.html @@ -0,0 +1,62 @@ + + + + + + +The MPL Reference Manual: BOOST_MPL_LIMIT_VECTOR_SIZE + + + + + +
Front Page / Macros / Configuration / BOOST_MPL_LIMIT_VECTOR_SIZE
+
+

BOOST_MPL_LIMIT_VECTOR_SIZE

+
+

Synopsis

+
+#if !defined(BOOST_MPL_LIMIT_VECTOR_SIZE)
+#   define BOOST_MPL_LIMIT_VECTOR_SIZE \
+        implementation-defined integral constant \
+/**/
+#endif
+
+
+
+

Description

+

BOOST_MPL_LIMIT_VECTOR_SIZE is an overridable configuration macro regulating +the maximum arity of the vector's and vector_c's variadic forms. In this +implementation of the library, BOOST_MPL_LIMIT_VECTOR_SIZE has a default value +of 20. To override the default limit, define BOOST_MPL_LIMIT_VECTOR_SIZE to +the desired maximum arity rounded up to the nearest multiple of ten before +including any library header. [Note: Overriding will take effect +only if the library is configured not to use preprocessed headers. See +BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS for more information. — end note]

+
+
+

Example

+
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+#define BOOST_MPL_LIMIT_VECTOR_SIZE 10
+#include <boost/mpl/vector.hpp>
+
+using namespace boost::mpl;
+
+typedef vector_c<int,1> v_1;
+typedef vector_c<int,1,2,3,4,5,6,7,8,9,10> v_10;
+// typedef vector_c<int,1,2,3,4,5,6,7,8,9,10,11> v_11; // error!
+
+
+ +
+ + + + + diff --git a/doc/refmanual/list-c.html b/doc/refmanual/list-c.html new file mode 100644 index 0000000..ee2adfe --- /dev/null +++ b/doc/refmanual/list-c.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: list_c + + + + + +
Front Page / Sequences / Classes / list_c
+
+

list_c

+
+

Description

+

list_c is an Integral Sequence Wrapper for list. As such, it shares +all list characteristics and requirements, and differs only in the way the +original sequence content is specified.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/list_c.hpp>
Numbered#include <boost/mpl/list/listn_c.hpp>
+
+ +
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in list.

+ + ++++ + + + + + + + + + + + + + + + + +
ExpressionSemantics
+list_c<T,c1,c2,... cn>
+listn_c<T,c1,c2,... cn>
+
+
A list of integral constant wrappers +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn>; +see Integral Sequence Wrapper.
+list_c<T,c1,c2,... cn>::type
+listn_c<T,c1,c2,... cn>::type
+
+
Identical to listn< +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn> >; +see Integral Sequence Wrapper.
+list_c<T,c1,c2,... cn>::value_type
+listn_c<T,c1,c2,... cn>::value_type
+
+
Identical to T; see +Integral Sequence Wrapper.
+
+
+

Example

+
+typedef list_c<int,1,2,3,5,7,12,19,31> fibonacci;
+typedef push_front<fibonacci,int_<1> >::type fibonacci2;
+
+BOOST_MPL_ASSERT_RELATION( front<fibonacci2>::type::value, ==, 1 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/list.html b/doc/refmanual/list.html new file mode 100644 index 0000000..3ffc60e --- /dev/null +++ b/doc/refmanual/list.html @@ -0,0 +1,161 @@ + + + + + + +The MPL Reference Manual: list + + + + + +
Front Page / Sequences / Classes / list
+
+

list

+
+

Description

+

A list is a variadic, forward, extensible sequence of types that +supports constant-time insertion and removal of elements at the beginning, and +linear-time insertion and removal of elements at the end and in the middle.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/list.hpp>
Numbered#include <boost/mpl/list/listn.hpp>
+
+ +
+

Expression semantics

+

In the following table, l is a list, pos and last are iterators into l, +r is a Forward Sequence, and t1,t2,... tn and x are arbitrary types.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
+list<t1,t2,... tn>
+listn<t1,t2,... tn>
+
+
list of elements t1,t2,... tn; see +Variadic Sequence.
+list<t1,t2,... tn>::type
+listn<t1,t2,... tn>::type
+
+
Identical to listn<t1,t2,... tn>; +see Variadic Sequence.
begin<l>::typeAn iterator to the beginning of l; +see Forward Sequence.
end<l>::typeAn iterator to the end of l; +see Forward Sequence.
size<l>::typeThe size of l; see Forward Sequence.
empty<l>::typeA boolean Integral Constant c such that +c::value == true if and only if l is empty; see +Forward Sequence.
front<l>::typeThe first element in l; see +Forward Sequence.
insert<l,pos,x>::typeA new list of following elements: +[begin<l>::type, pos), x, +[pos, end<l>::type); see Extensible Sequence.
insert_range<l,pos,r>::typeA new list of following elements: +[begin<l>::type, pos), +[begin<r>::type, end<r>::type) +[pos, end<l>::type); see Extensible Sequence.
erase<l,pos>::typeA new list of following elements: +[begin<l>::type, pos), +[next<pos>::type, end<l>::type); see +Extensible Sequence.
erase<l,pos,last>::typeA new list of following elements: +[begin<l>::type, pos), +[last, end<l>::type); see Extensible Sequence.
clear<l>::typeAn empty list; see Extensible Sequence.
push_front<l,x>::typeA new list containing x as its first +element; see Front Extensible Sequence.
pop_front<l>::typeA new list containing all but the first elements +of l in the same order; see +Front Extensible Sequence.
+
+
+

Example

+
+typedef list<float,double,long double> floats;
+typedef push_front<floating_types,int>::type types;
+
+BOOST_MPL_ASSERT(( is_same< front<types>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/logical-operations.html b/doc/refmanual/logical-operations.html new file mode 100644 index 0000000..6e5b399 --- /dev/null +++ b/doc/refmanual/logical-operations.html @@ -0,0 +1,28 @@ + + + + + + +The MPL Reference Manual: Logical Operations + + + + + +
Front Page / Metafunctions / Logical Operations
+ + + + + + diff --git a/doc/refmanual/long.html b/doc/refmanual/long.html new file mode 100644 index 0000000..9935319 --- /dev/null +++ b/doc/refmanual/long.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: long_ + + + + + +
Front Page / Data Types / Numeric / long_
+
+

long_

+
+

Synopsis

+
+template<
+      long N
+    >
+struct long_
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

An Integral Constant wrapper for long.

+
+
+

Header

+
+#include <boost/mpl/long.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
NAn integral constantA value to wrap.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Integral Constant.

+

For arbitrary integral constant n:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
long_<c>An Integral Constant x such that x::value == c +and x::value_type is identical to long.
+
+
+

Example

+
+typedef long_<8> eight;
+
+BOOST_MPL_ASSERT(( is_same< eight::value_type, long > ));
+BOOST_MPL_ASSERT(( is_same< eight::type, eight > ));
+BOOST_MPL_ASSERT(( is_same< next< eight >::type, long_<9> > ));
+BOOST_MPL_ASSERT(( is_same< prior< eight >::type, long_<7> > ));
+BOOST_MPL_ASSERT_RELATION( (eight::value), ==, 8 );
+assert( eight() == 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/lower-bound.html b/doc/refmanual/lower-bound.html new file mode 100644 index 0000000..1d51168 --- /dev/null +++ b/doc/refmanual/lower-bound.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: lower_bound + + + + + +
Front Page / Algorithms / Querying Algorithms / lower_bound
+
+

lower_bound

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    , typename Pred = less<_1,_2>
+    >
+struct lower_bound
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the first position in the sorted Sequence where T could be inserted without +violating the ordering.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sorted sequence to search in.
TAny typeA type to search a position for.
PredBinary Lambda ExpressionA search criteria.
+
+
+

Expression semantics

+

For any sorted Forward Sequence s, binary Lambda Expression pred, and +arbitrary type x:

+
+typedef lower_bound< s,x,pred >::type i; 
+
+ +++ + + + + + +
Return type:Forward Iterator.
Semantics:

i is the furthermost iterator in [begin<s>::type, end<s>::type) such that, for every iterator +j in [begin<s>::type, i),

+
+apply< pred, deref<j>::type, x >::type::value == true
+
+
+
+
+

Complexity

+

The number of comparisons is logarithmic: at most log2( size<s>::value ) + 1. +If s is a Random Access Sequence then the number of steps through the range +is also logarithmic; otherwise, the number of steps is proportional to +size<s>::value.

+
+
+

Example

+
+typedef vector_c<int,1,2,3,3,3,5,8> numbers;
+typedef lower_bound< numbers, int_<3> >::type iter;
+
+BOOST_MPL_ASSERT_RELATION( 
+      (distance< begin<numbers>::type,iter >::value), ==, 2
+    );
+
+BOOST_MPL_ASSERT_RELATION( deref<iter>::type::value, ==, 3 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/macros.html b/doc/refmanual/macros.html new file mode 100644 index 0000000..4e0deee --- /dev/null +++ b/doc/refmanual/macros.html @@ -0,0 +1,49 @@ + + + + + + +The MPL Reference Manual: Macros + + + + + +
Front Page / Macros
+
+

Macros

+

Being a template metaprogramming framework, the MPL concentrates on +getting one thing done well and leaves most of the clearly +preprocessor-related tasks to the corresponding specialized +libraries [PRE], [Ve03]. But whether we like it or not, macros play +an important role on today's C++ metaprogramming, and some of +the useful MPL-level functionality cannot be implemented +without leaking its preprocessor-dependent implementation +nature into the library's public interface.

+ + + + + +
[PRE]Vesa Karvonen, Paul Mensonides, +The Boost Preprocessor Metaprogramming library
+ + + + + +
[Ve03]Vesa Karvonen, The Order Programming Language, 2003.
+ + +
+ + + + + diff --git a/doc/refmanual/manual.png b/doc/refmanual/manual.png new file mode 100644 index 0000000000000000000000000000000000000000..95a0e20eec01388fcb658a4c5b643b10cca77736 GIT binary patch literal 1732 zcmeAS@N?(olHy`uVBq!ia0y~yV31~DU^v0S%)r2)w;<~o0|Ns~x}&cn1H<|g=B!;W z85kHOOI#yLg7ec#$`gxH85~pclTsBta}(23gHjVyDhp4h+AuIM7zFr)xH2#>{Qv*I zyu94S#bx*I-S6JLyLl#Qw%kQ8fkuhZRK%XU?49 z5oO>|P&sn?*ueuQ4;^5g&J5xmJjGSQudXcZ!=TVGLC{{FnOU6M+`fljz~P601B2r1 zlRT^jj13GJ;l3Jntk__dX}B@VDKFmXiowX%ltL4&U8Mj}rGgOgZtlLY5?Ymle&-2BYk#KPR< zz@AnN6JxV;<16z6g~-BXm1S;v3A@@NIRqR|{HnO{iP?cc@%HgkM-Ci1c8=L!n1Qk7 zjh~;{0yQ_c9Uxb+G9I2hpL3!qBQ(NN`5hP@YF9HbaVQ=?-8!$Ifr%qeOQdcUmh06UWJViHA%A4nGdDDl|OUDZ_c-2(HBOMTytaoPkBa z=n<0}6SFyYjF>{h1m%v2(`Qd?>=&KK#>m9M$#}X@%`HHbi94@>!Rai&f~CtWb`FIr ze;6h`ZdzX1z~FR}U&g_bFRbDwmwq7Q@IQuy2=yLW99;dzX7GkhF7wOF)f{&*cpxivY8i3&Yz- zt}Uhx3=6k(&S=OK(ClMi;;@X_aq*I#1H(h_&kT$$EBPmeGca-7wJTF|vE&zUIMKm= z$)>rQNueR&mDz&-GbZRTb0~!T4qya%#$AH}B%UdErGlM9p$3$+f82^>U~J)MWD%&^ zmG;0ngPB9&%O5_S9S>KsDKr?I;$#!6_${o^U~pR8uEK_aMPQ!=6Nkc?Pd(!EK*?yY z%#+8iDzyy^PAiYza9G$hfr&#QV#bC7gMxyFCN@t2g@y@I9TL4#4Gc|7qul(|%*?i! z@C!J6IC7{fQXUim??GCMFl z>}GFZI3&)`z}Pa;Wnu*bV~gsIhmPz54m=)>XAdzhOmt#kY&o%IjZRO_8<_(e8l|}f z96V&z+4$TRsHwH^Gca*1ee@vZiAx`M1B27VsDmYWxli3zryg z(cwlna)*qxfkQ(jt7Qx*h$@&^1ngKK#zKN6UEYB~@q7P;$BYUM0lT$)G;Yc&Gz3Ix z9H>Zo`mDL#+<_snB;$s_H%1l#w~1$aHKsE#aUAvYSk80rHY10^m3Ly?UCE&Q8o?af zc+Z!aL!srr!C_W~h7YaW(3A~IBXB!GNu8ho8$bP0l+XkK DDp@<{ literal 0 HcmV?d00001 diff --git a/doc/refmanual/map.html b/doc/refmanual/map.html new file mode 100644 index 0000000..f5db382 --- /dev/null +++ b/doc/refmanual/map.html @@ -0,0 +1,183 @@ + + + + + + +The MPL Reference Manual: map + + + + + +
Front Page / Sequences / Classes / map
+
+

map

+
+

Description

+

map is a variadic, associative, extensible sequence of type pairs that +supports constant-time insertion and removal of elements, and testing for membership. +A map may contain at most one element for each key.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/map.hpp>
Numbered#include <boost/mpl/map/mapn.hpp>
+
+ +
+

Expression semantics

+

In the following table and subsequent specifications, m is an instance of map, +pos is an iterator into m, x and p1,p2,... pn are pairs, and k is an arbitrary type.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
+map<p1,p2,... pn>
+mapn<p1,p2,... pn>
+
+
map of elements p1,p2,... pn; see +Variadic Sequence.
+map<p1,p2,... pn>::type
+mapn<p1,p2,... pn>::type
+
+
Identical to mapn<p1,p2,... pn>; +see Variadic Sequence.
begin<m>::typeAn iterator pointing to the beginning of m; +see Associative Sequence.
end<m>::typeAn iterator pointing to the end of m; +see Associative Sequence.
size<m>::typeThe size of m; see Associative Sequence.
empty<m>::typeA boolean Integral Constant c such that +c::value == true if and only if m is empty; see +Associative Sequence.
front<m>::typeThe first element in m; see +Associative Sequence.
has_key<m,k>::typeQueries the presence of elements with the key k in +m; see Associative Sequence.
count<m,k>::typeThe number of elements with the key k in m; +see Associative Sequence.
order<m,k>::typeA unique unsigned Integral Constant associated with +the key k in m; see Associative Sequence.
+at<m,k>::type
+at<m,k,default>::type
+
+
The element associated with the key k in +m; see Associative Sequence.
key_type<m,x>::typeIdentical to x::first; see Associative Sequence.
value_type<m,x>::typeIdentical to x::second; see Associative Sequence.
insert<m,x>::type

A new map equivalent to m except that

+
+at< t, key_type<m,x>::type >::type
+
+

is identical to value_type<m,x>::type.

+
insert<m,pos,x>::typeEquivalent to insert<m,x>::type; pos is ignored.
erase_key<m,k>::typeA new map equivalent to m except that +has_key<t, k>::value == false.
erase<m,pos>::typeEquivalent to erase<m, deref<pos>::type >::type.
clear<m>::typeAn empty map; see clear.
+
+
+

Example

+
+typedef map<
+      pair<int,unsigned>
+    , pair<char,unsigned char>
+    , pair<long_<5>,char[17]>
+    , pair<int[42],bool>
+    > m;
+
+BOOST_MPL_ASSERT_RELATION( size<m>::value, ==, 4 );
+BOOST_MPL_ASSERT_NOT(( empty<m> ));
+
+BOOST_MPL_ASSERT(( is_same< at<m,int>::type, unsigned > ));
+BOOST_MPL_ASSERT(( is_same< at<m,long_<5> >::type, char[17] > ));
+BOOST_MPL_ASSERT(( is_same< at<m,int[42]>::type, bool > ));
+BOOST_MPL_ASSERT(( is_same< at<m,long>::type, void_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/max-element.html b/doc/refmanual/max-element.html new file mode 100644 index 0000000..760c76b --- /dev/null +++ b/doc/refmanual/max-element.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: max_element + + + + + +
Front Page / Algorithms / Querying Algorithms / max_element
+
+

max_element

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred = less<_1,_2>
+    >
+struct max_element
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an iterator to the largest element in Sequence.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be searched.
PredBinary Lambda ExpressionA comparison criteria.
+
+
+

Expression semantics

+

For any Forward Sequence s and binary Lambda Expression pred:

+
+typedef max_element<s,pred>::type i; 
+
+ +++ + + + + + +
Return type:Forward Iterator.
Semantics:

i is the first iterator in [begin<s>::type, end<s>::type) such that for every iterator j +in [begin<s>::type, end<s>::type),

+
+apply< pred, deref<i>::type, deref<j>::type >::type::value == false
+
+
+
+
+

Complexity

+

Linear. Zero comparisons if s is empty, otherwise exactly size<s>::value - 1 +comparisons.

+
+
+

Example

+
+typedef vector<bool,char[50],long,double> types;
+typedef max_element<
+      transform_view< types,sizeof_<_1> >
+    >::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter::base>::type, char[50]> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/max.html b/doc/refmanual/max.html new file mode 100644 index 0000000..8f87fe0 --- /dev/null +++ b/doc/refmanual/max.html @@ -0,0 +1,115 @@ + + + + + + +The MPL Reference Manual: max + + + + + +
Front Page / Metafunctions / Miscellaneous / max
+
+

max

+
+

Synopsis

+
+template<
+      typename N1
+    , typename N2
+    >
+struct max
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the larger of its two arguments.

+
+
+

Header

+
+#include <boost/mpl/min_max.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
N1, N2Any typeTypes to compare.
+
+
+

Expression semantics

+

For arbitrary types x and y:

+
+typedef max<x,y>::type r;
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:less<x,y>::value is a well-formed integral constant expression.
Semantics:

Equivalent to

+
+typedef if_< less<x,y>,y,x >::type r;
+
+
+
+
+

Complexity

+

Constant time.

+
+
+

Example

+
+typedef fold<
+      vector_c<int,1,7,0,-2,5,-1>
+    , int_<10>
+    , max<_1,_2>
+    >::type r;
+
+BOOST_MPL_ASSERT(( is_same< r, int_<10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/metafunction-class.html b/doc/refmanual/metafunction-class.html new file mode 100644 index 0000000..de709dc --- /dev/null +++ b/doc/refmanual/metafunction-class.html @@ -0,0 +1,121 @@ + + + + + + +The MPL Reference Manual: Metafunction Class + + + + + +
Front Page / Metafunctions / Concepts / Metafunction Class
+
+

Metafunction Class

+
+

Summary

+

A metafunction class is a certain form of metafunction representation +that enables higher-order metaprogramming. More precisely, it's a class +with a publicly-accessible nested Metafunction called apply. +Correspondingly, a metafunction class invocation is defined as invocation +of its nested apply metafunction.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, f is a Metafunction Class.

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
f::apply::typeAny typeUnspecified.
f::apply<>::typeAny typeUnspecified.
f::apply<a1,...an>::typeAny typeUnspecified.
+
+
+

Expression semantics

+
+typedef f::apply::type x;
+
+ +++ + + + + + +
Precondition:f is a nullary Metafunction Class; f::apply::type is a type-name.
Semantics:x is the result of the metafunction class invocation.
+ +
+typedef f::apply<>::type x;
+
+ +++ + + + + + +
Precondition:f is a nullary Metafunction Class; f::apply<>::type is a type-name.
Semantics:x is the result of the metafunction class invocation.
+ +
+typedef f::apply<a1,...an>::type x;
+
+ +++ + + + + + +
Precondition:f is an n-ary metafunction class; apply is a Metafunction.
Semantics:x is the result of the metafunction class +invocation with the actual arguments a1,... an.
+
+ + +
+ + + + + diff --git a/doc/refmanual/metafunction.html b/doc/refmanual/metafunction.html new file mode 100644 index 0000000..bdd250f --- /dev/null +++ b/doc/refmanual/metafunction.html @@ -0,0 +1,127 @@ + + + + + + +The MPL Reference Manual: Metafunction + + + + + +
Front Page / Metafunctions / Concepts / Metafunction
+
+

Metafunction

+
+

Description

+

A metafunction is a class or a class template that represents a +function invocable at compile-time. An non-nullary metafunction is +invoked by instantiating the class template with particular +template parameters (metafunction arguments); the result of the +metafunction application is accessible through the instantiation's +nested type typedef. All metafunction's arguments must be types +(i.e. only type template parameters are allowed). A metafunction +can have a variable number of parameters. A nullary metafunction is +represented as a (template) class with a nested type typename +member.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, f is a Metafunction.

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
f::typeAny typeUnspecified.
f<>::typeAny typeUnspecified.
f<a1,..,an>::typeAny typeUnspecified.
+
+
+

Expression semantics

+
+typedef f::type x;
+
+ +++ + + + + + +
Precondition:f is a nullary Metafunction; f::type is a type-name.
Semantics:x is the result of the metafunction invocation.
+ +
+typedef f<>::type x;
+
+ +++ + + + + + +
Precondition:f is a nullary Metafunction; f<>::type is a type-name.
Semantics:x is the result of the metafunction invocation.
+ +
+typedef f<a1,... an>::type x;
+
+ +++ + + + + + +
Precondition:f is an n-ary Metafunction; a1,... an are types; +f<a1,...an>::type is a type-name.
Semantics:x is the result of the metafunction invocation +with the actual arguments a1,... an.
+
+ + +
+ + + + + diff --git a/doc/refmanual/metafunctions-concepts.html b/doc/refmanual/metafunctions-concepts.html new file mode 100644 index 0000000..27a6bbf --- /dev/null +++ b/doc/refmanual/metafunctions-concepts.html @@ -0,0 +1,31 @@ + + + + + + +The MPL Reference Manual: Concepts + + + + + +
Front Page / Metafunctions / Concepts
+ + + + + + diff --git a/doc/refmanual/metafunctions.html b/doc/refmanual/metafunctions.html new file mode 100644 index 0000000..5160904 --- /dev/null +++ b/doc/refmanual/metafunctions.html @@ -0,0 +1,82 @@ + + + + + + +The MPL Reference Manual: Metafunctions + + + + + +
Front Page / Metafunctions
+
+

Metafunctions

+

The MPL includes a number of predefined metafunctions that can be roughly +classified in two categories: general purpose metafunctions, dealing with +conditional type selection and higher-order metafunction invocation, +composition, and argument binding, and numeric metafunctions, +incapsulating built-in and user-defined arithmetic, comparison, +logical, and bitwise operations.

+

Given that it is possible to perform integer numeric computations at +compile time using the conventional operators notation, the need for the +second category might be not obvious, but it in fact plays a cental role in +making programming with MPL seemingly effortless. In +particular, there are at least two contexts where built-in language +facilities fall short [3]:

+
    +
  1. Passing a computation to an algorithm.
  2. +
  3. Performing a computation on non-integer data.
  4. +
+

The second use case deserves special attention. In contrast to the built-in, +strictly integer compile-time arithmetics, the MPL numeric metafunctions are +polymorphic, with support for mixed-type arithmetics. This means that they +can operate on a variety of numeric types — for instance, rational, +fixed-point or complex numbers, — and that, in general, you are allowed to +freely intermix these types within a single expression. See Numeric Metafunction concept for more details on the MPL numeric infrastructure.

+ +

To reduce a negative syntactical impact of the metafunctions notation +over the infix operator notation, all numeric metafunctions +allow to pass up to N arguments, where N is defined by the value of +BOOST_MPL_LIMIT_METAFUNCTION_ARITY configuration macro.

+ + + + + +
[3]All other considerations aside, as of the time of this writing +(early 2004), using built-in operators on integral constants still often +present a portability problem — many compilers cannot handle particular +forms of expressions, forcing us to use conditional compilation. Because MPL +numeric metafunctions work on types and encapsulate these kind of workarounds +internally, they elude these problems, so if you aim for portability, it is +generally adviced to use them in the place of the conventional operators, even +at the price of slightly decreased readability.
+ + +
+ + + + + diff --git a/doc/refmanual/min-element.html b/doc/refmanual/min-element.html new file mode 100644 index 0000000..bee4920 --- /dev/null +++ b/doc/refmanual/min-element.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: min_element + + + + + +
Front Page / Algorithms / Querying Algorithms / min_element
+
+

min_element

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred = less<_1,_2>
+    >
+struct min_element
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns an iterator to the smallest element in Sequence.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to be searched.
PredBinary Lambda ExpressionA comparison criteria.
+
+
+

Expression semantics

+

For any Forward Sequence s and binary Lambda Expression pred:

+
+typedef min_element<s,pred>::type i; 
+
+ +++ + + + + + +
Return type:Forward Iterator.
Semantics:

i is the first iterator in [begin<s>::type, end<s>::type) such that for every iterator j +in [begin<s>::type, end<s>::type),

+
+apply< pred, deref<j>::type, deref<i>::type >::type::value == false
+
+
+
+
+

Complexity

+

Linear. Zero comparisons if s is empty, otherwise exactly size<s>::value - 1 +comparisons.

+
+
+

Example

+
+typedef vector<bool,char[50],long,double> types;
+typedef min_element<
+      transform_view< types,sizeof_<_1> >
+    >::type iter;
+
+BOOST_MPL_ASSERT(( is_same< deref<iter::base>::type, bool> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/min.html b/doc/refmanual/min.html new file mode 100644 index 0000000..c6611f2 --- /dev/null +++ b/doc/refmanual/min.html @@ -0,0 +1,115 @@ + + + + + + +The MPL Reference Manual: min + + + + + +
Front Page / Metafunctions / Miscellaneous / min
+
+

min

+
+

Synopsis

+
+template<
+      typename N1
+    , typename N2
+    >
+struct min
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the smaller of its two arguments.

+
+
+

Header

+
+#include <boost/mpl/min_max.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
N1, N2Any typeTypes to compare.
+
+
+

Expression semantics

+

For arbitrary types x and y:

+
+typedef min<x,y>::type r;
+
+ +++ + + + + + + + +
Return type:A type.
Precondition:less<x,y>::value is a well-formed integral constant expression.
Semantics:

Equivalent to

+
+typedef if_< less<x,y>,x,y >::type r;
+
+
+
+
+

Complexity

+

Constant time.

+
+
+

Example

+
+typedef fold<
+      vector_c<int,1,7,0,-2,5,-1>
+    , int_<-10>
+    , min<_1,_2>
+    >::type r;
+
+BOOST_MPL_ASSERT(( is_same< r, int_<-10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/minus.html b/doc/refmanual/minus.html new file mode 100644 index 0000000..fde14b3 --- /dev/null +++ b/doc/refmanual/minus.html @@ -0,0 +1,140 @@ + + + + + + +The MPL Reference Manual: minus + + + + + +
Front Page / Metafunctions / Arithmetic Operations / minus
+
+

minus

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct minus
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the difference of its arguments.

+
+
+

Header

+
+#include <boost/mpl/minus.hpp>
+#include <boost/mpl/arithmetic.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef minus<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value - c2::value)
+    , ( c1::value - c2::value )
+    > c;
+    
+typedef minus<c,c3,...cn>::type r; 
+
+
+ +
+typedef minus<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : minus<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef minus< int_<-10>, int_<3>, long_<1> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, -14 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/miscellaneous.html b/doc/refmanual/miscellaneous.html new file mode 100644 index 0000000..0f2174d --- /dev/null +++ b/doc/refmanual/miscellaneous.html @@ -0,0 +1,32 @@ + + + + + + +The MPL Reference Manual: Miscellaneous + + + + + +
Front Page / Metafunctions / Miscellaneous
+ + + + + + diff --git a/doc/refmanual/modulus.html b/doc/refmanual/modulus.html new file mode 100644 index 0000000..4b5a649 --- /dev/null +++ b/doc/refmanual/modulus.html @@ -0,0 +1,139 @@ + + + + + + +The MPL Reference Manual: modulus + + + + + +
Front Page / Metafunctions / Arithmetic Operations / modulus
+
+

modulus

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct modulus
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the modulus of its arguments.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef modulus<c1,c2>::type r;
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Precondition:c2::value != 0
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value % c2::value)
+    , ( c1::value % c2::value )
+    > r;
+
+
+ +
+typedef modulus<c1,c2> r;
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Precondition:c2::value != 0
Semantics:

Equivalent to

+
+struct r : modulus<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef modulus< int_<10>, long_<3> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, 1 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/negate.html b/doc/refmanual/negate.html new file mode 100644 index 0000000..6c39141 --- /dev/null +++ b/doc/refmanual/negate.html @@ -0,0 +1,130 @@ + + + + + + +The MPL Reference Manual: negate + + + + + +
Front Page / Metafunctions / Arithmetic Operations / negate
+
+

negate

+
+

Synopsis

+
+template<
+      typename T
+    >
+struct negate
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the negative (additive inverse) of its argument.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
TIntegral ConstantOperation's argument.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constant c:

+
+typedef negate<c>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c< c::value_type, ( -c::value ) > r;
+
+
+ +
+typedef negate<c> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : negate<c>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef negate< int_<-10> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, 10 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/next.html b/doc/refmanual/next.html new file mode 100644 index 0000000..f3b5470 --- /dev/null +++ b/doc/refmanual/next.html @@ -0,0 +1,115 @@ + + + + + + +The MPL Reference Manual: next + + + + + +
Front Page / Iterators / Iterator Metafunctions / next
+ + + + + + diff --git a/doc/refmanual/not-equal-to.html b/doc/refmanual/not-equal-to.html new file mode 100644 index 0000000..2cb1a07 --- /dev/null +++ b/doc/refmanual/not-equal-to.html @@ -0,0 +1,131 @@ + + + + + + +The MPL Reference Manual: not_equal_to + + + + + +
Front Page / Metafunctions / Comparisons / not_equal_to
+
+

not_equal_to

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct not_equal_to
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a true-valued Integral Constant if T1 and T2 are not equal.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2Integral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1 and c2:

+
+typedef not_equal_to<c1,c2>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (c1::value != c2::value) > r;
+
+
+ +
+typedef not_equal_to<c1,c2> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : not_equal_to<c1,c2>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+ + +
+ + + + + diff --git a/doc/refmanual/not.html b/doc/refmanual/not.html new file mode 100644 index 0000000..782e175 --- /dev/null +++ b/doc/refmanual/not.html @@ -0,0 +1,117 @@ + + + + + + +The MPL Reference Manual: not_ + + + + + +
Front Page / Metafunctions / Logical Operations / not_
+
+

not_

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct not_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of logical not (!) operation on its argument.

+
+
+

Header

+
+#include <boost/mpl/not.hpp>
+#include <boost/mpl/logical.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
FNullary MetafunctionOperation's argument.
+
+
+

Expression semantics

+

For arbitrary nullary Metafunction f:

+
+typedef not_<f>::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef bool_< (!f::type::value) > r;
+
+
+ +
+typedef not_<f> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : not_<f>::type {};
+
+
+
+
+

Example

+
+BOOST_MPL_ASSERT_NOT(( not_< true_ > ));
+BOOST_MPL_ASSERT(( not_< false_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/numeric-cast.html b/doc/refmanual/numeric-cast.html new file mode 100644 index 0000000..b364e57 --- /dev/null +++ b/doc/refmanual/numeric-cast.html @@ -0,0 +1,149 @@ + + + + + + +The MPL Reference Manual: numeric_cast + + + + + +
Front Page / Metafunctions / Miscellaneous / numeric_cast
+
+

numeric_cast

+
+

Synopsis

+
+template< 
+      typename SourceTag
+    , typename TargetTag
+    >
+struct numeric_cast;
+
+
+
+

Description

+

Each numeric_cast specialization is a user-specialized unary Metafunction Class +providing a conversion between two numeric types.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SourceTagIntegral ConstantA tag for the conversion's source type.
TargetTagIntegral ConstantA tag for the conversion's destination type.
+
+
+

Expression semantics

+

If x and y are two numeric types, x is convertible to y, and +x_tag and y_tag are the types' corresponding Integral Constant tags:

+
+typedef apply_wrap2< numeric_cast<x_tag,y_tag>,x >::type  r;
+
+ +++ + + + + + +
Return type:A type.
Semantics:r is a value of x converted to the type of y.
+
+
+

Complexity

+

Unspecified.

+
+
+

Example

+
+struct complex_tag : int_<10> {};
+
+template< typename Re, typename Im > struct complex
+{
+    typedef complex_tag tag;
+    typedef complex type;
+    typedef Re real;
+    typedef Im imag;
+};
+
+template< typename C > struct real : C::real {};
+template< typename C > struct imag : C::imag {};
+
+namespace boost { namespace mpl {
+
+template<> struct numeric_cast< integral_c_tag,complex_tag >
+{
+    template< typename N > struct apply
+        : complex< N, integral_c< typename N::value_type, 0 > >
+    {
+    };
+};
+
+template<>
+struct plus_impl< complex_tag,complex_tag >
+{
+    template< typename N1, typename N2 > struct apply
+        : complex<
+              plus< typename N1::real, typename N2::real >
+            , plus< typename N1::imag, typename N2::imag >
+            >
+    {
+    };
+};
+
+}}
+
+typedef int_<2> i;
+typedef complex< int_<5>, int_<-1> > c1;
+typedef complex< int_<-5>, int_<1> > c2;
+
+typedef plus<c1,i> r4;
+BOOST_MPL_ASSERT_RELATION( real<r4>::value, ==, 7 );
+BOOST_MPL_ASSERT_RELATION( imag<r4>::value, ==, -1 );
+
+typedef plus<i,c2> r5;
+BOOST_MPL_ASSERT_RELATION( real<r5>::value, ==, -3 );
+BOOST_MPL_ASSERT_RELATION( imag<r5>::value, ==, 1 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/numeric-metafunction.html b/doc/refmanual/numeric-metafunction.html new file mode 100644 index 0000000..8a30897 --- /dev/null +++ b/doc/refmanual/numeric-metafunction.html @@ -0,0 +1,171 @@ + + + + + + +The MPL Reference Manual: Numeric Metafunction + + + + + +
Front Page / Metafunctions / Concepts / Numeric Metafunction
+
+

Numeric Metafunction

+
+

Description

+

A Numeric Metafunction is a Tag Dispatched Metafunction that provides +a built-in infrastructure for easy implementation of mixed-type operations.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, op is a placeholder token for the actual +Numeric Metafunction's name, and x, y and x1,x2,... xn are +arbitrary numeric types.

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
op_tag<x>::typeIntegral ConstantAmortized constant time.
+op_impl<
+     op_tag<x>::type
+   , op_tag<y>::type
+   >::apply<x,y>::type
+
+
Any typeUnspecified.
op<x1,x2,... xn>::typeAny typeUnspecified.
+
+
+

Expression semantics

+
+typedef op_tag<x>::type tag;
+
+ +++ + + + +
Semantics:tag is a tag type for x for op. +tag::value is x's conversion rank.
+ +
+typedef op_impl<
+      op_tag<x>::type
+    , op_tag<y>::type
+    >::apply<x,y>::type r;
+
+ +++ + + + +
Semantics:r is the result of op application on arguments x +and y.
+ +
+typedef op<x1,x2,... xn>::type r;
+
+ +++ + + + +
Semantics:r is the result of op application on arguments x1,x2,... xn.
+
+
+

Example

+
+struct complex_tag : int_<10> {};
+
+template< typename Re, typename Im > struct complex
+{
+    typedef complex_tag tag;
+    typedef complex type;
+    typedef Re real;
+    typedef Im imag;
+};
+
+template< typename C > struct real : C::real {};
+template< typename C > struct imag : C::imag {};
+
+namespace boost { namespace mpl {
+
+template<>
+struct plus_impl< complex_tag,complex_tag >
+{
+    template< typename N1, typename N2 > struct apply
+        : complex<
+              plus< typename N1::real, typename N2::real >
+            , plus< typename N1::imag, typename N2::imag >
+            >
+    {
+    };
+};
+
+}}
+
+typedef complex< int_<5>, int_<-1> > c1;
+typedef complex< int_<-5>, int_<1> > c2;
+
+typedef plus<c1,c2> r1;
+BOOST_MPL_ASSERT_RELATION( real<r1>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( imag<r1>::value, ==, 0 );
+
+typedef plus<c1,c1> r2;
+BOOST_MPL_ASSERT_RELATION( real<r2>::value, ==, 10 );
+BOOST_MPL_ASSERT_RELATION( imag<r2>::value, ==, -2 );
+
+typedef plus<c2,c2> r3;
+BOOST_MPL_ASSERT_RELATION( real<r3>::value, ==, -10 );
+BOOST_MPL_ASSERT_RELATION( imag<r3>::value, ==, 2 );
+
+
+ + +
+ + + + + diff --git a/doc/refmanual/numeric.html b/doc/refmanual/numeric.html new file mode 100644 index 0000000..5000678 --- /dev/null +++ b/doc/refmanual/numeric.html @@ -0,0 +1,29 @@ + + + + + + +The MPL Reference Manual: Numeric + + + + + +
Front Page / Data Types / Numeric
+ + + + + + diff --git a/doc/refmanual/or.html b/doc/refmanual/or.html new file mode 100644 index 0000000..37e0066 --- /dev/null +++ b/doc/refmanual/or.html @@ -0,0 +1,126 @@ + + + + + + +The MPL Reference Manual: or_ + + + + + +
Front Page / Metafunctions / Logical Operations / or_
+
+

or_

+
+

Synopsis

+
+template< 
+      typename F1
+    , typename F2
+    ...
+    , typename Fn = unspecified
+    >
+struct or_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of short-circuit logical or (||) operation on its arguments.

+
+
+

Header

+
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/logical.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
F1, F2,... FnNullary MetafunctionOperation's arguments.
+
+
+

Expression semantics

+

For arbitrary nullary Metafunctions f1, f2,... fn:

+
+typedef or_<f1,f2,...,fn>::type r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:r is true_ if either of f1::type::value, f2::type::value,... +fn::type::value expressions evaluates to true, and false_ otherwise; +guarantees left-to-right evaluation; the operands subsequent to the first +fi metafunction that evaluates to true are not evaluated.
+ +
+typedef or_<f1,f2,...,fn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : or_<f1,f2,...,fn>::type {};
+
+
+
+
+

Example

+
+struct unknown;
+
+BOOST_MPL_ASSERT(( or_< true_,true_ > ));
+BOOST_MPL_ASSERT(( or_< false_,true_ > ));
+BOOST_MPL_ASSERT(( or_< true_,false_ > ));
+BOOST_MPL_ASSERT_NOT(( or_< false_,false_ > ));
+BOOST_MPL_ASSERT(( or_< true_,unknown > )); // OK
+BOOST_MPL_ASSERT(( or_< true_,unknown,unknown > )); // OK too
+
+
+ +
+ + + + + diff --git a/doc/refmanual/order.html b/doc/refmanual/order.html new file mode 100644 index 0000000..bf96030 --- /dev/null +++ b/doc/refmanual/order.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: order + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / order
+
+

order

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Key
+    >
+struct order
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a unique unsigned Integral Constant associated with the key Key in +Sequence.

+
+
+

Header

+
+#include <boost/mpl/order.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceAssociative SequenceA sequence to query.
KeyAny typeThe queried key.
+
+
+

Expression semantics

+

For any Associative Sequence s, and arbitrary type key:

+
+typedef order<s,key>::type n; 
+
+ +++ + + + + + +
Return type:Unsigned Integral Constant.
Semantics:If has_key<s,key>::value == true, n is a unique unsigned +Integral Constant associated with key in s; otherwise, +n is identical to void_.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef map< pair<int,unsigned>, pair<char,long> > m;
+
+BOOST_MPL_ASSERT_NOT(( is_same< order<m,int>::type, void_ > ));
+BOOST_MPL_ASSERT(( is_same< order<m,long>::type,void_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/pair.html b/doc/refmanual/pair.html new file mode 100644 index 0000000..67c94c5 --- /dev/null +++ b/doc/refmanual/pair.html @@ -0,0 +1,74 @@ + + + + + + +The MPL Reference Manual: pair + + + + + +
Front Page / Data Types / Miscellaneous / pair
+
+

pair

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    >
+struct pair
+{
+    typedef pair type;
+    typedef T1 first;
+    typedef T2 second;
+};
+
+
+
+

Description

+

A transparent holder for two arbitrary types.

+
+
+

Header

+
+#include <boost/mpl/pair.hpp>
+
+
+
+

Example

+

Count a number of elements in the sequence together with a number of negative +elements among these.

+
+typedef fold<
+      vector_c<int,-1,0,5,-7,-2,4,5,7>
+    , pair< int_<0>, int_<0> >
+    , pair< 
+          next< first<_1> >
+        , if_< 
+              less< _2, int_<0> >
+            , next< second<_1> >
+            , second<_1> 
+            >
+        >
+    >::type p;
+
+BOOST_MPL_ASSERT_RELATION( p::first::value, ==, 8 );
+BOOST_MPL_ASSERT_RELATION( p::second::value, ==, 3 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/partition.html b/doc/refmanual/partition.html new file mode 100644 index 0000000..ec19853 --- /dev/null +++ b/doc/refmanual/partition.html @@ -0,0 +1,136 @@ + + + + + + +The MPL Reference Manual: partition + + + + + +
Front Page / Algorithms / Transformation Algorithms / partition
+
+

partition

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In1 = unspecified
+    , typename In2 = unspecified
+    >
+struct partition
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a pair of sequences together containing all elements in the range +[begin<Seq>::type, end<Seq>::type) split into two groups based on the predicate Pred. +partition is a synonym for stable_partition.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/partition.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SeqForward SequenceAn original sequence.
PredUnary Lambda ExpressionA partitioning predicate.
In1, In2InserterOutput inserters.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and Inserters +in1 and in2:

+
+typedef partition<s,pred,in1,in2>::type r;
+
+ +++ + + + + + +
Return type:A pair.
Semantics:

Equivalent to

+
+typedef stable_partition<s,pred,in1,in2>::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and size<s>::value +of summarized in1::operation / in2::operation applications.

+
+
+

Example

+
+template< typename N > struct is_odd : bool_<(N::value % 2)> {};
+
+typedef partition<
+      range_c<int,0,10> 
+    , is_odd<_1>
+    , back_inserter< vector<> >
+    , back_inserter< vector<> >
+    >::type r;
+
+BOOST_MPL_ASSERT(( equal< r::first, vector_c<int,1,3,5,7,9> > ));
+BOOST_MPL_ASSERT(( equal< r::second, vector_c<int,0,2,4,6,8> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/placeholder-expression.html b/doc/refmanual/placeholder-expression.html new file mode 100644 index 0000000..6103923 --- /dev/null +++ b/doc/refmanual/placeholder-expression.html @@ -0,0 +1,55 @@ + + + + + + +The MPL Reference Manual: Placeholder Expression + + + + + +
Front Page / Metafunctions / Concepts / Placeholder Expression
+
+

Placeholder Expression

+
+

Description

+

A Placeholder Expression is a type that is either a placeholder or a class +template specialization with at least one argument that itself is a +Placeholder Expression.

+
+
+

Expression requirements

+

If X is a class template, and a1,... an are arbitrary types, then +X<a1,...,an> is a Placeholder Expression if and only if all of the following +conditions hold:

+ +
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/placeholders.html b/doc/refmanual/placeholders.html new file mode 100644 index 0000000..5f4292b --- /dev/null +++ b/doc/refmanual/placeholders.html @@ -0,0 +1,99 @@ + + + + + + +The MPL Reference Manual: Placeholders + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / Placeholders
+
+

Placeholders

+
+

Synopsis

+
+namespace placeholders {
+typedef unspecified _;
+typedef arg<1>      _1;
+typedef arg<2>      _2;
+...
+typedef arg<n>      _n;
+}
+
+using placeholders::_;
+using placeholders::_1;
+using placeholders::_2;
+...
+using placeholders::_n;
+
+
+
+

Description

+

A placeholder in a form _n is simply a synonym for the corresponding +arg<n> specialization. The unnamed placeholder _ (underscore) carries +special meaning in bind and lambda expressions, and does not have +defined semantics outside of these contexts.

+

Placeholder names can be made available in the user namespace through +using namespace mpl::placeholders; directive.

+
+
+

Header

+
+#include <boost/mpl/placeholders.hpp>
+
+

[Note: The include might be omitted when using placeholders to construct a Lambda Expression for passing it to MPL's own algorithm or metafunction: any library +component that is documented to accept a lambda expression makes the placeholders +implicitly available for the user code — end note]

+
+
+

Parameters

+

None.

+
+
+

Expression semantics

+

For any integral constant n in the range [1, BOOST_MPL_LIMIT_METAFUNCTION_ARITY] and +arbitrary types a1,... an:

+
+typedef apply_wrapn<_n,a1,...an>::type x;
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef apply_wrapn< arg<n>,a1,...an >::type x;
+
+
+
+
+

Example

+
+typedef apply_wrap5< _1,bool,char,short,int,long >::type t1;
+typedef apply_wrap5< _3,bool,char,short,int,long >::type t3;
+
+BOOST_MPL_ASSERT(( is_same< t1, bool > ));
+BOOST_MPL_ASSERT(( is_same< t3, short > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/plus.html b/doc/refmanual/plus.html new file mode 100644 index 0000000..1474023 --- /dev/null +++ b/doc/refmanual/plus.html @@ -0,0 +1,140 @@ + + + + + + +The MPL Reference Manual: plus + + + + + +
Front Page / Metafunctions / Arithmetic Operations / plus
+
+

plus

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct plus
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the sum of its arguments.

+
+
+

Header

+
+#include <boost/mpl/plus.hpp>
+#include <boost/mpl/arithmetic.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef plus<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value + c2::value)
+    , ( c1::value + c2::value )
+    > c;
+    
+typedef plus<c,c3,...cn>::type r; 
+
+
+ +
+typedef plus<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : plus<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef plus< int_<-10>, int_<3>, long_<1> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, -6 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/pop-back.html b/doc/refmanual/pop-back.html new file mode 100644 index 0000000..0c0f487 --- /dev/null +++ b/doc/refmanual/pop-back.html @@ -0,0 +1,120 @@ + + + + + + +The MPL Reference Manual: pop_back + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / pop_back
+
+

pop_back

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct pop_back
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

pop_back performs a removal at the end of the sequence with guaranteed O(1) +complexity.

+
+
+

Header

+
+#include <boost/mpl/pop_back.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceBack Extensible SequenceA sequence to erase the last element from.
+
+
+

Expression semantics

+

For any Back Extensible Sequence s:

+
+typedef pop_back<s>::type r; 
+
+ +++ + + + + + + + + + +
Return type:Back Extensible Sequence.
Precondition:empty<s>::value == false.
Semantics:Equivalent to erase<s,end<s>::type>::type;.
Postcondition:size<r>::value == size<s>::value - 1.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector<long>::type types1;
+typedef vector<long,int>::type types2;
+typedef vector<long,int,char>::type types3;
+
+typedef pop_back<types1>::type result1;
+typedef pop_back<types2>::type result2;
+typedef pop_back<types3>::type result3;
+    
+BOOST_MPL_ASSERT_RELATION( size<result1>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( size<result2>::value, ==, 1 );
+BOOST_MPL_ASSERT_RELATION( size<result3>::value, ==, 2 );
+    
+BOOST_MPL_ASSERT(( is_same< back<result2>::type, long> ));
+BOOST_MPL_ASSERT(( is_same< back<result3>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/pop-front.html b/doc/refmanual/pop-front.html new file mode 100644 index 0000000..a78c117 --- /dev/null +++ b/doc/refmanual/pop-front.html @@ -0,0 +1,120 @@ + + + + + + +The MPL Reference Manual: pop_front + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / pop_front
+
+

pop_front

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct pop_front
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

pop_front performs a removal at the beginning of the sequence with guaranteed O(1) +complexity.

+
+
+

Header

+
+#include <boost/mpl/pop_front.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceFront Extensible SequenceA sequence to erase the first element from.
+
+
+

Expression semantics

+

For any Front Extensible Sequence s:

+
+typedef pop_front<s>::type r; 
+
+ +++ + + + + + + + + + +
Return type:Front Extensible Sequence.
Precondition:empty<s>::value == false.
Semantics:Equivalent to erase<s,begin<s>::type>::type;.
Postcondition:size<r>::value == size<s>::value - 1.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector<long>::type types1;
+typedef vector<int,long>::type types2;
+typedef vector<char,int,long>::type types3;
+
+typedef pop_front<types1>::type result1;
+typedef pop_front<types2>::type result2;
+typedef pop_front<types3>::type result3;
+    
+BOOST_MPL_ASSERT_RELATION( size<result1>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( size<result2>::value, ==, 1 );
+BOOST_MPL_ASSERT_RELATION( size<result3>::value, ==, 2 );
+    
+BOOST_MPL_ASSERT(( is_same< front<result2>::type, long > ));
+BOOST_MPL_ASSERT(( is_same< front<result3>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/prior.html b/doc/refmanual/prior.html new file mode 100644 index 0000000..671e122 --- /dev/null +++ b/doc/refmanual/prior.html @@ -0,0 +1,115 @@ + + + + + + +The MPL Reference Manual: prior + + + + + +
Front Page / Iterators / Iterator Metafunctions / prior
+
+

prior

+
+

Synopsis

+
+template<
+      typename Iterator
+    >
+struct prior
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the previous iterator in the sequence. [Note: prior has a number of +overloaded meanings, depending on the type of its argument. For instance, +if X is an Integral Constant, prior<X> returns an decremented +Integral Constant of the same type. The following specification is +iterator-specific. Please refer to the corresponding concept's +documentation for the details of the alternative semantics — end note].

+
+
+

Header

+
+#include <boost/mpl/next_prior.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
IteratorForward Iterator.An iterator to decrement.
+
+
+

Expression semantics

+

For any Forward Iterators iter:

+
+typedef prior<iter>::type j; 
+
+ +++ + + + + + + + +
Return type:Forward Iterator.
Precondition:iter is decrementable.
Semantics:

j is an iterator pointing to the previous element in the sequence. +If iter is a user-defined iterator, the library-provided default +implementation is equivalent to

+
+typedef iter::prior j;
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector_c<int,1> v;
+typedef begin<v>::type first;
+typedef end<v>::type last;
+
+BOOST_MPL_ASSERT(( is_same< prior<last>::type, first > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/protect.html b/doc/refmanual/protect.html new file mode 100644 index 0000000..ed956a0 --- /dev/null +++ b/doc/refmanual/protect.html @@ -0,0 +1,127 @@ + + + + + + +The MPL Reference Manual: protect + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / protect
+
+

protect

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct protect
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

protect is an identity wrapper for a Metafunction Class that prevents +its argument from being recognized as a bind expression.

+
+
+

Header

+
+#include <boost/mpl/protect.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
FMetafunction ClassA metafunction class to wrap.
+
+
+

Expression semantics

+

For any Metafunction Class f:

+
+typedef protect<f> g;
+
+ +++ + + + + + +
Return type:Metafunction Class.
Semantics:

If f is a bind expression, equivalent to

+
+struct g
+{
+    template< 
+          typename U1 = unspecified,... typename Un = unspecified
+        >
+    struct apply
+        : apply_wrapn<f,U1,...Un>
+    {
+    };
+};
+
+

otherwise equivalent to typedef f g;.

+
+
+
+

Example

+
+FIXME
+
+struct f
+{
+    template< typename T1, typename T2 > struct apply
+    {
+        // ...
+    };
+};
+
+typedef bind<_1, protect< bind<f,_1,_2> > >
+
+typedef apply_wrap0< f0 >::type r1;
+typedef apply_wrap0< g0 >::type r2;
+typedef apply_wrap2< f2,int,char >::type r3;
+
+BOOST_MPL_ASSERT(( is_same<r1,char> ));
+BOOST_MPL_ASSERT(( is_same<r2,char> ));
+BOOST_MPL_ASSERT(( is_same<r3,char> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/push-back.html b/doc/refmanual/push-back.html new file mode 100644 index 0000000..38467ee --- /dev/null +++ b/doc/refmanual/push-back.html @@ -0,0 +1,126 @@ + + + + + + +The MPL Reference Manual: push_back + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / push_back
+
+

push_back

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    >
+struct push_back
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

push_back performs an insertion at the end of the sequence with guaranteed O(1) +complexity.

+
+
+

Header

+
+#include <boost/mpl/push_back.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceBack Extensible SequenceA sequence to insert into.
TAny typeThe element to be inserted.
+
+
+

Expression semantics

+

For any Back Extensible Sequence s and arbitrary type x:

+
+typedef push_back<s,x>::type r;
+
+ +++ + + + + + + + +
Return type:Back Extensible Sequence.
Semantics:

Equivalent to

+
+typedef insert< s,end<s>::type,x >::type r;
+
+
Postcondition:

back<r>::type is identical to x;

+
+size<r>::value == size<s>::value + 1
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector_c<bool,false,false,false,
+    true,true,true,false,false> bools;
+
+typedef push_back<bools,false_>::type message;
+
+BOOST_MPL_ASSERT_RELATION( back<message>::type::value, ==, false );
+BOOST_MPL_ASSERT_RELATION( 
+      ( count_if<message, equal_to<_1,false_> >::value ), ==, 6
+    );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/push-front.html b/doc/refmanual/push-front.html new file mode 100644 index 0000000..b1c6393 --- /dev/null +++ b/doc/refmanual/push-front.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: push_front + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / push_front
+
+

push_front

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    >
+struct push_front
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

push_front performs an insertion at the beginning of the sequence with guaranteed O(1) +complexity.

+
+
+

Header

+
+#include <boost/mpl/push_front.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceFront Extensible SequenceA sequence to insert into.
TAny typeThe element to be inserted.
+
+
+

Expression semantics

+

For any Front Extensible Sequence s and arbitrary type x:

+
+typedef push_front<s,x>::type r;
+
+ +++ + + + + + + + +
Return type:Front Extensible Sequence.
Semantics:

Equivalent to

+
+typedef insert< s,begin<s>::type,x >::type r;
+
+
Postcondition:size<r>::value == size<s>::value + 1; +front<r>::type is identical to x.
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef vector_c<int,1,2,3,5,8,13,21> v;
+BOOST_MPL_ASSERT_RELATION( size<v>::value, ==, 7 );
+
+typedef push_front< v,integral_c<int,1> >::type fibonacci;
+BOOST_MPL_ASSERT_RELATION( size<fibonacci>::value, ==, 8 );
+
+BOOST_MPL_ASSERT(( equal< 
+      fibonacci
+    , vector_c<int,1,1,2,3,5,8,13,21>
+    , equal_to<_,_>
+    > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/querying-algorithms.html b/doc/refmanual/querying-algorithms.html new file mode 100644 index 0000000..097218b --- /dev/null +++ b/doc/refmanual/querying-algorithms.html @@ -0,0 +1,35 @@ + + + + + + +The MPL Reference Manual: Querying Algorithms + + + + + +
Front Page / Algorithms / Querying Algorithms
+ + + + + + diff --git a/doc/refmanual/quote.html b/doc/refmanual/quote.html new file mode 100644 index 0000000..ee892c4 --- /dev/null +++ b/doc/refmanual/quote.html @@ -0,0 +1,156 @@ + + + + + + +The MPL Reference Manual: quote + + + + + +
Front Page / Metafunctions / Composition and Argument Binding / quote
+
+

quote

+
+

Synopsis

+
+template<
+      template< typename P1 > class F
+    , typename Tag = unspecified
+    >
+struct quote1
+{
+    // unspecified
+    // ...
+};    
+
+...
+
+template<
+      template< typename P1,... typename Pn > class F
+    , typename Tag = unspecified
+    >
+struct quoten
+{
+    // unspecified
+    // ...
+};    
+
+
+
+

Description

+

quoten is a higher-order primitive that wraps an n-ary Metafunction to create +a corresponding Metafunction Class.

+
+
+

Header

+
+#include <boost/mpl/quote.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
FMetafunctionA metafunction to wrap.
TagAny typeA tag determining wrap semantics.
+
+
+

Expression semantics

+

For any n-ary Metafunction f and arbitrary type tag:

+
+typedef quoten<f> g;
+typedef quoten<f,tag> g;
+
+ +++ + + + + + +
Return type:Metafunction Class
Semantics:

Equivalent to

+
+struct g
+{
+    template< typename A1,... typename An > struct apply
+        : f<A1,...An>
+    {
+    };
+};
+
+

if f<A1,...An> has a nested type member ::type, and to

+
+struct g
+{
+    template< typename A1,... typename An > struct apply
+    {
+        typedef f<A1,...An> type;
+    };
+};
+
+

otherwise.

+
+
+
+

Example

+
+template< typename T > struct f1
+{
+    typedef T type;
+};
+
+template<
+    typename T1, typename T2, typename T3, typename T4, typename T5
+    >
+struct f5
+{
+    // no 'type' member!
+};
+
+typedef quote1<f1>::apply<int>::type t1;
+typedef quote5<f5>::apply<char,short,int,long,float>::type t5;
+
+BOOST_MPL_ASSERT(( is_same< t1, int > ));
+BOOST_MPL_ASSERT(( is_same< t5, f5<char,short,int,long,float> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/random-access-iterator.html b/doc/refmanual/random-access-iterator.html new file mode 100644 index 0000000..5c266ff --- /dev/null +++ b/doc/refmanual/random-access-iterator.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: Random Access Iterator + + + + + +
Front Page / Iterators / Concepts / Random Access Iterator
+
+

Random Access Iterator

+
+

Description

+

A Random Access Iterator is a Bidirectional Iterator that provides +constant-time guarantees on moving the iterator an arbitrary number of positions +forward or backward and for measuring the distance to another iterator in the +same sequence.

+
+ +
+

Expression requirements

+

In addition to the requirements defined in Bidirectional Iterator, +the following requirements must be met.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
next<i>::typeRandom Access IteratorAmortized constant time
prior<i>::typeRandom Access IteratorAmortized constant time
i::categoryIntegral Constant, convertible +to random_access_iterator_tagConstant time
advance<i,n>::typeRandom Access IteratorAmortized constant time
distance<i,j>::typeIntegral ConstantAmortized constant time
+
+
+

Expression semantics

+
+typedef advance<i,n>::type j;
+
+ +++ + + + +
Semantics:See advance specification
+ +
+typedef distance<i,j>::type n;
+
+ +++ + + + +
Semantics:See distance specification
+
+
+

Invariants

+

For any random access iterators i and j the following invariants always +hold:

+ +
+ +
+ + + + + diff --git a/doc/refmanual/random-access-sequence.html b/doc/refmanual/random-access-sequence.html new file mode 100644 index 0000000..53de1c6 --- /dev/null +++ b/doc/refmanual/random-access-sequence.html @@ -0,0 +1,98 @@ + + + + + + +The MPL Reference Manual: Random Access Sequence + + + + + +
Front Page / Sequences / Concepts / Random Access Sequence
+
+

Random Access Sequence

+
+

Description

+

A Random Access Sequence is a Bidirectional Sequence whose iterators model +Random Access Iterator. A random access sequence guarantees amortized constant +time access to an arbitrary sequence element.

+
+ +
+

Expression requirements

+

In addition to the requirements defined in Bidirectional Sequence, +for any Random Access Sequence s the following must be met:

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
begin<s>::typeRandom Access IteratorAmortized constant time
end<s>::typeRandom Access IteratorAmortized constant time
at<s,n>::typeAny typeAmortized constant time
+
+
+

Expression semantics

+

Semantics of an expression is defined only where it differs from, or is not +defined in Bidirectional Sequence.

+ ++++ + + + + + + + + + + +
ExpressionSemantics
at<s,n>::typeThe nth element from the beginning of the sequence; see at.
+
+ + +
+ + + + + diff --git a/doc/refmanual/range-c.html b/doc/refmanual/range-c.html new file mode 100644 index 0000000..e9566b1 --- /dev/null +++ b/doc/refmanual/range-c.html @@ -0,0 +1,144 @@ + + + + + + +The MPL Reference Manual: range_c + + + + + +
Front Page / Sequences / Classes / range_c
+
+

range_c

+
+

Synopsis

+
+template<
+      typename T
+    , T Start
+    , T Finish
+    >
+struct range_c
+{
+    typedef integral_c<T,Start> start;
+    typedef integral_c<T,Finish> finish;
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

range_c is a sorted Random Access Sequence of Integral Constants. Note +that because it is not an Extensible Sequence, sequence-building +intrinsic metafunctions such as push_front and transformation algorithms +such as replace are not directly applicable — to be able to use +them, you'd first need to copy the content of the range into a more suitable +sequence.

+
+
+

Header

+
+#include <boost/mpl/range_c.hpp>
+
+
+ +
+

Expression semantics

+

In the following table, r is an instance of range_c, n is an Integral Constant, +T is an arbitrary integral type, and n and m are integral constant values of type T.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
+range_c<T,n,m>
+range_c<T,n,m>::type
+
+
A sorted Random Access Sequence of integral constant +wrappers for the half-open range of values [n, +m): integral_c<T,n>, integral_c<T,n+1>,... +integral_c<T,m-1>.
begin<r>::typeAn iterator pointing to the beginning of r; +see Random Access Sequence.
end<r>::typeAn iterator pointing to the end of r; +see Random Access Sequence.
size<r>::typeThe size of r; see Random Access Sequence.
empty<r>::typeA boolean Integral Constant c such that +c::value == true if and only if r is empty; see +Random Access Sequence.
front<r>::typeThe first element in r; see +Random Access Sequence.
back<r>::typeThe last element in r; see +Random Access Sequence.
at<r,n>::typeThe nth element from the beginning of r; see +Random Access Sequence.
+
+
+

Example

+
+typedef range_c<int,0,0> range0;
+typedef range_c<int,0,1> range1;
+typedef range_c<int,0,10> range10;
+
+BOOST_MPL_ASSERT_RELATION( size<range0>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( size<range1>::value, ==, 1 );
+BOOST_MPL_ASSERT_RELATION( size<range10>::value, ==, 10 );
+
+BOOST_MPL_ASSERT(( empty<range0> ));
+BOOST_MPL_ASSERT_NOT(( empty<range1> ));
+BOOST_MPL_ASSERT_NOT(( empty<range10> ));
+
+BOOST_MPL_ASSERT(( is_same< begin<range0>::type, end<range0>::type > ));
+BOOST_MPL_ASSERT_NOT(( is_same< begin<range1>::type, end<range1>::type > ));
+BOOST_MPL_ASSERT_NOT(( is_same< begin<range10>::type, end<range10>::type > ));
+
+BOOST_MPL_ASSERT_RELATION( front<range1>::type::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( back<range1>::type::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( front<range10>::type::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( back<range10>::type::value, ==, 9 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/refmanual_toc.html b/doc/refmanual/refmanual_toc.html new file mode 100644 index 0000000..52dc0fc --- /dev/null +++ b/doc/refmanual/refmanual_toc.html @@ -0,0 +1,302 @@ + + + + + + +The MPL Reference Manual: Full TOC + + + + +
+

Table of Contents

+ + + + + + diff --git a/doc/refmanual/remove-if.html b/doc/refmanual/remove-if.html new file mode 100644 index 0000000..2629b28 --- /dev/null +++ b/doc/refmanual/remove-if.html @@ -0,0 +1,140 @@ + + + + + + +The MPL Reference Manual: remove_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / remove_if
+
+

remove_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct remove_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a new sequence that contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range +except those that satisfy the predicate Pred.

+ +

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/remove_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredUnary Lambda ExpressionA removal condition.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, and an Inserter in, and an unary +Lambda Expression pred:

+
+typedef remove_if<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type op;
+
+typedef fold<
+      s
+    , in::state
+    , eval_if<
+          apply_wrap1<p,_2>
+        , identity<_1>
+        , apply_wrap2<op,_1,_2>
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value applications of pred, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector_c<int,1,4,5,2,7,5,3,5>::type numbers;
+typedef remove_if< numbers, greater<_,int_<4> > >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,vector_c<int,1,4,2,3>,equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/remove.html b/doc/refmanual/remove.html new file mode 100644 index 0000000..9f66f47 --- /dev/null +++ b/doc/refmanual/remove.html @@ -0,0 +1,128 @@ + + + + + + +The MPL Reference Manual: remove + + + + + +
Front Page / Algorithms / Transformation Algorithms / remove
+
+

remove

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    , typename In = unspecified
+    >
+struct remove
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a new sequence that contains all elements from [begin<Sequence>::type, end<Sequence>::type) +range except those that are identical to T.

+ +

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/remove.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
TAny typeA type to be removed.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an Inserter in, and arbitrary type x:

+
+typedef remove<s,x,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef remove_if< s,is_same<_,x>,in >::type r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value comparisons for equality, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector<int,float,char,float,float,double>::type types;
+typedef remove< types,float >::type result;
+
+BOOST_MPL_ASSERT(( equal< result, vector<int,char,double> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/replace-if.html b/doc/refmanual/replace-if.html new file mode 100644 index 0000000..f471f37 --- /dev/null +++ b/doc/refmanual/replace-if.html @@ -0,0 +1,133 @@ + + + + + + +The MPL Reference Manual: replace_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / replace_if
+
+

replace_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct replace_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a copy of the original sequence where every type that satisfies +the predicate Pred has been replaced with NewType.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/replace_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredUnary Lambda ExpressionA replacement condition.
NewTypeAny typeA type to replace with.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, +an Inserter in, and arbitrary type x:

+
+typedef replace_if<s,pred,x,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef transform< s, if_< apply_wrap1<p,_1>,x,_1>, in >::type r; 
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value applications of pred, and at most +size<s>::value insertions.

+
+
+

Example

+
+typedef vector_c<int,1,4,5,2,7,5,3,5> numbers;
+typedef vector_c<int,1,4,0,2,0,0,3,0> expected;
+typedef replace_if< numbers, greater<_,int_<4> >, int_<0> >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected, equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/replace.html b/doc/refmanual/replace.html new file mode 100644 index 0000000..fce9a3e --- /dev/null +++ b/doc/refmanual/replace.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: replace + + + + + +
Front Page / Algorithms / Transformation Algorithms / replace
+
+

replace

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename OldType
+    , typename NewType
+    , typename In = unspecified
+    >
+struct replace
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a copy of the original sequence where every type identical to OldType +has been replaced with NewType.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/replace.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA original sequence.
OldTypeAny typeA type to be replaced.
NewTypeAny typeA type to replace with.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an Inserter in, and arbitrary types x and y:

+
+typedef replace<s,x,y,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef replace_if< s,y,is_same<_,x>,in >::type r; 
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value comparisons for +identity / insertions.

+
+
+

Example

+
+typedef vector<int,float,char,float,float,double> types;
+typedef vector<int,double,char,double,double,double> expected;
+typedef replace< types,float,double >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-copy-if.html b/doc/refmanual/reverse-copy-if.html new file mode 100644 index 0000000..1edcdc2 --- /dev/null +++ b/doc/refmanual/reverse-copy-if.html @@ -0,0 +1,142 @@ + + + + + + +The MPL Reference Manual: reverse_copy_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_copy_if
+
+

reverse_copy_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct reverse_copy_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a reversed, filtered copy of the original sequence containing the +elements that satisfy the predicate Pred.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/copy_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to copy.
PredUnary Lambda ExpressionA copying condition.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and +an Inserter in:

+
+typedef reverse_copy_if<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type op;
+
+typedef reverse_fold<
+      s
+    , in::state
+    , eval_if<
+          apply_wrap1<p,_2>
+        , apply_wrap2<op,_1,_2>
+        , identity<_1>
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and at +most size<s>::value applications of in::operation.

+
+
+

Example

+
+typedef reverse_copy_if<
+      range_c<int,0,10>
+    , less< _1, int_<5> >
+    , front_inserter< vector<> >
+    >::type result;
+
+BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 5 );
+BOOST_MPL_ASSERT(( equal<result,range_c<int,0,5> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-copy.html b/doc/refmanual/reverse-copy.html new file mode 100644 index 0000000..a75418c --- /dev/null +++ b/doc/refmanual/reverse-copy.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: reverse_copy + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_copy
+
+

reverse_copy

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename In = unspecified
+    >
+struct reverse_copy
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a reversed copy of the original sequence.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/copy.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to copy.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, and an Inserter in:

+
+typedef reverse_copy<s,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_fold< s,in::state,in::operation >::type r; 
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of in::operation.

+
+
+

Example

+
+typedef list_c<int,10,11,12,13,14,15,16,17,18,19>::type numbers;
+typedef reverse_copy<
+      range_c<int,0,10>
+    , front_inserter< numbers >
+    >::type result;
+
+BOOST_MPL_ASSERT_RELATION( size<result>::value, ==, 20 );
+BOOST_MPL_ASSERT(( equal< result,range_c<int,0,20> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-fold.html b/doc/refmanual/reverse-fold.html new file mode 100644 index 0000000..5fbe126 --- /dev/null +++ b/doc/refmanual/reverse-fold.html @@ -0,0 +1,169 @@ + + + + + + +The MPL Reference Manual: reverse_fold + + + + + +
Front Page / Algorithms / Iteration Algorithms / reverse_fold
+
+

reverse_fold

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename State
+    , typename BackwardOp
+    , typename ForwardOp = _1
+    >
+struct reverse_fold
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of the successive application of binary BackwardOp to the +result of the previous BackwardOp invocation (State if it's the first call) +and every element in the range [begin<Sequence>::type, end<Sequence>::type) in +reverse order. If ForwardOp is provided, then it is applied on forward +traversal to form the result that is passed to the first BackwardOp call.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to iterate.
StateAny typeThe initial state for the first BackwardOp +/ ForwardOp application.
BackwardOpBinary Lambda ExpressionThe operation to be executed on backward +traversal.
ForwardOpBinary Lambda ExpressionThe operation to be executed on forward +traversal.
+
+
+

Expression semantics

+

For any Forward Sequence s, binary Lambda Expression backward_op and forward_op, +and arbitrary type state:

+
+typedef reverse_fold< s,state,backward_op >::type t; 
+
+ +++ + + + + + +
Return type:A type
Semantics:

Equivalent to

+
+typedef reverse_iter_fold< 
+      s
+    , state
+    , apply<backward_op,_1,deref<_2> >
+    >::type t; 
+
+
+ +
+typedef reverse_fold< s,state,backward_op,forward_op >::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_fold<
+      Sequence
+    , fold<s,state,forward_op>::type
+    , backward_op
+    >::type t;        
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of backward_op and forward_op.

+
+
+

Example

+

Remove negative elements from a sequence [2].

+
+typedef list_c<int,5,-1,0,-7,-2,0,-5,4> numbers;
+typedef list_c<int,-1,-7,-2,-5> negatives;
+typedef reverse_fold<
+      numbers
+    , list_c<int>
+    , if_< less< _2,int_<0> >, push_front<_1,_2,>, _1 >
+    >::type result;
+
+BOOST_MPL_ASSERT(( equal< negatives,result > ));
+
+ + + + + +
[2]See remove_if for a more compact way to do this.
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-iter-fold.html b/doc/refmanual/reverse-iter-fold.html new file mode 100644 index 0000000..9192963 --- /dev/null +++ b/doc/refmanual/reverse-iter-fold.html @@ -0,0 +1,169 @@ + + + + + + +The MPL Reference Manual: reverse_iter_fold + + + + + +
Front Page / Algorithms / Iteration Algorithms / reverse_iter_fold
+
+

reverse_iter_fold

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename State
+    , typename BackwardOp
+    , typename ForwardOp = _1
+    >
+struct reverse_iter_fold
+{
+    typedef unspecified  type;
+};
+
+
+
+

Description

+

Returns the result of the successive application of binary BackwardOp to the +result of the previous BackwardOp invocation (State if it's the first call) +and each iterator in the range [begin<Sequence>::type, end<Sequence>::type) +in reverse order. If ForwardOp is provided, then it's applied on forward +traversal to form the result which is passed to the first BackwardOp call.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to iterate.
StateAny typeThe initial state for the first BackwardOp +/ ForwardOp application.
BackwardOpBinary Lambda ExpressionThe operation to be executed on backward +traversal.
ForwardOpBinary Lambda ExpressionThe operation to be executed on forward +traversal.
+
+
+

Expression semantics

+

For any Forward Sequence s, binary Lambda Expression backward_op and forward_op, +and arbitrary type state:

+
+typedef reverse_iter_fold< s,state,backward_op >::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef begin<s>::type i1;
+typedef next<i1>::type i2;
+...
+typedef next<in>::type last;
+typedef apply<backward_op,state,in>::type staten;
+typedef apply<backward_op,staten,in-1>::type staten-1; 
+...
+typedef apply<backward_op,state2,i1>::type state1; 
+typedef state1 t;
+
+

where n == size<s>::value and last is identical to end<s>::type; equivalent +to typedef state t; if empty<s>::value == true.

+
+ +
+typedef reverse_iter_fold< s,state,backward_op,forward_op >::type t; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_iter_fold<
+      Sequence
+    , iter_fold<s,state,forward_op>::type
+    , backward_op
+    >::type t; 
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of backward_op and forward_op.

+
+
+

Example

+

Build a list of iterators to the negative elements in a sequence.

+
+typedef vector_c<int,5,-1,0,-7,-2,0,-5,4> numbers;
+typedef list_c<int,-1,-7,-2,-5> negatives;
+typedef reverse_iter_fold<
+      numbers
+    , list<>
+    , if_< less< deref<_2>,int_<0> >, push_front<_1,_2>, _1 >
+    >::type iters;
+
+BOOST_MPL_ASSERT(( equal< 
+      negatives
+    , transform_view< iters,deref<_1> >
+    > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-partition.html b/doc/refmanual/reverse-partition.html new file mode 100644 index 0000000..5946e63 --- /dev/null +++ b/doc/refmanual/reverse-partition.html @@ -0,0 +1,136 @@ + + + + + + +The MPL Reference Manual: reverse_partition + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_partition
+
+

reverse_partition

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In1 = unspecified
+    , typename In2 = unspecified
+    >
+struct reverse_partition
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a pair of sequences together containing all elements in the range +[begin<Seq>::type, end<Seq>::type) split into two groups based on the predicate Pred. +reverse_partition is a synonym for reverse_stable_partition.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/partition.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SeqForward SequenceAn original sequence.
PredUnary Lambda ExpressionA partitioning predicate.
In1, In2InserterOutput inserters.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and Inserters +in1 and in2:

+
+typedef reverse_partition<s,pred,in1,in2>::type r;
+
+ +++ + + + + + +
Return type:A pair.
Semantics:

Equivalent to

+
+typedef reverse_stable_partition<s,pred,in1,in2>::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and size<s>::value +of summarized in1::operation / in2::operation applications.

+
+
+

Example

+
+template< typename N > struct is_odd : bool_<(N::value % 2)> {};
+
+typedef partition<
+      range_c<int,0,10> 
+    , is_odd<_1>
+    , back_inserter< vector<> >
+    , back_inserter< vector<> >
+    >::type r;
+
+BOOST_MPL_ASSERT(( equal< r::first, vector_c<int,9,7,5,3,1> > ));
+BOOST_MPL_ASSERT(( equal< r::second, vector_c<int,8,6,4,2,0> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-remove-if.html b/doc/refmanual/reverse-remove-if.html new file mode 100644 index 0000000..27e4dd3 --- /dev/null +++ b/doc/refmanual/reverse-remove-if.html @@ -0,0 +1,139 @@ + + + + + + +The MPL Reference Manual: reverse_remove_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_remove_if
+
+

reverse_remove_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct reverse_remove_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a new sequence that contains all the elements from [begin<Sequence>::type, end<Sequence>::type) range +in reverse order except those that satisfy the predicate Pred.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/remove_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredUnary Lambda ExpressionA removal condition.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, and an Inserter in, and an unary +Lambda Expression pred:

+
+typedef reverse_remove_if<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type op;
+
+typedef reverse_fold<
+      s
+    , in::state
+    , eval_if<
+          apply_wrap1<p,_2>
+        , identity<_1>
+        , apply_wrap2<op,_1,_2>
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value applications of pred, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector_c<int,1,4,5,2,7,5,3,5>::type numbers;
+typedef reverse_remove_if< numbers, greater<_,int_<4> > >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,vector_c<int,3,2,4,1>,equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-remove.html b/doc/refmanual/reverse-remove.html new file mode 100644 index 0000000..56c5f90 --- /dev/null +++ b/doc/refmanual/reverse-remove.html @@ -0,0 +1,127 @@ + + + + + + +The MPL Reference Manual: reverse_remove + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_remove
+
+

reverse_remove

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    , typename In = unspecified
+    >
+struct reverse_remove
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a new sequence that contains all elements from [begin<Sequence>::type, end<Sequence>::type) +range in reverse order except those that are identical to T.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/remove.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
TAny typeA type to be removed.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an Inserter in, and arbitrary type x:

+
+typedef reverse_remove<s,x,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_remove_if< s,is_same<_,x>,in >::type r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value comparisons for equality, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector<int,float,char,float,float,double>::type types;
+typedef reverse_remove< types,float >::type result;
+
+BOOST_MPL_ASSERT(( equal< result, vector<double,char,int> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-replace-if.html b/doc/refmanual/reverse-replace-if.html new file mode 100644 index 0000000..85068d3 --- /dev/null +++ b/doc/refmanual/reverse-replace-if.html @@ -0,0 +1,138 @@ + + + + + + +The MPL Reference Manual: reverse_replace_if + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_replace_if
+
+

reverse_replace_if

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename Pred
+    , typename In = unspecified
+    >
+struct reverse_replace_if
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a reversed copy of the original sequence where every type that satisfies +the predicate Pred has been replaced with NewType.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/replace_if.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredUnary Lambda ExpressionA replacement condition.
NewTypeAny typeA type to replace with.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, +an Inserter in, and arbitrary type x:

+
+typedef reverse_replace_if<s,pred,x,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef reverse_transform< s, if_< apply_wrap1<p,_1>,x,_1>, in >::type r; 
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value applications of pred, and at most +size<s>::value insertions.

+
+
+

Example

+
+typedef vector_c<int,1,4,5,2,7,5,3,5> numbers;
+typedef vector_c<int,1,4,0,2,0,0,3,0> expected;
+typedef reverse_replace_if< 
+      numbers
+    , greater< _, int_<4> >
+    , int_<0>
+    , front_inserter< vector<> >
+    >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected, equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-replace.html b/doc/refmanual/reverse-replace.html new file mode 100644 index 0000000..f82f8e1 --- /dev/null +++ b/doc/refmanual/reverse-replace.html @@ -0,0 +1,132 @@ + + + + + + +The MPL Reference Manual: reverse_replace + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_replace
+
+

reverse_replace

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename OldType
+    , typename NewType
+    , typename In = unspecified
+    >
+struct reverse_replace
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a reversed copy of the original sequence where every type identical to OldType +has been replaced with NewType.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/replace.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA original sequence.
OldTypeAny typeA type to be replaced.
NewTypeAny typeA type to replace with.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an Inserter in, and arbitrary types x and y:

+
+typedef reverse_replace<s,x,y,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_replace_if< s,y,is_same<_,x>,in >::type r; 
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value comparisons for +identity / insertions.

+
+
+

Example

+
+typedef vector<int,float,char,float,float,double> types;
+typedef vector<double,double,double,char,double,int> expected;
+typedef reverse_replace< types,float,double >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-stable-partition.html b/doc/refmanual/reverse-stable-partition.html new file mode 100644 index 0000000..bd2e8ff --- /dev/null +++ b/doc/refmanual/reverse-stable-partition.html @@ -0,0 +1,148 @@ + + + + + + +The MPL Reference Manual: reverse_stable_partition + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_stable_partition
+
+

reverse_stable_partition

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In1 = unspecified
+    , typename In2 = unspecified
+    >
+struct reverse_stable_partition
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a pair of sequences together containing all elements in the range +[begin<Seq>::type, end<Seq>::type) split into two groups based on the predicate Pred. +reverse_stable_partition is guaranteed to preserve the reversed +relative order of the elements in the resulting sequences.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SeqForward SequenceAn original sequence.
PredUnary Lambda ExpressionA partitioning predicate.
In1, In2InserterOutput inserters.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and Inserters +in1 and in2:

+
+typedef reverse_stable_partition<s,pred,in1,in2>::type r;
+
+ +++ + + + + + +
Return type:A pair.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in1::operation>::type in1_op;
+typedef lambda<in2::operation>::type in2_op;
+
+typedef reverse_fold<
+      s
+    , pair< in1::state, in2::state >
+    , if_< 
+          apply_wrap1<p,_2>
+        , pair< apply_wrap2<in1_op,first<_1>,_2>, second<_1> >
+        , pair< first<_1>, apply_wrap2<in2_op,second<_1>,_2> >
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and size<s>::value +of summarized in1::operation / in2::operation applications.

+
+
+

Example

+
+template< typename N > struct is_odd : bool_<(N::value % 2)> {};
+
+typedef reverse_stable_partition<
+      range_c<int,0,10> 
+    , is_odd<_1>
+    , back_inserter< vector<> >
+    , back_inserter< vector<> >
+    >::type r;
+
+BOOST_MPL_ASSERT(( equal< r::first, vector_c<int,9,7,5,3,1> > ));
+BOOST_MPL_ASSERT(( equal< r::second, vector_c<int,8,6,4,2,0> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-transform.html b/doc/refmanual/reverse-transform.html new file mode 100644 index 0000000..1f1362e --- /dev/null +++ b/doc/refmanual/reverse-transform.html @@ -0,0 +1,184 @@ + + + + + + +The MPL Reference Manual: reverse_transform + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_transform
+
+

reverse_transform

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Op
+    , typename In = unspecified
+    >
+struct reverse_transform
+{
+    typedef unspecified type;
+};
+
+template<
+      typename Seq1
+    , typename Seq2
+    , typename BinaryOp
+    , typename In = unspecified
+    >
+struct reverse_transform
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

reverse_transform is an overloaded name:

+
    +
  • reverse_transform<Seq,Op> returns a reversed, transformed copy of the +original sequence produced by applying an unary transformation Op to +every element in the [begin<Sequence>::type, end<Sequence>::type) range.
  • +
  • reverse_transform<Seq1,Seq2,Op> returns a new sequence produced by applying a +binary transformation BinaryOp to a pair of elements (e1, e21) +from the corresponding [begin<Seq1>::type, end<Seq1>::type) and [begin<Seq2>::type, end<Seq2>::type) ranges in reverse +order.
  • +
+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/transform.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
Sequence, +Seq1, Seq2Forward SequenceSequences to transform.
Op, +BinaryOpLambda ExpressionA transformation.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequences s, s1 and s2, Lambda Expressions op and op2, +and an Inserter in:

+
+typedef reverse_transform<s,op,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Postcondition:

Equivalent to

+
+typedef lambda<op>::type f;
+typedef lambda<in::operation>::type in_op;
+
+typedef reverse_fold< 
+      s
+    , in::state
+    , bind< in_op, _1, bind<f, _2> > 
+    >::type r;
+
+
+
+typedef transform<s1,s2,op,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Postcondition:

Equivalent to

+
+typedef lambda<op2>::type f;
+typedef lambda<in::operation>::type in_op;
+
+typedef reverse_fold< 
+      pair_view<s1,s2>
+    , in::state
+    , bind< 
+          in_op
+        , _1
+        , bind<f, bind<first<>,_2>, bind<second<>,_2> >
+        > 
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value / size<s1>::value applications of +op / op2 and in::operation.

+
+
+

Example

+
+typedef vector<char,short,int,long,float,double> types;
+typedef vector<double*,float*,long*,int*,short*,char*> pointers;
+typedef reverse_transform< types,boost::add_pointer<_1> >::type result;
+
+BOOST_MPL_ASSERT(( equal<result,pointers> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse-unique.html b/doc/refmanual/reverse-unique.html new file mode 100644 index 0000000..3f8a68a --- /dev/null +++ b/doc/refmanual/reverse-unique.html @@ -0,0 +1,149 @@ + + + + + + +The MPL Reference Manual: reverse_unique + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse_unique
+
+

reverse_unique

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In = unspecified
+    >
+struct reverse_unique
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a sequence of the initial elements of every subrange of the +reversed original sequence Seq whose elements are all the same.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/unique.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredBinary Lambda ExpressionAn equivalence relation.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, a binary Lambda Expression pred, +and an Inserter in:

+
+typedef reverse_unique<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

If size<s>::value <= 1, then equivalent to

+
+typedef reverse_copy<s,in>::type r;
+
+

otherwise equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type in_op;
+typedef apply_wrap2<
+      in_op
+    , in::state
+    , front<types>::type 
+    >::type in_state;
+
+typedef reverse_fold<
+      s
+    , pair< in_state, front<s>::type >
+    , eval_if< 
+          apply_wrap2<p, second<_1>, _2>
+        , identity< first<_1> >
+        , apply_wrap2<in_op, first<_1>, _2>
+        >
+    >::type::first r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value - 1 applications of pred, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector<int,float,float,char,int,int,int,double> types;
+typedef vector<double,int,char,float,int> expected;
+typedef reverse_unique< types, is_same<_1,_2> >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reverse.html b/doc/refmanual/reverse.html new file mode 100644 index 0000000..e020830 --- /dev/null +++ b/doc/refmanual/reverse.html @@ -0,0 +1,114 @@ + + + + + + +The MPL Reference Manual: reverse + + + + + +
Front Page / Algorithms / Transformation Algorithms / reverse
+
+

reverse

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename In = unspecified
+    >
+struct reverse
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a reversed copy of the original sequence. reverse is a synonym for +reverse_copy.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/reverse.hpp>
+
+
+
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to reverse.
InInserterAn inserter.
+
+
+

Expression semantics

+

For any Forward Sequence s, and an Inserter in:

+
+typedef reverse<s,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

Equivalent to

+
+typedef reverse_copy<s,in>::type r; 
+
+
+
+
+

Complexity

+

Linear.

+
+
+

Example

+
+typedef vector_c<int,9,8,7,6,5,4,3,2,1,0> numbers;
+typedef reverse< numbers >::type result;
+
+BOOST_MPL_ASSERT(( equal< result, range_c<int,0,10> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/reversible-algorithm.html b/doc/refmanual/reversible-algorithm.html new file mode 100644 index 0000000..708e7e1 --- /dev/null +++ b/doc/refmanual/reversible-algorithm.html @@ -0,0 +1,188 @@ + + + + + + +The MPL Reference Manual: Reversible Algorithm + + + + + +
Front Page / Algorithms / Concepts / Reversible Algorithm
+
+

Reversible Algorithm

+
+

Description

+

A Reversible Algorithm is a member of a pair of +transformation algorithms that iterate over their input sequence(s) +in opposite directions. For each reversible +algorithm x there exists a counterpart algorithm reverse_x, +that exhibits the exact semantics of x except that the elements +of its input sequence argument(s) are processed in the reverse +order.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, x is a placeholder token for the actual +Reversible Algorithm's name, s1,s2,...sn are +Forward Sequences, and in is an Inserter.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
x<s1,s2,...sn, ...>::typeForward SequenceUnspecified.
x<s1,s2,...sn, ... in>::typeAny typeUnspecified.
reverse_x<s1,s2,...sn, ...>::typeForward SequenceUnspecified.
reverse_x<s1,s2,...sn, ... in>::typeAny typeUnspecified.
+
+
+

Expression semantics

+
+typedef x<s1,s2,...sn,...>::type t;
+
+ +++ + + + + + +
Precondition:s1 is an Extensible Sequence.
Semantics:

t is equivalent to

+
+x<
+      s1,s2,...sn,...
+    , back_inserter< clear<s1>::type >    
+    >::type
+
+

if has_push_back<s1>::value == true and

+
+reverse_x<
+      s1,s2,...sn,...
+    , front_inserter< clear<s1>::type >    
+    >::type
+
+

otherwise.

+
+ +
+typedef x<s1,s2,...sn,...in>::type t;
+
+ +++ + + + +
Semantics:t is the result of an x invocation with arguments +s1,s2,... sn,...in.
+ +
+typedef reverse_x<s1,s2,... sn,... >::type t;
+
+ +++ + + + + + +
Precondition:s1 is an Extensible Sequence.
Semantics:

t is equivalent to

+
+x<
+      s1,s2,...sn,...
+    , front_inserter< clear<s1>::type >    
+    >::type
+
+

if has_push_front<s1>::value == true and

+
+reverse_x<
+      s1,s2,...sn,...
+    , back_inserter< clear<s1>::type >    
+    >::type
+
+

otherwise.

+
+ +
+typedef reverse_x<s1,s2,...sn,... in>::type t;
+
+ +++ + + + +
Semantics:t is the result of a reverse_x invocation with arguments +s1,s2,...sn,...in.
+
+
+

Example

+
+typedef transform< 
+      range_c<int,0,10>
+    , plus<_1,int_<7> >
+    , back_inserter< vector0<> > 
+    >::type r1;
+
+typedef transform< r1, minus<_1,int_<2> > >::type r2;
+typedef reverse_transform< 
+      r2
+    , minus<_1,5> 
+    , front_inserter< vector0<> > 
+    >::type r3;
+
+BOOST_MPL_ASSERT(( equal<r1, range_c<int,7,17> > ));
+BOOST_MPL_ASSERT(( equal<r2, range_c<int,5,15> > ));
+BOOST_MPL_ASSERT(( equal<r3, range_c<int,0,10> > ));
+
+
+ + +
+ + + + + diff --git a/doc/refmanual/sequence-tag.html b/doc/refmanual/sequence-tag.html new file mode 100644 index 0000000..1987d40 --- /dev/null +++ b/doc/refmanual/sequence-tag.html @@ -0,0 +1,93 @@ + + + + + + +The MPL Reference Manual: sequence_tag + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / sequence_tag
+
+

sequence_tag

+
+

Synopsis

+
+template<
+      typename X
+    >
+struct sequence_tag
+{
+    typedef unspecified type;
+};
+
+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeA type to obtain a sequence tag for.
+
+
+

Expression semantics

+

For any arbitrary type x:

+
+typedef sequence_tag<x>::type tag; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:tag is an unspecified tag type for x.
+
+
+

Complexity

+

Amortized constant time.

+
+ +
+ + + + + diff --git a/doc/refmanual/sequences.html b/doc/refmanual/sequences.html new file mode 100644 index 0000000..ad28a3d --- /dev/null +++ b/doc/refmanual/sequences.html @@ -0,0 +1,44 @@ + + + + + + +The MPL Reference Manual: Sequences + + + + + +
Front Page / Sequences
+
+

Sequences

+

Compile-time sequences of types are one of the basic concepts of C++ +template metaprogramming. Differences in types of objects being +manipulated is the most common point of variability of similar, but +not identical designs, and these are a direct target for +metaprogramming. Templates were originally designed to address this +exact problem. However, without predefined mechanisms for +representing and manipulating sequences of types as opposed to +standalone template parameters, high-level template metaprogramming +is severely limited in its capabitilies.

+

The MPL recognizes the importance of type sequences as a fundamental +building block of many higher-level metaprogramming designs by +providing us with a conceptual framework for formal reasoning +and understanding of sequence properties, guarantees and +characteristics, as well as a first-class implementation of that +framework — a wealth of tools for concise, convenient, +conceptually precise and efficient sequence manipulation.

+ + +
+ + + + + diff --git a/doc/refmanual/set-c.html b/doc/refmanual/set-c.html new file mode 100644 index 0000000..5b51e91 --- /dev/null +++ b/doc/refmanual/set-c.html @@ -0,0 +1,124 @@ + + + + + + +The MPL Reference Manual: set_c + + + + + +
Front Page / Sequences / Classes / set_c
+
+

set_c

+
+

Description

+

set_c is an Integral Sequence Wrapper for set. As such, it shares +all set characteristics and requirements, and differs only in the way the +original sequence content is specified.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/set_c.hpp>
Numbered#include <boost/mpl/set/setn_c.hpp>
+
+ +
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in set.

+ + ++++ + + + + + + + + + + + + + + + + +
ExpressionSemantics
+set_c<T,c1,c2,... cn>
+setn_c<T,c1,c2,... cn>
+
+
A set of integral constant wrappers +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn>; +see Integral Sequence Wrapper.
+set_c<T,c1,c2,... cn>::type
+setn_c<T,c1,c2,... cn>::type
+
+
Identical to setn< +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn> >; +see Integral Sequence Wrapper.
+set_c<T,c1,c2,... cn>::value_type
+setn_c<T,c1,c2,... cn>::value_type
+
+
Identical to T; see +Integral Sequence Wrapper.
+
+
+

Example

+
+typedef set_c< int,1,3,5,7,9 > odds;
+
+BOOST_MPL_ASSERT_RELATION( size<odds>::value, ==, 5 );
+BOOST_MPL_ASSERT_NOT(( empty<odds> ));
+
+BOOST_MPL_ASSERT(( has_key< odds, integral_c<int,5> > ));
+BOOST_MPL_ASSERT_NOT(( has_key< odds, integral_c<int,4> > ));
+BOOST_MPL_ASSERT_NOT(( has_key< odds, integral_c<int,15> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/set.html b/doc/refmanual/set.html new file mode 100644 index 0000000..02fae92 --- /dev/null +++ b/doc/refmanual/set.html @@ -0,0 +1,179 @@ + + + + + + +The MPL Reference Manual: set + + + + + +
Front Page / Sequences / Classes / set
+
+

set

+
+

Description

+

set is a variadic, associative, extensible sequence of types that +supports constant-time insertion and removal of elements, and testing for membership. +A set may contain at most one element for each key.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/set.hpp>
Numbered#include <boost/mpl/set/setn.hpp>
+
+ +
+

Expression semantics

+

In the following table, s is an instance of set, pos is an iterator into s, +and x, k, and t1,t2,... tn are arbitrary types.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
+set<t1,t2,... tn>
+setn<t1,t2,... tn>
+
+
set of elements t1,t2,... tn; see +Variadic Sequence.
+set<t1,t2,... tn>::type
+setn<t1,t2,... tn>::type
+
+
Identical to setn<t1,t2,... tn>; +see Variadic Sequence.
begin<s>::typeAn iterator pointing to the beginning of s; +see Associative Sequence.
end<s>::typeAn iterator pointing to the end of s; +see Associative Sequence.
size<s>::typeThe size of s; see Associative Sequence.
empty<s>::typeA boolean Integral Constant c such that +c::value == true if and only if s is empty; see +Associative Sequence.
front<s>::typeThe first element in s; see +Associative Sequence.
has_key<s,k>::typeA boolean Integral Constant c such that +c::value == true if and only if there is one or more elements +with the key k in s; see Associative Sequence.
count<s,k>::typeThe number of elements with the key k in s; +see Associative Sequence.
order<s,k>::typeA unique unsigned Integral Constant associated with +the key k in s; see Associative Sequence.
+at<s,k>::type
+at<s,k,def>::type
+
+
The element associated with the key k in +s; see Associative Sequence.
key_type<s,x>::typeIdentical to x; see Associative Sequence.
value_type<s,x>::typeIdentical to x; see Associative Sequence.
insert<s,x>::type

A new set equivalent to s except that

+
+at< t, key_type<s,x>::type >::type
+
+

is identical to value_type<s,x>::type.

+
insert<s,pos,x>::typeEquivalent to insert<s,x>::type; pos is ignored.
erase_key<s,k>::typeA new set equivalent to s except that +has_key<t, k>::value == false.
erase<s,pos>::typeEquivalent to erase<s, deref<pos>::type >::type.
clear<s>::typeAn empty set; see clear.
+
+
+

Example

+
+typedef set< int,long,double,int_<5> > s;
+
+BOOST_MPL_ASSERT_RELATION( size<s>::value, ==, 4 );
+BOOST_MPL_ASSERT_NOT(( empty<s> ));
+
+BOOST_MPL_ASSERT(( is_same< at<s,int>::type, int > ));
+BOOST_MPL_ASSERT(( is_same< at<s,long>::type, long > ));
+BOOST_MPL_ASSERT(( is_same< at<s,int_<5> >::type, int_<5> > ));
+BOOST_MPL_ASSERT(( is_same< at<s,char>::type, void_ > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/shift-left.html b/doc/refmanual/shift-left.html new file mode 100644 index 0000000..837d8c5 --- /dev/null +++ b/doc/refmanual/shift-left.html @@ -0,0 +1,146 @@ + + + + + + +The MPL Reference Manual: shift_left + + + + + +
Front Page / Metafunctions / Bitwise Operations / shift_left
+
+

shift_left

+
+

Synopsis

+
+template< 
+      typename T
+    , typename Shift
+    >
+struct shift_left
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of bitwise shift left (<<) operation on T.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
TIntegral ConstantA value to shift.
ShiftUnsigned Integral ConstantA shift distance.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For arbitrary Integral Constant c and unsigned Integral Constant shift:

+
+typedef shift_left<c,shift>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      c::value_type
+    , ( c::value << shift::value )
+    > r;
+
+
+ +
+typedef shift_left<c,shift> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : shift_left<c,shift>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef integral_c<unsigned,0> u0;
+typedef integral_c<unsigned,1> u1;
+typedef integral_c<unsigned,2> u2;
+typedef integral_c<unsigned,8> u8;
+
+BOOST_MPL_ASSERT_RELATION( (shift_left<u0,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (shift_left<u1,u0>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (shift_left<u1,u1>::value), ==, 2 );
+BOOST_MPL_ASSERT_RELATION( (shift_left<u2,u1>::value), ==, 4 );
+BOOST_MPL_ASSERT_RELATION( (shift_left<u8,u1>::value), ==, 16 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/shift-right.html b/doc/refmanual/shift-right.html new file mode 100644 index 0000000..e1bfb65 --- /dev/null +++ b/doc/refmanual/shift-right.html @@ -0,0 +1,145 @@ + + + + + + +The MPL Reference Manual: shift_right + + + + + +
Front Page / Metafunctions / Bitwise Operations / shift_right
+
+

shift_right

+
+

Synopsis

+
+template< 
+      typename T
+    , typename Shift
+    >
+struct shift_right
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of bitwise shift right (>>) operation on T.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
TIntegral ConstantA value to shift.
ShiftUnsigned Integral ConstantA shift distance.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For arbitrary Integral Constant c and unsigned Integral Constant shift:

+
+typedef shift_right<c,shift>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      c::value_type
+    , ( c::value >> shift::value )
+    > r;
+
+
+ +
+typedef shift_right<c,shift> r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : shift_right<c,shift>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef integral_c<unsigned,0> u0;
+typedef integral_c<unsigned,1> u1;
+typedef integral_c<unsigned,2> u2;
+typedef integral_c<unsigned,8> u8;
+
+BOOST_MPL_ASSERT_RELATION( (shift_right<u0,u0>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (shift_right<u1,u0>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (shift_right<u1,u1>::value), ==, 0 );
+BOOST_MPL_ASSERT_RELATION( (shift_right<u2,u1>::value), ==, 1 );
+BOOST_MPL_ASSERT_RELATION( (shift_right<u8,u1>::value), ==, 4 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/single-view.html b/doc/refmanual/single-view.html new file mode 100644 index 0000000..b71e146 --- /dev/null +++ b/doc/refmanual/single-view.html @@ -0,0 +1,123 @@ + + + + + + +The MPL Reference Manual: single_view + + + + + +
Front Page / Sequences / Views / single_view
+
+

single_view

+
+

Synopsis

+
+template<
+      typename T
+    >
+struct single_view
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A view onto an arbitrary type T as on a single-element sequence.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
TAny typeThe type to be wrapped in a sequence.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Random Access Sequence.

+

In the following table, v is an instance of single_view, x is an arbitrary type.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
+single_view<x>
+single_view<x>::type
+
+
A single-element Random Access Sequence v such that +front<v>::type is identical to x.
size<v>::typeThe size of v; size<v>::value == 1; +see Random Access Sequence.
+
+
+

Example

+
+typedef single_view<int> view;
+typedef begin<view>::type first;
+typedef end<view>::type last;
+
+BOOST_MPL_ASSERT(( is_same< deref<first>::type,int > ));
+BOOST_MPL_ASSERT(( is_same< next<first>::type,last > ));
+BOOST_MPL_ASSERT(( is_same< prior<last>::type,first > ));
+
+BOOST_MPL_ASSERT_RELATION( size<view>::value, ==, 1 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/size-t.html b/doc/refmanual/size-t.html new file mode 100644 index 0000000..fca7032 --- /dev/null +++ b/doc/refmanual/size-t.html @@ -0,0 +1,112 @@ + + + + + + +The MPL Reference Manual: size_t + + + + + +
Front Page / Data Types / Numeric / size_t
+
+

size_t

+
+

Synopsis

+
+template<
+      std::size_t N
+    >
+struct size_t
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

An Integral Constant wrapper for std::size_t.

+
+
+

Header

+
+#include <boost/mpl/size_t.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
NAn integral constantA value to wrap.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Integral Constant.

+

For arbitrary integral constant n:

+ ++++ + + + + + + + + + + +
ExpressionSemantics
size_t<c>An Integral Constant x such that x::value == c +and x::value_type is identical to std::size_t.
+
+
+

Example

+
+typedef size_t<8> eight;
+
+BOOST_MPL_ASSERT(( is_same< eight::value_type, std::size_t > ));
+BOOST_MPL_ASSERT(( is_same< eight::type, eight > ));
+BOOST_MPL_ASSERT(( is_same< next< eight >::type, size_t<9> > ));
+BOOST_MPL_ASSERT(( is_same< prior< eight >::type, size_t<7> > ));
+BOOST_MPL_ASSERT_RELATION( (eight::value), ==, 8 );
+assert( eight() == 8 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/size.html b/doc/refmanual/size.html new file mode 100644 index 0000000..eddf285 --- /dev/null +++ b/doc/refmanual/size.html @@ -0,0 +1,120 @@ + + + + + + +The MPL Reference Manual: size + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / size
+
+

size

+
+

Synopsis

+
+template<
+      typename Sequence
+    >
+struct size
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

size returns the number of elements in the sequence, that is, the number of elements +in the range [begin<Sequence>::type, end<Sequence>::type).

+
+
+

Header

+
+#include <boost/mpl/size.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to query.
+
+
+

Expression semantics

+

For any Forward Sequence s:

+
+typedef size<s>::type n; 
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef distance< begin<s>::type,end<s>::type >::type n;
+
+
Postcondition:n::value >= 0.
+
+
+

Complexity

+

The complexity of the size metafunction directly depends on the implementation of +the particular sequence it is applied to. In the worst case, size guarantees a +linear complexity.

+

If the s is a Random Access Sequence, size<s>::type is an O(1) operation. +The opposite is not necessarily true — for example, a sequence class that models +Forward Sequence might still give us an O(1) size implementation.

+
+
+

Example

+
+typedef list0<> empty_list;
+typedef vector_c<int,0,1,2,3,4,5> numbers;
+typedef range_c<int,0,100> more_numbers;
+
+BOOST_MPL_ASSERT_RELATION( size<list>::value, ==, 0 );
+BOOST_MPL_ASSERT_RELATION( size<numbers>::value, ==, 5 );
+BOOST_MPL_ASSERT_RELATION( size<more_numbers>::value, ==, 100 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/sizeof.html b/doc/refmanual/sizeof.html new file mode 100644 index 0000000..726f94b --- /dev/null +++ b/doc/refmanual/sizeof.html @@ -0,0 +1,113 @@ + + + + + + +The MPL Reference Manual: sizeof_ + + + + + +
Front Page / Metafunctions / Miscellaneous / sizeof_
+
+

sizeof_

+
+

Synopsis

+
+template<
+      typename X
+    >
+struct sizeof_
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the result of a sizeof(X) expression wrapped into an +Integral Constant of the corresponding type, std::size_t.

+
+
+

Header

+
+#include <boost/mpl/sizeof.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
XAny typeA type to compute the sizeof for.
+
+
+

Expression semantics

+

For an arbitrary type x:

+
+typedef sizeof_<x>::type n; 
+
+ +++ + + + + + + + +
Return type:Integral Constant.
Precondition:x is a complete type.
Semantics:

Equivalent to

+
+typedef size_t< sizeof(x) > n;
+
+
+
+
+

Complexity

+

Constant time.

+
+
+

Example

+
+struct udt { char a[100]; };
+
+BOOST_MPL_ASSERT_RELATION( sizeof_<char>::value, ==, sizeof(char) );
+BOOST_MPL_ASSERT_RELATION( sizeof_<int>::value, ==, sizeof(int) );
+BOOST_MPL_ASSERT_RELATION( sizeof_<double>::value, ==, sizeof(double) );
+BOOST_MPL_ASSERT_RELATION( sizeof_<udt>::value, ==, sizeof(my) );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/sort.html b/doc/refmanual/sort.html new file mode 100644 index 0000000..3ebc8d2 --- /dev/null +++ b/doc/refmanual/sort.html @@ -0,0 +1,151 @@ + + + + + + +The MPL Reference Manual: sort + + + + + +
Front Page / Algorithms / Transformation Algorithms / sort
+
+

sort

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred = less<_1,_2>
+    , typename In = unspecified
+    >
+struct sort
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a new sequence of all elements in the range [begin<Seq>::type, end<Seq>::type) sorted according +to the ordering relation Pred.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/sort.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SeqForward SequenceAn original sequence.
PredBinary Lambda ExpressionAn ordering relation.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, a binary Lambda Expression pred, and an +Inserter in:

+
+typedef sort<s,pred,in>::type r;
+
+ +++ + + + + + +
Return type:A type.
Semantics:

If size<s>::value <= 1, equivalent to

+
+typedef copy<s,in>::type r;
+
+

otherwise equivalent to

+
+typedef back_inserter< vector<> > aux_in;
+typedef lambda<pred>::type p;
+
+typedef begin<s>::type pivot;
+typedef partition<
+      iterator_range< next<pivot>::type, end<s>::type >
+    , apply_wrap2<p,_1,deref<pivot>::type>
+    , aux_in
+    , aux_in
+    >::type partitioned;
+
+typedef sort<partitioned::first,p,aux_in >::type part1;
+typedef sort<partitioned::second,p,aux_in >::type part2;
+
+typedef copy<
+      joint_view< 
+          joint_view<part1,single_view< deref<pivot>::type > >
+        , part2
+        >
+    , in
+    >::type r;
+
+
+
+
+

Complexity

+

Average O(n log(n)) where n == size<s>::value, quadratic at worst.

+
+
+

Example

+
+typedef vector_c<int,3,4,0,-5,8,-1,7> numbers;
+typedef vector_c<int,-5,-1,0,3,4,7,8> expected;
+typedef sort<numbers>::type result;
+
+BOOST_MPL_ASSERT(( equal< result, expected, equal_to<_,_> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/stable-partition.html b/doc/refmanual/stable-partition.html new file mode 100644 index 0000000..89bbf16 --- /dev/null +++ b/doc/refmanual/stable-partition.html @@ -0,0 +1,149 @@ + + + + + + +The MPL Reference Manual: stable_partition + + + + + +
Front Page / Algorithms / Transformation Algorithms / stable_partition
+
+

stable_partition

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In1 = unspecified
+    , typename In2 = unspecified
+    >
+struct stable_partition
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a pair of sequences together containing all elements in the range +[begin<Seq>::type, end<Seq>::type) split into two groups based on the predicate Pred. +stable_partition is guaranteed to preserve the relative order of the +elements in the resulting sequences.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SeqForward SequenceAn original sequence.
PredUnary Lambda ExpressionA partitioning predicate.
In1, In2InserterOutput inserters.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, an unary Lambda Expression pred, and Inserters +in1 and in2:

+
+typedef stable_partition<s,pred,in1,in2>::type r;
+
+ +++ + + + + + +
Return type:A pair.
Semantics:

Equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in1::operation>::type in1_op;
+typedef lambda<in2::operation>::type in2_op;
+
+typedef fold<
+      s
+    , pair< in1::state, in2::state >
+    , if_< 
+          apply_wrap1<p,_2>
+        , pair< apply_wrap2<in1_op,first<_1>,_2>, second<_1> >
+        , pair< first<_1>, apply_wrap2<in2_op,second<_1>,_2> >
+        >
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value applications of pred, and size<s>::value +of summarized in1::operation / in2::operation applications.

+
+
+

Example

+
+template< typename N > struct is_odd : bool_<(N::value % 2)> {};
+
+typedef stable_partition<
+      range_c<int,0,10> 
+    , is_odd<_1>
+    , back_inserter< vector<> >
+    , back_inserter< vector<> >
+    >::type r;
+
+BOOST_MPL_ASSERT(( equal< r::first, vector_c<int,1,3,5,7,9> > ));
+BOOST_MPL_ASSERT(( equal< r::second, vector_c<int,0,2,4,6,8> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/tag-dispatched.html b/doc/refmanual/tag-dispatched.html new file mode 100644 index 0000000..040a2a0 --- /dev/null +++ b/doc/refmanual/tag-dispatched.html @@ -0,0 +1,171 @@ + + + + + + +The MPL Reference Manual: Tag Dispatched Metafunction + + + + + +
Front Page / Metafunctions / Concepts / Tag Dispatched Metafunction
+
+

Tag Dispatched Metafunction

+
+

Summary

+

A Tag Dispatched Metafunction is a Metafunction that employs a +tag dispatching technique in its implementation to build an +infrastructure for easy overriding/extenstion of the metafunction's +behavior.

+
+
+

Notation

+ ++++ + + + + + + + + + + + + + + + + +
SymbolLegend
nameA placeholder token for the specific metafunction's name.
tag-metafunctionA placeholder token for the tag metafunction's name.
tagA placeholder token for one of possible tag types +returned by the tag metafunction.
+
+
+

Synopsis

+
+template< typename Tag > struct name_impl; 
+
+template<
+      typename X
+    [, ...]
+    >
+struct name
+    : name_impl< typename tag-metafunction<X>::type >
+        ::template apply<X [, ...]>
+{
+};
+
+template< typename Tag > struct name_impl
+{
+    template< typename X [, ...] > struct apply
+    {
+        // default implementation
+    };
+};
+
+template<> struct name_impl<tag>
+{
+    template< typename X [, ...] > struct apply
+    {
+        // tag-specific implementation
+    };
+};
+
+
+
+

Description

+

The usual mechanism for overriding a metafunction's behavior is class +template specialization — given a library-defined metafunction f, +it's possible to write a specialization of f for a specific type +user_type that would have the required semantics [4].

+

While this mechanism is always available, it's not always the most +convenient one, especially if it is desirable to specialize a +metafunction's behavior for a family of related types. A typical +example of it is numbered forms of sequence classes in MPL itself +(list0, ..., list50, et al.), and sequence classes in general.

+

A Tag Dispatched Metafunction is a concept name for an instance of +the metafunction implementation infrastructure being employed by the +library to make it easier for users and implementors to override the +behavior of library's metafunctions operating on families of specific +types.

+

The infrastructure is built on a variation of the technique commonly +known as tag dispatching (hence the concept name), +and involves three entities: a metafunction itself, an associated +tag-producing tag metafunction, and the metafunction's +implementation, in the form of a Metafunction Class template +parametrized by a Tag type parameter. The metafunction redirects +to its implementation class template by invoking its specialization +on a tag type produced by the tag metafunction with the original +metafunction's parameters.

+ + + + + +
[4]Usually such user-defined specialization is still required +to preserve the f's original invariants and complexity requirements.
+
+
+

Example

+
+#include <boost/mpl/size.hpp>
+
+namespace user {
+
+struct bitset_tag;
+
+struct bitset0
+{
+    typedef bitset_tag tag;
+    // ...
+};
+
+template< typename B0 > struct bitset1
+{
+    typedef bitset_tag tag;
+    // ...
+};
+
+template< typename B0, ..., typename Bn > struct bitsetn
+{
+    typedef bitset_tag tag;
+    // ...
+};
+
+} // namespace user
+
+namespace boost { namespace mpl {
+template<> struct size_impl<user::bitset_tag>
+{
+    template< typename Bitset > struct apply
+    {
+        typedef typename Bitset::size type;
+    };
+};
+}}
+
+
+ + +
+ + + + + diff --git a/doc/refmanual/terminology.html b/doc/refmanual/terminology.html new file mode 100644 index 0000000..90950b1 --- /dev/null +++ b/doc/refmanual/terminology.html @@ -0,0 +1,51 @@ + + + + + + +The MPL Reference Manual: Terminology + + + + + +
Front Page / Terminology
+
+

Terminology

+
+
Overloaded name
+
Overloaded name is a term used in this reference documentation to designate +a metafunction providing more than one public interface. In reality, +class template overloading is nonexistent and the referenced functionality +is implemented by other, unspecified, means.
+
+
+
Concept-identical
+
A sequence s1 is said to be concept-identical to a sequence s2 if +s1 and s2 model the exact same set of concepts.
+
+
+
Bind expression
+

A bind expression is simply that — an instantiation of one of the bind +class templates. For instance, these are all bind expressions:

+
+bind< quote3<if_>, _1,int,long >
+bind< _1, bind< plus<>, int_<5>, _2> >
+bind< times<>, int_<2>, int_<2> >
+
+

and these are not:

+
+if_< _1, bind< plus<>, int_<5>, _2>, _2 >        
+protect< bind< quote3<if_>, _1,int,long > >
+_2
+
+
+
+ +
+ + + + + diff --git a/doc/refmanual/times.html b/doc/refmanual/times.html new file mode 100644 index 0000000..24baf01 --- /dev/null +++ b/doc/refmanual/times.html @@ -0,0 +1,140 @@ + + + + + + +The MPL Reference Manual: times + + + + + +
Front Page / Metafunctions / Arithmetic Operations / times
+
+

times

+
+

Synopsis

+
+template<
+      typename T1
+    , typename T2
+    , typename T3 = unspecified
+    ...
+    , typename Tn = unspecified
+    >
+struct times
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the product of its arguments.

+
+
+

Header

+
+#include <boost/mpl/times.hpp>
+#include <boost/mpl/arithmetic.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
T1, T2,... TnIntegral ConstantOperation's arguments.
+

[Note: The requirements listed in this specification +are the ones imposed by the default implementation. See Numeric Metafunction concept +for the details on how to provide an implementation for a user-defined numeric type +that does not satisfy the Integral Constant requirements. — end note]

+
+
+

Expression semantics

+

For any Integral Constants c1,c2,... cn:

+
+typedef times<c1,...cn>::type r; 
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+typedef integral_c<
+      typeof(c1::value * c2::value)
+    , ( c1::value * c2::value )
+    > c;
+    
+typedef times<c,c3,...cn>::type r; 
+
+
+ +
+typedef times<c1,...cn> r;
+
+ +++ + + + + + +
Return type:Integral Constant.
Semantics:

Equivalent to

+
+struct r : times<c1,...cn>::type {};
+
+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef times< int_<-10>, int_<3>, long_<1> >::type r;
+BOOST_MPL_ASSERT_RELATION( r::value, ==, -30 );
+BOOST_MPL_ASSERT(( is_same< r::value_type, long > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/transform-view.html b/doc/refmanual/transform-view.html new file mode 100644 index 0000000..5602625 --- /dev/null +++ b/doc/refmanual/transform-view.html @@ -0,0 +1,130 @@ + + + + + + +The MPL Reference Manual: transform_view + + + + + +
Front Page / Sequences / Views / transform_view
+
+

transform_view

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename F
+    >
+struct transform_view
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A view the full range of Sequence's transformed elements.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sequence to wrap.
FUnary Lambda ExpressionA transformation.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+

In the following table, v is an instance of transform_view, s is an arbitrary +Forward Sequence, and f is an unary Lambda Expression.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
+transform_view<s,f>
+transform_view<s,f>::type
+
+
A lazy Forward Sequence such that for each i in the +range [begin<v>::type, end<v>::type) and each j in for in the range +[begin<s>::type, end<s>::type) deref<i>::type is identical to +apply< f, deref<j>::type >::type.
size<v>::typeThe size of v; +size<v>::value == size<s>::value; +linear complexity; see Forward Sequence.
+
+
+

Example

+

Find the largest type in a sequence.

+
+typedef vector<int,long,char,char[50],double> types;
+typedef max_element<
+      transform_view< types, size_of<_> >
+    >::type iter;
+
+BOOST_MPL_ASSERT_RELATION( deref<iter>::type::value, ==, 50 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/transform.html b/doc/refmanual/transform.html new file mode 100644 index 0000000..8efb77e --- /dev/null +++ b/doc/refmanual/transform.html @@ -0,0 +1,183 @@ + + + + + + +The MPL Reference Manual: transform + + + + + +
Front Page / Algorithms / Transformation Algorithms / transform
+
+

transform

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Op
+    , typename In = unspecified
+    >
+struct transform
+{
+    typedef unspecified type;
+};
+
+template<
+      typename Seq1
+    , typename Seq2
+    , typename BinaryOp
+    , typename In = unspecified
+    >
+struct transform
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

transform is an overloaded name:

+
    +
  • transform<Seq,Op> returns a transformed copy of the original sequence +produced by applying an unary transformation Op to every element +in the [begin<Sequence>::type, end<Sequence>::type) range.
  • +
  • transform<Seq1,Seq2,Op> returns a new sequence produced by applying a +binary transformation BinaryOp to a pair of elements (e1, e21) +from the corresponding [begin<Seq1>::type, end<Seq1>::type) and [begin<Seq2>::type, end<Seq2>::type) ranges.
  • +
+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/transform.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
Sequence, +Seq1, Seq2Forward SequenceSequences to transform.
Op, +BinaryOpLambda ExpressionA transformation.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequences s, s1 and s2, Lambda Expressions op and op2, +and an Inserter in:

+
+typedef transform<s,op,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Postcondition:

Equivalent to

+
+typedef lambda<op>::type f;
+typedef lambda<in::operation>::type in_op;
+
+typedef fold< 
+      s
+    , in::state
+    , bind< in_op, _1, bind<f, _2> > 
+    >::type r;
+
+
+
+typedef transform<s1,s2,op,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Postcondition:

Equivalent to

+
+typedef lambda<op2>::type f;
+typedef lambda<in::operation>::type in_op;
+
+typedef fold< 
+      pair_view<s1,s2>
+    , in::state
+    , bind< 
+          in_op
+        , _1
+        , bind<f, bind<first<>,_2>, bind<second<>,_2> >
+        > 
+    >::type r;
+
+
+
+
+

Complexity

+

Linear. Exactly size<s>::value / size<s1>::value applications of +op / op2 and in::operation.

+
+
+

Example

+
+typedef vector<char,short,int,long,float,double> types;
+typedef vector<char*,short*,int*,long*,float*,double*> pointers;
+typedef transform< types,boost::add_pointer<_1> >::type result;
+
+BOOST_MPL_ASSERT(( equal<result,pointers> ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/transformation-algorithms.html b/doc/refmanual/transformation-algorithms.html new file mode 100644 index 0000000..57aff8c --- /dev/null +++ b/doc/refmanual/transformation-algorithms.html @@ -0,0 +1,62 @@ + + + + + + +The MPL Reference Manual: Transformation Algorithms + + + + + +
Front Page / Algorithms / Transformation Algorithms
+
+

Transformation Algorithms

+

According to their name, MPL's transformation, or sequence-building +algorithms provide the tools for building new sequences from the existing +ones by performing some kind of transformation. A typical transformation +alogrithm takes one or more input sequences and a transformation +metafunction/predicate, and returns a new sequence built according to the +algorithm's semantics through the means of its Inserter argument, which +plays a role similar to the role of run-time Output Iterator.

+ +

Every transformation algorithm is a Reversible Algorithm, providing +an accordingly named reverse_ counterpart carrying the transformation +in the reverse order. Thus, all sequence-building algorithms come in pairs, +for instance replace / reverse_replace. In presence of variability of +the output sequence's properties such as front or backward extensibility, +the existence of the bidirectional algorithms allows for the most efficient +way to perform the required transformation.

+ + + +
+ + + + + diff --git a/doc/refmanual/trivial-metafunction.html b/doc/refmanual/trivial-metafunction.html new file mode 100644 index 0000000..e9d1eae --- /dev/null +++ b/doc/refmanual/trivial-metafunction.html @@ -0,0 +1,84 @@ + + + + + + +The MPL Reference Manual: Trivial Metafunction + + + + + +
Front Page / Metafunctions / Concepts / Trivial Metafunction
+
+

Trivial Metafunction

+
+

Description

+

A Trivial Metafunction accepts a single argument of a class type x and +returns the x's nested type member x::name, where name is +a placeholder token for the actual member's name accessed by a specific +metafunction's instance. By convention, all trivial metafunctions in MPL +are named after the members they provide assess to. For instance, a Trivial Metafunction named first reaches for the x's nested member +::first.

+
+
+

Expression requirements

+

In the following table and subsequent specifications, name is placeholder token for the names of +the Trivial Metafunction itself and the accessed member, and x is +a class type such that x::name is a valid type-name.

+ +++++ + + + + + + + + + + + + +
ExpressionTypeComplexity
name<x>::typeAny typeConstant time.
+
+
+

Expression semantics

+
+typedef name<x>::type r;
+
+ +++ + + + + + +
Precondition:x::name is a valid type-name.
Semantics:is_same<r,x::name>::value == true.
+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/trivial-metafunctions.html b/doc/refmanual/trivial-metafunctions.html new file mode 100644 index 0000000..3bbfba1 --- /dev/null +++ b/doc/refmanual/trivial-metafunctions.html @@ -0,0 +1,49 @@ + + + + + + +The MPL Reference Manual: Trivial Metafunctions Summary + + + + + +
Front Page / Metafunctions / Trivial / Trivial Metafunctions Summary
+
+

Trivial Metafunctions Summary

+

In the following table, x is an arbitrary class type.

+ ++++ + + + + + + + + + + + + + + + + +
MetafunctionHeader
first<x>::type#include <boost/mpl/pair.hpp>
second<x>::type#include <boost/mpl/pair.hpp>
base<x>::type#include <boost/mpl/base.hpp>
+ +
+ + + + + diff --git a/doc/refmanual/trivial.html b/doc/refmanual/trivial.html new file mode 100644 index 0000000..0fb90bf --- /dev/null +++ b/doc/refmanual/trivial.html @@ -0,0 +1,33 @@ + + + + + + +The MPL Reference Manual: Trivial + + + + + +
Front Page / Metafunctions / Trivial
+
+

Trivial

+

The MPL provides a number of Trivial Metafunctions that a nothing more than +thin wrappers for a differently-named class nested type members. While important +in the context of in-place metafunction composition, these metafunctions have +so little to them that presenting them in the same format as the rest of the +compoments in this manual would result in more boilerplate syntactic baggage than +the actual content. To avoid this problem, we instead factor out the common +metafunctions' requirements into the corresponding concept and gather all of +them in a single place — this subsection — in a compact table form that is +presented below.

+ +
+ + + + + diff --git a/doc/refmanual/type-selection.html b/doc/refmanual/type-selection.html new file mode 100644 index 0000000..1a77abf --- /dev/null +++ b/doc/refmanual/type-selection.html @@ -0,0 +1,29 @@ + + + + + + +The MPL Reference Manual: Type Selection + + + + + +
Front Page / Metafunctions / Type Selection
+ + + + + + diff --git a/doc/refmanual/unique.html b/doc/refmanual/unique.html new file mode 100644 index 0000000..909e3a6 --- /dev/null +++ b/doc/refmanual/unique.html @@ -0,0 +1,148 @@ + + + + + + +The MPL Reference Manual: unique + + + + + +
Front Page / Algorithms / Transformation Algorithms / unique
+
+

unique

+
+

Synopsis

+
+template<
+      typename Seq
+    , typename Pred
+    , typename In = unspecified
+    >
+struct unique
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns a sequence of the initial elements of every subrange of the +original sequence Seq whose elements are all the same.

+

[Note: This wording applies to a no-inserter version(s) of the algorithm. See the +Expression semantics subsection for a precise specification of the algorithm's +details in all cases — end note]

+
+
+

Header

+
+#include <boost/mpl/unique.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceAn original sequence.
PredBinary Lambda ExpressionAn equivalence relation.
InInserterAn inserter.
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Reversible Algorithm.

+

For any Forward Sequence s, a binary Lambda Expression pred, +and an Inserter in:

+
+typedef unique<s,pred,in>::type r; 
+
+ +++ + + + + + +
Return type:A type.
Semantics:

If size<s>::value <= 1, then equivalent to

+
+typedef copy<s,in>::type r;
+
+

otherwise equivalent to

+
+typedef lambda<pred>::type p;
+typedef lambda<in::operation>::type in_op;
+typedef apply_wrap2<
+      in_op
+    , in::state
+    , front<types>::type 
+    >::type in_state;
+
+typedef fold<
+      s
+    , pair< in_state, front<s>::type >
+    , eval_if< 
+          apply_wrap2<p, second<_1>, _2>
+        , identity< first<_1> >
+        , apply_wrap2<in_op, first<_1>, _2>
+        >
+    >::type::first r;
+
+
+
+
+

Complexity

+

Linear. Performs exactly size<s>::value - 1 applications of pred, and at +most size<s>::value insertions.

+
+
+

Example

+
+typedef vector<int,float,float,char,int,int,int,double> types;
+typedef vector<int,float,char,int,double> expected;
+typedef unique< types, is_same<_1,_2> >::type result;
+
+BOOST_MPL_ASSERT(( equal< result,expected > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/unpack-args.html b/doc/refmanual/unpack-args.html new file mode 100644 index 0000000..73d8cde --- /dev/null +++ b/doc/refmanual/unpack-args.html @@ -0,0 +1,110 @@ + + + + + + +The MPL Reference Manual: unpack_args + + + + + +
Front Page / Metafunctions / Invocation / unpack_args
+
+

unpack_args

+
+

Synopsis

+
+template< 
+      typename F
+    >
+struct unpack_args
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

A higher-order primitive transforming an n-ary Lambda Expression F into +an unary Metafunction Class g accepting a single sequence of n arguments.

+
+ + +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
FLambda ExpressionA lambda expression to adopt.
+
+
+

Expression semantics

+

For an arbitrary Lambda Expression f, and arbitrary types a1,... an:

+
+typedef unpack_args<f> g;
+
+ +++ + + + + + +
Return type:Metafunction Class.
Semantics:

g is a unary Metafunction Class such that

+
+apply_wrapn< g, vector<a1,...an> >::type
+
+

is identical to

+
+apply<F,a1,...an>::type
+
+
+
+
+

Example

+
+BOOST_MPL_ASSERT(( apply< 
+      unpack_args< is_same<_1,_2> >
+    , vector<int,int>
+    > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/upper-bound.html b/doc/refmanual/upper-bound.html new file mode 100644 index 0000000..b5537b1 --- /dev/null +++ b/doc/refmanual/upper-bound.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: upper_bound + + + + + +
Front Page / Algorithms / Querying Algorithms / upper_bound
+
+

upper_bound

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename T
+    , typename Pred = less<_1,_2>
+    >
+struct upper_bound
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the last position in the sorted Sequence where T could be inserted without +violating the ordering.

+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceForward SequenceA sorted sequence to search in.
TAny typeA type to search a position for.
PredBinary Lambda ExpressionA search criteria.
+
+
+

Expression semantics

+

For any sorted Forward Sequence s, binary Lambda Expression pred, and +arbitrary type x:

+
+typedef upper_bound< s,x,pred >::type i; 
+
+ +++ + + + + + +
Return type:Forward Iterator
Semantics:

i is the furthermost iterator in [begin<s>::type, end<s>::type) such that, for every iterator +j in [begin<s>::type, i),

+
+apply< pred, x, deref<j>::type >::type::value == false 
+
+
+
+
+

Complexity

+

The number of comparisons is logarithmic: at most log2( size<s>::value ) + 1. +If s is a Random Access Sequence then the number of steps through the range +is also logarithmic; otherwise, the number of steps is proportional to +size<s>::value.

+
+
+

Example

+
+typedef vector_c<int,1,2,3,3,3,5,8> numbers;
+typedef upper_bound< numbers, int_<3> >::type iter;
+
+BOOST_MPL_ASSERT_RELATION(
+      (distance< begin<numbers>::type,iter >::value), ==, 5
+    );
+
+BOOST_MPL_ASSERT_RELATION( deref<iter>::type::value, ==, 5 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/value-type.html b/doc/refmanual/value-type.html new file mode 100644 index 0000000..b174f61 --- /dev/null +++ b/doc/refmanual/value-type.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: value_type + + + + + +
Front Page / Sequences / Intrinsic Metafunctions / value_type
+
+

value_type

+
+

Synopsis

+
+template<
+      typename Sequence
+    , typename X
+    >
+struct value_type
+{
+    typedef unspecified type;
+};
+
+
+
+

Description

+

Returns the value that would be used for element X in Sequence.

+
+
+

Header

+
+#include <boost/mpl/value_type.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + + + + + +
ParameterRequirementDescription
SequenceAssociative SequenceA sequence to query.
XAny typeThe type to get the value for.
+
+
+

Expression semantics

+

For any Associative Sequence s, and an artibrary type x:

+
+typedef value_type<s,x>::type v; 
+
+ +++ + + + + + + + + + +
Return type:A type.
Precondition:x can be put in s.
Semantics:v is the value that would be used for x in s.
Postcondition:

If +.. parsed-literal:

+
+has_key< s,key_type<s,x>::type >::type
+
+

then +.. parsed-literal:

+
+at< s,key_type<s,x>::type >::type
+
+

is identical to value_type<s,x>::type.

+
+
+
+

Complexity

+

Amortized constant time.

+
+
+

Example

+
+typedef value_type< map<>,pair<int,unsigned> >::type v1;
+typedef value_type< set<>,pair<int,unsigned> >::type v2;
+
+BOOST_MPL_ASSERT(( is_same< v1,unsigned > ));
+BOOST_MPL_ASSERT(( is_same< v2,pair<int,unsigned> > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/variadic-sequence.html b/doc/refmanual/variadic-sequence.html new file mode 100644 index 0000000..444d525 --- /dev/null +++ b/doc/refmanual/variadic-sequence.html @@ -0,0 +1,135 @@ + + + + + + +The MPL Reference Manual: Variadic Sequence + + + + + +
Front Page / Sequences / Concepts / Variadic Sequence
+
+

Variadic Sequence

+
+

Description

+

A Variadic Sequence is a member of a family of sequence classes with both +variadic and numbered forms. If seq is a generic name for some +Variadic Sequence, its variadic form allows us to specify a sequence of +n elements t1,t2,... tn, for any n from 0 up to a +preprocessor-configurable limit BOOST_MPL_LIMIT_seq_SIZE, +using the following notation:

+
+
+
seq<t1,t2,... tn>
+
+
+

By contrast, each numbered sequence form accepts the exact number of elements +that is encoded in the name of the corresponding class template:

+
+
+
seqn<t1,t2,... tn>
+
+
+

For numbered forms, there is no predefined top limit for n, aside from compiler +limitations on the number of template parameters.

+ +
+
+

Expression requirements

+

In the following table and subsequent specifications, seq is a placeholder token for the actual +Variadic Sequence name.

+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionTypeComplexity
seq<t1,t2,... tn>Forward SequenceAmortized constant time
seq<t1,t2,... tn>::typeForward SequenceAmortized constant time
seqn<t1,t2,... tn>Forward SequenceAmortized constant time
seqn<t1,t2,... tn>::typeForward SequenceAmortized constant time
+
+
+

Expression semantics

+
+typedef seq<t1,t2,... tn> s;
+typedef seqn<t1,t2,... tn> s;
+
+ +++ + + + + + +
Semantics:s is a sequence of elements t1,t2,... tn.
Postcondition:

size<s>::value == n.

+ +
+ +
+typedef seq<t1,t2,... tn>::type s;
+typedef seqn<t1,t2,... tn>::type s;
+
+ +++ + + + + + +
Semantics:s is identical to seqn<t1,t2,... tn >.
Postcondition:size<s>::value == n.
+
+
+

Models

+ +
+ +
+ + + + + diff --git a/doc/refmanual/vector-c.html b/doc/refmanual/vector-c.html new file mode 100644 index 0000000..ace7756 --- /dev/null +++ b/doc/refmanual/vector-c.html @@ -0,0 +1,125 @@ + + + + + + +The MPL Reference Manual: vector_c + + + + + +
Front Page / Sequences / Classes / vector_c
+
+

vector_c

+
+

Description

+

vector_c is an Integral Sequence Wrapper for vector. As such, it shares +all vector characteristics and requirements, and differs only in the way the +original sequence content is specified.

+
+
+

Header

+ ++++ + + + + + + + + + + + + + +
Sequence formHeader
Variadic#include <boost/mpl/vector_c.hpp>
Numbered#include <boost/mpl/vector/vectorn_c.hpp>
+
+ +
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in vector.

+ + ++++ + + + + + + + + + + + + + + + + +
ExpressionSemantics
+vector_c<T,c1,c2,... cn>
+vectorn_c<T,c1,c2,... cn>
+
+
A vector of integral constant wrappers +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn>; +see Integral Sequence Wrapper.
+vector_c<T,c1,c2,... cn>::type
+vectorn_c<T,c1,c2,... cn>::type
+
+
Identical to vectorn< +integral_c<T,c1>, +integral_c<T,c2>, ... +integral_c<T,cn> >; +see Integral Sequence Wrapper.
+vector_c<T,c1,c2,... cn>::value_type
+vectorn_c<T,c1,c2,... cn>::value_type
+
+
Identical to T; see +Integral Sequence Wrapper.
+
+
+

Example

+
+typedef vector_c<int,1,2,3,5,7,12,19,31> fibonacci;
+typedef push_back<fibonacci,int_<50> >::type fibonacci2;
+
+BOOST_MPL_ASSERT_RELATION( front<fibonacci2>::type::value, ==, 1 );
+BOOST_MPL_ASSERT_RELATION( back<fibonacci2>::type::value, ==, 50 );
+
+
+ +
+ + + + + diff --git a/doc/refmanual/vector.html b/doc/refmanual/vector.html new file mode 100644 index 0000000..57cf099 --- /dev/null +++ b/doc/refmanual/vector.html @@ -0,0 +1,183 @@ + + + + + + +The MPL Reference Manual: vector + + + + + +
Front Page / Sequences / Classes / vector
+
+

vector

+
+

Description

+

vector is a variadic, random access, extensible sequence of types that +supports constant-time insertion and removal of elements at both ends, and +linear-time insertion and removal of elements in the middle. On compilers that +support the typeof extension, vector is the simplest and in many cases the +most efficient sequence.

+
+ + +
+

Expression semantics

+

In the following table, v is an instance of vector, pos and last are iterators +into v, r is a Forward Sequence, n is an Integral Constant, and x and +t1,t2,... tn are arbitrary types.

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExpressionSemantics
+vector<t1,t2,... tn>
+vectorn<t1,t2,... tn>
+
+
vector of elements t1,t2,... tn; see +Variadic Sequence.
+vector<t1,t2,... tn>::type
+vectorn<t1,t2,... tn>::type
+
+
Identical to vectorn<t1,t2,... tn>; +see Variadic Sequence.
begin<v>::typeAn iterator pointing to the beginning of v; +see Random Access Sequence.
end<v>::typeAn iterator pointing to the end of v; +see Random Access Sequence.
size<v>::typeThe size of v; see Random Access Sequence.
empty<v>::typeA boolean Integral Constant c such that +c::value == true if and only if the sequence is empty; +see Random Access Sequence.
front<v>::typeThe first element in v; see +Random Access Sequence.
back<v>::typeThe last element in v; see +Random Access Sequence.
at<v,n>::typeThe nth element from the beginning of v; see +Random Access Sequence.
insert<v,pos,x>::typeA new vector of following elements: +[begin<v>::type, pos), x, +[pos, end<v>::type); see Extensible Sequence.
insert_range<v,pos,r>::typeA new vector of following elements: +[begin<v>::type, pos), +[begin<r>::type, end<r>::type) +[pos, end<v>::type); see Extensible Sequence.
erase<v,pos>::typeA new vector of following elements: +[begin<v>::type, pos), +[next<pos>::type, end<v>::type); see +Extensible Sequence.
erase<v,pos,last>::typeA new vector of following elements: +[begin<v>::type, pos), +[last, end<v>::type); see Extensible Sequence.
clear<v>::typeAn empty vector; see Extensible Sequence.
push_back<v,x>::typeA new vector of following elements: +[begin<v>::type, end<v>::type), x; +see Back Extensible Sequence.
pop_back<v>::typeA new vector of following elements: +[begin<v>::type, prior< end<v>::type >::type); +see Back Extensible Sequence.
push_front<v,x>::typeA new vector of following elements: +[begin<v>::type, end<v>::type), x; see Front Extensible Sequence.
pop_front<v>::typeA new vector of following elements: +[next< begin<v>::type >::type, end<v>::type); +see Front Extensible Sequence.
+
+
+

Example

+
+typedef vector<float,double,long double> floats;
+typedef push_back<floats,int>::type types;
+
+BOOST_MPL_ASSERT(( is_same< at_c<types,3>::type, int > ));
+
+
+ +
+ + + + + diff --git a/doc/refmanual/views.html b/doc/refmanual/views.html new file mode 100644 index 0000000..414e754 --- /dev/null +++ b/doc/refmanual/views.html @@ -0,0 +1,40 @@ + + + + + + +The MPL Reference Manual: Views + + + + + +
Front Page / Sequences / Views
+
+

Views

+

A view is a sequence adaptor delivering an altered presentation of +one or more underlying sequences. Views are lazy, meaning that their +elements are only computed on demand. Similarly to the short-circuit +logical operations and eval_if, views make it possible to avoid +premature errors and inefficiencies from computations whose results +will never be used. When approached with views in mind, many +algorithmic problems can be solved in a simpler, more conceptually +precise, more expressive way.

+ + + +
+ + + + + diff --git a/doc/refmanual/void.html b/doc/refmanual/void.html new file mode 100644 index 0000000..7604ce1 --- /dev/null +++ b/doc/refmanual/void.html @@ -0,0 +1,51 @@ + + + + + + +The MPL Reference Manual: void_ + + + + + +
Front Page / Data Types / Miscellaneous / void_
+
+

void_

+
+

Synopsis

+
+struct void_
+{
+    typedef void_ type;
+};
+
+template< typename T > struct is_void;
+
+
+
+

Description

+

void_ is a generic type placeholder representing "nothing".

+ +
+
+

Header

+
+#include <boost/mpl/void.hpp>
+
+
+ +
+ + + + + diff --git a/doc/refmanual/zip-view.html b/doc/refmanual/zip-view.html new file mode 100644 index 0000000..036b982 --- /dev/null +++ b/doc/refmanual/zip-view.html @@ -0,0 +1,137 @@ + + + + + + +The MPL Reference Manual: zip_view + + + + + +
Front Page / Sequences / Views / zip_view
+
+

zip_view

+
+

Synopsis

+
+template<
+      typename Sequences
+    >
+struct zip_view
+{
+    // unspecified
+    // ...
+};
+
+
+
+

Description

+

Provides a "zipped" view onto several sequences; that is, represents several +sequences as a single sequence of elements each of which, in turn, +is a sequence of the corresponding Sequences' elements.

+
+
+

Header

+
+#include <boost/mpl/zip_view.hpp>
+
+
+ +
+

Parameters

+ +++++ + + + + + + + + + + + + +
ParameterRequirementDescription
SequencesA Forward Sequence of +Forward SequencesSequences to be "zipped".
+
+
+

Expression semantics

+

The semantics of an expression are defined only +where they differ from, or are not defined in Forward Sequence.

+

In the following table, v is an instance of zip_view, seq a Forward Sequence of n +Forward Sequences.

+ ++++ + + + + + + + + + + + + + +
ExpressionSemantics
+zip_view<seq>
+zip_view<seq>::type
+
+
A lazy Forward Sequence v such that for each i +in [begin<v>::type, end<v>::type) and for each j in +[begin<seq>::type, end<seq>::type) +deref<i>::type is identical to +transform< deref<j>::type, deref<_1> >::type.
size<v>::type

The size of v; size<v>::value is equal to

+
+deref< min_element<
+      transform_view< seq, size<_1> >
+    >::type >::type::value;
+
+

linear complexity; see Forward Sequence.

+
+
+
+

Example

+

Element-wise sum of three vectors.

+
+typedef vector_c<int,1,2,3,4,5> v1;
+typedef vector_c<int,5,4,3,2,1> v2;
+typedef vector_c<int,1,1,1,1,1> v3;
+
+typedef transform_view<
+      zip_view< vector<v1,v2,v3> >
+    , unpack_args< plus<_1,_2,_3> >
+    > sum;
+
+BOOST_MPL_ASSERT(( equal< sum, vector_c<int,7,7,7,7,7> > ));
+
+
+ +
+ + + + + diff --git a/doc/src/acknw.sgml b/doc/src/acknw.sgml deleted file mode 100644 index df621e4..0000000 --- a/doc/src/acknw.sgml +++ /dev/null @@ -1,18 +0,0 @@ - -
-Acknowledgements</> - -<para> -Following is a list of people who in one or another way contributed to the library development. The list is work in progress! -</> - -<para> -David Abrahams, Emily Winch, Eric Friedman, Vesa Karvonen, Peter Dimov, Mat Marcus, Fernando Cacciola, Paul Mensonides, David B. Held, John Bandela, Arnaldur Gylfason, Hamish Mackenzie. -</> - -<formalpara> -<title>Copyright on this document</> -<para>Copyright 2002 Aleksey Gurtovoy, David Abrahams and Emily Winch.</> -</> - -</section> diff --git a/doc/src/apply_if.sgml b/doc/src/apply_if.sgml deleted file mode 100644 index 0f8bf91..0000000 --- a/doc/src/apply_if.sgml +++ /dev/null @@ -1,130 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="applyif"> -<title>apply_if</> - -<para> -In run-time &Cxx;, it is guaranteed that when we reach an <literal>if</> statement, only one branch will be executed. Executing the branch for which the result is not required would be unnecessary and inefficient. More importantly, frequently the non-required branch is invalid, and executing it would cause an error. For instance, the following code would be badly broken if both branches of the statement were evaluated: -</> - -<programlisting> -<![CDATA[ -void fun(giraffe* g) -{ - if (g) - cout << g->name(); - else - cout << "no giraffe"; -} -]]> -</> - -<para> -In compile-time world, things are different. Which parameters to <literal>if_</> template are instantiated is determined by the form of each template parameter and the corresponding language rules (<citation><xref linkend="ref.ISO98"></>, section 14.7.1), not by the value of the compile-time expression being switched on. That means that if, in attempt to process a particular <literal>if_</> construct, the compiler determines that one of its <quote>branch</> template parameters is ill-formed, it will issue a diagnostics even if the value of compile-time expression would lead to <quote>choosing</> the other, valid parameter type. -</> - -<para> -To clarify what we just said, here is a broken first attempt at writing a <literal>pointed_type</> metafunction, that when instantiated for a <literal>T</> that is either a plain pointer or a smart pointer, <quote>returns</> the pointed type: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct pointed_type -{ - typedef typename mpl::if_< - boost::is_pointer<T> - , typename boost::remove_pointer<T>::type - , typename T::element_type // #1 - >::type type; -}; - -typedef pointed_type< std::auto_ptr<int> >::type int_ptr; // ok -typedef pointed_type<char*>::type char_ptr; // error in line #1! -]]> -</> - -<para> -If we try to compile the above, we will get something like this: -</> - -<programlisting> -Error: name followed by "::" must be a class or namespace name -</> - -<para> -because the expression <literal>typename T::element_type</> is not valid in case of <literal>T == char*</>. -</> - -<para> -Here's what we need to do to make <literal>pointed_type</> work for plain pointers: - -<footnote><para> -It would be easy to implement <literal>pointed_type</> using partial specialization to distinguish the case where <literal>T</> is a pointer. <literal>if_</> is used here to avoid creating a complicated example. -</></> - -instead of instantiating our two potential results before passing them to <literal>if_</>, we need to write metafunctions that can be used to instantiate the results; then we can use <literal>if_</> to choose a metafunction, and only then should we use that function to get the result. -</> - -<para> -<literal>boost::remove_pointer</> already is a metafunction. We just need to write an auxiliary function to return the <literal>element_type</> of a pointer type: -</> - -<programlisting> -<![CDATA[ -namespace aux { -template< typename T > -struct element_type -{ - typedef typename T::element_type type; -}; -} -]]> -</> - -<para> -Now we can select the metafunction to call based on the result of <literal>boost::is_pointer</>, and then <emphasis>apply</> it to form the result: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct pointed_type -{ - private: - // pick a metafunction - typedef typename mpl::if_< - boost::is_pointer<T> - , boost::remove_pointer<T> - , aux::element_type<T> - >::type func_; // #1 - - public: - // apply the metafunction - typedef typename func_::type type; -}; -]]> -</> - -<para> -The key knowledge that makes the above viable is that in line #1 the compiler is <emphasis>guaranteed</> not to instantiate <literal>boost::remove_pointer<T></> and <literal>aux::element_type<T></> templates, - even although they are passed as actual arguments to the <literal>if_</>. -</> - -<para> -The described technique is so common in template metaprograms, that it makes sense to facilitate the selection of the nested <literal>type</> member by introducing a high level equivalent to <literal>if_</> that will do <literal>func_::type</> operation as a part of its invocation. The MPL provides such a template - it's called <literal>apply_if</>. Using it, we can re-write the above code as simply as: -</> - -<programlisting> -[<![CDATA[ -template< typename T > -struct pointed_type -{ - typedef typename mpl::apply_if< - boost::is_pointer<T> - , boost::remove_pointer<T> - , aux::element_type<T> - >::type type; -}; -]]> -</> - -</section> diff --git a/doc/src/apply_if2.sgml b/doc/src/apply_if2.sgml deleted file mode 100644 index 0ee49a2..0000000 --- a/doc/src/apply_if2.sgml +++ /dev/null @@ -1,55 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="applyif2"> -<title>apply_if, part 2</> - -<para> -Besides solving the <quote>making the code compile</> problem, the <literal>apply_if</> technique we've just learned can be also used to improve metaprogram efficiency. -</> - -<para> -Suppose we want to define a high-level wrapper around <literal>boost::remove_pointer</> traits template, which will strip the pointer qualification conditionally. We will call it <literal>remove_pointer_if</>: -</> - -<programlisting> -<![CDATA[ -template< - typename Condition - , typename T - > -struct remove_pointer_if -{ - typedef typename mpl::if_< - Condition - , typename boost::remove_pointer<T>::type - , T - >::type type; -}; -]]> -</> - -<para> -The above works the first time, but it's not the most optimal implementation. Similar to our previous examples, <literal>boost::remove_pointer<T></> gets instantiated even if its result is never used. In the metaprogramming world compilation time is an important resource <citation><xref linkend="ref.Abr01"></>, and it is wasted by unnecessary template instantiations. -</> - -<para> -Let's see what we need to substitute <literal>if_</> by <literal>apply_if</> here. We already have one metafunction to pass to <literal>apply_if</> - <literal>boost::remove_pointer<T></>, but we need a second one, - let's call it <literal>f</>, - such as <literal>f<T>::type == T</>. We could write this one ourselves, but fortunately &MPL; already provides us with a template that matches this exact definition - it's called <literal>identity</>. Applying this knowledge, we get: -</> - -<programlisting> -<![CDATA[ -template< - typename Condition - , typename T - > -struct remove_pointer_if -{ - typedef typename mpl::apply_if< - Condition - , boost::remove_pointer<T> - , mpl::identity<T> - >::type type; -}; -]]> -</> - -</section> diff --git a/doc/src/articleinfo.sgml b/doc/src/articleinfo.sgml deleted file mode 100644 index 9ed58c4..0000000 --- a/doc/src/articleinfo.sgml +++ /dev/null @@ -1,2 +0,0 @@ -<articleinfo> -</articleinfo> diff --git a/doc/src/bibliography.sgml b/doc/src/bibliography.sgml deleted file mode 100644 index 3268196..0000000 --- a/doc/src/bibliography.sgml +++ /dev/null @@ -1,69 +0,0 @@ -<bibliography id="bibliography"> -<title>Bibliography</> - -<biblioentry id="ref.Abr01"> - <abbrev>Abr01</> - <authorgroup> - <author><firstname>David</><surname>Abrahams</></> - <author><firstname>Carlos Pinto</><surname>Coelho</></> - </> - <title><ulink url="http://users.rcn.com/abrahams/instantiation_speed/index.html">Effects of Metaprogramming Style on Compilation Time</></> - <date>2001</> -</biblioentry> - -<biblioentry id="ref.Ale00"> - <abbrev>Ale00</> - <author><firstname>Andrei</><surname>Alexandrescu</></> - <title><ulink url="http://www.cuj.com/experts/1810/alexandr.htm">On Conversions between Types and Values</></> - <publishername>C/C++ Users Journal</> - <date>October 2000</> -</biblioentry> - -<biblioentry id="ref.BBL"> - <abbrev>BBL</> - <title>Boost Bind library</> - <bibliomisc><ulink url="http://www.boost.org/libs/bind/bind.html"></></> -</biblioentry> - -<biblioentry id="ref.ISO98"> - <abbrev>ISO98</> - <title>ISO/IEC 14882:1998(E), Programming languages C++</> - <orgname>ISO/IEC</> - <date>1998</> -</biblioentry> - -<biblioentry id="ref.PRE"> - <abbrev>PRE</> - <author><firstname>Vesa</><surname>Karvonen</></> - <title>Boost Preprocessor Metaprogramming library</> - <bibliomisc><ulink url="http://www.boost.org/libs/preprocessor/doc/"></></> -</biblioentry> - -<biblioentry id="ref.TTL"> - <abbrev>TTL</> - <title>Boost Type Traits library</> - <bibliomisc><ulink url="http://www.boost.org/libs/type_traits/"></></> -</biblioentry> - -<biblioentry id="ref.SAL"> - <abbrev>SAL</> - <title>Boost Static Assert library</> - <bibliomisc><ulink url="http://www.boost.org/libs/static_assert/static_assert.htm"></></> -</biblioentry> - -<biblioentry id="ref.Vel95a"> - <abbrev>Vel95a</> - <author><firstname>Todd</><surname>Veldhuizen</></> - <title><ulink url="http://osl.iu.edu/~tveldhui/papers/Template-Metaprograms/meta-art.html">Using C++ template metaprograms</></> - <biblioset relation='journal'> - <title>C++ Report</> - <publishername>SIGS Publications Inc.</> - <issn>1040-6042</> - </> - <volumenum>7</> - <issuenum>4</> - <pagenums>36-43</> - <date>May 1995</> -</biblioentry> - -</bibliography> diff --git a/doc/src/body.sgml b/doc/src/body.sgml deleted file mode 100644 index 672b57d..0000000 --- a/doc/src/body.sgml +++ /dev/null @@ -1,37 +0,0 @@ -<!doctype article public "-//OASIS//DTD DocBook V4.1//EN" -[ -<!-- abbreviations --> -<!entity Boost "<literal>Boost</>"> -<!entity Cxx "C++"> -<!entity C "C"> -<!entity MPL "MPL"> -<!entity BMPL "Boost Metaprogramming Library"> -<!entity mdat "metadata"> -<!entity mping "metaprogramming"> -<!entity mfn "metafunction"> -<!entity unspec "/*unspecified*/"> - -<!-- physical entities --> -<!entity articleinfo SYSTEM "articleinfo.sgml"> -<!entity preface SYSTEM "preface.sgml"> -<!entity tutorial SYSTEM "tutorial.sgml"> -<!entity metafunctions SYSTEM "metafunctions.sgml"> -<!entity if SYSTEM "if.sgml"> -<!entity applyif SYSTEM "apply_if.sgml"> -<!entity applyif2 SYSTEM "apply_if2.sgml"> -<!entity technical SYSTEM "technical.sgml"> -<!entity acknw SYSTEM "acknw.sgml"> -<!entity bibliography SYSTEM "bibliography.sgml"> -]> - -<article> -<title>The Boost &MPL; Library</> - -&articleinfo; -&preface; -&tutorial; -&technical; -&acknw; -&bibliography; - -</article> diff --git a/doc/src/howtos.sgml b/doc/src/howtos.sgml deleted file mode 100644 index b15df69..0000000 --- a/doc/src/howtos.sgml +++ /dev/null @@ -1,58 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="howtos"> -<title>How-to's</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="howtos.search"> -<title>How to find something in a sequence?</> - -<para> -If you just want to make an enquiry if a sequence contains a type with certain properties, you can do it like that: -</> - -<programlisting> -<![CDATA[ -typedef mpl::list5<> types; -typedef mpl::contains<types,int>::type res; // res::value == true -]]> -</> - -<para> -A predicate version of <literal>contains</> algorithm is spelled <literal>any</>: -</> - -<programlisting> -<![CDATA[ -// find if any type in 'types' is derived from 'my' -typedef mpl::any<types, mpl::is_convertible<_1,my> >::type res; -]]> -</> - -<para> -Now, if you really want to find type in a sequence - that is, to obtain an iterator on its position, when the should-be-known-from-STL <literal>find</> and <literal>find_if</> algorithms are most probably exactly what you need: -</> - -<programlisting> -<![CDATA[ -// find if any type in 'types' is derived from 'my' -typedef mpl::find<types, int >::type iterator; -typedef mpl::find_if<types, mpl::is_convertible<_1,my> >::type iterator; -]]> -</> - -<para> -Unless, of course, the sequence is sorted. If it is, then the other known names come into the play - <literal>lower_bound</>, <literal>upper_bound</>, or <literal>binary_search</>: -</> - -<programlisting> -<![CDATA[ -// find if any type in 'types' is derived from 'my' -typedef mpl::lower_bound<types, mpl::int_c<5>, mpl::less<_1,_2> >::type iterator; -typedef mpl::upper_bound<types, mpl::int_c<5>, mpl::less<_1,_2> >::type iterator; -typedef mpl::binary_search<types, mpl::int_c<5>, mpl::less<_1,_2> >::type iterator; -]]> -</> - -</section> - -</section> diff --git a/doc/src/if.sgml b/doc/src/if.sgml deleted file mode 100644 index 8f68685..0000000 --- a/doc/src/if.sgml +++ /dev/null @@ -1,66 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="if"> -<title>Compile-time if</> - -<para> -The most interesting template metaprograms often contain a lot of decision-making code. Some of conditional decisions/behavior can be handled directly by (partial) class template specialization or function overloading <citation><xref linkend="ref.Vel95a"></>, <citation><xref linkend="ref.Ale00"></>, but in general there is a need for a standalone library primitive that would allow one to choose between two types basing on a compile-time expression. In <literal>boost::mpl</> such primitive is called <literal>if_</>: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct heap_holder -{ - // ... - private: - boost::scoped_ptr<T> m_object; -}; - -template< typename T > -struct stack_holder -{ - // ... - private: - T m_object; -}; - -template< typename T > -struct can_be_on_stack - : mpl::bool_c< (sizeof(T) <= sizeof(double)) > -{ -}; - -// use 'if_' to choose where to store 'T' member -template< typename T > -struct lightweight - : private mpl::if_< - can_be_on_stack<T> - , stack_holder<T> - , heap_holder<T> - >::type -{ - // ... -}; -]]> -</> - -<para> -Note that the first template parameter of the <literal>if_</> template is a type that should be a model of Integral Constant concept. The library also provides a less generic but sometimes more convenient form that accepts a condition in form of non-type <literal>bool</> template parameter: -</> - -<programlisting> -<![CDATA[ -template< typename T > -struct lightweight - : private mpl::if_c< - (sizeof(T) <= sizeof(double)) - , stack_holder<T> - , heap_holder<T> - >::type -{ - // ... -}; -]]> -</> - -</section> diff --git a/doc/src/lambda.sgml b/doc/src/lambda.sgml deleted file mode 100644 index 45846cd..0000000 --- a/doc/src/lambda.sgml +++ /dev/null @@ -1,30 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="lambda"> -<title>Lambda facility</> - -<para> -<firstterm>Lambda expressions</> is a way of inline meta-function composition. - -building more complex, more interesting functions from the existing ones. The simplest case of function composition is an operation of taking the result from one function (<literal>g</>) and using that as the argument to another function (<literal>f</>) - <literal>f(g(x))</>. [Talk about run-time &Cxx; facilities to do function composition in &Cxx; - SGI STL <literal>compose1</>/<literal>compose2</>, Boost Compose library, Boost Bind library] -</> - -<para> -The library provide support for several styles of function composition. The facilities differ in portability, implementation complexity, readability, and performance characteristics. -</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="bind.compose"> -<title>compose</> - -<programlisting> -<![CDATA[ -using mpl::placeholders; -typedef mpl::bind< mpl::make_f2<boost::is_same>,int,_2 > is_int; -typedef mpl::bind< add_pointer,mpl::bind<add_const,_1> > add_const_pointer; -]]> -</> - - -</section> - -</section> diff --git a/doc/src/metafunctions.sgml b/doc/src/metafunctions.sgml deleted file mode 100644 index afd7234..0000000 --- a/doc/src/metafunctions.sgml +++ /dev/null @@ -1,37 +0,0 @@ -<section id="metafunctions"> -<title>Metafunctions</> - -<para> -In &MPL;, the metaprogramming equivalent of a function is a <firstterm>class template</> containing a nested <literal>typedef</> member aptly named <quote>type</>: -</> - -<programlisting> -<![CDATA[ -// on the face of it, not very useful -template< typename T > -struct identity -{ - typedef T type; -}; - -// perhaps more useful -template< typename T > -struct result_type -{ - typedef typename T::result_type type; -}; -]]> -</> - -<para> -<quote>Invoking</> a metafunction is as simple as instantiating the class template with particular template parameters (metafunction <quote>arguments</>) and accessing the result through the nested <literal>type</> member: -</> - -<programlisting> -<![CDATA[ -typedef identity<int>::type t1; // t1 == int -typedef result_type< std::unary_function<int,bool> >::type t2; // t2 == bool -]]> -</> - -</section> diff --git a/doc/src/preface.sgml b/doc/src/preface.sgml deleted file mode 100644 index 85bb6bc..0000000 --- a/doc/src/preface.sgml +++ /dev/null @@ -1,49 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="preface"> -<title>Preface</> - -<para>The &MPL; library is a &Cxx; template metaprogramming framework of compile-time algorithms, sequences and metafunction classes. The two main documentation sources for the library is <quote>the MPL paper</>, and the library's reference documentation. If you haven't heard about the MPL before, we suggest you to start with the paper, and then move on to the reference documentation and the information in this document. -</> - -<itemizedlist mark="box"> - -<listitem><simpara> -A. Gurtovoy, D. Abrahams, <ulink url="./paper/html/index.html">The Boost C++ Metaprogramming Library</>, March 2002 | [<ulink url="./paper/mpl_paper.html">as single .html</>]</></listitem> - -<listitem> -<ulink url="./ref/Table_of_Content.html">Reference documentation</> - <orderedlist> - <listitem><simpara><ulink url="./ref/Sequences.html">Sequences</></></> - <listitem><simpara><ulink url="./ref/Iterators.html">Iterators</></></> - <listitem><simpara><ulink url="./ref/Algorithms.html">Algorithms</></></> - <listitem><simpara><ulink url="./ref/Metafunctions.html">Metafunctions</></></> - <listitem><simpara><ulink url="./ref/Categorized_index.html">Categorized index</></></> - </orderedlist> -</listitem> - -</itemizedlist> - -</section> - -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="source"> -<title>Sources</> - -<para> -The latest library sources are available from: -</> - -<itemizedlist mark="box"> - <listitem><simpara>The <ulink url="http://www.boost.org/more/download.html#CVS">boost CVS</>, <literal>mpl_v2</> branch (<literal>cvs update -P -rmpl_v2 boost/mpl boost/type_traits libs/mpl</>)</></> - <listitem><simpara>From here - <ulink url="http://www.mywikinet.com/mpl/mpl_23_jul_02.zip"></></></> - -</itemizedlist> - -<para> -The library also requires the latest version of Boost Preprocessor library, that can be also obtained from <ulink url="http://www.boost.org/more/download.html#CVS">boost CVS</> or from here - <ulink url="http://www.mywikinet.com/mpl/preprocessor_19_jul_02.zip"></>. -</> - -<para>A full archive that contains the library itself + all its dependencies - and therefore can be installed over a clean <ulink url="http://boost.sourceforge.net/release/boost_1_28_0.zip">Boost 1.28 distribution</> - is available from here - <ulink url="http://www.mywikinet.com/mpl/mpl_23_jul_02_full.zip"></>. -</> - -</section> diff --git a/doc/src/sequences.sgml b/doc/src/sequences.sgml deleted file mode 100644 index 2494f2d..0000000 --- a/doc/src/sequences.sgml +++ /dev/null @@ -1,30 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="sequences"> -<title>Working with type sequences</> - -<para> -If we were to design a generative container library, our first attempt could be something like this: -</> - -<programlisting> -<![CDATA[ -namespace ctl { // Container Template Library - -template< - typename T - , typename Features - > -class container -{ - // ... -}; - -} // namespace ctl -]]> -</> - -<para> -Here, <literal>container</> template is a single generative interface to all the , and we would like to pass to a possibly numerous features of a container as a single type. -</> - -</section> diff --git a/doc/src/technical.sgml b/doc/src/technical.sgml deleted file mode 100644 index b50d14a..0000000 --- a/doc/src/technical.sgml +++ /dev/null @@ -1,52 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="technical"> -<title>Technical details</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="details.headers"> -<title>Physical structure</> - -<para> -The library provides you with a fine-grained header structure with one header per public component (class/function template), with the header named after the component; for example, <literal>boost::mpl::apply<></> template is defined in the header <literal>boost/mpl/apply.hpp</>. This scheme both ensures that you don't pay for what you don't use in terms of compilation time/header dependencies, and frees you from memorizing/looking up header/component correspondence. Several composite headers for the entities that are likely to be used together (e.g. logical operations - <literal>logical_or</>, <literal>logical_and</>, etc.) are also provided. It allows one to avoid the burden of spelling many <literal>#include</> directives in programs that make an intensive use of the library facilities. - -<footnote id="note.headers"><para>The Boost Preprocessor library <citation><xref linkend="ref.PRE"></> exposes a very similar physical organization; in fact, the libraries even share the common subdirectory naming (<literal>mpl/arithmetic</> <-> <literal>preprocessor/arithmetic</>, <literal>mpl/comparison</> <-> <literal>preprocessor/comparison</>, etc.).</></> - -</> - -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="details.depend"> -<title>Dependencies</> - -<para> -Besides <literal>boost/config.hpp</> header, the MPL heavily depends on two other Boost libraries - the Boost Preprocessor library <citation><xref linkend="ref.PRE"></>, and the Type Traits library <citation><xref linkend="ref.TTL"></>. These dependencies are essential and cannot be eliminated. In addition to those, the <literal>boost/mpl/assert.hpp</> header depends on Boost Static Assert library <citation><xref linkend="ref.SAL"></>. The library tests and examples may depend on some additional Boost libraries, e.g. Boost Bind <citation><xref linkend="ref.BBL"></>; you don't have to have those unless you are interested in actually compiling the tests/examples (probably you are, though). -</> - -</section> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="details.portability"> -<title>Portability</> - -<para> -Below is the list of compilers the library has been tested with: -</> - -<itemizedlist mark="box"> -<listitem><simpara>Microsoft Visual C++ 6.0, SP 5</></> -<listitem><simpara>Microsoft Visual C++ .NET (7.0)</></> -<listitem><simpara>Metrowerks CodeWariror 7.2/8.1</></> -<listitem><simpara>Intel C++ Compiler 5.0, 6.0</></> -<listitem><simpara>GCC 2.95.3-5</></> -<listitem><simpara>GCC 3.1</></> -<listitem><simpara>Comeau C/C++ 4.2.45/4.3.0</></> -<listitem><simpara>Borland C++ 5.5.1</></> -</> - -<para>An incomplete matrix of recent test compilation results is available from here - <ulink url="http://www.mywikinet.com/mpl/log.html"></>. -</> - -</section> - -</section> diff --git a/doc/src/tutorial.sgml b/doc/src/tutorial.sgml deleted file mode 100644 index be77b98..0000000 --- a/doc/src/tutorial.sgml +++ /dev/null @@ -1,29 +0,0 @@ -<!-- ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| section --> -<section id="tutorial"> -<title>Mini-tutorial</> - -<!-- ||||||||||||||||||||||||||||| subsection --> -<section id="tutorial.conventions"> -<title>Conventions used</> - -<para> -The examples used through this tutorial use fully qualified names, e.g. <literal>std::vector</> instead of plain <literal>vector</>. Any unqualified name refers to a local entity defined in the example itself. The names from <literal>boost::mpl</> namespace are referred to using <literal>mpl</> namespace alias (e.g. <literal>mpl::apply</> instead of <literal>boost::mpl::apply</>), as if the following namespace alias definition were in effect: -</> - -<programlisting> -<![CDATA[ -namespace mpl = boost::mpl; -]]> -</> - -<para>Note that the library offers a special header, <literal>boost/mpl/alias.hpp</>, including which gives you a rough equivalent of the above. Alternatively, you can always spell the namespace alias definition manually in each translation unit as needed (if you choose to use the shorter namespace notation at all). -</> - -</section> - -&metafunctions; -&if; -&applyif; -&applyif2; - -</section> \ No newline at end of file diff --git a/doc/style.css b/doc/style.css new file mode 100644 index 0000000..8dc82f7 --- /dev/null +++ b/doc/style.css @@ -0,0 +1,720 @@ +/* + +:Author: David Goodger +:Author: Aleksey Gurtovoy +:Copyright: This stylesheet has been placed in the public domain. + +*/ + + + +.first +{ + margin-top: 0; +} + +.last +{ + margin-bottom: 0; +} + + + +/* <a/> */ + + +a +{ + color: #0000cc; +} + +a:visited +{ + color: #800080; +} + +/* +sup a:link, +sup a:visited, +a.interlink:link, +a.interlink:visited +{ + color: #505050; + text-decoration: none; +} +*/ + +a.refentry +{ + text-decoration: none; +} + +a.subsection-title:link, +a.subsection-title:active, +a.subsection-title:visited, +a.subsection-title:hover +{ + color: black; + text-decoration: none; +} + +a.identifier:link, +a.identifier:active, +a.identifier:visited +{ + color: black; + text-decoration: none; +} + +a.header:link, +a.header:active, +a.header:visited +{ + color: black; + text-decoration: none; +} + + +a.identifier:hover, +a.header:hover +{ + color: #0000cc; +} + +a.toc-backref:link, +a.toc-backref:active, +a.toc-backref:visited, +a.toc-backref:hover +{ + text-decoration: none; + color: black +} + +a.ref-subsection-title +{ + text-decoration: none; + color: black; +} + + +/* <blockquote/> */ + +blockquote.epigraph +{ + margin: 2em 5em; +} + + +/* <caption/> */ + +caption +{ + font-weight: bold; +} + + +/* <body/> */ + +body +{ + background: #fffff5; +} + +body.refmanual +{ + background: #fffff5 url(refmanual/manual.png) no-repeat top right fixed; + margin-right: 25pt; +} + +/* <dd/> */ + +dd +{ + margin-bottom: 0.5em; +} + + + +/* <div/> */ + +div.abstract +{ + margin: 2em 5em; +} + +div.dedication +{ + margin: 2em 5em; + text-align: center; + font-style: italic; +} + + +div.figure +{ + margin-left: 2em; +} + +div.sidebar +{ + border: solid 1px black; + padding: 1em; + background-color: #ffffee; + width: 40%; + float: right; + clear: right; +} + +div.compound +{ + margin-top: 15pt; +} + +div.document, +div.section +{ + margin-left: 3pt; + margin-right: 3pt; +} + + body.refmanual +div.section +{ + margin-left: 1pt; + margin-right: 0pt; +} + + +div.system-messages +{ + margin: 5em; +} + +div.system-message +{ + border: medium outset; + padding: 1em; +} + +div.topic +{ + margin: 2em; +} + + +div.attention, +div.caution, +div.danger, +div.error, +div.hint, +div.important, +div.note, +div.tip, +div.warning, +div.admonition +{ + margin: 2em; + border: solid 1px black; + padding: 1em; +} + +div.header-separator, +div.footer-separator +{ + border-top: solid 1px #a09a8b; + border-bottom: solid 1px #e4e2de; +} + + + +/* <dt/> */ + +dt +{ + font-weight: bold +} + + + +/* <h/> */ + + +h1.title +{ + text-align: center; + vertical-align: text-bottom; + + padding-top: 15pt; + padding-bottom: 5pt; + padding-right: 277px; /* logo width */ + padding-left: 277px; /* logo width */ +} + +h2.subtitle +{ + text-align: center; +} + + div.system-messages +h1 +{ + color: red; +} + + div.section +h1 +{ + margin-top: 7pt; + margin-bottom: 10pt; +} + + body.refmanual + div.section +h3 +{ + margin-bottom: 0pt; + padding-bottom: 0pt; + +/* + padding-left: 1pt; + border-style: none none solid none; + border-width: 2px; + border-color: #f0a0a0; +*/ +} + + + +/* <hr/> */ + +hr.header-separator +{ + width: 100%; + display: none; +/* margin-top: 1pt;*/ +} + +hr.footer-separator +{ + width: 100%; +/* margin-bottom: 1pt;*/ +} + + + +/* <img/> */ + +img +{ + border: 0; +} + +img.right-aligned +{ + padding-left: 5pt; + padding-bottom: 5pt; +} + + +/* <ol/> */ + +ol.simple +{ + margin-bottom: 1em; +} + +ol.arabic +{ + list-style: decimal; +} + +ol.loweralpha +{ + list-style: lower-alpha; +} + +ol.upperalpha +{ + list-style: upper-alpha; +} + +ol.lowerroman +{ + list-style: lower-roman; +} + +ol.upperroman +{ + list-style: upper-roman; +} + + + +/* <p/> */ + +p +{ + margin-top: 7pt; + padding-top: 0pt; +} + +p.attribution +{ + text-align: right; + margin-left: 50%; +} + +p.caption +{ + font-style: italic; +} + +p.credits +{ + font-style: italic; + font-size: smaller; +} + +p.label +{ + white-space: nowrap; +} + +p.rubric +{ + font-weight: bold; + font-size: larger; + color: maroon; + text-align: center; +} + +p.topic-title +{ + font-weight: bold; + margin-top: 5pt; +} + +p.sidebar-title +{ + font-family: sans-serif; + font-weight: bold; +} + +p.sidebar-subtitle +{ + font-family: sans-serif; + font-weight: bold; +} + + div.abstract +p.topic-title +{ + font-weight: bold; + text-align: center; +} + + div.dedication +p.topic-title +{ + font-weight: bold; + font-style: normal; +} + + div.system-message +p.system-message-title +{ + color: red; + font-weight: bold; +} + + div.attention +p.admonition-title, + div.caution +p.admonition-title, + div.danger +p.admonition-title, + div.error +p.admonition-title, + div.warning +p.admonition-title +{ + color: red; + font-weight: bold; + font-family: sans-serif; +} + + div.hint +p.admonition-title, + div.important +p.admonition-title, + div.note +p.admonition-title, + div.tip +p.admonition-title, + div.admonition +p.admonition-title +{ + font-weight: bold; + font-family: sans-serif; +} + + td +p +{ + margin-top: 5pt; + margin-bottom: 5pt; +} + +/* <pre/> */ + +pre.address +{ + margin-bottom: 0; + margin-top: 0; + font-family: serif; + font-size: 100%; +} + +pre.line-block +{ + font-family: serif; + font-size: 100%; +} + + +pre.doctest-block +{ + margin-left: 2em; + margin-right: 2em; + background-color: #eeeeee; +} + +pre.literal-block +{ + border-style: none none none solid; + border-width: 1px; + border-color: black; + padding-top: 2pt; + padding-bottom: 2pt; + padding-left: 1em; + padding-right: 1em; + margin-top: 10pt; + margin-left: 0pt; +/* background-color: #f7f7f7;*/ + background-color: #f5f5f5; +} + + td +pre.literal-block +{ + border-style: none; + margin-top: 0pt; + padding-top: 0pt; + margin-bottom: 0pt; + padding-bottom: 0pt; + padding-left: 1pt; +} + +pre.literal-block +{ + margin-bottom: 1pt; +} + + + +/* <table/> */ + +table +{ + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +table.docinfo +{ + border: solid 0; + margin: 2em 4em; +} + +table.field-list +{ + border: solid 0; + margin-left: 1pt; +} + + +table.citation +{ + border: solid 0; + border-left: solid thin gray; +} + +table.footnote +{ + border: solid 0; + border-left: solid thin black; +} + +table.header, +table.footer +{ + border: solid 0; + width: 100%; + margin: 0pt; + padding: 0pt; +} + + +table.table +{ + border: solid 1px black; + border-collapse: collapse; + margin-bottom: 10pt; +} + + + +/* <td/> / <th/> */ + + table.table +td, + table.table +th +{ + border: solid 1px black; + vertical-align: top; +} + + table.table +th +{ + padding-left: 5pt; + padding-right: 5pt; +} + + table.table +td +{ + padding-left: 5pt; + padding-right: 5pt; + padding-top: 1pt; + padding-bottom: 1pt; +} + + +td.header-group +{ + padding: 0pt; + padding-bottom: 2pt; + margin: 0pt; + vertical-align: top; +} + +td.navigation-bar +{ + text-align: left; + white-space: nowrap; + padding-right: 0.5em; +} + +td.page-location +{ + text-align: right; +} + +th.docinfo-name, +th.field-name +{ + font-weight: bold; + text-align: left; + white-space: nowrap; +} + +td.label +{ + padding-left: 5pt; + padding-right: 10pt; +} + + +/* <tr/> */ + +tr.header, +tr.footer +{ + padding: 0pt; + margin: 0pt; +} + + + +/* <tt/> */ + +tt.literal +{ + background-color: #f5f5f5; +} + + h1 +tt, + h2 +tt, + h3 +tt, + h4 +tt, + h5 +tt, + h6 +tt +{ + font-size: 100%; +} + + +/* <span/> */ + +span.classifier +{ + font-family: sans-serif; + font-style: oblique; +} + +span.classifier-delimiter +{ + font-family: sans-serif; + font-weight: bold; +} + +span.interpreted +{ + font-family: sans-serif; +} + +span.option +{ + white-space: nowrap; +} + +span.option-argument +{ + font-style: italic; +} + +span.pre +{ + white-space: pre; +} + +span.problematic +{ + color: red; +} + + +/* <ul/> */ + +ul.toc +{ + list-style-type: circle; +} diff --git a/doc/tidy_attr.py b/doc/tidy_attr.py deleted file mode 100644 index d5f3de8..0000000 --- a/doc/tidy_attr.py +++ /dev/null @@ -1,28 +0,0 @@ -import re -import sys -import os -import string - -def tidy_attr(attr_value): - return string.lower(attr_value.group()) - -def tidy(file): - lines = open(file, 'r').readlines() - regex = re.compile(r'[name|class]="([^"]*)"') - xsltproc_patch = re.compile(r'(\|\|\|)') - for i in range(len(lines)): - lines[i] = regex.sub(tidy_attr,lines[i]) - lines[i] = xsltproc_patch.sub(' ',lines[i]) - - open(file, 'w') \ - .writelines(lines) - -def main(): - if len(sys.argv) < 2: - print '\tusage: %s <html document>' % sys.argv[0] - return -1 - - tidy(sys.argv[1]) - print 'done!' - -main() diff --git a/doc/tidy_config b/doc/tidy_config deleted file mode 100644 index 7bdc71d..0000000 --- a/doc/tidy_config +++ /dev/null @@ -1,7 +0,0 @@ -doctype: loose -tidy-mark: no -wrap: 0 -wrap-attributes: no -enclose-text: yes -drop-empty-paras: no -quiet: yes diff --git a/doc/tutorial/acknowledgements.html b/doc/tutorial/acknowledgements.html new file mode 100644 index 0000000..64950c6 --- /dev/null +++ b/doc/tutorial/acknowledgements.html @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="generator" content="Docutils 0.3.6: http://docutils.sourceforge.net/" /> +<title>THE BOOST MPL LIBRARY: Acknowledgements + + + + + +
Front Page / Acknowledgements
+
+

Acknowledgements

+

Many, many people in one or another way contributed to the library development. The +list below is known to be incomplete and needs updating! We sincerely promise to +fix it in the near feature.

+

For bug reports, patches, suggestions and insightful discussions, our thanks go to:

+
    +
  • John Bandela
  • +
  • Fernando Cacciola
  • +
  • Peter Dimov
  • +
  • Eric Friedman
  • +
  • Arnaldur Gylfason
  • +
  • David B. Held
  • +
  • Vesa Karvonen
  • +
  • Mat Marcus
  • +
  • Hamish Mackenzie
  • +
  • Paul Mensonides
  • +
  • Emily Winch
  • +
+
+ + + + + diff --git a/doc/tutorial/apply-lambda-semantics.html b/doc/tutorial/apply-lambda-semantics.html new file mode 100644 index 0000000..155671a --- /dev/null +++ b/doc/tutorial/apply-lambda-semantics.html @@ -0,0 +1,91 @@ + + + + + + +THE BOOST MPL LIBRARY: apply/lambda Semantics + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / apply/lambda Semantics
+
+

apply/lambda Semantics

+
    +
  1. Nullary metafunction classes are now consistent with all other +metafunction classes, rather than being identical to nullary +metafunctions:

    + +++++ + + + + + + + + + + + + + + + + +

    Nullary...

    +

    Before

    +

    Now

    +

    Metafunction

    +

    f::type

    +

    f::type

    +

    Metafunction class

    +

    c::type

    +

    c::apply<>::type or +c::apply::type [7]

    +
    +

    This fixes a flaw in the metafunction class/metafunction algebra +that long has been a major source of other inconsistencies throughout +the library.

    +
  2. +
  3. The apply metafunction now automatically invokes lambda +on its first argument. For example, the following is well-formed now:

    +
    +typedef apply< plus<_1,_1>, int_<2> >::type four;
    +
    +

    apply_wrapn auxiliary metafunctions are available for rare cases +when it's crucial to eliminate the small overhead associated with lambda +expressions while still avoiding various compiler bugs known to +cause problems with +the obvious f::template apply<...>::type syntax.

    +
  4. +
  5. The lambda implementation for broken compilers has been +reworked to emulate the semantics of the full-fledged version +as closely as possible; consequently, any code out there that +was taking advantage of the semantic quirks of less complete +emulation in the previous release may stop working with the new +one.

    +
  6. +
+

To get a detailed picture of the new apply/lambda semantics, please +see the test case at +http://cvs.sourceforge.net/viewcvs.py/boost/boost/libs/mpl/test/apply.cpp?view=markup +and the corresponding sections of the MPL reference manual.

+ + + + + +
[7]The second form is available only on fully conforming compilers.
+
+ + + + + diff --git a/doc/tutorial/book_cover.png b/doc/tutorial/book_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..6d587343120814263042123126da4f9d688c5a8b GIT binary patch literal 39700 zcmeAS@N?(olHy`uVBq!ia0y~yV5ntaV3^Cn#K6EHw(P+N1_lO}bVpxD28Q(~%vrl$ zGB7YmmbgZg1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wP9eGwanASF{I*_OMoRG zlOs>Ju|mrc?rjT}Kbrfe^LfBW2ChDdF7ty?4fry>e^k zn`}P8$ZuMC%l_dmwH7aS|D|DVrwy0wG>=Yy+i~JW=g)NeZ-?d_lwN!KXYZ5For|S^ z&Xu~ZIc3}PO?RJKIZwGRJ@fkWzuF9wQzkSk2(TP{8*4E`;PFB6iqB8P|NL*~=uDgQ zPR_xPW!lVjS<9Y3{gwA!^nRkIiArYd&C)t1vCur1uS`~UyF z-pfk3N_N`mzBF;*w?9)De}2tJfz&PMW+j=<6zN<(v4e##qU;23rG~T1dCfV_+ZU7s zUH0T}UGM+vc|zxu37>_0Sl7NbDnDy9-($|JoY1puwzIi!hZ+C)E&k=*oacK&qg-o` zrc7L9{Wi@-Tl|oSk?ib+_fuV5djD@#ax{J(rMD)WL2Z=+dxAhq;PZd~@2FZI*wU)V z?z~7)BRBo)slSz(X|o-|lr(StQuOfU{d9V*LfGO5@)~PhwWH*|9%pQn`>OkKsX@0^ zz_H6u)mm@t@|WLOqEWW`yN8J4+Bc@5OEt_^yLBJED8oKWO)IU)FuT$1i-*d!zP+oS z%YN_4R#`jY-R4dH4C_uQa61XKE!_4d{c)nrp*#OA7JKAQJ}_JTylh0$BL7H7=QycQNzz>BUhTFJkqk zA3hk7;JH^+RxvwuPME_hiHF9Sp;Gt!y)RF>>J&Ncv1R~#B@h};_=~!2NwRhwFL)RA0 zzwrOQq{AYM1nZ?8nwC5EsVkaE#vUM23#J%7_%Qmra7x%I6lNU2?DVhiFu zpd>ft^nYdX_X&DS;u4##lw9cQ>}0%E*EEAU`&z^68aKBk%M|V?`dnCZjH8@+$BcxA zEtdtJN;$tz`|I~d%&as{VhLFy!LsxH zvFTk^yF8|<{H^}_?e3kgGWz!aQd5)I*kv6U42*Y}SV&uc~kZ_uXZ@PeSVj;Ft@o_JV%(zFy7oYy;qujWhZT5^csYnDrfNt#|F3_;kmR`N@0?ZDtikKf-efZq z2(&obCoejSdjp>UgPl0jJfo~5H@k#IV={!Kj=Kt8ym+hZ+rNrAei?{W8ua~s!Q2{+g5nVPfQ=wDe*_xc@W9$w3)E<3X3 zkLTi(`U_XBf1UiVWc&LaM{eX@eqH;1`@@@mChB~iW%P7nJ(EG~J2rvC3OuGiE~R(q z6uOq3liBX&reK)PyeTvE2lu1Sb&vmCi?!O91EUKN_lfZd*i)5u>#1E9FZcC)&+jeorlb<GL@VNlG%;3&bdtMk`? zerBh2y{vOZo)oEVmpR&?Co+F)!v!|2S%)-tWt?j7#v}$qO^N9N&KU<}qVY?2+STrQ4oQ4^-dp{qL1iMV4>E z+w9YAwfByz*00DBxpI0sm(O{12H~(tEDAh_82H9uoo=YWm>wmS$sZYNA_XfxMzU*5rH-e68eiLut z(soFaU`c#bcKv_-_E6&v$6fpy;tDE1kCn&rMI5pa4G*#SnJD&o@*aINOpg({=V|6J>v?4 zYTXt`2`=FkmtH+s(meV7f0unt=b~DfJ5}wk_^p}qL~ZAH=^a@eMclsGOz*Rn6qeM+FHv)kSer@S(zdSr_|%Iny^@n`EJ(G{&n{eOS?u|vGtO(4V5>l;r? zL|=4wo=Zp3r!7A;sY6W^FWX9IUg&&%VexH-*d81mwoKEGw&?xRQ zvGja5K~MdpsFGI8f(S)MUL}qvN0QUud{qnB_33=i^V;_-=Olh%x}p1{!Y}cs$*eQm z%(h&=>>v92>+cmmW+Y9#!YE?U=Bf0e$$Xztc1xFlz(*Zl&#(_|YUkHV%N&$$_Ba&% zNN?)y>+Qcjtmx@ciz{wSEr^qP7U|O=#AzDwg<-+s&mZsa>2y1+uX#z2@!0fdsax+~ zs5F$laY|S)=?jmB%#Me9)}$|gdOQ51rOV=0-j~bOeqL2F-?~Ts!$Y&Smn&_nmr1*D z)L;E*`T1m+%eMnF+f#o9{j*Phdn|6bjN>0J1u+k!#2^3LIkU`G-1+(WyZmzYr-Ta@ot?dGn*`A*0=l^E3_ui?q3P;W?S5bX-^4NhNuP;ls z#ZUiV`0Dc}Eu;O_Uz*#ecL)FbeEoD!{d?ojKRy_Ktoc{->;C=e|99wANVfdjv-5v+ zOmq9k=g0l4{~Oh$B>wsP`u_X+14`XzJtjE+G#7r~zdv8nZa%}ei;)&8_cw9eNqr=k z{!oBTO|VQ|Pi|`d{{4Ud)l8W9@SuGH%iqTI>WGuQxjh^qVTX<#SoqfFhk~qdkoGhA z5(Yt=dq)|h(^OcMF^yFZlo#by2f@y49@ri)w<7wM}g`G3RNOik=&NZ;?j zN-~?|e>lhgt3USn`Tcmlhu>w~Y~t^E{1w}$rSWC1YwVY2B4UBN!`Hle|IbD+LGbT^ z)4yMvZ$EK-?xFwnn~necJb2*G^vmxL`rrF)f6vhC_U3wde(cZo^1=J^ zeYIgGA`c69)Rg|N_6%jaXmaoP-9<9*StKL(H>Z^yh?Q{bF=#i}S5Ow~*v6Z4qlM9K zQ-{Xf38xF%{`1UWFucNR!mrRUTrEYP^ft5vg1;5T8|0^GV&iC)XpC6oNx$N+ngC|mc{CdtVmT>ahw_okj zOZVjScWmnTUs3n-;##K0^~+mk9^LmR;qTY~vdY|-*Iz$wAFKWR-^Yfj$N#)7Z|pzt zP0GOAu=elo6sy~l?dJBM{<81x^T(n8zJ58>ZJs{!pK)pw4c^g(S8r$y;Yq z8+x`m9gmqg;Y^cO+ZJZUxBhNy4GcLm_xl|-5IFX@K68nRueZ}m4WXol*5?UHFAr%O zY~1jfV~>cj^<8gm7TzfuD_>iDY|Xx;Asb;kXYJ*?&)=6HpFQKkuE(3?m=|y}hJJEX zm5G`rw)NnGFFUMu`M(hCGA;0qvpIIeGfZFXKi{I4)u9PR=IQ1ldBJPvJT;cpbvxEJ z>(cFcEQe%#U6ok&)dlNl80_O@+>YP4kY!=^?lOC- zR_yFKqPEMjcih~pc=PfX$24gpg(by1**UJw-F|JkqrFJ?s;}SvU#Z&u@6O8$^BF>* z0a9ExXNl(oFG1(lBbSy6>t9&vtzI^-ZTgBEHv;B2ls{k;V7{q!@RDLs^wcl@LicAD z$EX@aZ(6$fZ|(ly=gQkTuHW3v7GL#)`KbA~{KE(5uAC+zktv#{KK=aBlLwx1w0(bg z{Iue&_!mkZuZ>Q7bZ7mUux20MZF4rUo=;bTAGG4x>4H6W0U{Ar<7UFDDgzI zv##Yo(8AE=+wgMQnu>UKne}agOor-HvxY`HpG!Ol#k+YG09D{4PPE z?P8{s%-PS@E@7Mr+(H^RYnU`Q>&%Mj{$P-=ExdTiJIiNP|L4@+2lN4W~#2tzb0&#qy5Dyon?BCsVCv;qygy4g3$7cZ8NdVs#bJ+&LpH@sfwy z$uov?w{-rFoXecP?{j_omec9haV9UxOeAz@y^<91%CI}PF^s@X3j@L$;4GI zy4@TiuT|E6(_l&M)Mz=ljlp<{vsJKgW~g+?tqDICWkpOn{pDC?*w1r;XZWWJ&3?G_ zX`(b!jD|u;8rRa#Y+T+)1G~;x>G>R9d3nW?gQs(U7TbQib5LofKC749hwJ+c zZBG1Me*FFKtOusKi~r3n`L?7~#%=zDSl-Qx%GBjcgr4qK*|(v5;&q>`qN|lIt+s2( zOKg|Z-u;_7)-?HVf->**b36aHZ{5cBBmAje%FQLwx%K~87F^1iq{NY^A;Xbj-t?oK zIktlR^zRDc{>P?kKFO_<{8@z{5n|<9qyjoKl^+5Lc4tZMVl(*Qhzap zt8G>5G4AUP-=|xD?(@g4H6A;jGACxdJfn77_5MrQtvxb#eV4hO}sq2bN_M|oIPVpLqXHJmo+mrbME_f{1cI8H<_?{vewz#D?Qn`1)NHBxVP}z z7Hxcxlxtv+Hfox_lyd+L^BGj}B}-fucx=5h%4 z1N-z@kL)5CQx`thmAv2D!I{LPr+fKeM%3P&Z^JJBI^UYKZEbLI){~`v$CvSom9x~x ztT{8Ep=6dLUxNV$i(~eq|Mk!Bx@Y(VM@HoIethNH&2~+a>umC#Qvua)zO>8_6VGEZ z&3Cb@s})a`aM7J|^t=qew?*UI_w220 z^PWaL+EB4a>!cma!s9pP^j59EoH6(5L9u{^Ws^Os#DuMuzyA~3>h9NgcLslKz1KUT zJ;tgFr>U*Hp3mr3K2_z9Sc7NrPDY8AL=DA|y_^3t#7+oax-8)KLT&|)3FkM@KDkJA z$-R>g=c(j@1JKZUZ#=vA@0Pw=H+bfHz`@#ZqhB!mY%a=qN7|wp~52Lv8$ct8XT)cMGiBpBBGe>z*M|&USzK z>C+9O=Xx((&VA+m;rvaX|I12tZqAN5wD_xVgGctxOa-<@a_f)3zFR8f;Bs;*w{HNW z(Ax`4q5Y|2BW7zxw&jCkEnDt5>&OoOkDkjmwP7pFS3Emfr54rkFlY-|2M6Tu<*a zBK_VATG|RelwNlc-;otCW1_Xt5spQZukZ(yzlsW8@Z;&sy-S5|IoBpi?D?f@*cHA) z=)8mWrF)^P^o|8jIdtk$pW-tKFFS6Ya4)+DAA58QbJ3k> z&2M^@9&>fmm+}XNyuLnl|4UBsu<(G{5BM@F|8@S__$NugAoC)Vp}^Cr0j`hzH0Lv= zySDz@`ttn6`S#u~ZWvh1Juc6fVKRAI+d>U4^;*eUPfT+^ztC~rRj?#4X4i%nULs4S z3l)ESmJvL-_foI4pdd@2%&v@{%v)^9@oi~Frr-2q_MLA0Ec+_oknvC93*R^1G23^x zEN`zfIHi*?)40+t<$1^-%SDq-E^;?8{H*PZ4~o6-QKI=(WYI2$Bj#o$OSekyX7=)B z@M0E@lH5a5~ZWnVLG)$Vn(Gu0RE zw&!Rzp4DQo`}m~bRk@Gn9IZYaQr{40s1h`>5w z_T_tX*RcGYm9_tZTerJ4XM;%1^eg8)GbcY2%?z<44mh`I_SycbLqc-ty3(FTZ%@Q z$*c1ne5`X{sl*=U@jXg?Hie{+j@IlJDS|5~~4KL7mVLmVCMFpY*S*2j}|d3K74}h`ug1|LaE&cUF44U$FB-ksy1Ev-CfO2WWQbKnIqP^ zbLALfALx`uA8kD7Bg}g5OJm^K&iAEEhORG8n?30C4gR)3@RD*gkJk;hTf&mF?LIwN z6Su2C_vj)&mC(&il07yRYvZym_0G1tQWBC8|N3<0UH^@FOedPl_j1Mb{JgQ5?Wu>~D|^L=D?It;YhJDhebw@~NWGetecXY(0nm`tDB(#X(t&POx1ePM*BhL9X*)HXFem5ZYF z50^{&Ug5vc%6)gIY2jjS=S3P96&RN`UbuAp!a`%Sgbw?{_dEMV{_HMYd+n6!8U5v3 zj#&O=vg~J&TT*cO__E)Z`}exE)%czi}Hza^?bPA+wx8)k7YvwzkcJddl7GX7QS@xZ0HS< zQ@t@oEN0>4mk(^Bd$MZsCk4rfop%tDtJ&I;#bSJ5_e;i$$-F9$HdKYLz5T7;Z{LxC zeaBXbGX3FlSSq>Mh39af%}M**OItLr2m1-c-aT?Lw7^zI=C4wn!2WZ*O%EPDdY};M zSY>{PGc4+M+~sV2wd=tJ+>%ah_CNPd|DNG*u_?Fpi{cW)87C5_t=HfSz4UIr*$m&y z((hlmWXu(Qytrp8!xfkLl@oR4LcS{6yh~DMnD8;V#6axg(c8a+XW4H`%nrHmEJWe7 zCC{!2*Ew`q7iKYg2Au!1LE7_Pghgl{cgHO6%mlrwVoAre>3Mt!^=BX z7z>;%aCdnq%98%^bnMNuYdH*pnr`gp-1O_!lH-lDw+j^&W&l&MVEkR zOa1$D4tL9=m*1)SCI8RPx!}yxQZ4q#7c(`!9lkfGbECq1#Ynq~iKQQ_Htybk_xVR% zOO5OEuG+9xC00yx_!Q?CvPARfEoRZu6RR%dEWE56>viNTL(m+%q_Rulud*vz@6B1g z=(=2cVf5{tix{O=n*VNJJiq_s^VE6s-#QjJm$iIR^VD@s-F7dpG?=Tf^?%Xhf*v-u z#J-2Ii`qN%dM~RdJg<0?AS0Nt@T=CT$?q;6D+o9_(cp65|0!<_4%R$9caV>5+nn9O zy-i0NnVb6=TxQvNGaE`AFZQ4GEv{&<*HW$6B^n;nyE-1NXx=@0a~+f5 zoWDNnL|NF)-H$5q#c77D)y-X1K7F^h&ziNjjZ>=S4!!^Hl=k+)euY2Rr6(mc$2!N~ z$%(Vs^&;cS?&Xe0PB0yBEI4(odi4zR#J^M2t9fpBCt5!DpJ!fwH?NVOu$M5D| zzVY+J>$!Iyulo4b=;-aF8%(dFcB-3jWok&-cbr;yXIGC!otuRcE7QJZe???2|5mnh zn|Ekk;Pn}TPhKW_Eo2cpZD6X#esS~s#=rwz({xT2oes2MNJ@Y3a{90JSEWz()?6%J zldv;>O{=u1(`5(GIsA+NiHiDP{=mF!fyVR3uY2Zyo4@mXm5k6|4u>r_->C4gINaED z;Vu6Zwqy^BD#MS0HG=Y&Dvaf7SdSiIc6{Q#WJ}Kf?WwolZo9j-i$y*uZBl;PfwvDP ztUlXmE%WSASHb7K=D8{1(~V0XPkVFJWNDs4;Pb_L+crFpsYn)BrplV=(p)j8{O!Sa z-R?7v+Ii3KIl`Ja$GTrAu6z;e1*5-zmYuNNc>PB8(sz3;4;|()`fZ%<9qDa)L*t~& zw!6QM?>^+4a`)@m?ST^+E3R@Tt1m2EtNeJDMMu86P0Ti_==W2-4Du^yxbIH-&JeVF z?wVUyT($tJ8QBT+vndcRCW;s7dUt#iUW40Ba;1T)i zOuy%I>QDc?x=8m^K4ZqVq^TT93cF^eOujR3-fE2|8IG>j2kbZQs^6)9A^t+WqxA=8 zU6Xu5wyK$!SyExE(jif=O|w1I=H6KsyKBOevuCP}^&kB!D2vKFQnyE|jbE#iqc$$g ztb5Y6iD`>+gJ17#@n~ay?%nx->Ghm7O*5mtbS=W&TT;s~xv@ zN9fEubo^~ec#o)fi0j15`OaR>nQck^y$58vE*e!`JNoTs#>@Nn@{bAc_jI>cpT1we z{GQF5@NFk#WW78zO>W-I*_y+o{emyVeIG+#op$AGkro|K=?}UBi!Nzj&YW_Lt8M3J zZIjz~Hl_tQG!=z>;QXPr$JH{9i17#UDKG*E4;{VY3uGY#>r9te&YJd{D&X5le^c@rNuj zy}uQ{=}g#_*lIFMl54GO&ho=Xvt3G;y#F^pJ;aoKS?RX+)uos3&wP`U;Iv-ro14vM z|CK*7M3}@sE!`R|s2L&^_N`~ar0qgMZ*)4_TyLNADR`P@|Ii`#e{*U!2Tu!wVD_~q zUkziYlmth;-2Z49*W91qOC<8;`L3V0{yz7?y!-L{pKVXv&;82mismE>w=-E1v4=I+ zd~UuGUL$W{Vd>PRB`@)4(JIC61h4EXg|F_^uey|~{6A*$BD3(D3dy{^BHz1qe&qIh z-oN&DO^sB-oddozz8(L#bob)AZzT_3Ewo$y!RpH8m?90=*=x5w5V`rtp0UGhwn$5& z0+;#BYY_`sTb<1FVk;Tm@4r6P{K8x(&1oXJb#Kl*dCt<<_%QX}Z@HqC;u+H;inzZv z-FPsuGyD9bMO^pp} zOxCMtO%`VhJvWWn=iQ&Sd+V6;i7?1y$z?0GS&Qk*$Dq# z*2PhfII%&F*`aa&>}}iEmAFrfn*2>VrpbL#@+FE z@`Qfde&=f`a1~OroH{3WcTZ*Q8A;BK(NkJXq;)8v&1d&ir7YHm4$hS z+}q{27F_o4=ew2k_w(UHeY`6(?YI2flY9DV*u9y{Ctr=5y-qfuaZjgKGpBh%tInKj zOV?UGFsWxrxW!W}(c-9)6J4_IWZD1Vch`-QbvLkwJZ9Bu{KjfuArf&={D$eT^7b36 zY%fbIY5lpokdf2Z)SIV3S8Q6)rkHwmA<+n-bJnwBC(e}pJS|B4GV`k3-&32DKQ*Bp$`spH%?@OM3 zV&Ac0TK5V*k;>UpevO970ZaXwi~n&uY}vWhgvYtiX8W^iLJ_-tH5Ti0?faoCGP6m) zTC%SE<5_XXW!|x~%shSdXTMjRGokqO$^Y%~pR<~G&TqVY@YuvMj!&xF`P=17Shh~; z+Is9^)4`=Yy~jH?W?z(axNeii;vg7X^uD@serBE0w9DG}UiDc#5M!{b+-kZjYnEPO z-}hUOm0Y{ZE-kD6_A^ZXl+qTxl5_k`OdjTvNruM-CKWH}xXjjRQv2lFv48u_pGYo= zF5b1a^uVQ40o74jJJ@oj%ghRsc^uo7F}1(1$o=c9-T#v|orRFuvX z$tmIOdZ(V}>gEF*|36P#Zh8HL(C?kzGnJpl=pQ!u!!Mqbcj=0sJcIIPv$oSqXUl}S z)&J*s=FgyYE_J!12FGEUyjCa1?u8OrtE-cHJbS%`&1dZ>ed_#E&aV00t5Z9S4Bf=D zj^2BsHeKw+Lm9;dN6x-^9)D*3%s=-pl(Mbj$eZl?n)Bql;ELy$_iVXc+q}P_(BhcB zZr+6R&-=ePKG?PDW&f<*QZJ5wyb~nC$}K13d|~UQtuA(^_u99aJh~a3gLB>Vn)Al*Giw!6+x6-mPtwi)^&)3=$ZH9g**?3~^;;X}EXX;!luzjVPmdYO z@|%2$4G;JD1Z;82ko(%IDZBUHj@Qdhh{*73i7$E85S0A>Xxq2rj#qYuKAOIt?W=j? zDM{};eFuKTGwc`Hw{Y1bzk@U%W$dpm;Fh)IJ@XmKaoMeX%If6m_fVea## zja!J<@n%X-e{G5Mme}i|vkd<-E;oO!l6(HM-2#UHz0=AUFG-ACJ3COibkV=3izR); zxELStRTfLvGrTqH-L$g8jBT-oW7&hJ)^FCUTQhmeZ1^zsx%Kkf$4oi+=L^sMbnk%D zi5*gh6822_@lx~4^7~%1J_{a{-c~N&dyVVbLN4Eg%5q9{HWwPw(7Li~M`${@?0U7G3x+v!Q?bt&g8$UQFF^ zZSj1K)bJVMQOBaxPJD~3e*H0R!ClXZ|Cu(r6+Aol^IX9u^{3}IzWmwdTdD0~)>omu zV$;Rg&AviEn4ZrQi#|GE`n%ZlQ$m74Lc-q{sW|D+)tYEwc13C7brr5`=SfC~)~-2Y z-?Cq6Qpi)~Ss}@L&61Q`!!z`r>dkP9sPbleUM5xWY{R0JseKw!>06J?N_k&Xm0Y=5 zt!CwM?g{IBU^xZLvdhXkAO!pXCX* zC2QJmEq1P2wkKMZQKX*9pwP^c_ppOV-|@%uZ}i z?ao7)@xPCUmv$Y0=q&#raYC@**C`)P_Fa(Q7v1~nOxpZaYDVcY6`70PtX-XUA(G83 z-Sz3QXVdT0Ze;tm|Ba3E)ddR84Gk$fQ&{wu2^1aQ!uU`z?$DO*t*hCs)<|8sav@LV zWs~Jvtr(9A!628S_lvpCud9`=zo#u76|Wnsz{Q?#qd&LwM(?pjcP>1erFi27XUdI| z7oY2yQc|ydy2kPSZ?^qlL0Zcdw9~X|Vm; zDz;PSPiNQZKmVB`8-CPr#qC4$ot!ToW0>`*%kxoflxpf2M7kcXKqNlDg5P1Y^>W!(+}clRVNai zH`M;+b~q-vMuF#W!Vcd{Wvnx;yVpOsI9Xl4DZI7u{eKoYmhGi$>vwBPJMk}V7jv3b zqxsYO>Drw=9#ug*4=?Lre(t;Dvi6~s+Dm)VLO2d2Y*_8Tu`B13D8sb-YwB34mt6RM zX42eU?p+Nt&q~}ddf|I{<;zzsUpquUs!45FzTx!NX!Xv$yG;)3X)WKjcI(>({E^~L zk4(?0o_wo!Lv{MkFy4Z4_a`a=RsEa3KZ~+Y-7wMn$&+~H62@!^8|{@v$_^_tGo5zl zONDH{Q?u}dh-)zKaf=1Ezuw;tH2ZUVE(P#_WZk{SKtOzmm7v!hl6F-6LkA#&ee! zGg_?-UM!gQRa#E)^6uOPLcV@SxZeFb`6%_8WaYA!&(C-Ke&O;_{k&R7PX4onU$n0# zT4w!Ru6jAwarN!5zt8P1*X9@SIjmQFI(`bj1lJS3gEz8$nx3}XxE&8$KP6@QTGfxQ z_uWiPnX@k3{z60Dr!Aizo?YR5YAW}cQ)_azi*#*NowS@?$DX;~sch#Xh6m-Y<(5m@ zL{iNEZ!uZs(9$USU*wWf!v6Gg29AA(jDN)%IzB)5m0(*`k)!^kf6lU{Enx~rnyzr} z`@cM4)s?luj#?~2b7Gth^cAKYuh@BZa_RR!?_Rd^`Z*ld{-tHr*R0aC`ImtD(P=GS z7V1ZSF9`4~Q#w+)^SNRElG99EG8|W&vw2q#EB3s^_+;Hwt@D?^nxrqeS8J8O!?!Wn zNpR}9qrKX@l)j5iW%t|rUF|Vb-%BeUhCSIT)3-lc^(^f~CEHKdf6D*k2em;&okTWS*L8~8>aUPn%#_Sifh`0l9ay&*|0o#^r}+0tudqH=LX*?lNg+w zc-~(5*ZS}O%2y2&tQtbt#8jMk)iR}i=U6z!sxExYYrb#y^6Kw#x93ii$=$nfv5J7R z)SgLqFCAiv@MC0}>Q&3a7V|UK@%+3;@t>2f@IGyy&MDu$XKUYQ!=#iw=TF$geDX{) zTl1ggm-`=f=`t(7zrm#d6RKOJIU$Yrs5eGW`U(?`c%yHy9Y{0?dyCHey_mEfr?_b#ea|oy8l$5q09INqX1jtitdja z{{N3r=hz}v9=%CgG1=j_5YrU1-R!em_iJYvySr)|88T;2c(M7rlFLS|b$os2{NT+9(!Vz4>48Y) zWsQfe)$&=w*`9B96C+nuDWT5%PGn*6>{8A@xS=E`cL}g<`_EOtRmgyduK!MfDBq zRig7ec4nt>x1O1ApJtW0r2LbCgwoe<5|bDD3Z^e8Ha#&lcz-~<``Mj(@{;i{(O1f8Q6-P`Hr7BXwZjjEl)lEl6csHBDC@Yt z?z4i3SzEw_&`Fv5j9qQb;;qkA)E0ZyE1gWOShe)>{^bTXKRF$aNN32?FR(SsBiH%WEQUBQjL+R_T9{*{}vF_#0Dbu}QKby>R>bJsY&XrzX^E$6}n67-(Tu}MQ#b<|P#Ntn% z+9YnyOJVb9-qK{G(W{svBf9KO!s{yDN&PWT{2A2Nsj?k+0m*60WEdMR6Ni7;olwT<@16G64Hx{m>+q5a|O@YR&J)q)X>0&u)f-b>%B1XYR`7cZ%e; zbn6m&)yiltW|Q#5`St3{95?qfBr&FPFSCEJxc5Ny-hYl}%N?_s)FMg`{g5xLx?i6m z#GVw1!1LYb z9-ujIHheY}0?*uHua!z?r@yeunWU=h8XPqnJ)*L-vCLYzi;@u*~u%<6%e_zjM%u^EmoO&{RwpNYa^`9y| z&wn`@%uI^>s(15e_S`XV=uTD#bTgHYQ=3DJ2|0itHX}NhpSKr27 zKC68qW8!Z&OSMfcY|gw7m+$QkV!6_1w#v=pT7GJf)zpdvh2m>Ww;lA(nEOi>^%NE@ z7Emfb{yzQTp1F5yxTE$MOZi`7oICYij;nZJzNCuwvO8N6!X+yR{UhHi>6Q14{dwqDS)q2K9&z^d$(VO`$QYV@7 z$$7sY91cgXu2ti4emJKjdy7bSxpU&ZpCU?c4sHK1wWe!to5Gpt5rQpZk~v#5W}Ce{ zzjEf^&7wupOeaq&{`{x4)az@*;#Dhu@hxnN^NIF;c1XDGx+zx_*OG-&Uo*E}y|eKH zul^ku$?pcQzFB?wrx5G>e*F!WFW0viueH_w&beM8#VAUn_Uv1I``g)%9%bi0sq&3m zGVzv<`T0i<6Eiv0>#bAkmi#+2HF4#Ki|GY@i{78T@O#UN>W|*a$?GPD7TyUGo2jYc z@+BwTAe2$OVsXrqF2|mh>O;jb$&+F$`ds*vLU{~)jP^LjBrJITc&TdR+`5#NN~`|t z;y3-r6b|mQHGG|>^E2m7!p%FkFWDz7%u|2s)TEg?KO0WV zvopM&xprSFt8DMB7GoxZ-p<1x8rPq!+OQ#i>Y2~mS2!E=b)L#@Kg@mW@`mNITT`}b z&RXRCR<|!yqnYFV!u5MTd7NMKm~DoV|G$9O89BEu%-x%{;C+juw7b?+L$6707VkB_ z@0n=UwOC-L>ZP1?gL@+91*D8LE_=^i)o+zM#qIAD;XDhe_3V4=m;y@KJUN;TL{vqx zwuWWP-mUz9duO4{atEQwVO)8U8&0*%fAaj{H7B7kJ(cud`J#!@rIF6E-A;F2wO-2B zYyY2NoSgOOVSinwR+4vO;w_`wC)bpo`yX_`E8{v_e^uW`(Wga^g=^hDxWrCi*mb$m zka-)&<`}ai{ac2tGb$YXr~h>5{bjzG*X+l<=%DzV-xZZl>unn6a4dZCWa~DrrLz~9 z7hVv2Y~3}*h2Qy2h?|+svc>D9H2&u#&VK0EKBIGeTEF9@?at@5qKlc@eRO|w9XN7x z31}7D4$ohc!va3YH0>zV-tlEiY$b#L!*go`1paR@yL@KG%xf=LnIcsx^FQr9{%h{h zbzj)|Zk}1MEPKZK?}RxM6+7)B&NW`BGC9=cxyEk_C#QZ|#ul56vjqO9h1SbEeDn+6 z_(fWIyS~WF1+6Ng>y}(~n68~YJ#+K^sXNbZ-?sAn)uopnM)@b~+MIuR@2j#&)BKo| zxjC7d)SKt5FPHP3CTiPo`q1t((b{I8lM3I;-r>I?A6j87^EL8D8 z*ON;s-zRY@dYL{?I2x$P@jt!in=Y#?_k+qyT3^0sEcD!^BKoVJAt~`sf5{!~n$Y|8 z9^vhRhKm}nDE(o#F6Fp&w&l&F|NrIfln%4lpB4x+HCo^!wOIb}ulby2ZmhW%|F?e? zmw1@We8E`nVDRGwwjTdyGPzg~WccS%@Rw2Q(u*UX z`6HIhPkIpeu&VyE@a_08Hc7E#`Z+eo?$_P_|MRt^_I#`3t8MSM`2O6#@BgRYx8%#h z!qjf;kY2KvNx)%3t(njNe~R%2Oz(9Mrm-fd=l*rK667+=I@NLGBy(iJnU0b}=5N@z zXW0GV-1}f*@`+viZckpD{8N6H)$rzS`?(p1*p?)G@A&iccY9>pWA@j(#iJ`(x77Ww z`Stp|x|pA^TG(p$^YZ&ed6WMC_+h?WM1T3O-?wMmueAF7=TTklf0q4u7LVE6+HH#d z>}QQPKJmF`_s{Si+j@1+NMG`1e(E zzQuk2hx7aU46VG=#nqrxsQ@=3n z$ltmDt+(qv|E^tsv&Ta2O{Ll)jXslYJVpQF-P{@&eCD3^I$|Kw=I?iDOR#&ci%dYG zn37)14+fjl}1z3gVsci!(S#X%e2ZhzWh>|h0p$Ez1=>AZO=A- zlj1%7X~LTS=8-pl&3de?8UCr}(yJfWbr*!LzkRH&q{8XNh6q)KmswkVH}hl$N$dK? z9iKOKLUib&%+}2wuP5oX-!uHseDlGT`!-&w0h49??32Ej|5lsNA0$=&UuW4L_a5^@ z6WwCx%}Jl~KQQ!<{j4`?^=WZ|WRN&GZKjQJ2ol zzBB9J*#>u|O4f&7KXbO-;6&ag4n~KYM&q5G*9_AfBpP>g*8uqoj>!T$Xs~y3;l;@ z@_lBV-&a@r?dx6n!1?#nXL{rJv+IR(?$0;!JZ{9q`>&$+>3P>U&BgZj@9ls7=hR^iSqQGS&OjlT1_i~y76;d)2h3VugLi#wzPqdR?S+NG+ZT0ttxe!mTY1oP z-rHF_IA`v?^*-+Y^YR|K=ikfM26RrjqPDMVNnms3@AuZPepfZy6`lRFv{TCe>Z%By zt0CWZc}EJaIvupkUO@BV_weQM$^S~f>F!vmyL;Xv4bisff*AonrU~+1*0g;1#)<8Y z)iV8ylhUeJ^Xgd}_E+BIed_jbi{b4VcAPhw9(bHwcKK-F2D`lZkMEt1So@6Oi2s`C zW2{a7sS>#})Q$>D?|ix<_`~Vnh3b+^+%(S1>sC*bo*T1=o%zGbCkHky`fr?~*BYu- zcIdCv&g9$G3bWOXYNTV`illwHw${dX|L|v6w@!w=QG!iKeYUGZvw*13t)}n;`437( zI@kk)7_=`goVrMbZ)S@AkB06Tx$0xWg?Hcb7o|4)u3lYpz2@iP4$0-kc|yD`zC~P% z=GQJdcdoVFEMKCPC;9M?p6N3-ZCLVL@m9m#_3?|ApVLsWem;fiMnWA=o=)4O%l-nGu!h{8mR}Ln)QI` z&#T|s4B_FEm=!pfGadQkOg@_b`){jfc#MUYW82af+#KEu-x?VI+~Z%i$9G!2%KOdN ze<)9%Yd?1ZM?6d5tdKkPV*T84<&~Ce6Aw;%%qh68()mi$>~g%=7bJE&D0hu*%q*QKF?WBWe13r-fhsJr7x)b!>*5gMj#% zPjhY_-*Wmy$Sa%2%33}>+AMsEECMIKPId@;^*!9;fYVvxNYm-hkkm}T4xuuAggnekyOe) z^|C0%iw0{h?Onuc_xa<4cdz{Fdfzf%`En*}^ADB>uX_3z*c>IIEWXd*A?7O7;&-6G zoT*afamB|UZC-D;is`s{iu^r(K4norh{DIGS*u7N3mG;&iwwsl&)~&>`f+mnZ-0x30}xnzGsFJs)4h#!q2i zbGOECe^BdYYrSCd)~P37L_Fo*6_|AM;@x)NLvOr3N(*s(VAy(g(m%mE;f^1=CYezx z*K#J7wSGUobzuSPO}2l^cPvkpJiWY(<<|LY$#$M>>ol!&1oyFh3G?(}krsX`XWqan zS+RMMpkm8uli1_B*WSt$-nuY3#??BaHt*fBA^E7ZyZ+IsFZJXXB-MXgt;N3NeD`wZ zt=}&mEpnwyydOz=HHimc}gS8Yo&9q&(=tNV!Hf# z8i$gkj^gq)DjzsIHF`DJv?A^w=%}nR`R%;YJE^_#<%*tQvj8!vm50+xt*>dfCpl@< zxm?$kGrzj`W%Q?INBoKd6O#g;zh)5lmHt`0VU_kZ&^SE*@y^L^T!BX}c=_mv=5(~~ zw7-)7*!hOU#Hhf)g9jWgZ@E$E_5R$Jj*D_R_itL+zP`8ja`(j>cIPh4E7(_}k#z9S z0S*P0b;5e9!wlJPcpO^86&PZ%`OcBf2QIyb<$jyj%x{u;HdW7c#$mxHT88yb7oVTJ zyL!s^5C8UX{N8&socH~Yr^{7WG3GFzn|N&c;R~v+f*kgj6K_=8)l`4p6L9MKasCZL z`xT_#KU{la%eN&J+nNm><9@6cj4Yo%D{)?L*PDX|uF=m{Ns8$Pwt9(!^GEoW=nOOz#$(F z;~M)5M;abZxF6;vP>^)I^g^{{FwT86Z33~}vY^~yc4 z-Onazfke>L=G_teqBG{o{+#iNsY6pn>>J~MkI7-Sj?U-!X07uxPmhhAp7#Dv%JJ#> zzh=~|{nB|-aM|Z|dnChN#|dv)pZs;t@#X99`>QwE9jJ3yqWby6jnf?^HxIqtw!gY& zcl~yz0Fg_@vr0?F?CH>OnzvL&~{@3U)&Nyw(8J+sNzfXUD zKkFW6;1T=i!|eB~^Y>T({rmcU{QiS8f9vNw_+qXxrS9*8gkQRcPrugH&seRn_R!%3 z{j>l7{N8_-Ki>A=kM4<|jDDQcC@^-TRK7-AU&zAmoVy_O(YFbKWy>9JsReu>#NG3riMeGJFi3_`|1X&76j2g+fiYgojKycN&Bh zN*#H43M!l!J~Hv?jgQZ5(=TmJw0ZhQq~ZkUzc<@|+&nPlhIY?d_F@(G zwXHskd=J*9ZF}@ecDm1{BG&bHw^#bIWu#Y_#S5;F7MPP)?ij~y$@Ae>THy4F8isC} zOC>CiNEGShPtZLgwBO62q9=Np!2zMYi+?E3kNV9XFS6>Qt$>tjoW`V0QdTaSUJbkQ zcHUoE9&34D?)d3ij$IFDXs0f--m+4CvP`t$wKbt#TEDlRJE?ZpdGYGj@7Fep-B>sUR$flY5{L?@d{R?ZOMZLT;7YamKT{$u{Wzvl4OCFfb z&iPmWfB*l<-#0yOR}YPony>QT=LOS)j3X06R~)%8^NQYw*hkE6e|fCWok(_<=4kR= z;>GH(qMn<4dslH$R-1Wq-N%DRQVt5uGUsh)(D<0fxS}z#gxmY?afu}&swUBC#l5!nw^d8dU5)y4ZC6?N?j28p{KKwZ53{)++vEQCz3`L$mx~-{h%Tw!#C%=JeOW%UWJBxc)M?4{lr^mS`HqKX`-dOOI)CNh<*TIHf4AXe*QQL*wkexJSIJjc^ZblEdq|~kn|STD zY5Z+#?u+&;a8y|5ywHB%ryqf9FT38n@_P~2A;X6}hq$k0eDrsA+9%$9NHJM}mGjQ^ z)A`M7)=lvEeevaUe};MM=9wo-bUeB-p?{i)CUf*^zrVb5jlcAlJ+W8##~|!8b;5)N zL7}Cdj~w3ISz0cB_|?%#fB$?r_igWSuZH`f2U+4%MR->qT{%-AXT_4srz~6araVyS z5MG!3+1zUJ<`#R;*)L~ko>snTlO??;Y|9sqJ?j^7FH+rkap#%%*jc-GB_&ib?w)wh z$5#4?Uf1#$qCUQpRNuRP437O)n!V$7?iY8qg$wxhK9}wf_{CT8$H1YNWdPi6*`& z{=QfD)~D2+H7CN`?N1~f4rGYZi0BMIrt+lmo?Y-AE?dE5#YNxbKAZpHK5$v|i3tz0 zg|MfpOSn9n~@j0u>3Vf_c*e;0$V3bQX+wMuKLQqzTF8_)Kce_%X4 zseG^Tw>N8!EoHXtNq-{ko4a_!&gIG8a~}I^UENWzrn&d=g4)#&7Px)alx7fS^JqQU zYN&W@K~7(Tf}Y0xQ-7MAwjAo7baX~%R=w%0yjS@FMlQ97V-9@}C~UYq^+d~`!fy-b z-xK|1q~R2Nrt{4oo9EA% zac*@9$2ph(viB6uh?sjvL>O1Rw{OV#6YDCWA)q^&#s_bZ+ziHaGb5rixIT{r#|(tm9XOy%G#ne<4N!=-bcT#S-n+#zWZj4WcZcT=O&j|SAJ`j zwY#G}-J@q(_NVldWxY~8{rr5l-%C&4SNoyN=a7*93i*ec2X~9yohGB+8@RZxI;{53 znfL14ODsOS{$Haa$?MCQf1+;H9uMA!eG>O}ZqlA??-Td_SNP-Z$DwtG;lDfNb>OCh6!WfnbpFX(o@(qjG3mxXHlw}dq?3@-7s%tQh&3o+xS)H==8U`N< zuBdTdj@Z#&95Ksi>bg^*aeBuV|6Tu6Xu(c-RfhFfOMc4tFJCmX%hbkx)y4?+j=(E! zS5DV#C@-?mGkZE;z~cV_=b+8kJa$dBu`goZ`ONzL=KK#uEB0O1b^6@aFF#>c>!Q!M z=K9`vd-(Y3K9z039`UBBTlUv+6dr&3DaFXc&O9jUY4B}@2PdBKaA@m<6o0qbz0+pz ziZ7?5SnKp-{7Yh4uRq|s^jT+@o!|OT7Tk9x8+^BaRhV5Ly4uO8M)*I|hmx;WyoVib z^vSAEao}1ZnwX#=%<)k`C&$K9o_(c0i<3@ID<@}0OUA;3xk2hHo2%2=%lylizu))% z-`&tV=ij(yIInENp~e5>6Px$HP0+o@b3xvv{6v|H(ght;&2W|TnHvpuE@@Ct zs9mhF$A?WsMO*U@yMjx@Z3X|S>nCsD-2FFo%VbgRXP5f4Lm4w1YCe4szrN-6UF9e1 z<(OOk&ZuphBkQv9zPC}R#Ls56mEmgdW-ew-Tr|a)-%~61)~1=+EQ^B}dFHPEn)~ao z!AzzlZaG(zvw2vG>48^Fhqh{6z3W|7 zI%&`Imz$2&aR=pjAKdK}Blj*&KL4w;-MK4gFaHV5io7}5=iI?F;#2Q&I9&Pp+JuKW z@y^D@TS9{tc6BMFHZTSrlr}InF!->_z{ubu*WG}L3afs#UlI_Mc@&rP?i{0veWUK( zyXp1+>U!c2)~bg~bcTIviFn6dQu)!_YqRW%n6izZuDsp&*Fq+(;S$>;Md`!ti*9uZ zUEh64;nBRaY61`DF#k)Ie7EeCdQg4h+*xPmsXb4>{L?Raf9OGZch2V_X%>}7#MRp^ z`ScQOW?rn?7nRh>$!|0>O|8r0-?8f4e22t0p$CPTJcLfYlE44#$13lgu0M4X#Q7#2 zn;`O`W)I&Uhxx3Ik&&FgKl~}HG1_M-6}#-><4q@LZ(DKFckc?{xZRn7d3I+`XYIcC zK7PsL-!;M-S8l&5k%*I53zzJA`%Ulvo?6{&rOu`{AK3N(1~c6ZV5nnR@aj*gR9mBg z-079Vv!-ohUbVu>OS`mbA+z=RgU4QPG&C?$h+{NkTVk>(P*hMeEBNHfj~{RPO{`%4 z?N|Qmu6(^&W!o+N^EQk3z35qYHSkZIynmW}%E24I{PkfvI=&}F?+mwwf_8pW9{LwW~^w)wfahtX!W?bj}`)xXt@{R|~T0Th6xD>Ye$*t%& z`46w@2~X@?mATzmetwY3yiIR+1*RU>o}yP^DSJ-&|2v_Fx9iWb>HmCY`aAAel7_{E zZ&f09kE?GE{INkx{&KDA)XAs6Mm+8~p0woc_3{bHb#<%)6}P$#*)xZK{=ZzlAoaXmT~ht0OFn+T{!G4p-|_U9nFrLF4V;&U zIQ;!lzrapQ`G=Rq369V8A2u15&8wgDe*fKl$G(1#cPx5vN_)-o`2W9tf7fQVR?pD+ zb$q@30l75|AM9V0h*voANW55(n0w)+>;g-*w2Z?-K8*$&KA->ie}5-Sy9WRFoBjW{ z@BQ=P=llKlA1u^0Q(Lxwg7l>SMr-OnU5jt)o;&w)xbMGHzw`a={s=sJR`KKMW~2Ql zUdR8hI%l*0`$O{$ACIujGh~bPWS;Bti~Zdahc2^#b8H+3E^mFU#^ZePhF^t9=fZ{% z&EV-?Z$zcFlTs4jaSFfi?p%vyX+LUbb?>}`9sA*J7?dudtm1nw|l~wvZ*Fld#4;) zck1tk+bOR1D$TrHSM&=#idAOyjanwk{$J*O|ErVzQMC*KE1c6Q45yj7~y}3!FMP zJ6I?QrHVgDx0|ikes^NM&GG9+7xy#VNvz$xMTDnin~(SJg0D(fe$9G&>}}eUy-u>s z2Oc~QXp;HHvh{$d#RQ4f$-g*HJ^QTTp1<91wR(l8cT!Gi+@~Y26DLdm34hV|ugGpE zL+x3vlTvfvq%PIJTo-URV|V}jQ@*05$0bWAbTBEs4B6{=Hr}0K!YK>2%0)_h&9?{d zHRQaqC^Ay^-KGZ*CtQ&dtD0-`dvAieQ^LO0b1UxVGj{Asl4VI$(8~2}ULdSinp#|7 zU+Jx3%|9KF_-Ussa#++`B}?(WyU)r-<)E3IW8#aTBQNQZ2= zv(x-m-8C2goTZ#r^8${&$UJjETugQH+qAtNw_m@l(QL9f8OQKLV3EU?Bq@HDKNHtn z&HvsLX7+1_`01UqTwjIQnT86LOqfwRVe@)ZBNGPy195sXCP(h^akmCdJH2jgVC$hm zzTT;dD$*y;2gDjH@=lHj73PxPTHh%zUpb*cTaG#F%_=FrxhlW+C@&UueikbAC}aA{ zP%B=$t9IrAth@UTFE(tqj)_oIjam2Xbz4{>`|Y3GDxP;bCO>~UU&6_rv18XX(5Ap! zW|_g+uHN3}dUrULRy@!xd3$qD=L6Z2m#12}?`r%wsCCIKch1Z$RZR{j&g?n4r?UT# zhUme!QL!uTg{=J{H>;o_e(wLd8@e9EeQf%AB6#<7XJN(9H&ZO+kDSciACo(O=JS5R zCz6&nBA#&zj;vwH$#Za1{pyqUY*PNY>u~}KH18&{Zr8`!41wwWiw$^O9^MePR&?0d!6Xo(@IauXy36)>9Q!$@MN5`0 zY-Z9FVs&NW>Xg}2_xS8P)M zt{;y>yAG_c-+HU{@XHPV_s&vJ-E~v0?6^tU`IrwonnIrZa=3Yfv%@LsO3Z4d#k#Nn}ZR-^NUr@NV`N*@Sd+guG zCwJK&e;vHd-+0IO#^;M(FOJyuc8T!ZZmkPkcZ@{t%-fz7`C{7HX-VSA9lnzvxiic= z7rQ)Bg6r@;)i0Bl`Kl;2N=RraawVlb@~!BzW6(dy)8Ew6;*i60hC@_jk&~0}+aE#l z)~TN#9li9k?)Lt_^4Gq;x^_Fj^R;tRu0+E7VCV908}5Aj&#mf{ROg&8f_8QgNJ5TI826fzxA*-B!C5x$s>|G3$z6xX-2ff8=z&&Jy;cYuXFFK5S{{ z6D~69dzSut`sI^fUw?Q0*?sU?SKPED{nwNE&fVQ^E;6NhcH^Ukd>43D+~H6VJCP{1 zLHpAGX19<38{H=hif?Otm74K+;zY)<3dd^c3%ge}{Cuh}{J#E~8h2%VWZT~5{^#w! z{rI^1zRv!7<9|O+{eP;xnZa6L+4#l2EAsXZ-)}Yf3p4cEHZ0$k=&kIiyyyVeaaS*o z&i0R&Zs%*i-^VuXVa|bDAMIb%h3Sd8UAw>Ep*Q-1p!WZWBdKeq9#!2Dd40~_zu#Vq z2QUj8ec`a0(l2={C7D(B{+It>gVn_P{{LyRS(CF(>ydw*ap9kT6>lz8*GfK2@O=2& zUrshPZP(9s)*CPC&Ymj#{dKwjg2hkjo4Cq*>OW*%Yudg@Q_w)Z_ZfWrgUKft_)qe;z|G)69#);bJ8}@!$u(Bj9t$`t_ zk*D!*^Sn;RyGQx;ZY!o&8#TT&Zpr!A_TGeH`}4%|wg1`gZ~i)c{?Gc|ojGf?9&h}- z{1<=B?r)#eANS8caOunQ_4niL_x)2;sC)h{SuBC?;j>@gzj9YhHF&avKdqpyWzKYl zEcH!)Q?ETs-6F)=_U*f}zeDP!_451o|Nq6f>(HOy{Kxd?|F8djJ+D@cD{pk4X@pr6ri_PY-JktdIw zU=eUQGe_*+{uWiqh09wGh;MQ(o8idcm)`PjQ{$H>{|`=E)g+{6Ak1L>t!vJiV4c*( zBLCmo*YB$S{`Bzq|NsB~>;8G%{aE~d$JGu?r~K>mYVu>P|2w7CU%-Tk%V&ene?{$8 ziq9(=#NRfEMKj;6ee?9UDZgDz)$hmh!a1fQDb`jibpMNA=}%5(pWFZA>FvAL{oCj6 z`r#Y!$=;g%u>OY{D`n-HOhx41O-uOkzvkED_!Zksj&Gk|c1q~IL+Q)) z>*wz`+`KXD#);V4zrRo07jVm$Y_s@cxAgx7(RmjfvrinFKfnH;Y~|PD$CLf@E;a3X zbf^8D9b>4&nw$e=7yU2TJ-h$^|3R%Q^%IyKC2k&+mH(i4=8TN~d^$kL{f%DE31tGpIj=P`rXGw>D8J-8YxmKJnEuztKP4|$m)TSJQB>Jr zqVa#``ELAqKR48}s{Q%Dzp<20{P_Iv{+X#)9CkO=)i77~%;emqz_aTTU&PV>OyT3F*EVl9F#g!EYHEDFBp&k@YIpBpW-{_MoyU8I=Q!V^2CXgS!amOto!$yUngDv z|5H{D1+ffsrYma6EWXEG+Guj$drZ#4VVWl&S|_x(?2GtZm%&zz~R zZ<=o4JWb|c{^CFU@#;KM%FNpXW;*z#u^wZ*UN08rX7=sB%zVjve;Cu$E_kqI{Jjv) zRu;+jO@4z{PbXuhx#Ev+WeH7>8SW|`)cx`A`TS#Z#c#U0{BSwi(E9G|_xJDjC3YD< zjNknG#md>`UdBdEDXd3s{L8QY^!d(j`EdK1|G!?Fr_2>wk;#=K|F@OrR&)P0_PHki z>mNQ1?=xyj+G8L8_wVu}=O!*Yv;G99)Xj>2kIygGuaEop>;J>U@)rVRH+(#KzNX4hgQ}*2RQ{zIMoy(5G3EeJ)yBZ@v-PBVFLvfF)=Fxg9QN- z98{fLC+t|Z>}ctZ%~$Vk62Jd*_viBa$C<=0@@HD~$2C>>7wm}X{>Az*SZB!tsl`km zrup=J>z?dbcw_N){qyP9%ftJF7f-+8@aW!#i;upSOFO>Q4>1*d#%?b3QR}qF-`v&V z7w>P5%-VYJiD$F;+U2?|!jlfHR+*-ts`4qh(IiPX^^D^r!KO8l!hB&zE-`jJ;bhI= z&6xYc^Ua0S&tGiL-+u1Gb*|F5_Pxip4X6E=M$8E?F7Dx#zgMQ{dnC4D^5U$07cV_- zE^*JZlPr&%`7omQb>)6-fA+n1TYY@rMPH60$o1XAkG@_E% zEsmvgtunK=Hb*D#$^Z?fD+n237Jl9w5z$X7q@AvI~zk9O+@0E{AE9w{aZob1` zUY0I?qoPeRwt0$I{wi25>4_eO^o!%?ew0^_fS;?AG46A;wO=a5GvD;|Q?{^a4 zax|0U7;E0keX;*~c0r5#v~`_(SCme=wAp5th0nV9Q_DBLI$5w{#cbE7v70BC8HSzJ zl0ELy@?hF8`KwnyODyVmuKPhPv8Z`_*^vW23~4&^uhugOl)km#J)CeOZ;o2#v#e`oyMET279;NZHaIpu5rUj61MqO-MU_xYO-b8Ac`Hos(_V6ZkbY>r0v zv{}4MG*!;Ee%ck3`b1em#sAo&wg__q+ zg*&g7_nDkz^~Yysdg@Wx-KjtKik`RXYT8@+|JhyJv&&T~9gE!cTc!$aJ(&06y-xe} ze2YGH%LSRK&MJk=S`LSNc20e;leL872#-W|^z4dhy!(wRRgMVURW6y>@HxFkrc(W{ z-||e`y2Ga#Q@Qpown}%rJuNlzf==tQ>0wWA9{y1}$vo$7cGe}=(8~ut>kEF8(^u5% zl4s1=HEU{Hqr#lKOMbr061o-T!ojiVLNkX_i2uGucK&@G?(6T_{t)=ZaPNy+oK0n* zR>!TX4M9%3d}l40{pQ%*Ub{m^)}POsfBx9Zm~6MurZM}z$-;BT4jmNkaD| z*(R0cs=L6pY_FJ*kIz08BjMYY@7ZIy=iWJ|(IRtcI=4;74Ncv=eUH0sH(kC~y>G?6 zgPPC(-zwBiWENB}`!eNmqEh4J=4y)!k$)Q;3;kV<6Q#NW1OIXzxV&|Z3y<@~FEi~j zxKbrzIJ{zel=P0w{lWY$<|q53bN(OF@4Qxj5v8$XMytW11!3IVjD54MbB%J(zCE+U zU!i68?BaKpCqrXn19{K5Hcc^&cAMAvJ?HO%i?!_UcbvL*KsI7RPV#?W7mwoB(#D}XVs-F0gVEQO0tLcic1ha0F zz;jjanTw)t7<8ucbn2$LN}gS{&iup2h1pd~meOqv^I4Zx{<8he@%o4Ntp8?j{N&ZU!YBDwE}X?|JbT)d8WZv)vZZ&_R?hp-r5qMJ zZ{D2z-QDXx%Bp%~MP9wNG~zDv$KM=tZI75Azjt(>wo+BldOdN0C8?>M7A!Hkt~+$E z)qDQkow}g@%BzJ(XYp*QXEG?&wdOn$P?8rd;lLuS=n|XJacu69-d%+c`*%DQ{=>ch z@O^_kp3cIT%8G_{ww$>zb7e)|%vSjeuCt407oW3z8@m1Z+dFAD_;q>OkkS1wUPBk@%2^H_-@^Ho_sEO+g-;K z2hK0Q{6gEvb5p~#Nzzjf>070}6`QPX4fGtk_jGuPsqw){&Lb z+a0G0uyQg6i67z+=IO~<^M~OdyO3}_*Gl__nT?%{vw}W~&N_dqW4+v zt^Qtf{(p;_R#)iNYkG1y6R(}-iVHRL|Ku@sfaujd+c9u%434F-ivIdd4{$dCRfy@JbWn?-xGwgM+;9qSs+uB@@clo%PWc1ItPp{{c0+F$WttE$ureEEILk_#c$Gqdx~O( zi;dek%hS7V%vR&|=cy{~G75eKApS?Z#?{v{K zVp0nyZ~P^me0So9SN^N&Eu-(v_0{7$_C4@n)W6GhpO=cVD9?YrY_@LHtt+p6+V0eE z_muuxzuTgoRlxh~!gTq0_x}8TtR*U3)4Oojbwc)S#rDUI+h;NSzIT6LP4UzRr>~0L{M(aw zsP+1Tz_1Uhu{!_%F;^!Zm~#5u;S&d0t>!(^->~$^zxLVl8=KF@PPpmk);aU(^MmR4 z`E2XIi{I{Z{QA_D zoLgsm@BRJv&7IZjA1p|3QmdD%|7rjC&uVEv@FS6y`5XV|}?Z*wv zd;i(qzD;Q<+5CUALfOBD=~J7J)hNzBAu)r2spIMS`}-g0uGsHz+OuJ)>5EP52^U#x z^_lkAJ(M>{S?K;{V}n-Qg)8DK-m$K?WZ0^I(7WKK<;=!fSFsOI1?}w&4E{0XA5L$K zTXgQgr{A}$ul>G0qu2J|o}U~%njYunFG;eTZ8vn>{?K`wK~wtue|!J_n&=p?hnNRV}Sy{zOuNuf#l!h#N_0ZEx}X#E{l{;e75KNyXVcbzc)V> zdH?rM`PZMbzt>0pHz+hP`2Q?5RrpcLw29(Z#jl5mKEC=Owf@KB*Vzf@nODsIdH%A0 z{A<0xY-aa==`30N-L{5pO}pc@rrCWHnE7V@pIiSs_{~XkIlXoK^Yvh~YtmH2Qo(PV@?qjs$*SiD8P6J} zw;XSN`uxBB{}~SM`pw_P7`<&SxR`CQKfo4s{lp=@Se$T`+Lviy!teGYWLIQ{1=WoF5s1Y(8l%TlgWvov=^Cj3nUn~z1?PC z!<%_&Qv?6mM22rG6bnC#+w5W1xj*xUgu~Li_I7Dv;-Q`I_2a+2-LWqwvcHwF3$X-a-;tL-_P%E=a(f2e*eFoQ(ohhzs>)z>{~QA_DpO3X>Rb= zEWXCLaqdo>|9*deHSx>! z?fI=s?d|rS{xA4K$?D2bd1Vek;B@l^X_=27sRdC&U(PS#zV0wo!Y!X?hK z87Y09P16qtg}wN8)_QvW-GqeasTIH2Zp=!0^z8qK-~aa=U$1Ic|MI%n#%bbdN$Gw! z%hH}-e*ZtxvQh8*MA1nPAIBE{H?5e>SCTF!{P@29{(qr!YHW@N>P5_}KRx;Vx&;%P z3@(4`vp#*Nm@z z8aju4VPskG@>HovTcd{OoR;3kG*+h!)r<*cni?+`JZJtkU*o5cl$BH#*9r~I1qvKx zmMn@f8_%A(@$yc@CtKrr-|rbXxh-Hbdiu7d?Bhg_X^Jh14;wx0A~g;#VzJKsaF?UA zZRsJiT&^#L@jv+M_C{RP6n@(wtlXPqz+8aimKBsti(rT@%HH_Tf>Vx-Y-pH^08|Jd}0dM$j zms2510a>E;Gi2{1vQ9MMx0>&``^Uv6=iaOln`pIP=x?w~YIV+8wyU8_b3ZJM{U+w1 z^T3V8pt6}Q@83ov=XSM+%YQeW7GwJmWK^)fyHjveWuIhGtSNU&y>!xLn~XWV-Ht9( zUatM|-~PU2T|GPhgukr!-8g3XKKc3Wr0WFV`w?~je5XBLzkfqP!QbB>Wlc8yvcGU%!?R9^RKdH9uV=fqpJ#&+dr=p&1H-a)ajc0F9MAhB zyr=SU@#%Fn=RbV&j+>*_Al~u9*{cUn9z5yFQZJCRHel(6BiHUM6}|4D&{DAT{kz}$ zHVd)F-S~KK&l7<^I`SM<@?mLTrv)@WY*=h{(kkQsXB7qEp905~efL*XFOW;$bs$Kp zWO8NP^hIw!6?*qt-97ngSGTYQAG1&Yr`T9NN%bjzZc2rzactx3Sw6|=INvA5y3A(3 zrH3Vdi91ZUGroQ*i{q_>&LOFFGvp7SXirN^XB^dITe3@)HUv_zjtx|eY^UU zU!P`nhCi@pKW`sab|O&w!Nv9aA1q_oGA)V8lwk(zjmWJmmGOU)_kR4fd7i@S`SSMp z^}i3FImdb{<N4f_wgPMwjkTz3;wb^C$5xAUj+?`M#{`rysM6C68@#Z4an6u*+kyeuUwOjgs- zU31^tetVt$-#;I}|G(x<&m2q@`-Cy^<>TCA9X8GUob^lqT zWDoHOIGnjt#%O;e#nIH%ctsV4V3PGbE3*>in}`#(h?ueT z=0D#p)Asy%_xkYr1+&W>y?GmK`}glZ5X!q^NkRgH?oqJ^N%fzY_dH?VB=+ilyxR*U zixZaeXD-|nJ+Ur=?Zi9vv=d+7FL+{3(XGBBn6TJpDiHZ~vw}dZ1$-#+3Hr z$KvyTb-#)~Ki~iQ{{K5azy3e>egFCWf2%*deE+zA|Gqz|Pmzd<|W| zyXk<+`J<;*6u$ib%pUOSH}9_B%r6}E^cY<=Pv+a(+1CDkd0PJ4OYZBUBHD4mQ}5M2 z*5~HFZJ&_(;q&SL`|mr>K5(Gd%)|Jjea2BvjhD=)PoDq(@BZK81hk*goZ9nzd*Dv0(VU>dS&yDQw>zKF=FPypl zJzj^u-q_~Pxr(-@{TkBUM%>MprrW=|b0(|i%`T;wbxCv9CEYQ;U%<@r;N_n}0k(w( z_nNl)-a5Llv-_BI1>@qyi`fglaK)Wyws@6gC6RpP=#eAWqI&BWeTm%gzAz&{e@GXxnzZAXxDHBU6_13#_MixxZM% zt?hKM_2{iz*HqLd-}uHB={sZod)qU-r;ScbT(*jP_o?9Q?Gql}oL(c)ETZ{TcZu6c zy+Gp~vnI6mpY+>gFW{QDwBcWc)lA=ZTZ@W^mZyxbdEJ^jxqf^3?W;+9f2N%O!P-)^ zD)Vc==f{jqnhgJ~O*4XT#&5_o+|08v^w0P2QpQPfE}`dq&74>rpYP@J;onaR&pW$%8swkZGag~GTftmq_}c!)-^C9Kg~U#5?Yr>U;dH;@gKyM)x}p#JaO#hg2n&-KVPrQfA9V;zBkz$ z8_hlz7QVBs4RcHKT~&NyiShUPe}6geon+++5Bm`N`N7|L4=fm#KHdMpl<$J@&jZe@ zKD35h;Ng77*!-kX*0{Q`EI4rA(eHM4KmIVA96!=wkuSJu$JL;w^TB=7r$7CFta`nD zL*K!sSk|xq?ccP8vb|U};r{|AhAY1q-v28PpYY&W(u|US!ooX#f0Dmq@RQxvfa{XT z5AHa2Ha&xXf0Jr{{eFLY{{Hz4(xz(`#Bwn(9%0fw?&$9DhgG(b@$KV3%-?qZb8MQ& zx#=!*+4sx#OR{hLQ+#L4@cw#Y%UxNfclS3K7#9>8{TE4i@aX^XLrZkjo-ETT`*`y5 z=KlMQRo55%Rau~N=FF*0DPL#F@bzUV_g7AT$2?p0z?*OEMPC_(pGZZzWyEvt@e&VF zbUgfspLvP%5BaEv4cAi}-_5ur^yuP5fx3SWR~vl(uU{`=SM!%EZVux|4&fzF*>rf0 zME+x4^+BilN7>cA{rda=GVNk7I;CB*mP@6$VH>04yA1aC!tAk8N7v|{dcI2MO69w+ z@Bh~;rq6aX^LBDO^53~Hw`tBF<|rAC95KephL`o(+OqH08SeSJ?%OYJ2ZoIf<#CSZ zPA2~8w%8?Zlg)jrf#KHG;~hIb&-iNp=z!{p$kQJlu<`3Q+x!LI}_f{ zUO203Qw-1B@OS(Ee3HIn%4n+VIQNac{l9;|&C>sE@nPKOAp81j_&cX-;fmMwqKkf-88@`_W!D;gGG@DgfD`VZ4tM(gS@*HThKmOJHz2ptY$DtE! zRUdf&Iv`yuaGlT4S$x6&pUgSR9K|1|%s44i{jc=)A_kOkeJQkMl|Hnjkr|nt5dn`O;b9>Us zzmx1vs0++lSa+OhLUYF!A69Y3xj(v}d|Q1|W76^0e_y`NTDf>pTIso0lQe(=7u{!Y_HW+G&T2HFIG~AH#pAZb3B&jW-)tnN#_apNsI^A_ zPlaH{afefOv*ylWSkm!E9-iqH>g)bmQE>B2+2usB zCR!DGQ_ZB_$G< z>p2=3mSpvC&bslx`T5s_b3HGtV=LJG>c0Jp%-9FKnG-G^`M+SNt;h2J-~a3HZ=TBX zdX1>M{Qg}Z?$jQeU+-uekr4jvb@qjQ%onEC{#ShcS|aks{{KI#zy9%z4t0$zom>6h z{{OFUtR`PLb51*3&$^JjLy`CB{|Uxrj=FwfA69&Qzkfk){efu)#wi}`g?m`HbaGoV zvP@BH{3~dew=O(>zvD7T1#9P-3&l@5>!&o#i)7lR^+Eh{{4y5al`Hv9sV&Nh(cyU) zbVqN}n|cWe`I^6<|6ZT}e?bJBd;z0vF;iK#_!o(S4=UzQ9%X#+Q`;8q&&c$lC-oBKUQfj&+<8QOolgjv$jsD&-c)nJXiT!FMOUPvYeKado46`jZbu} zdaUp7+uj!O?@g=D-;XTV-XuNEdP0R!ec+)*Aud~g`As^UXZ&i%-h&@xUcQh#bkxzf z!O-nk(*frmioFum3Ot*OMgO{hlEOoioO_Zh|Q3V+*WT-eu5SM-h%Y!`Fdw#s3f z_d!3A`YA&UWF;Lwhxk zQkGS_6qQ}q9Qby&|Nj4V@%u6~G}kO!$7;3o)&KwR_aCT^Xej*r+&bgc$M^CHnanfe zS^V2J{7Fw_4rl1uu=?NuUgi_0{0dI9SIv@3aaO31c`UwRPg+w*+Js)+1#OlU>Jl22 zhE3C#GjW#)b6%YJZB=7eOtGH5hD}ZOsk8pK=hd;g%`{QxHot9Oc+NiV(wucdG3)F8 z?f>}lynR3@$IDAjezV%vxc+3fa$~6pQC;%%=+9r44h)9HH-G#SnD&GJ-c`=KHyCZ7 zztXP|y%=B6{!xC3=6MeL?}AmKH|k%=Hg5QQFv0YQ{e_E``}b{|=~cbjOGSQH^|Pbl z39iR}eEzI-+K6%y%rp^EU{r>;(?`|orS4~V#CtoQw zN(r6e(K&Db|Hr?->=hu#ntg(QW(3>_ zl-iIce>i>#cb24L_Wc8E{eH*>@LVW;{@|X_3d`@`%?(x?Z!G$$>G@@r=ZQ~7rg3#w zOFl|(*v~v`Uur6Q`P0Uwx|f^h^ZdU5r}kT`=e)U*JU8@H{;bqL@kH-n<@?wFZ_i&? z-FWc0gri&2Kd10r%~l%@6g|@fC5XtX{{lknQ&Tsn@jTxD{{kb|i@eekVu=%&+&*xI z_dHnqO5&jS>c$%f`hL&9|3KNZu6fQEX^9v6y?LLk@>zPy-#)tNujuLb@9XR9n6|c9 zT1xKtIb%nKMC6VG4IB<9D3m*ttT(V8bT6|KDC8KX3madESEGuNS5#I;06XaI(Jfc(GM z7nWJ1bn88l;y!WZTKtKw+w*&T*7y}2%1tv8dz4eWeoy9(AJ2Xr|L^mlNjiqH`P>7h z(8mA&neP5=ZG3uY`hIhJgMvTF;m?v26aOil`gc3N>;K{Y`sMfk|2)sJzr0JZ>WFp9 zx3-zBpU)aMFfh%v|Lh#WwMl8J;I?|UixbnB!d)(eeB`$Z_|9*m%whHI6@Nyk+>b5V z7cPb_nD!)I?AU%;v97OaMo-h{`B}5)tgUC$ot5%5;lTs8w@cGgfAilGWz(5>P`U4n z&i@&X?Ws-2ugy4E{PaK@qjbhXcJ=%6W_*s0f|Z({%k=Z-@BLl#>*eyf%g@*EDZLio zXC4#n865QK`u_j#_t*aa`r14rLvRL@#DZR#3qIT>``D_c@mHvP(*L3n5#Y*gw_0$^ zEa59X50jHb9wuEDdvM--0^fw^H;ew4-kmvpy4}BD$GJ|0JP_tNc-6vK_=}2mfbvsu z1FZ(hSNGQ67q|QS_fM;5<8<$azxLLb^UF0E6IA3F%T_yNTP0}9*_`8v%sTt?n6ost66_d4?5Xg$|z;3PJ|=&$>oP+pzl#;p@o__OD)4VthjKYqUbf4;pj1NYzk_Kvag7ua~s z0vuHo&Kx-R@zLkw@%ts~3p@Wlt2_Pc`RjiF`P*dnZTS8nF_|~iUVOS=@@9UvU+rAL3dE@PO{~2Oyd7|#H%)6M{a;CL`{gvb584G?do2jV&=WilouZGe6 zpWpINO@4pA-uP)|Q5NUFq{JT=)|_T8alYOA{{O*rqsH4OCv2TG!I7U0GyyUH<}c|z zs^XLOOw> z2jVP~-aCrEJTI>E=lTp*OUb%Fe?B#KPW@@F{J8P;_ir)t*Q)HidHL9-v$u3Eg}l^m zK6Kar{`tK>NuMMmC* zo4AVqB{Q#In#Q2Y8F2k>Xp_75jIVd9PZ)|V$TLsb&X>`_RC7j}S-T>KWlPoUxetGT zudlCnUN^bw^Zd+BY}i}8;1a(= zLxhB)d*A=x{I)qW1MkT{rI}Z?=KAg{QUa#{%`-D@AXW+ zzyCe@yS!R{-|4ObH;L7&JWrkYRN%LHBKNJ@|2N~q#6B!IRez!L?1F0-|KDFQH-EuK zV==W0CsOv2l+~l0|L^x!ZTolYqW=5%%^M2;CML0eORaC1b=s$1 z;->wE&o#-8U>zqJ1ko6vzvZ~V8fyfL>{ zU$2(U?M8fC{C|aH!vhX190#u41T7T_v^beNTkWM!;S8g0F0OOemU2D1*W3Rv`UhWL zjcDOR<`vfF%l5+ao!LcWrTw={OD-Cmjyq#>+&44x>w|=&*Bl*g?-G_f zT#zy&;K9jFyLQbrJh*(e^in7PO%t+08P0OfSKfAj=VuIa?bnKD?m~wSEYDTf-*;xV z(e?A88)M!sNviJkXW3h^VvBR&J7U?)DnD-b>L+ zGOhP4E?j1`t&h1PHCZoBieviE?F>mjk26?D2$o$^TocP}d0H|@*0^G_WyNdz4NB7= zJoq@}acA)3(h1LMKYz~uds1Ck&+hM+x9ZFWMDqI`o!yw z%6CtmWr*F&tK#_h>zxH=Y|_``{p2nPG9A!+e?I?!+Gp_#RW0=o+$KuAU~yJ^@iRoh zF`<`NXUYxB#@0*zZTs~bB43<8@A-Orr z=8TBiy!Zd=g(y>a^m{IB=o}4@`9tLnn$u^nKtvA zM=U2cZkuq>Az(v8-@j)qb3(Z`{knet|9pF+z4fR6|9-yTet%`d-m18H|7CIx9OK+@ zmg`{?sxb*PDTC(FHmKUsRJ^**F=e)wDT ze;;G>UwvV5;T?_VPyCrXb7ud{ztWGxFWeN^|L@HHpKkLe>v~Mw?$!DA7x%Ke=Noo* z2o^|66kjJ0AiQKbqX5d}4oLz7Z$9s#rGd%t` zex6pl)Bc%G{H!llx-Vv>owE%x+cE3Ts_N*lU3rp=eTC#VoL;28P0Ma!P*Plg*Xb{> zzbW0^^4`U^Y5m7X2^$XXxRt-O&gqGv;~nF0y$?}7hKA?wo%VY@d0st}K&h$)L$iX8 z!M6YP<$=c+xc+HSY}0V(?|zkW!<3;kRClqTzQUJD#-^KkSl-?BJYOhVw8r*hS@vSD zPUjo5g#I{b>emNv5Gb%ay01vn`um;clY!biJtDxsPo;w{Cn1f2~W2@SlA>cldJvQ zZ{F0uGZLS>PyFd0=OZ&;W5u$6OaZ0atQig(h}_Mxd-OMcTE@+{Z|(jFb9#IDzO`EZ zXUqP{%2R(<%=tCRVDH=P1tE6>$!vz7|NqZkyIz4{Cs=M&>g~`iH4D;?<)m{zUdYW;k zgya8&88824{W^C%&mrVqsJLr>;@*Q9|G)e?9xf;6z^iaId{TpS&!9RVyuptji;{T(bA6NqwE-qQPWa$H`6_puLD<)`6(3r4}kyA>F#Zu6EwvM&* zLE#+{)qDN+&E$O6f85~z&*dGWQFr-lZ(ho&pH(-f?CcMbr(73y@YZJRys0mEVWswL z?^*GyK1mr)WIix+29tc?uC~ddwMYI;;Mt<_Dtdbbhek)P`@-pRb|%Z~cD?*?cVCkD z^DTe3$i9Cc{r#TT#+f4P75u`PC!a2FpCe|OC!p?&x@&canUOyYmKfwkKg2U zPj*N0OR>cI-JHM9nOty;JiF)WougZML}h+I=~J-3Dt>?A`Nzs_QJ>Q)R*0oKuYFVf z$khEjqh*`8_?_ZgLg$zLk>SmB5xXGLf6z$d!>Sqkq~?mbrEqo>*e56F zj>DekJd6DDe3jxH)+pTVa1z|Is3T!v|ARyA#m|qe{lTEr#2woaaB#Z_cy!M2R2I{-@8ltaLGK*6-Xi898n{Yh@OS&AgK^At`Lij}DRf4t!s-jz1Kh zWa~Y_$5A|4Uo!hpR#Jv*$`h6E8LupI0%`=WTEy_P#pD(;x_fo%CDeK$zFlFBRrdOwXcXtLH)ngX(-Zdkg z>(<$)@w(LxMSDM-JN)3(x>@nNen{S%x$N-ii06xiOf_aUeDPi&+RQuimA|6K8;&T? zl2dKlt>VO8SwfC{n%DNq%TVoHTIj*e;gid=1)5xIKGhifXI=0xr%H&e$>7f0yxq6; zmep_sDl2LxEoy0C_cT!}`uOIi{KNjwZ{$CCaJcEWNHg|wZMmJhTYjr)#k|L7WagbQ z)~{Kyt*`t2qyHPO-Szy$pSMJ%JaL=S#bQhLoGRfd>+A~Fb|@GB+Gzdf(7c6pXQnXU z3ROy2YW)58+_$_7mN@>j6Y;q&ZX9a zcFNn?r>3pT|Kw`dJ*&6aVoUixD~*)XtV$hoU#Dsf$j-T1%KFxaO{~HUJMmq*r zuBlr3F;P_3Kl9p)#3kyRWH~>JzBEr+9>lv+drwh;K($P8 z=2Lgp+j`yX54B&kdEWI;JQvHiE2WGl!b-?8+R<1{C1D2Z@%{S3Hw;p|f4W^`UYQ@X z=Fz8_I%{5u-4uV{xho>{Z_l@=vVZ{QvvcRnUpxDEp2g?IY}s+V6<3VKqCB!Ijk33L zsh{QgB3v$NY9CS0m9DsF{k2Ut?=M6Noa=t=_haF$^)}}lBW}+!>ld0jr)`ONdNI>X zG3!}DbK=)-@J%i&cG2zYnR(=FcX;=*&DS@CB-<;baa`RvtMW-|#Yyddk8A{gi8d_H z&dgL`J9IN;vS<1AGVKigMeKXK9_;_PU(80Nt7ChZE6dt7OP%7Um6dO|Ye zIu_x->GY)@tJM9?*QUrtZdFQQO_LPhy36va@KkkJsD|BvWgW8(E2=^!{<3uKYWpq| za9`BFuyVQ+zvg_Ac~L3TPw=NbOAr^~?kRgt{6Q#(2g$ zn4Xx~^ZmEy?`y}RQ(v6|Z5Ak!X-QOgp+b>>n8RdH9}ZU-6THe}RLO zhQRIYv}+6d7pW9&G2Xq|_}iYF?+-1Sa`Hexiq(%Ed4(yjvw{xJ6u+gJV(>WS7E9rk z4f4wmPMzN-EBn1`vN2;zd+8azUh9jAQx9)^R46e0xOv^)_qlRa=^uO)A5Q7MZn2fa z#JMAC<%3gOp1DghPjxiy*)pa4*6I_lHV3K-)Ua8f{GqX8VWysWms?)o>0f)Tc-EiR zxxe_-&+OX^7P|FUK3!RwI`) ztm&$amy`oUt<)Y_F(lV)yp!L)Lw3G;!P&mUlkH=l+?FUm+drSdXYN7X1_K^u&);d> zX%EhxJ9EHf4MU6BJ`pj8M;BN5<;;J3dfT<1MYbg`atfbhoxjKvKJW0O6odbQ=ISk+ z-9jNQGK#EPHlNzn$~}}$-FChHoZp`(N_TZt<`?ghCA^n?j!wH7?^5nNW1YobEe(C!N>W)Wo_gC z81a=YxANt$|KxJGy7egoPqRYz$w_zr?@QKPaX0Tl_|Z?d>SnJNx|Q_GAkwon{ie|@ zxhqT#*QZ$<9DaB>L3Tdd%_BPmFKLBE?be;bzv7bHxvRhS&1_4$yywM?orit1x7?X1 z^@K&6o9TzkpA&aO)-Z?P?lfBD+JEy!RQ|i=wYBTT+}d;3{dyPI&UENksmAA?So4yf zuY<}|PFg44{JuG2W4fZ#&%O%KnfiqcO-%}Cj{VhNUc@!krBU_s_Yy6|nUBuyyZLk4 z*E{>2tBSueW=AqEo3-m`r9rIQe}grflw>beb6wy0D#hT7N8WFVuQ%fT#9Z3%b*;$^ zoD}M~t4q1FbA`c)B_1dGEi4c8FJ1dpj!V?5V)ntXPmXyvl=g`Rms!i7FIuGj#QB)E zVo#X-KBwJpJdZwZRr0&r_e*_azjglik6Z=}KMhK*+DWkQWME)m@O1TaS?83{1OVH! Bq9FhP literal 0 HcmV?d00001 diff --git a/doc/tutorial/broken-integral-constant.html b/doc/tutorial/broken-integral-constant.html new file mode 100644 index 0000000..3c5dcf6 --- /dev/null +++ b/doc/tutorial/broken-integral-constant.html @@ -0,0 +1,116 @@ + + + + + + +THE BOOST MPL LIBRARY: Broken Integral Constant Expressions + + + + + +
Front Page / Technical Details / Portability / Broken Integral Constant Expressions
+
+

Broken Integral Constant Expressions

+

This is probably the most surprising of the portability issues +we're going to discuss, not least because for many C++ programmers, their everyday +experience seems to indicate no problems in this area whatsoever. After all, +integer compile-time computations along the lines of:

+
+enum flags {
+      flag1     = (1 << 0)
+    , flag2     = (1 << 1)
+    , flag3     = (1 << 2)
+    ...
+    };
+
+

are very commonplace in C++, and there is hardly a compiler out +there that cannot handle this correctly. While arithmetic by +itself is indeed rarely problematic, when you are trying to mix it +with templates on certain deficient compilers, all kinds of new +issues arise. Fortunately, as with the rest of the portability +issues we're discussing here, the problem fades into past as new +compiler versions are released. The majority of most recent +compilers of many vendors are already free from these issues.

+
+

The Problem

+

The problem is in fact multi-faceted; there are a number of +different subissues. Some are present in one set of compilers, +some are in another, and it's not uncommon for a code that works +for one compiler to break another one and vice-versa. If this +sounds like a maintenance nightmare to you, it is! If you are +interested in the specific list of issues, please refer to John +Maddock's excellent "Coding Guidelines for Integral Constant +Expressions" summary. For the purpose of our discission here, it +is sufficient to say that if your code has to work on one of the +compilers listed as problematic in this area, you can safely assume +that if you decide to fight them on a case-by-case basis, chances +are that you won't be able to maintain your sanity for very long.

+
+
+

The Symptoms

+

On the positive side, when you have an issue with integral +arithmetic, the diagnostics are almost always straightforward: +usually the error message refers you to the exact place in the code +that is causing problems, and the essence of issue is obvious from +the error's text, or it becomes obvious once you've encountered the +same error a couple of times. For instance, if we throw this +well-formed fragment at MSVC 7.1 (otherwise an excellent compiler!)

+
+void value();
+
+// compares two Integral Constants
+template< typename N1, typename N2 > struct less
+    : bool_< (N1::value < N2::value) > // line #8
+{
+};
+
+

we get:

+
+portability.cpp(8) : warning C4346: 'N2::value' : dependent name is not a type
+        prefix with 'typename' to indicate a type
+        portability.cpp(10) : see reference to class template instantiation 'less<N1,N2>' being compiled
+portability.cpp(8) : error C2143: syntax error : missing ',' before ')'
+portability.cpp(9) : error C2143: syntax error : missing ';' before '{'
+portability.cpp(10) : error C2143: syntax error : missing ';' before '}'
+portability.cpp(10) : fatal error C1004: unexpected end of file found
+
+

The errors themselves are far from being ideal, but at least we are +pointed at the correct line and even the correct part of the +line. The above basically reads as "something's wrong between the +parentheses", and that plus the "syntax error" part is usually +enough of the clue.

+
+
+

The Solution

+

Despite the fact the problems are so numerous and multi-faceted and +the workarounds are conflicting, the problems can be hidden +reliably beneath a library abstraction layer. The underlaying idea +is very simple: we can always wrap the constants in types and pass +those around. Then all that is left is to implement algebraic +metafunctions that operate on such wrappers, once, and we are home +safe.

+

If this sounds familiar to you, probably it's because you have +already took a look at the MPL and know that the approach we just +described is in fact the standard way of doing arithmetic in the +library. Although it's motivated by more general observations, +this fact comes very handy for the library users that care about +portability of their numerically-heavy metaprograms. The MPL +primitives are already there, and more importantly, they already +implement the necessary workarounds, so your numeric code just +works. In fact, if you stay within the library's type-wrapper +idioms, these particular problems never "leak" out of its +abstraction layer.

+

On a final note, there is a price of avoiding built-in arithmetics +altogether, namely decreased readability and, on some compilers, +increased compile-time overhead. Still, in majority of cases, the +benefits of type-based arithmetics overweight its small +shortcomings.

+
+
+ + + + + diff --git a/doc/tutorial/changelog-history.html b/doc/tutorial/changelog-history.html new file mode 100644 index 0000000..3f0314b --- /dev/null +++ b/doc/tutorial/changelog-history.html @@ -0,0 +1,24 @@ + + + + + + +THE BOOST MPL LIBRARY: Changelog & History + + + + + +
Front Page / Changelog & History
+ + + + + + diff --git a/doc/tutorial/changes-in-boost-1-32-0.html b/doc/tutorial/changes-in-boost-1-32-0.html new file mode 100644 index 0000000..a6fbf65 --- /dev/null +++ b/doc/tutorial/changes-in-boost-1-32-0.html @@ -0,0 +1,34 @@ + + + + + + +THE BOOST MPL LIBRARY: Changes in Boost 1.32.0 Release + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release
+
+

Changes in Boost 1.32.0 Release

+

The following summarizes major changes in the library interface and +implementation from the previous release. Note that this is not a +comprehensive list of all changes (yet).

+ + +
+ + + + + diff --git a/doc/tutorial/dependencies.html b/doc/tutorial/dependencies.html new file mode 100644 index 0000000..49ba005 --- /dev/null +++ b/doc/tutorial/dependencies.html @@ -0,0 +1,32 @@ + + + + + + +THE BOOST MPL LIBRARY: Dependencies + + + + + +
Front Page / Technical Details / Dependencies
+
+

Dependencies

+

Besides Boost.Config headers, the MPL relies on three other header-only +libraries:

+ +

These dependencies are essential and cannot be eliminated. The +library's tests and examples may depend on some additional Boost +libraries such as Boost.Bind; unless you are interested in actually +compiling these files, you can safely ignore those dependencies.

+
+ + + + + diff --git a/doc/tutorial/details.html b/doc/tutorial/details.html new file mode 100644 index 0000000..6328469 --- /dev/null +++ b/doc/tutorial/details.html @@ -0,0 +1,119 @@ + + + + + + +THE BOOST MPL LIBRARY: Details + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Details
+
+

Details

+

By now you should have a fairly complete view of the fundamental +concepts and language of both template metaprogramming in general +and of the Boost Metaprogramming Library. This section +reviews the highlights.

+
+
Metafunction forwarding.
+
The technique of using public derivation to +supply the nested type of a metafunction by accessing the one +provided by its base class.
+
Metafunction class.
+
The most basic way to formulate a compile-time +function so that it can be treated as polymorphic metadata; that +is, as a type. A metafunction class is a class with a nested +metafunction called apply.
+
MPL.
+

Most of this book's examples will use the Boost +Metaprogramming Library. Like the Boost type traits headers, +MPL +headers follow a simple convention:

+
+#include <boost/mpl/component-name.hpp>
+
+

If the component's name ends in an underscore, however, the +corresponding MPL header name does not include the trailing +underscore. For example, mpl::bool_ can be found in +<boost/mpl/bool.hpp>. Where the library deviates from this +convention, we'll be sure to point it out to you.

+
+
+ +
+
Higher-order function.
+
A function that operates on or returns a function. Making +metafunctions polymorphic with other metadata is a key +ingredient in higher-order metaprogramming.
+
Lambda expression.
+
Simply put, a lambda expression is callable metadata. Without +some form of callable metadata, higher-order metafunctions +would be impossible. Lambda expressions have two basic forms: +metafunction classes and placeholder expressions.
+
Placeholder expression.
+

A kind of lambda expression that, through the use of +placeholders, enables in-place partial metafunction +application and metafunction composition. As you will see +throughout this book, these features give us the truly amazing +ability to build up almost any kind of complex type computation +from more primitive metafunctions, right at its point of use:

+
+// find the position of a type x in some_sequence such that:
+//         x is convertible to 'int'
+//      && x is not 'char'
+//      && x is not a floating type
+typedef mpl::find_if<
+      some_sequence
+    , mpl::and_<
+          boost::is_convertible<_1,int>
+        , mpl::not_<boost::is_same<_1,char> >
+        , mpl::not_<boost::is_float<_1> >
+      >
+    >::type iter;
+
+

Placeholder expressions make good on the promise of algorithm reuse +without forcing us to write new metafunction classes. The +corresponding capability is often sorely missed in the runtime +world of the STL, since it is often much easier to write a loop +by hand than it is to use standard algorithms, despite their +correctness and efficiency advantages.

+
+
+ +
+
The lambda metafunction.
+
A metafunction that transforms a lambda expression into a +corresponding metafunction class. For detailed information on +lambda and the lambda evaluation process, +please see the the MPL reference manual.
+
The apply metafunction.
+
A metafunction that invokes its first argument, which must be a +lambda expression, on its remaining arguments. In general, to +invoke a lambda expression, you should always pass it to +mpl::apply along with the arguments you want to apply it +to in lieu of using lambda and invoking the result "manually."
+
Lazy evaluation.
+
A strategy of delaying evaluation until a result is +required, thereby avoiding any unneccessary computation and any +associated unneccessary errors. Metafunctions are only invoked +when we access their nested ::types, so we can supply all +of their arguments without performing any computation and +delay evaluation to the last possible moment.
+
+
+ + + + + diff --git a/doc/tutorial/dimensional-analysis.html b/doc/tutorial/dimensional-analysis.html new file mode 100644 index 0000000..c619c6e --- /dev/null +++ b/doc/tutorial/dimensional-analysis.html @@ -0,0 +1,85 @@ + + + + + + +THE BOOST MPL LIBRARY: Dimensional Analysis + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis
+
+

Dimensional Analysis

+

The first rule of doing physical calculations +on paper is that the numbers being manipulated don't stand alone: +most quantities have attached dimensions, to be ignored at our +peril. As computations become more complex, keeping track of +dimensions is what keeps us from inadvertently assigning a mass to +what should be a length or adding acceleration to velocity — it +establishes a type system for numbers.

+

Manual checking of types is tedious, and as a result, it's also +error-prone. When human beings become bored, their attention +wanders and they tend to make mistakes. Doesn't type checking seem +like the sort of job a computer might be good at, though? If we +could establish a framework of C++ types for dimensions and +quantities, we might be able to catch errors in formulae before +they cause serious problems in the real world.

+

Preventing quantities with different dimensions from interoperating +isn't hard; we could simply represent dimensions as classes that +only work with dimensions of the same type. What makes this +problem interesting is that different dimensions can be combined, +via multiplication or division, to produce arbitrarily complex new +dimensions. For example, take Newton's law, which relates force to +mass and acceleration:

+
+F = ma
+

Since mass and acceleration have different dimensions, the +dimensions of force must somehow capture their combination. In +fact, the dimensions of acceleration are already just such a +composite, a change in velocity over time:

+
+dv/dt
+

Since velocity is just change in distance (l) over time (t), +the fundamental dimensions of acceleration are:

+
+(l/t)/t = l/t2
+

And indeed, acceleration is commonly measured in "meters per second +squared." It follows that the dimensions of force must be:

+
+ml/t2
+ +

and force is commonly measured in kg(m/s2), or +"kilogram-meters per second squared." When multiplying quantities +of mass and acceleration, we multiply their dimensions as well and +carry the result along, which helps us to ensure that the result is +meaningful. The formal name for this bookkeeping is dimensional +analysis, and our next task will be to implement its rules in the C++ +type system. John Barton and Lee Nackman were the first to show +how to do this in their seminal book, Scientific and Engineering +C++ [BN94]. We will recast their approach here in +metaprogramming terms.

+ + + + + +
[BN94]John J. Barton and Lee R. Nackman. Scientific and +Engineering C++: an Introduction with Advanced Techniques and +Examples. Reading, MA: Addison Wesley. ISBN +0-201-53393-6. 1994.
+ +
+ + + + + diff --git a/doc/tutorial/eti.html b/doc/tutorial/eti.html new file mode 100644 index 0000000..0a8fb17 --- /dev/null +++ b/doc/tutorial/eti.html @@ -0,0 +1,119 @@ + + + + + + +THE BOOST MPL LIBRARY: ETI + + + + + +
Front Page / Technical Details / Portability / ETI
+
+

ETI

+

In context of C++ template problems, ETI is an abbreviation for "Early +Template Instantiation" — a Microsoft Visual C++ - specific issue that +has been a barrier to any serious work with templates on this platform until +Microsoft developers fixed it in Visual C++ 7.1 (2003 .NET). Although the +problem is relatively easy to work around if the right techniques +are applied systematically through the codebase, the approach is definitely +tedious and time-consuming. So, if one day you discover that you are spending +too much time dealing with the issue, consider upgrading to the +newer version of the compiler. In fact, seriously consider it regardless. +The benefits of saved time, money and frustration are well worth the price.

+
+

The Problem

+

Here is a short demonstration of the issue with MSVC 6.x:

+
+template< typename F, typename T > struct apply1
+{
+    typedef typename F::template apply<T>::type type;
+};
+
+

Trying to compiling this innocent-looking code, we get:

+
+portability.cpp(4) : error C2903: 'apply' : symbol is neither a class template 
+            nor a function template
+        portability.cpp(5) : see reference to class template instantiation 
+            'apply1<F,T>' being compiled
+portability.cpp(4) : error C2143: syntax error : missing ',' before '<'
+        portability.cpp(5) : see reference to class template instantiation 
+            'apply1<F,T>' being compiled
+portability.cpp(4) : error C2059: syntax error : '<'
+        portability.cpp(5) : see reference to class template instantiation 
+            'apply1<F,T>' being compiled
+
+

The "symbol is neither a class template nor a function template" part of the +diagnostics is actually often an indication of ETI-related problems. Another +typical error message usually says something about nested type such-and-such +not being a member of a global namespace.

+

Both cases are two sides of the same compiler bug, which we call +"Early template instantiation": the compiler, for internal +purposes, in order to process class template definitions, +instantiates class templates with dummy template parameters +(int's). That can happen both during parsing of template +definitions (and such errors are most easy to identify and fix — +the template definition itself just doesn't compile; the example +above falls into this category), or later during template +instantiation, and these one are hard to detect — the bug will +only be triggered in some particular context.

+ +

ETI is always performed during parsing of the namespace-scope +template definition, which basically means that any template +definition that is rendered invalid by substituting its template +parameters by ints might not compile, as it happened with our +example:

+
+template< typename F, typename T > struct apply1
+{
+    // typedef typename F::template apply<T>::type type;
+    // ETI generates this: 
+    typedef typename int::template apply<int>::type type;
+};
+
+

If you compile this, you'll get exactly the same diagnostics as we've just seen.

+

Note that we've said "might not compile", because... well, the short answer is, +"it depends". We haven't analyzed things to the point that we could tell you the +exact condition when ETI leads to an error and when it doesn't, but +that's not very important anyway — if it's an error, you just fix it (we'll show you how +in a second), and if it's not, then you leave things as is. If one day the +potential issue turns into a real one, then you apply the workaround we are about +to give you.

+
+
+

The Symptoms

+

We've already looked at the typical diagnostics, so we won't repeat +ourselves. Instead we'll +just mention that many MSVC's INTERNAL COMPILER ERRORs (ICEs) are, in fact, caused +by an ETI-related problem somewhere deep down the instantiation stack.

+
+
+

The Solution

+

There is no way we can change the compiler's behavior in this case, so what we have +to do is to adjust to it and still make our templates do what we want. Surprisingly, +in most cases it's quite simple to achieve:

+
+// potentially unsafe
+template< typename F > struct apply0
+{
+    typedef typename F::type type;
+};
+
+// now ETI-safe
+template<> struct apply0<int>
+{
+    typedef int type;
+};
+
+

Since the original template could have never been instantiated with int, +providing a stub int specialization is completely innocent.

+ +
+
+ + + + + diff --git a/doc/tutorial/exercises.html b/doc/tutorial/exercises.html new file mode 100644 index 0000000..3388c45 --- /dev/null +++ b/doc/tutorial/exercises.html @@ -0,0 +1,103 @@ + + + + + + +THE BOOST MPL LIBRARY: Exercises + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Exercises
+
+

Exercises

+
+
1-0.
+
Use BOOST_STATIC_ASSERT to add error checking to the binary +template presented in section 1.4.1 so +that binary<N>::value causes a compilation error if N +contains digits other than 0 or 1.
+
1-1.
+
Turn vector_c<int,1,2,3> into a type sequence with elements +(2,3,4) using transform.
+
1-2.
+
Turn vector_c<int,1,2,3> into a type sequence with elements +(1,4,9) using transform.
+
1-3.
+
Turn T into T**** by using twice twice.
+
1-4.
+
Turn T into T**** using twice on itself.
+
1-5.
+

There's still a problem with the dimensional analysis code in +section 1.1. +Hint: What happens when you do:

+
+f = f + m * a;
+
+

Repair this example using techniques shown in this +chapter.

+ +
+
1-6.
+
Build a lambda expression that has functionality equivalent to +twice. Hint: mpl::apply is a metafunction!
+
1-7*.
+

What do you think would be the semantics of the following +constructs:

+
+typedef mpl::lambda<mpl::lambda<_1> >::type t1;
+typedef mpl::apply<_1,mpl::plus<_1,_2> >::type t2;
+typedef mpl::apply<_1,std::vector<int> >::type t3;
+typedef mpl::apply<_1,std::vector<_1> >::type t4;
+typedef mpl::apply<mpl::lambda<_1>,std::vector<int> >::type t5;
+typedef mpl::apply<mpl::lambda<_1>,std::vector<_1> >::type t6;
+typedef mpl::apply<mpl::lambda<_1>,mpl::plus<_1,_2> >::type t7;
+typedef mpl::apply<_1,mpl::lambda< mpl::plus<_1,_2> > >::type t8;
+
+ +

Show the steps used to +arrive at your answers and write tests verifying your assumptions. +Did the library behavior match your reasoning? If not, analyze the +failed tests to discover the actual expression semantics. +Explain why your assumptions were different, what +behavior you find more coherent, and why.

+
+
1-8*.
+
Our dimensional analysis framework dealt with dimensions, but it +entirely ignored the issue of units. A length can be +represented in inches, feet, or meters. A force can be +represented in newtons or in kg m/sec2. Add the +ability to specify units and test your code. Try to make your +interface as syntactically friendly as possible for the user.
+
+ + + + + + +
+ + + + + diff --git a/doc/tutorial/handling-placeholders.html b/doc/tutorial/handling-placeholders.html new file mode 100644 index 0000000..4200c58 --- /dev/null +++ b/doc/tutorial/handling-placeholders.html @@ -0,0 +1,60 @@ + + + + + + +THE BOOST MPL LIBRARY: Handling Placeholders + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Handling Placeholders
+
+

Handling Placeholders

+

Our implementation of twice already works with metafunction +classes. Ideally, we would +like it to work with placeholder expressions too, much the same as +mpl::transform allows us to pass either form. For example, we +would like to be able to write:

+
+template <class X>
+struct two_pointers
+    : twice<boost::add_pointer<_1>, X>
+{};
+
+ +

But when we look at the implementation of boost::add_pointer, +it becomes clear that the current definition of twice can't +work that way.

+
+template <class T>
+struct add_pointer
+{
+    typedef T* type;
+};
+
+ +

To be invokable by twice, boost::add_pointer<_1> would have +to be a metafunction class, along the lines of add_pointer_f. +Instead, it's just a nullary metafunction returning the almost +senseless type _1*. Any attempt to use two_pointers will +fail when apply1 reaches for a nested ::apply +metafunction in boost::add_pointer<_1> and finds that it +doesn't exist.

+

We've determined that we don't get the behavior we want +automatically, so what next? Since mpl::transform can do this +sort of thing, there ought to be a way for us to do it too — and +so there is.

+ +
+ + + + + diff --git a/doc/tutorial/higher-order.html b/doc/tutorial/higher-order.html new file mode 100644 index 0000000..ffc6008 --- /dev/null +++ b/doc/tutorial/higher-order.html @@ -0,0 +1,141 @@ + + + + + + +THE BOOST MPL LIBRARY: Higher-Order Metafunctions + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Higher-Order Metafunctions
+
+

Higher-Order Metafunctions

+

In the previous section we used two different forms — +metafunction classes and placeholder expressions — +to pass and return metafunctions just like any other metadata. +Bundling metafunctions into "first class metadata" allows +transform to perform an infinite variety of different +operations: in our case, multiplication and division of dimensions. +Though the idea of using functions to manipulate other functions +may seem simple, its great power and flexibility [Hudak89] has +earned it a fancy title: higher-order functional programming. +A function that operates on another function is known as a +higher-order function. It follows that transform is a +higher-order +metafunction: a metafunction that operates on another metafunction.

+ + + + + +
[Hudak89]Paul Hudak. "Conception, Evolution, and Application of +Functional Programming Languages," ACM Computing Surveys 21, +no. 3 Pages: 359 - 411. New York: ACM Press. 1989. +ISSN:0360-0300. http://doi.acm.org/10.1145/72551.72554.
+

Now that we've seen the power of higher-order metafunctions at +work, it would be good to be able to create new ones. In order to +explore the basic mechanisms, let's try a simple example. Our task +is to write a metafunction called twice, which — given a unary +metafunction f and arbitrary metadata x — computes:

+
+twice(f, x) := f(f(x))
+

This might seem like a trivial example, and in fact it is. You +won't find much use for twice in real code. We hope you'll +bear with us anyway: Because it doesn't do much more than accept +and invoke a metafunction, twice captures all the essential +elements of "higher-orderness" without any distracting details.

+

If f is a metafunction class, the definition of twice is +straightforward:

+
+template <class F, class X>
+struct twice
+{
+    typedef typename F::template apply<X>::type once;    // f(x)
+    typedef typename F::template apply<once>::type type; // f(f(x))
+};
+
+ + +

Or, applying metafunction forwarding:

+
+template <class F, class X>
+struct twice
+  : F::template apply<
+       typename F::template apply<X>::type
+    >
+{};
+
+ +
+

C++ Language Note

+

The C++ standard requires the template keyword when we use a +dependent name that refers to a member template. +F::apply may or may not name a template, depending on the +particular F that is passed. See the book's Appendix B for more +information about template.

+
+

Given the need to sprinkle our code with the template keyword, +it would be nice to reduce the syntactic burden of invoking +metafunction classes. As usual, the solution is to factor the +pattern into a metafunction:

+
+template <class UnaryMetaFunctionClass, class Arg>
+struct apply1
+  : UnaryMetaFunctionClass::template apply<Arg>
+{};
+
+

Now twice is just:

+
+template <class F, class X>
+struct twice
+  : apply1<F, typename apply1<F,X>::type>
+{};
+
+

To see twice at work, we can apply it to a little metafunction +class built around the add_pointer metafunction:

+
+struct add_pointer_f
+{
+    template <class T>
+    struct apply : boost::add_pointer<T> {};
+};
+
+ +

Now we can use twice with add_pointer_f to build +pointers-to-pointers:

+
+BOOST_STATIC_ASSERT((
+    boost::is_same<
+         twice<add_pointer_f, int>::type
+       , int**
+    >::value
+));
+
+ +
+ + + + + diff --git a/doc/tutorial/implementing-addition-and.html b/doc/tutorial/implementing-addition-and.html new file mode 100644 index 0000000..a07f0b5 --- /dev/null +++ b/doc/tutorial/implementing-addition-and.html @@ -0,0 +1,56 @@ + + + + + + +THE BOOST MPL LIBRARY: Implementing Addition and Subtraction + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Implementing Addition and Subtraction
+
+

Implementing Addition and Subtraction

+

We can now easily write the rules for addition and subtraction, +since the dimensions of the arguments must always match.

+
+template <class T, class D>
+quantity<T,D>
+operator+(quantity<T,D> x, quantity<T,D> y)
+{
+  return quantity<T,D>(x.value() + y.value());
+}
+
+template <class T, class D>
+quantity<T,D>
+operator-(quantity<T,D> x, quantity<T,D> y)
+{
+  return quantity<T,D>(x.value() - y.value());
+}
+
+ +

These operators enable us to write code like:

+
+quantity<float,length> len1( 1.0f );
+quantity<float,length> len2( 2.0f );
+
+len1 = len1 + len2;   // OK
+
+ +

but prevent us from trying to add incompatible dimensions:

+
+len1 = len2 + quantity<float,mass>( 3.7f ); // error
+
+ +
+ + + + + diff --git a/doc/tutorial/implementing-division.html b/doc/tutorial/implementing-division.html new file mode 100644 index 0000000..0f6d58e --- /dev/null +++ b/doc/tutorial/implementing-division.html @@ -0,0 +1,163 @@ + + + + + + +THE BOOST MPL LIBRARY: Implementing Division + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Implementing Division
+
+

Implementing Division

+

Division is similar to multiplication, but instead of adding +exponents, we must subtract them. Rather than writing out a near +duplicate of plus_f, we can use the following trick to make +minus_f much simpler:

+
+struct minus_f
+{
+    template <class T1, class T2>
+    struct apply
+      : mpl::minus<T1,T2> {};
+};
+
+ +

Here minus_f::apply uses inheritance to expose the nested +type of its base class, mpl::minus, so we don't have to +write:

+
+typedef typename ...::type type
+
+ +

We don't have to write +typename here (in fact, it would be illegal), because the +compiler knows that dependent names in apply's initializer +list must be base classes. [2] This powerful +simplification is known as metafunction forwarding; we'll apply +it often as the book goes on. [3]

+ + + + + +
[2]In case you're wondering, the same approach could +have been applied to plus_f, but since it's a little subtle, +we introduced the straightforward but verbose formulation +first.
+ + + + + +
[3]Users of EDG-based compilers should consult the book's Appendix C +for a caveat about metafunction forwarding. You can tell whether +you have an EDG compiler by checking the preprocessor symbol +__EDG_VERSION__, which is defined by all EDG-based compilers.
+

Syntactic tricks notwithstanding, writing trivial classes to wrap +existing metafunctions is going to get boring pretty quickly. Even +though the definition of minus_f was far less verbose than that +of plus_f, it's still an awful lot to type. Fortunately, MPL gives +us a much simpler way to pass metafunctions around. Instead of +building a whole metafunction class, we can invoke transform +this way:

+
+typename mpl::transform<D1,D2, mpl::minus<_1,_2> >::type
+
+ +

Those funny looking arguments (_1 and _2) are known as +placeholders, and they signify that when the transform's +BinaryOperation is invoked, its first and second arguments will +be passed on to minus in the positions indicated by _1 and +_2, respectively. The whole type mpl::minus<_1,_2> is +known as a placeholder expression.

+
+

Note

+

MPL's placeholders are in the mpl::placeholders +namespace and defined in boost/mpl/placeholders.hpp. In +this book we will usually assume that you have written:

+
+#include<boost/mpl/placeholders.hpp>
+using namespace mpl::placeholders;
+
+

so that they can be accessed without qualification.

+
+ +

Here's our division operator written using placeholder +expressions:

+
+template <class T, class D1, class D2>
+quantity< 
+    T
+  , typename mpl::transform<D1,D2,mpl::minus<_1,_2> >::type
+>
+operator/(quantity<T,D1> x, quantity<T,D2> y)
+{
+   typedef typename 
+     mpl::transform<D1,D2,mpl::minus<_1,_2> >::type dim;
+
+   return quantity<T,dim>( x.value() / y.value() );
+}
+
+ +

This code is considerably simpler. We can simplify it even further +by factoring the code that calculates the new dimensions into its +own metafunction:

+
+template <class D1, class D2>
+struct divide_dimensions
+  : mpl::transform<D1,D2,mpl::minus<_1,_2> > // forwarding again
+{};
+
+template <class T, class D1, class D2>
+quantity<T, typename divide_dimensions<D1,D2>::type>
+operator/(quantity<T,D1> x, quantity<T,D2> y)
+{
+   return quantity<T, typename divide_dimensions<D1,D2>::type>(
+      x.value() / y.value());
+}
+
+ +

Now we can verify our "force-on-a-laptop" computation by reversing +it, as follows:

+
+quantity<float,mass> m2 = f/a;
+float rounding_error = std::abs((m2 - m).value());
+
+ +

If we got everything right, rounding_error should be very close +to zero. These are boring calculations, but they're just the sort +of thing that could ruin a whole program (or worse) if you got them +wrong. If we had written a/f instead of f/a, there would have +been a compilation error, preventing a mistake from propagating +throughout our program.

+
+ + + + + diff --git a/doc/tutorial/implementing.html b/doc/tutorial/implementing.html new file mode 100644 index 0000000..67ca292 --- /dev/null +++ b/doc/tutorial/implementing.html @@ -0,0 +1,265 @@ + + + + + + +THE BOOST MPL LIBRARY: Implementing Multiplication + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Implementing Multiplication
+
+

Implementing Multiplication

+

Multiplication is a bit more complicated than addition and +subtraction. So far, the dimensions of the arguments and results have +all been identical, but when multiplying, the result will usually +have different dimensions from either of the arguments. For +multiplication, the relation:

+
+(xa)(xb) == x (a + b)
+ +

implies that the exponents of the result dimensions should be the +sum of corresponding exponents from the argument +dimensions. Division is similar, except that the sum is replaced by +a difference.

+

To combine corresponding elements from two sequences, we'll use +MPL's transform algorithm. transform is a metafunction +that iterates through two input sequences in parallel, passing an +element from each sequence to an arbitrary binary metafunction, and +placing the result in an output sequence.

+
+template <class Sequence1, class Sequence2, class BinaryOperation>
+struct transform;  // returns a Sequence
+
+

The signature above should look familiar if you're acquainted with the +STL transform algorithm that accepts two runtime sequences +as inputs:

+
+template <
+    class InputIterator1, class InputIterator2
+  , class OutputIterator, class BinaryOperation
+>
+void transform(
+    InputIterator1 start1, InputIterator2 finish1
+  , InputIterator2 start2
+  , OutputIterator result, BinaryOperation func);
+
+ +

Now we just need to pass a BinaryOperation that adds or +subtracts in order to multiply or divide dimensions with +mpl::transform. If you look through the the MPL reference manual, you'll +come across plus and minus metafunctions that do just what +you'd expect:

+
+#include <boost/static_assert.hpp>
+#include <boost/mpl/plus.hpp>
+#include <boost/mpl/int.hpp>
+namespace mpl = boost::mpl;
+
+BOOST_STATIC_ASSERT(( 
+    mpl::plus<
+        mpl::int_<2>
+      , mpl::int_<3>
+    >::type::value == 5
+));
+
+ + + +

At this point it might seem as though we have a solution, but we're +not quite there yet. A naive attempt to apply the transform +algorithm in the implementation of operator* yields a compiler +error:

+
+#include <boost/mpl/transform.hpp>
+
+template <class T, class D1, class D2>
+quantity< 
+    T
+  , typename mpl::transform<D1,D2,mpl::plus>::type
+>
+operator*(quantity<T,D1> x, quantity<T,D2> y) { ... }
+
+ + +

It fails because the protocol says that metafunction arguments +must be types, and plus is not a type, but a class template. +Somehow we need to make metafunctions like plus fit the +metadata mold.

+

One natural way to introduce polymorphism between metafunctions and +metadata is to employ the wrapper idiom that gave us polymorphism +between types and integral constants. Instead of a nested integral +constant, we can use a class template nested within a +metafunction class:

+
+struct plus_f
+{
+    template <class T1, class T2>
+    struct apply
+    {
+       typedef typename mpl::plus<T1,T2>::type type;
+    };
+};
+
+
+

Definition

+

A Metafunction Class is a class with a publicly accessible +nested metafunction called apply.

+
+

Whereas a metafunction is a template but not a type, a +metafunction class wraps that template within an ordinary +non-templated class, which is a type. Since metafunctions +operate on and return types, a metafunction class can be passed as +an argument to, or returned from, another metafunction.

+

Finally, we have a BinaryOperation type that we can pass to +transform without causing a compilation error:

+
+template <class T, class D1, class D2>
+quantity< 
+    T
+  , typename mpl::transform<D1,D2,plus_f>::type  // new dimensions
+>
+operator*(quantity<T,D1> x, quantity<T,D2> y)
+{
+    typedef typename mpl::transform<D1,D2,plus_f>::type dim;
+    return quantity<T,dim>( x.value() * y.value() );
+}
+
+

Now, if we want to compute the force exterted by gravity on a 5 kilogram +laptop computer, that's just the acceleration due to gravity (9.8 +m/sec2) times the mass of the laptop:

+
+quantity<float,mass> m(5.0f);
+quantity<float,acceleration> a(9.8f);
+std::cout << "force = " << (m * a).value();
+
+ +

Our operator* multiplies the runtime values (resulting in +6.0f), and our metaprogram code uses transform to sum the +meta-sequences of fundamental dimension exponents, so that the +result type contains a representation of a new list of exponents, +something like:

+
+mpl::vector_c<int,1,1,-2,0,0,0,0>
+
+ + +

However, if we try to write:

+
+quantity<float,force> f = m * a;
+
+ + +

we'll run into a little problem. Although the result of +m * a does indeed represent a force with exponents of mass, +length, and time 1, 1, and -2 respectively, the type returned by +transform isn't a specialization of vector_c. Instead, +transform works generically on the elements of its inputs and +builds a new sequence with the appropriate elements: a type with +many of the same sequence properties as +mpl::vector_c<int,1,1,-2,0,0,0,0>, but with a different C++ type +altogether. If you want to see the type's full name, you can try +to compile the example yourself and look at the error message, but +the exact details aren't important. The point is that +force names a different type, so the assignment above will fail.

+

In order to resolve the problem, we can add an implicit conversion +from the multiplication's result type to quantity<float,force>. +Since we can't predict the exact types of the dimensions involved +in any computation, this conversion will have to be templated, +something like:

+
+template <class T, class Dimensions>
+struct quantity
+{
+    // converting constructor
+    template <class OtherDimensions>
+    quantity(quantity<T,OtherDimensions> const& rhs)
+      : m_value(rhs.value())
+    {
+    }
+    ...
+
+ +

Unfortunately, such a general conversion undermines our whole +purpose, allowing nonsense such as:

+
+// Should yield a force, not a mass!
+quantity<float,mass> bogus = m * a;
+
+ +

We can correct that problem using another MPL algorithm, +equal, which tests that two sequences have the same elements:

+
+template <class OtherDimensions>
+quantity(quantity<T,OtherDimensions> const& rhs)
+  : m_value(rhs.value())
+{
+    BOOST_STATIC_ASSERT((
+       mpl::equal<Dimensions,OtherDimensions>::type::value
+    ));
+}
+
+ +

Now, if the dimensions of the two quantities fail to match, the +assertion will cause a compilation error.

+
+ + + + + diff --git a/doc/tutorial/incomplete-support-for.html b/doc/tutorial/incomplete-support-for.html new file mode 100644 index 0000000..c523114 --- /dev/null +++ b/doc/tutorial/incomplete-support-for.html @@ -0,0 +1,126 @@ + + + + + + +THE BOOST MPL LIBRARY: Incomplete Support for Lambda Expressions + + + + + +
Front Page / Technical Details / Portability / Incomplete Support for Lambda Expressions
+
+

Incomplete Support for Lambda Expressions

+

Seasoned MPL users will agree with us that if there is +anything in the MPL that is seemingly magical both in power and +its nature, then it's MPL lambda expressions. In reality, the +mechanism that bring this to life is very straightforward and +probably can be explained to anyone generally familiar with C++ +templates in less than 10 minutes.

+ + +

Unfortunately, this mechanism also happens to rely on support for +partial template specialization and template template parameters. +Among the so-called deficient compilers — basically, most of the +compilers released before the year 2000 — the chances are poor +that you'll find complete support for both of these features. +Please see our compatibility table for the list of the products +which fall into this category.

+

Although it's not possible to implement fully transparent lambda +expressions without these two features, a slightly more limited +implementation that requires some manual assistance from the +metafunction author is possible. This section describes the manual +work required and the limitations of the result.

+
+

The Problem

+

If your compiler falls into the "deficient" category, the following +valid MPL metaprogram will fail to compile for you:

+
+#include <boost/mpl/apply.hpp>
+
+using namespace boost::mpl;
+
+template< typename T > struct add_const
+{
+    typedef T const type;
+};
+
+typedef apply1< add_const<_1>,int >::type t; // t == int const
+
+

Worse yet, chances are it wil fail with a diagnostic backtrace +leading you into the inside of the library and possibly creating an +impression that there's something's wrong there. The fact is, both +the program and the library are defect free (for the +purpose of this particular demonstraction), and it's your compiler +that is to blame.

+
+
+

The Solution

+

As previously mentioned, the solution requires some work from +metafunction authors, but for the users of those metafunctions, the +result is relatively transparent. Here's what we have to do to our +earlier example:

+
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/aux_/lambda_support.hpp>
+
+using namespace boost::mpl;
+
+template< typename T > struct add_const
+{
+    typedef T const type;
+    BOOST_MPL_AUX_LAMBDA_SUPPORT(1, add_const, (T))
+};
+
+typedef apply1< add_const<_1>,int >::type t; // t == int const
+
+

With these two modifications, now the compiler that has been barking at us now +happily accepts it. "Hey, that's not that bad at all!" you might say. Just put a +little macro inside and be happy again.

+
+
+

Limitations

+

Unfortunately, that's not quite the end of the story. There are +still cases where the above approach will fail and we will have to +resort to writing out-of-line metafunction class. Here are the +details:

+
+

To make the lambda expression work without partial template +specialization and +template template parameters, the MPL has to implement some other way of +pulling apart the template instantiations' expression tree, and the only way +to do it is through an intrusive metafunction introspection +mechanism. That's what hidden behind the BOOST_MPL_AUX_LAMBDA_SUPPORT macro +we've seen above.

+

But then, after we've got the information we need (the metafunction's arity +and its exact template arguments) stored inside the metafunction itself, +the only way for the library to access it is to look inside the metafunction. +The latter, in its turn, means instantiating the metafunction, prematurely, +before the actuall call, with one or more placeholder arguments. This last +part is a potential problem.

+
+

In other words, the mechanism works as long as your metafunction is +"placeholder-safe" (can be safely instantiated on placeholder +arguments), which comes down to the follwing two criteria:

+
    +
  1. The metafunction doesn't access its arguments' nested members, or
  2. +
  3. The only accessed members are types named ::tag or ::type (the +placeholders do contain these).
  4. +
+

If these two hold, you can safely put BOOST_MPL_AUX_LAMBDA_SUPPORT inside +your metafunction and forget about the issue. If not, your are out of luck and +probably have to write a metafunction class instead.

+

The good news are that most of the MPL's own metafunctions and Boost.Type Traits +templates are "placeholder-safe" and have the workaround applied to them, so +even on broken compilers things "just work" in about 90% of use cases.

+

Please refer to the MPL reference manual for the details on the +BOOST_MPL_AUX_LAMBDA_SUPPORT macro.

+
+
+ + + + + diff --git a/doc/tutorial/iterator-protocol.html b/doc/tutorial/iterator-protocol.html new file mode 100644 index 0000000..f90b446 --- /dev/null +++ b/doc/tutorial/iterator-protocol.html @@ -0,0 +1,56 @@ + + + + + + +THE BOOST MPL LIBRARY: Iterator Protocol + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Iterator Protocol
+
+

Iterator Protocol

+

The library no longer guarantees or relies on the direct presence +of advance / distance / next / prior / type +members in iterator types; the following table summarises the new +requirements:

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
BeforeNow
i::typederef<i>::type
i::nextnext<i>::type
i::priorprior<i>::type
i::advance<n>::typeadvance<i,n>::type
i::distance<j>::typedistance<i,j>::type
i::categoryi::category
+
+ + + + + diff --git a/doc/tutorial/lambda-and-non.html b/doc/tutorial/lambda-and-non.html new file mode 100644 index 0000000..718aa9f --- /dev/null +++ b/doc/tutorial/lambda-and-non.html @@ -0,0 +1,47 @@ + + + + + + +THE BOOST MPL LIBRARY: Lambda and Non-Metafunction Templates + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Lambda Details / Lambda and Non-Metafunction Templates
+
+

Lambda and Non-Metafunction Templates

+

There is just one detail of placeholder expressions that we haven't +discussed yet. MPL uses a special rule to make it easier to +integrate ordinary templates into metaprograms: After all of the +placeholders have been replaced with actual +arguments, if the resulting template specialization X doesn't +have a nested ::type, the result is just +X itself.

+

For example, mpl::apply<std::vector<_>, T> is always just +std::vector<T>. If it weren't for this behavior, we would +have to build trivial metafunctions to create ordinary template +specializations in lambda expressions:

+
+// trivial std::vector generator
+template<class U> 
+struct make_vector { typedef std::vector<U> type; };
+
+typedef mpl::apply<make_vector<_>, T>::type vector_of_t;
+
+

Instead, we can simply write:

+
+typedef mpl::apply<std::vector<_>, T>::type vector_of_t;
+
+ +
+ + + + + diff --git a/doc/tutorial/lambda-details.html b/doc/tutorial/lambda-details.html new file mode 100644 index 0000000..f453a44 --- /dev/null +++ b/doc/tutorial/lambda-details.html @@ -0,0 +1,30 @@ + + + + + + +THE BOOST MPL LIBRARY: Lambda Details + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Lambda Details
+
+

Lambda Details

+

Now that you have an idea of the semantics of MPL's lambda +facility, let's formalize that understanding and look at things a +little more deeply.

+ +
+ + + + + diff --git a/doc/tutorial/metafunction-composition.html b/doc/tutorial/metafunction-composition.html new file mode 100644 index 0000000..5dcec70 --- /dev/null +++ b/doc/tutorial/metafunction-composition.html @@ -0,0 +1,39 @@ + + + + + + +THE BOOST MPL LIBRARY: Metafunction Composition + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / More Lambda Capabilities / Metafunction Composition
+
+

Metafunction Composition

+

Lambda expressions can also be used to assemble more interesting +computations from simple metafunctions. For example, the following +expression, which multiplies the sum of two numbers by their +difference, is a composition of the three metafunctions multiplies, +plus, and minus:

+
+mpl::multiplies<mpl::plus<_1,_2>, mpl::minus<_1,_2> >
+
+ +

When evaluating a lambda expression, MPL checks to see if any of its +arguments are themselves lambda expressions, and evaluates each one +that it finds. The results of these inner evaluations are substituted +into the outer expression before it is evaluated.

+
+ + + + + diff --git a/doc/tutorial/miscellaneous.html b/doc/tutorial/miscellaneous.html new file mode 100644 index 0000000..5ce241d --- /dev/null +++ b/doc/tutorial/miscellaneous.html @@ -0,0 +1,35 @@ + + + + + + +THE BOOST MPL LIBRARY: Miscellaneous + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Miscellaneous
+
+

Miscellaneous

+
    +
  1. vector has been re-implemented to support constant-time +insertion at both the beginning and the end. For example, this is now +well-formed for a vector v:

    +
    +typedef push_back<v,int>::type v1;
    +typedef push_front<v1,int>::type v2;
    +
    +
  2. +
  3. The interfaces of some sequence building algorithms such as +copy have been changed. Please see the reference manual for the +details of the new interface.

    +
  4. +
+
+ + + + + diff --git a/doc/tutorial/more-lambda-capabilities.html b/doc/tutorial/more-lambda-capabilities.html new file mode 100644 index 0000000..e5ecc11 --- /dev/null +++ b/doc/tutorial/more-lambda-capabilities.html @@ -0,0 +1,29 @@ + + + + + + +THE BOOST MPL LIBRARY: More Lambda Capabilities + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / More Lambda Capabilities
+
+

More Lambda Capabilities

+

Lambda expressions provide much more than just the ability to pass a +metafunction as an argument. The two capabilities described next +combine to make lambda expressions an invaluable part of almost every +metaprogramming task.

+ +
+ + + + + diff --git a/doc/tutorial/numeric-metafunction.html b/doc/tutorial/numeric-metafunction.html new file mode 100644 index 0000000..486e1f6 --- /dev/null +++ b/doc/tutorial/numeric-metafunction.html @@ -0,0 +1,71 @@ + + + + + + +THE BOOST MPL LIBRARY: Numeric Metafunction Protocol/Infrastructure + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Numeric Metafunction Protocol/Infrastructure
+
+

Numeric Metafunction Protocol/Infrastructure

+

The arithmetic, comparison and bitwise metafunctions are now +polymorphic, and can operate on a variety of numeric types, +including rational, fixed-point and complex numbers. They allow +mixed arithmetic, meaning that you can perform an operation on +arguments of different types, and the result will yeild the +largest/most general of the argument types. The infrastructure +allows user-defined numeric types to be freely intermixed with +predefined library types. See +http://cvs.sourceforge.net/viewcvs.py/boost/boost/libs/mpl/test/numeric_ops.cpp?view=markup +for an illustrative example, and the reference manual for +the formal infrastructure specification.

+

If you were using MPL numeric metafunctions on your own integral +wrapper class similar to mpl::int_, you can plug your class +into the new infrustructure by extending it with the following +member:

+
+typedef mpl::integral_c_tag tag;
+
+

For example:

+ ++++ + + + + + + + + + + +
BeforeNow
+template< int n > struct my_int
+{
+    static int const value = n;
+    typedef my_int type;
+};
+
+
+template< int n > struct my_int
+{
+    typedef mpl::integral_c_tag tag;
+    static int const value = n;
+    typedef my_int type;
+};
+
+
+
+ + + + + diff --git a/doc/tutorial/partial-metafunction.html b/doc/tutorial/partial-metafunction.html new file mode 100644 index 0000000..5ba2d0f --- /dev/null +++ b/doc/tutorial/partial-metafunction.html @@ -0,0 +1,41 @@ + + + + + + +THE BOOST MPL LIBRARY: Partial Metafunction Application + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / More Lambda Capabilities / Partial Metafunction Application
+
+

Partial Metafunction Application

+

Consider the lambda expression mpl::plus<_1,_1>. A single +argument is directed to both of plus's parameters, thereby +adding a number to itself. Thus, a binary metafunction, +plus, is used to build a unary lambda expression. In other +words, we've created a whole new computation! We're not done yet, +though: By supplying a non-placeholder as one of the arguments, we +can build a unary lambda expression that adds a fixed value, say +42, to its argument:

+
+mpl::plus<_1, mpl::int_<42> >
+
+ +

The process of binding argument values to a subset of a function's +parameters is known in the world of functional programming as +partial function application.

+
+ + + + + diff --git a/doc/tutorial/physical-structure.html b/doc/tutorial/physical-structure.html new file mode 100644 index 0000000..80d73b9 --- /dev/null +++ b/doc/tutorial/physical-structure.html @@ -0,0 +1,32 @@ + + + + + + +THE BOOST MPL LIBRARY: Physical Structure + + + + + +
Front Page / Technical Details / Physical Structure
+
+

Physical Structure

+

The library uses a fine-grained header structure with one header per public +component (class/function template), with the header named after the component. For example, +boost::mpl::apply is defined in the header <boost/mpl/apply.hpp>. This +scheme ensures both that we don't pay for what we don't use in terms of compilation time +and header dependencies, and frees us from memorizing the +relationship between a given header and the components it +provides. For entities that are likely to be used together, +such as arithmetic +metafunctions (plus, minus, times, et. al.), the library also supplies +appropriately-named composite headers +(<boost/mpl/airthmetic.hpp>) as a convenience.

+
+ + + + + diff --git a/doc/tutorial/placeholder-expression.html b/doc/tutorial/placeholder-expression.html new file mode 100644 index 0000000..55fced9 --- /dev/null +++ b/doc/tutorial/placeholder-expression.html @@ -0,0 +1,97 @@ + + + + + + +THE BOOST MPL LIBRARY: Placeholder Expression Definition + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Lambda Details / Placeholder Expression Definition
+
+

Placeholder Expression Definition

+

Now that you know just what placeholder means, we can define +placeholder expression:

+
+

Definition

+

A placeholder expression is either:

+
+
+
    +
  • a placeholder
  • +
+
+

or

+
+
    +
  • a template specialization with at least one argument that +is a placeholder expression.
  • +
+
+
+
+

In other words, a placeholder expression always involves a +placeholder.

+ +
+ + + + + diff --git a/doc/tutorial/placeholders.html b/doc/tutorial/placeholders.html new file mode 100644 index 0000000..1d9dfa6 --- /dev/null +++ b/doc/tutorial/placeholders.html @@ -0,0 +1,162 @@ + + + + + + +THE BOOST MPL LIBRARY: Placeholders + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Lambda Details / Placeholders
+
+

Placeholders

+

The definition of "placeholder" may surprise you:

+
+

Definition

+

A placeholder is a metafunction class of the form mpl::arg<X>.

+
+
+

Implementation

+

The convenient names _1, _2,... _5 are actually +typedefs for specializations of mpl::arg that simply +select the Nth argument for any N. [6] The +implementation of placeholders looks something like this:

+ + + + + +
[6]MPL provides five placeholders by default. See +the Configuration Macros section of the MPL reference manual for a +description of how to change the number of placeholders +provided.
+
+namespace boost { namespace mpl { namespace placeholders {
+
+template <int N> struct arg; // forward declarations
+struct void_;
+
+template <>
+struct arg<1>
+{
+    template <
+      class A1, class A2 = void_, ... class Am = void_>
+    struct apply
+    {
+        typedef A1 type; // return the first argument
+    };
+};
+typedef arg<1> _1;
+
+template <>
+struct arg<2>
+{
+    template <
+      class A1, class A2, class A3 = void_, ...class Am = void_
+    >
+    struct apply
+    {
+        typedef A2 type; // return the second argument
+    };
+};
+typedef arg<2> _2;
+
+more specializations and typedefs...
+
+}}}
+
+ +

Remember that invoking a metafunction class is the same as invoking +its nested apply metafunction. When a placeholder in a lambda +expression is evaluated, it is invoked on the expression's actual +arguments, returning just one of them. The results are then +substituted back into the lambda expression and the evaluation +process continues.

+
+
+

The Unnamed Placeholder

+

There's one special placeholder, known as the unnamed +placeholder, that we haven't yet defined:

+
+namespace boost { namespace mpl { namespace placeholders {
+
+typedef arg<-1> _; // the unnamed placeholder
+
+}}}
+
+ +

The details of its implementation aren't important; all you really +need to know about the unnamed placeholder is that it gets special +treatment. When a lambda expression is being transformed into a +metafunction class by mpl::lambda,

+
+the nth appearance of the unnamed placeholder in a given +template specialization is replaced with _n.
+

So, for example, every row of Table 1.1 +below contains two equivalent lambda expressions.

+ + ++++ + + + + + + + + + + + +
Unnamed Placeholder Semantics
+mpl::plus<_,_>
+
+
+mpl::plus<_1,_2>
+
+
+boost::is_same<
+    _
+  , boost::add_pointer<_>
+>
+
+
+boost::is_same<
+    _1
+  , boost::add_pointer<_1>
+>
+
+
+mpl::multiplies<
+   mpl::plus<_,_>
+ , mpl::minus<_,_>
+>
+
+
+mpl::multiplies<
+   mpl::plus<_1,_2>
+ , mpl::minus<_1,_2>
+>
+
+
+ +

Especially when used in simple lambda expressions, the unnamed +placeholder often eliminates just enough syntactic "noise" to +significantly improve readability.

+
+
+ + + + + diff --git a/doc/tutorial/portability.html b/doc/tutorial/portability.html new file mode 100644 index 0000000..78a91b4 --- /dev/null +++ b/doc/tutorial/portability.html @@ -0,0 +1,135 @@ + + + + + + +THE BOOST MPL LIBRARY: Portability + + + + + +
Front Page / Technical Details / Portability
+
+

Portability

+

It has always been a major goal of MPL development that a program +using the MPL should compile and run without modification on a wide +variety of compilers. To this end, the library goes to great +lengths to hide the quirks of less-than-perfect compilers. Of +course, there is only that much that you can do about an utterly +broken compiler. This section describes the places where those +quirks "leak out" of the library abstraction layer, and what you can +do about it when they do.

+

With respect to MPL compatibility we divide C++ compilers roughly +into three categories:

+
    +
  1. Reasonably conforming compilers that "just work" with the MPL.
  2. +
  3. Not-so-conforming compilers that work but require some workarounds in user code.
  4. +
  5. Compilers that are so broken that it's not practical to use them for any serious +metaprogramming work.
  6. +
+

We haven't tested every compiler in existence (simply because we don't have access to +all of them), but chances are the table below +will give you the information you are looking for. Please note that +the fact that one version of a compiler appears +in this list as "Not supported" does not mean that future versions are also +unworkable — some vendors are working hard to correct the +problems... and, as of this writing (late 2004), some are not.

+

Please keep in mind that this is not a complete list!

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CompilerVersionsCategoryProblematic Areas (if any)
Borland C++5.6.4BLambda Expressions, Integral Constant Expressions
Borland C++5.6.1CNot supported
Comeau C/C++4.2.45, +4.3.3A 
Compaq C++ (Tru64 UNIX)6.5A 
GCC3.2.2, +3.3.1, 3.4A 
GCC2.95.3BIntegral Constant Expressions
HP aCC3.55CNot supported
Intel C++7.1, 8.0A 
Metrowerks CodeWarrior8.3, 9.2A 
Microsoft Visual C++7.1A 
Microsoft Visual C++6.0 sp5, +7.0BLambda Expressions, ETI, Integral Constant Expressions
SGI MIPSpro7.3BIntegral Constant Expressions
Sun CC5.6CNot supported
+ +
+ + + + + diff --git a/doc/tutorial/reference-manual.html b/doc/tutorial/reference-manual.html new file mode 100644 index 0000000..9f192ad --- /dev/null +++ b/doc/tutorial/reference-manual.html @@ -0,0 +1,28 @@ + + + + + + +THE BOOST MPL LIBRARY: Reference Manual + + + + + +
Front Page / Reference Manual
+
+

Reference Manual

+

The MPL reference manual is an annotated formal specification of the +library's public interface. The manual is available in two forms:

+
    +
  • A fully cross-referenced set of HTML pages.
  • +
  • A cross-referenced, printer-ready PDF.
  • +
+

Please choose the form that is most convenient for you, and enjoy!

+
+ + + + + diff --git a/doc/tutorial/renaming-cleanup.html b/doc/tutorial/renaming-cleanup.html new file mode 100644 index 0000000..96a7f37 --- /dev/null +++ b/doc/tutorial/renaming-cleanup.html @@ -0,0 +1,78 @@ + + + + + + +THE BOOST MPL LIBRARY: Renaming/Cleanup + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Renaming/Cleanup
+
+

Renaming/Cleanup

+
    +
  1. The apply_if metafunction has been renamed to eval_if.

    +
  2. +
  3. All _backward algorithm counterparts have been renamed to use reverse_ +prefix; e.g. fold_backward became reverse_fold.

    +
  4. +
  5. The <boost/mpl/aux_/has_xxx.hpp> header has been made public and became +<boost/mpl/has_xxx.hpp>; correspondingly, the BOOST_MPL_NO_AUX_HAS_XXX +macro was renamed to BOOST_MPL_CFG_NO_HAS_XXX.

    +
  6. +
  7. <boost/mpl/assert_is_same.hpp> header has been replaced by a more +general <mpl/assert.hpp>; the new asserts provide a significantly +higher-quality diagnostics. See the table below for new equivalents of +the old macros:

    + ++++ + + + + + + + + + + + + + +

    Before

    +

    Now

    +

    BOOST_MPL_ASSERT_IS_SAME(t1, t2)

    +

    BOOST_MPL_ASSERT(( boost::is_same<t1,t2> ))

    +

    BOOST_MPL_ASSERT_IS_NOT_SAME(t1, t2)

    +

    BOOST_MPL_ASSERT_NOT(( boost::is_same<t1,t2> ))

    +
    +

    The "Macros/Asserts" section of the reference manual provides a +complete formal specification of the new macros' semantics.

    +
  8. +
  9. All configuration macros have been renamed to include the CFG prefix; in +particular, BOOST_MPL_NO_FULL_LAMBDA_SUPPORT has become +BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT.

    +
  10. +
  11. The following public headers/components have been renamed or removed as +obsolete:

    +
    +iterator_tag.hpp (renamed to iterator_tags.hpp)
    +project1st.hpp
    +project2nd.hpp
    +select1st.hpp
    +select2nd.hpp
    +
    +
  12. +
+
+ + + + + diff --git a/doc/tutorial/representing-dimensions.html b/doc/tutorial/representing-dimensions.html new file mode 100644 index 0000000..367dc0e --- /dev/null +++ b/doc/tutorial/representing-dimensions.html @@ -0,0 +1,153 @@ + + + + + + +THE BOOST MPL LIBRARY: Representing Dimensions + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Representing Dimensions
+
+

Representing Dimensions

+

An international standard called Système +International d'Unites (SI), breaks every quantity down into a +combination of the dimensions mass, length (or position), +time, charge, temperature, intensity, and angle. To be +reasonably general, our system would have to be able to +represent seven or more fundamental dimensions. It also needs +the ability to represent composite dimensions that, like force, +are built through multiplication or division of the fundamental +ones.

+

In general, a composite dimension is the product of powers of +fundamental dimensions. [1] If we were going to represent +these powers for manipulation at runtime, we could use an array of +seven ints, with each position in the array holding the power +of a different fundamental dimension:

+
+typedef int dimension[7]; // m  l  t  ...
+dimension const mass      = {1, 0, 0, 0, 0, 0, 0};
+dimension const length    = {0, 1, 0, 0, 0, 0, 0};
+dimension const time      = {0, 0, 1, 0, 0, 0, 0};
+...
+
+ + + + + +
[1]Divisors just contribute negative exponents, since +1/x = x-1.
+

In that representation, force would be:

+
+dimension const force  = {1, 1, -2, 0, 0, 0, 0};
+
+ + +

that is, mlt-2. However, if we want to get dimensions into the +type system, these arrays won't do the trick: they're all +the same type! Instead, we need types that themselves represent +sequences of numbers, so that two masses have the same type and a +mass is a different type from a length.

+

Fortunately, the MPL provides us with a collection of type +sequences. For example, we can build a sequence of the built-in +signed integral types this way:

+
+#include <boost/mpl/vector.hpp>
+
+typedef boost::mpl::vector<
+     signed char, short, int, long> signed_types;
+
+

How can we use a type sequence to represent numbers? Just as +numerical metafunctions pass and return wrapper types having a +nested ::value, so numerical sequences are really sequences of +wrapper types (another example of polymorphism). To make this sort +of thing easier, MPL supplies the int_<N> class template, which +presents its integral argument as a nested ::value:

+
+#include <boost/mpl/int.hpp>
+
+namespace mpl = boost::mpl; // namespace alias
+static int const five = mpl::int_<5>::value;
+
+ + +

In fact, the library contains a whole suite of integral constant +wrappers such as long_ and bool_, each one wrapping a +different type of integral constant within a class template.

+

Now we can build our fundamental dimensions:

+
+typedef mpl::vector<
+   mpl::int_<1>, mpl::int_<0>, mpl::int_<0>, mpl::int_<0>
+ , mpl::int_<0>, mpl::int_<0>, mpl::int_<0>
+> mass;
+
+typedef mpl::vector<
+   mpl::int_<0>, mpl::int_<1>, mpl::int_<0>, mpl::int_<0>
+ , mpl::int_<0>, mpl::int_<0>, mpl::int_<0>
+> length;
+...
+
+ +

Whew! That's going to get tiring pretty quickly. Worse, it's hard +to read and verify: The essential information, the powers of each +fundamental dimension, is buried in repetitive syntactic "noise." +Accordingly, MPL supplies integral sequence wrappers that allow +us to write:

+
+#include <boost/mpl/vector_c.hpp>
+
+typedef mpl::vector_c<int,1,0,0,0,0,0,0> mass;
+typedef mpl::vector_c<int,0,1,0,0,0,0,0> length; // or position 
+typedef mpl::vector_c<int,0,0,1,0,0,0,0> time;
+typedef mpl::vector_c<int,0,0,0,1,0,0,0> charge;
+typedef mpl::vector_c<int,0,0,0,0,1,0,0> temperature;
+typedef mpl::vector_c<int,0,0,0,0,0,1,0> intensity;
+typedef mpl::vector_c<int,0,0,0,0,0,0,1> angle;
+
+

Even though they have different types, you can think of these +mpl::vector_c specializations as being equivalent to the more +verbose versions above that use mpl::vector.

+

If we want, we can also define a few composite dimensions:

+
+// base dimension:        m l  t ... 
+typedef mpl::vector_c<int,0,1,-1,0,0,0,0> velocity;     // l/t
+typedef mpl::vector_c<int,0,1,-2,0,0,0,0> acceleration; // l/(t2)
+typedef mpl::vector_c<int,1,1,-1,0,0,0,0> momentum;     // ml/t
+typedef mpl::vector_c<int,1,1,-2,0,0,0,0> force;        // ml/(t2)
+
+

And, incidentally, the dimensions of scalars (like pi) can be +described as:

+
+typedef mpl::vector_c<int,0,0,0,0,0,0,0> scalar;
+
+ +
+ + + + + diff --git a/doc/tutorial/representing-quantities.html b/doc/tutorial/representing-quantities.html new file mode 100644 index 0000000..323d2f5 --- /dev/null +++ b/doc/tutorial/representing-quantities.html @@ -0,0 +1,55 @@ + + + + + + +THE BOOST MPL LIBRARY: Representing Quantities + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Dimensional Analysis / Representing Quantities
+
+

Representing Quantities

+

The types listed above are still pure metadata; to typecheck real +computations we'll need to somehow bind them to our runtime data. +A simple numeric value wrapper, parameterized on the number type T +and on its dimensions, fits the bill:

+
+template <class T, class Dimensions>
+struct quantity
+{
+    explicit quantity(T x)
+       : m_value(x)
+    {}
+
+    T value() const { return m_value; }
+ private:
+    T m_value;
+};
+
+ +

Now we have a way to represent numbers associated with dimensions. +For instance, we can say:

+
+quantity<float,length> l( 1.0f );
+quantity<float,mass> m( 2.0f );
+
+

Note that Dimensions doesn't appear anywhere in the definition +of quantity outside the template parameter list; its only +role is to ensure that l and m have different types. +Because they do, we cannot make the mistake of assigning a length +to a mass:

+
+m = l;    // compile-time type error
+
+ +
+ + + + + diff --git a/doc/tutorial/resources.html b/doc/tutorial/resources.html new file mode 100644 index 0000000..0242cd1 --- /dev/null +++ b/doc/tutorial/resources.html @@ -0,0 +1,49 @@ + + + + + + +THE BOOST MPL LIBRARY: Resources + + + + + +
Front Page / Resources
+
+

Resources

+"C++ Template Metaprogramming" cover

For those of you whose interest in metaprogramming is not fully +satisfied by this documentation, we've collected a few references +to other resources that we think you are likely to fancy. Most +notably, a book named "C++ Template Metaprogramming: Concepts, +Tools, and Techniques from Boost and Beyond" by David Abrahams +and Aleksey Gurtovoy is considered to be the most authoritative and +up-do-date treatment of the subject as of today. The tutorial +included with this documentation is in fact an excerpt from this +work.

+

Other notable book resources include Andrei Alexandrescu's "Modern C++ Design: Generic +Programming and Design Patterns Applied", in which +Andrei explorers the appication of C++ metaprogramming techniques to implementing +highly reusable and configurable generic designs, and "C++ Templates - The +Complete Guide", by David Vandevoorde and Nicolai M. Josuttis — the book +on the details and workings of the C++ template system.

+

We can also recommend a number online resources:

+ + +

Finally, if you come accross a high-quality, notable work on the +topic that you think should be listed here, please let us know!

+
+ + + + + diff --git a/doc/tutorial/tag-dispatching-protocol.html b/doc/tutorial/tag-dispatching-protocol.html new file mode 100644 index 0000000..7f77a85 --- /dev/null +++ b/doc/tutorial/tag-dispatching-protocol.html @@ -0,0 +1,75 @@ + + + + + + +THE BOOST MPL LIBRARY: Tag Dispatching Protocol + + + + + +
Front Page / Changelog & History / Changes in Boost 1.32.0 Release / Tag Dispatching Protocol
+
+

Tag Dispatching Protocol

+

The mechanism used to select algorithm implementations based on +sequence family has been changed to use metafunction classes:

+ ++++ + + + + + + + + + + +
BeforeNow
name_traits<Tag>::algorithm<...>::typename_impl<Tag>::apply<...>::type
+

If your code implemented a custom sequence, it needs to be adjusted +according to the above table; for example:

+ ++++ + + + + + + + + + + +
BeforeNow
+template<> struct begin_traits<my_tag>
+{
+    template< typename S > struct algorithm
+    {
+        typedef ... type;
+    };
+};
+
+
+template<> struct begin_impl<my_tag>
+{
+    template< typename S > struct apply
+    {
+        typedef ... type;
+    };
+};
+
+
+
+ + + + + diff --git a/doc/tutorial/technical-details.html b/doc/tutorial/technical-details.html new file mode 100644 index 0000000..0d11aed --- /dev/null +++ b/doc/tutorial/technical-details.html @@ -0,0 +1,28 @@ + + + + + + +THE BOOST MPL LIBRARY: Technical Details + + + + + +
Front Page / Technical Details
+
+

Technical Details

+

This section collects a few technical details on the library's organization that +do not belong into the reference manual.

+ +
+ + + + + diff --git a/doc/tutorial/the-apply-metafunction.html b/doc/tutorial/the-apply-metafunction.html new file mode 100644 index 0000000..48bb3d8 --- /dev/null +++ b/doc/tutorial/the-apply-metafunction.html @@ -0,0 +1,76 @@ + + + + + + +THE BOOST MPL LIBRARY: The apply Metafunction + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Handling Placeholders / The apply Metafunction
+
+

The apply Metafunction

+

Invoking the result of lambda is such a common pattern +that MPL provides an apply metafunction to do just +that. Using mpl::apply, our flexible version of twice +becomes:

+
+#include <boost/mpl/apply.hpp>
+
+template <class F, class X>
+struct twice
+   : mpl::apply<F, typename mpl::apply<F,X>::type>
+{};
+
+ +

You can think of mpl::apply as being just like the apply1 +template that we wrote, with two additional features:

+
    +
  1. While apply1 operates only on metafunction classes, the first +argument to mpl::apply can be any lambda expression +(including those built with placeholders).

    +
  2. +
  3. While apply1 accepts only one additional argument to which +the metafunction class will be applied, mpl::apply can +invoke its first argument on any number from zero to five +additional arguments. [5] For example:

    +
    +// binary lambda expression applied to 2 additional arguments
    +mpl::apply<
    +    mpl::plus<_1,_2>   
    +  , mpl::int_<6>
    +  , mpl::int_<7>
    +>::type::value // == 13
    +
    +
  4. +
+ + + + + +
[5]See the Configuration Macros section of the the MPL reference manual +for a description of how to change the maximum number of +arguments handled by mpl::apply.
+ +
+

Guideline

+

When writing a metafunction that invokes one of its arguments, +use mpl::apply so that it works with lambda expressions.

+
+
+ + + + + diff --git a/doc/tutorial/the-importance-of-being.html b/doc/tutorial/the-importance-of-being.html new file mode 100644 index 0000000..b2e7dd3 --- /dev/null +++ b/doc/tutorial/the-importance-of-being.html @@ -0,0 +1,55 @@ + + + + + + +THE BOOST MPL LIBRARY: The Importance of Being Lazy + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Lambda Details / The Importance of Being Lazy
+
+

The Importance of Being Lazy

+

Recall the definition of always_int from the previous chapter:

+
+struct always_int
+{
+    typedef int type;
+};
+
+

Nullary metafunctions might not seem very important at first, since +something like add_pointer<int> could be replaced by int* in +any lambda expression where it appears. Not all nullary +metafunctions are that simple, though:

+
+typedef mpl::vector<int, char*, double&> seq;
+typedef mpl::transform<seq, boost::add_pointer<_> > calc_ptr_seq;
+
+ +

Note that calc_ptr_seq is a nullary metafunction, since it has +transform's nested ::type. A C++ template is not +instantiated until we actually "look inside it," though. Just +naming calc_ptr_seq does not cause it to be evaluated, since we +haven't accessed its ::type yet.

+

Metafunctions can be invoked lazily, rather than immediately upon +supplying all of their arguments. We can use lazy evaluation to +improve compilation time when a metafunction result is only going +to be used conditionally. We can sometimes also avoid contorting +program structure by naming an invalid computation without +actually performing it. That's what we've done with +calc_ptr_seq above, since you can't legally form double&*. +Laziness and all of its virtues will be a recurring theme +throughout this book.

+
+ + + + + diff --git a/doc/tutorial/the-lambda-metafunction.html b/doc/tutorial/the-lambda-metafunction.html new file mode 100644 index 0000000..191f587 --- /dev/null +++ b/doc/tutorial/the-lambda-metafunction.html @@ -0,0 +1,85 @@ + + + + + + +THE BOOST MPL LIBRARY: The lambda Metafunction + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming / Handling Placeholders / The lambda Metafunction
+
+

The lambda Metafunction

+

We can generate a metafunction class from +boost::add_pointer<_1>, using MPL's lambda metafunction:

+
+template <class X>
+struct two_pointers
+  : twice<typename mpl::lambda<boost::add_pointer<_1> >::type, X>
+{};
+
+BOOST_STATIC_ASSERT((
+    boost::is_same<
+        two_pointers<int>::type
+      , int**
+    >::value
+));
+
+ +

We'll refer to metafunction classes like add_pointer_f and +placeholder expressions like boost::add_pointer<_1> +as lambda expressions. The term, meaning "unnamed function +object," was introduced in the 1930s by the logician Alonzo Church +as part of a fundamental theory of computation he called the +lambda-calculus. [4] MPL uses the somewhat obscure word +lambda because of its well-established precedent in functional +programming languages.

+ + + + + +
[4]See http://en.wikipedia.org/wiki/Lambda_calculus for +an in-depth treatment, including a reference to Church's paper +proving that the equivalence of lambda expressions is in general +not decidable.
+

Although its primary purpose is to turn placeholder expressions +into metafunction classes, mpl::lambda can accept any lambda +expression, even if it's already a metafunction class. In that +case, lambda returns its argument unchanged. MPL algorithms +like transform call lambda internally, before invoking the +resulting metafunction class, so that they work equally well with +either kind of lambda expression. We can apply the same strategy +to twice:

+
+template <class F, class X>
+struct twice
+   : apply1<
+         typename mpl::lambda<F>::type
+       , typename apply1<
+             typename mpl::lambda<F>::type
+           , X
+         >::type
+     >
+{};
+
+

Now we can use twice with metafunction classes and +placeholder expressions:

+
+int* x;
+
+twice<add_pointer_f, int>::type           p = &x;
+twice<boost::add_pointer<_1>, int>::type q = &x;
+
+ +
+ + + + + diff --git a/doc/tutorial/tutorial-metafunctions.html b/doc/tutorial/tutorial-metafunctions.html new file mode 100644 index 0000000..b146835 --- /dev/null +++ b/doc/tutorial/tutorial-metafunctions.html @@ -0,0 +1,47 @@ + + + + + + +THE BOOST MPL LIBRARY: Tutorial: Metafunctions and Higher-Order Metaprogramming + + + + + +
Front Page / Tutorial: Metafunctions and Higher-Order Metaprogramming
+
+

Tutorial: Metafunctions and Higher-Order Metaprogramming

+ +++ + + + +
Note:The following material is an excerpt from Chapter 3 of "C++ Template Metaprogramming", +by David Abrahams and Aleksey Gurtovoy, ISBN 0321227255, http://www.awprofessional.com/titles/0321227255. +Copyright (c) 2005 by Pearson Education, Inc. Reprinted with permission.
+

With the foundation laid so far, we're ready to explore one of the +most basic uses for template metaprogramming techniques: adding +static type checking to traditionally unchecked operations. We'll +look at a practical example from science and engineering that can +find applications in almost any numerical code. +Along the way you'll learn some important new concepts and +get a taste of metaprogramming at a high level using the MPL.

+ +
+ + + + + diff --git a/doc/tutorial/tutorial_toc.html b/doc/tutorial/tutorial_toc.html new file mode 100644 index 0000000..c71ee96 --- /dev/null +++ b/doc/tutorial/tutorial_toc.html @@ -0,0 +1,77 @@ + + + + + + +THE BOOST MPL LIBRARY: Full TOC + + + + +
+

Table of Contents

+ + + + + + diff --git a/preprocessed/set/set10_c.cpp b/preprocessed/set/set10_c.cpp new file mode 100644 index 0000000..768d515 --- /dev/null +++ b/preprocessed/set/set10_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/set/set20_c.cpp b/preprocessed/set/set20_c.cpp new file mode 100644 index 0000000..128b29a --- /dev/null +++ b/preprocessed/set/set20_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/set/set30_c.cpp b/preprocessed/set/set30_c.cpp new file mode 100644 index 0000000..aa46359 --- /dev/null +++ b/preprocessed/set/set30_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/set/set40_c.cpp b/preprocessed/set/set40_c.cpp new file mode 100644 index 0000000..0aae1ce --- /dev/null +++ b/preprocessed/set/set40_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/set/set50_c.cpp b/preprocessed/set/set50_c.cpp new file mode 100644 index 0000000..e5d638a --- /dev/null +++ b/preprocessed/set/set50_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2003-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/src/deque.cpp b/preprocessed/src/deque.cpp new file mode 100644 index 0000000..c30562b --- /dev/null +++ b/preprocessed/src/deque.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/preprocessed/src/set_c.cpp b/preprocessed/src/set_c.cpp new file mode 100644 index 0000000..e96387e --- /dev/null +++ b/preprocessed/src/set_c.cpp @@ -0,0 +1,16 @@ + +// Copyright Aleksey Gurtovoy 2002-4004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#define BOOST_MPL_PREPROCESSING_MODE +#include +#include diff --git a/test/Jamfile b/test/Jamfile index 10fb99c..fe596d3 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -25,6 +25,7 @@ compile copy.cpp ; compile copy_if.cpp ; compile count.cpp ; compile count_if.cpp ; +compile deque.cpp ; compile distance.cpp ; compile empty.cpp ; compile equal.cpp ; @@ -64,6 +65,7 @@ compile next.cpp ; compile no_has_xxx.cpp ; compile numeric_ops.cpp ; compile pair_view.cpp ; +compile partition.cpp ; compile pop_front.cpp ; compile push_front.cpp ; compile quote.cpp ; @@ -75,6 +77,7 @@ compile replace_if.cpp ; compile reverse.cpp ; compile same_as.cpp ; compile set.cpp ; +compile set_c.cpp ; compile single_view.cpp ; compile size.cpp ; compile size_t.cpp ; diff --git a/test/deque.cpp b/test/deque.cpp new file mode 100644 index 0000000..8f704df --- /dev/null +++ b/test/deque.cpp @@ -0,0 +1,92 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +MPL_TEST_CASE() +{ + typedef deque<> d0; + typedef deque d1; + typedef deque d2; + typedef deque d9; + + MPL_ASSERT_RELATION( size::value, ==, 0 ); + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 2 ); + MPL_ASSERT_RELATION( size::value, ==, 9 ); + + MPL_ASSERT(( empty )); + MPL_ASSERT_NOT(( empty )); + MPL_ASSERT_NOT(( empty )); + MPL_ASSERT_NOT(( empty )); + + MPL_ASSERT(( is_same< front::type,char > )); + MPL_ASSERT(( is_same< back::type,char > )); + MPL_ASSERT(( is_same< front::type,char > )); + MPL_ASSERT(( is_same< back::type,long > )); + MPL_ASSERT(( is_same< front::type,char > )); + MPL_ASSERT(( is_same< back::type,int > )); +} + + +MPL_TEST_CASE() +{ + typedef deque d2; + + typedef begin::type i1; + typedef next::type i2; + typedef next::type i3; + + MPL_ASSERT(( is_same::type,char> )); + MPL_ASSERT(( is_same::type,long> )); + MPL_ASSERT(( is_same< i3, end::type > )); +} + +MPL_TEST_CASE() +{ + typedef deque<> d0; + + typedef push_back::type d1; + MPL_ASSERT(( is_same< back::type,int > )); + + typedef push_front::type d2; + MPL_ASSERT(( is_same< back::type,int > )); + MPL_ASSERT(( is_same< front::type,char > )); + + typedef push_back::type d3; + MPL_ASSERT(( is_same< back::type,long > )); +} + +MPL_TEST_CASE() +{ + typedef deque<> d0; + typedef deque d1; + typedef deque d2; + typedef deque d9; + + MPL_ASSERT_RELATION( size::value, ==, 0 ); + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 2 ); + MPL_ASSERT_RELATION( size::value, ==, 9 ); +} diff --git a/test/empty_sequence.cpp b/test/empty_sequence.cpp new file mode 100644 index 0000000..7332a14 --- /dev/null +++ b/test/empty_sequence.cpp @@ -0,0 +1,36 @@ + +// Copyright Aleksey Gurtovoy 2004 +// Copyright Alexander Nasonov 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include + +#include +#include + +MPL_TEST_CASE() +{ + typedef begin::type begin; + typedef end::type end; + + MPL_ASSERT(( is_same )); + MPL_ASSERT_RELATION( (mpl::distance::value), ==, 0 ); + MPL_ASSERT_RELATION( size::value, ==, 0 ); + + typedef advance_c::type advanced; + MPL_ASSERT(( is_same )); +} diff --git a/test/for_each.cpp b/test/for_each.cpp index 3b16fc3..82091c1 100644 --- a/test/for_each.cpp +++ b/test/for_each.cpp @@ -63,15 +63,15 @@ int main() typedef mpl::range_c numbers; std::vector v; -#if BOOST_WORKAROUND(__BORLANDC__, >= 0x561) - mpl::for_each( - boost::bind(&std::vector::push_back, &v, _1) - ); -#else +#if defined(__SGI_STL_PORT) void (std::vector::* push_back)(int const&) = &std::vector::push_back; mpl::for_each( boost::bind(push_back, &v, _1) ); +#else + mpl::for_each( + boost::bind(&std::vector::push_back, &v, _1) + ); #endif mpl::for_each< numbers >(value_printer(std::cout)); diff --git a/test/list_c.cpp b/test/list_c.cpp index b54d1ce..a941884 100644 --- a/test/list_c.cpp +++ b/test/list_c.cpp @@ -22,42 +22,54 @@ #if !BOOST_WORKAROUND(BOOST_MSVC,<= 1200) MPL_TEST_CASE() { - typedef list_c::type list1; - typedef list_c::type list2; + typedef list_c::type l1; + typedef list_c::type l2; - MPL_ASSERT_RELATION( front::type::value, ==, true ); - MPL_ASSERT_RELATION( front::type::value, ==, false ); + MPL_ASSERT(( is_same< l1::value_type, bool > )); + MPL_ASSERT(( is_same< l2::value_type, bool > )); + + MPL_ASSERT_RELATION( front::type::value, ==, true ); + MPL_ASSERT_RELATION( front::type::value, ==, false ); } #endif MPL_TEST_CASE() { - typedef list_c::type list1; - typedef list_c::type list2; - typedef list_c::type list3; + typedef list_c::type l1; + typedef list_c::type l2; + typedef list_c::type l3; - MPL_ASSERT_RELATION( size::value, ==, 1 ); - MPL_ASSERT_RELATION( size::value, ==, 2 ); - MPL_ASSERT_RELATION( size::value, ==, 3 ); - MPL_ASSERT_RELATION( front::type::value, ==, -1 ); - MPL_ASSERT_RELATION( front::type::value, ==, 0 ); - MPL_ASSERT_RELATION( front::type::value, ==, 1 ); + MPL_ASSERT(( is_same< l1::value_type, int > )); + MPL_ASSERT(( is_same< l2::value_type, int > )); + MPL_ASSERT(( is_same< l3::value_type, int > )); + + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 2 ); + MPL_ASSERT_RELATION( size::value, ==, 3 ); + MPL_ASSERT_RELATION( front::type::value, ==, -1 ); + MPL_ASSERT_RELATION( front::type::value, ==, 0 ); + MPL_ASSERT_RELATION( front::type::value, ==, 1 ); } MPL_TEST_CASE() { - typedef list_c::type list1; - typedef list_c::type list2; + typedef list_c::type l1; + typedef list_c::type l2; - MPL_ASSERT_RELATION( size::value, ==, 1 ); - MPL_ASSERT_RELATION( size::value, ==, 2 ); - MPL_ASSERT_RELATION( front::type::value, ==, 0 ); - MPL_ASSERT_RELATION( front::type::value, ==, 1 ); + MPL_ASSERT(( is_same< l1::value_type, unsigned > )); + MPL_ASSERT(( is_same< l2::value_type, unsigned > )); + + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 2 ); + MPL_ASSERT_RELATION( front::type::value, ==, 0 ); + MPL_ASSERT_RELATION( front::type::value, ==, 1 ); } MPL_TEST_CASE() { typedef list_c l2; + + MPL_ASSERT(( is_same< l2::value_type, unsigned > )); typedef begin::type i1; typedef next::type i2; diff --git a/test/map.cpp b/test/map.cpp index 87c2e1f..2f1a59a 100644 --- a/test/map.cpp +++ b/test/map.cpp @@ -56,7 +56,7 @@ MPL_TEST_CASE() typedef begin::type first; typedef end::type last; - MPL_ASSERT(( is_same< first::type,mpl::pair > )); + MPL_ASSERT(( is_same< deref::type,mpl::pair > )); MPL_ASSERT(( is_same< next::type,last > )); typedef insert >::type m2; @@ -81,9 +81,9 @@ MPL_TEST_CASE() typedef begin::type first2; typedef end::type last2; - MPL_ASSERT(( is_same > )); + MPL_ASSERT(( is_same::type,mpl::pair > )); typedef next::type iter; - MPL_ASSERT(( is_same > )); + MPL_ASSERT(( is_same::type,mpl::pair > )); MPL_ASSERT(( is_same< next::type,last2 > )); typedef insert >::type s2_1; diff --git a/test/pair_view.cpp b/test/pair_view.cpp index 6eb68e3..4a1bf25 100644 --- a/test/pair_view.cpp +++ b/test/pair_view.cpp @@ -13,20 +13,33 @@ // $Revision$ #include -#include -#include -#include - +#include +#include +#include #include MPL_TEST_CASE() { - typedef list10_c l1; - typedef list10_c l2; + typedef range_c r; + typedef vector10_c v; - typedef pair_view view; + typedef pair_view view; + typedef begin::type first_; + typedef end::type last_; + + MPL_ASSERT(( is_same< first_::category, mpl::random_access_iterator_tag > )); + + MPL_ASSERT(( is_same< advance_c::type, first_ > )); + MPL_ASSERT(( is_same< advance_c::type, last_ > )); + MPL_ASSERT(( is_same< advance_c::type, last_ > )); + MPL_ASSERT(( is_same< advance_c::type, first_ > )); + + typedef advance_c::type iter; + + MPL_ASSERT(( is_same< + deref::type + , mpl::pair< integral_c,integral_c > + > )); - MPL_ASSERT_RELATION( front::type::first::value, ==, 0 ); - MPL_ASSERT_RELATION( front::type::second::value, ==, 9 ); } diff --git a/test/partition.cpp b/test/partition.cpp new file mode 100644 index 0000000..d3b2d73 --- /dev/null +++ b/test/partition.cpp @@ -0,0 +1,42 @@ + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +template< typename N > struct is_odd + : modulus< N, int_<2> > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_odd, (N)) +}; + + +MPL_TEST_CASE() +{ + typedef partition< + range_c + , is_odd<_1> + , mpl::back_inserter< vector<> > + , mpl::back_inserter< vector<> > + >::type r; + + MPL_ASSERT(( equal< r::first, vector_c > )); + MPL_ASSERT(( equal< r::second, vector_c > )); +} diff --git a/test/range_c.cpp b/test/range_c.cpp index 0ba24c7..d5cf08d 100644 --- a/test/range_c.cpp +++ b/test/range_c.cpp @@ -12,6 +12,8 @@ // $Revision$ #include +#include +#include #include #include #include @@ -32,7 +34,7 @@ MPL_TEST_CASE() MPL_ASSERT_NOT(( empty )); MPL_ASSERT_NOT(( empty )); - MPL_ASSERT(( is_same::type, end::type > )); + MPL_ASSERT(( is_same< begin::type, end::type > )); MPL_ASSERT_NOT(( is_same::type, end::type > )); MPL_ASSERT_NOT(( is_same::type, end::type > )); @@ -44,27 +46,15 @@ MPL_TEST_CASE() MPL_TEST_CASE() { - typedef range_c range10; - typedef begin::type i0; - typedef next::type i1; - typedef next::type i2; - typedef next::type i3; - typedef next::type i4; - typedef next::type i5; - typedef next::type i6; - typedef next::type i7; - typedef next::type i8; - typedef next::type i9; - typedef next::type i10; + typedef range_c r; + typedef begin::type first; + typedef end::type last; - MPL_ASSERT_RELATION( deref::type::value, ==, 0 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 1 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 2 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 3 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 4 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 5 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 6 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 7 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 8 ); - MPL_ASSERT_RELATION( deref::type::value, ==, 9 ); + MPL_ASSERT(( is_same< advance_c::type, last > )); + MPL_ASSERT(( is_same< advance_c::type, first > )); + + MPL_ASSERT_RELATION( ( mpl::distance::value ), ==, 10 ); + + typedef advance_c::type iter; + MPL_ASSERT_RELATION( deref::type::value, ==, 5 ); } diff --git a/test/set.cpp b/test/set.cpp index 35f980b..39de492 100644 --- a/test/set.cpp +++ b/test/set.cpp @@ -46,7 +46,7 @@ MPL_TEST_CASE() typedef begin::type first; typedef end::type last; - MPL_ASSERT(( is_same< first::type, int > )); + MPL_ASSERT(( is_same< deref::type, int > )); MPL_ASSERT(( is_same< next::type, last > )); typedef s_unmask s2; diff --git a/test/set_c.cpp b/test/set_c.cpp new file mode 100644 index 0000000..a801548 --- /dev/null +++ b/test/set_c.cpp @@ -0,0 +1,85 @@ + +// Copyright Aleksey Gurtovoy 2000-2004 +// +// Distributed under the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at +// http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Source$ +// $Date$ +// $Revision$ + +#include +#include +#include + +#include + +namespace test { namespace { +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) +template< typename S, typename S::value_type k > +struct at_c + : at< S, integral_c >::type +{ +}; +#else +template< typename S, long k > +struct at_c + : aux::msvc_eti_base< + at< S, integral_c > + > +{ +}; +#endif +}} + +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1200) +MPL_TEST_CASE() +{ + typedef set_c::type s1; + typedef set_c::type s2; + typedef set_c::type s3; + + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 2 ); + + MPL_ASSERT(( is_same< s1::value_type, bool > )); + MPL_ASSERT(( is_same< s3::value_type, bool > )); + MPL_ASSERT(( is_same< s2::value_type, bool > )); + +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, true ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, false ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, true ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, false ); + + MPL_ASSERT(( is_same< test::at_c::type, void_ > )); + MPL_ASSERT(( is_same< test::at_c::type, void_ > )); +#endif +} +#endif + +MPL_TEST_CASE() +{ + typedef set_c::type s1; + typedef set_c::type s2; + + MPL_ASSERT_RELATION( size::value, ==, 1 ); + MPL_ASSERT_RELATION( size::value, ==, 8 ); + + MPL_ASSERT(( is_same< s1::value_type, char > )); + MPL_ASSERT(( is_same< s2::value_type, char > )); + +#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, 'a' ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, 'a' ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, 'd' ); + MPL_ASSERT_RELATION( ( test::at_c::value ), ==, 'h' ); + + MPL_ASSERT(( is_same< test::at_c::type, void_ > )); + MPL_ASSERT(( is_same< test::at_c::type, void_ > )); +#endif +} diff --git a/test/single_view.cpp b/test/single_view.cpp index e57bdf5..87a6f23 100644 --- a/test/single_view.cpp +++ b/test/single_view.cpp @@ -12,6 +12,7 @@ // $Revision$ #include +#include #include #include #include @@ -22,9 +23,18 @@ MPL_TEST_CASE() typedef begin::type first; typedef end::type last; - MPL_ASSERT(( is_same )); - MPL_ASSERT(( is_same )); - MPL_ASSERT(( is_same )); + MPL_ASSERT(( is_same< deref::type, int > )); + MPL_ASSERT(( is_same< next::type, last > )); + MPL_ASSERT(( is_same< prior::type, first > )); + + MPL_ASSERT(( is_same< mpl::advance >::type, first > )); + MPL_ASSERT(( is_same< mpl::advance >::type, last > )); + MPL_ASSERT(( is_same< mpl::advance >::type, last > )); + MPL_ASSERT(( is_same< mpl::advance >::type, first > )); + + MPL_ASSERT_RELATION( (mpl::distance::value), ==, 0 ); + MPL_ASSERT_RELATION( (mpl::distance::value), ==, 1 ); + MPL_ASSERT_RELATION( (mpl::distance::value), ==, 0 ); MPL_ASSERT_RELATION( size::value, ==, 1 ); } diff --git a/test/vector_c.cpp b/test/vector_c.cpp index cec13ea..f2c31c3 100644 --- a/test/vector_c.cpp +++ b/test/vector_c.cpp @@ -23,6 +23,9 @@ MPL_TEST_CASE() typedef vector_c::type v1; typedef vector_c::type v2; + MPL_ASSERT(( is_same< v1::value_type, bool > )); + MPL_ASSERT(( is_same< v2::value_type, bool > )); + MPL_ASSERT_RELATION( front::type::value, ==, true ); MPL_ASSERT_RELATION( front::type::value, ==, false ); } @@ -34,6 +37,10 @@ MPL_TEST_CASE() typedef vector_c v2; typedef vector_c v3; + MPL_ASSERT(( is_same< v1::value_type, int > )); + MPL_ASSERT(( is_same< v2::value_type, int > )); + MPL_ASSERT(( is_same< v3::value_type, int > )); + MPL_ASSERT_RELATION( size::value, ==, 1 ); MPL_ASSERT_RELATION( size::value, ==, 2 ); MPL_ASSERT_RELATION( size::value, ==, 3 ); @@ -48,6 +55,9 @@ MPL_TEST_CASE() typedef vector_c v1; typedef vector_c v2; + MPL_ASSERT(( is_same< v1::value_type, unsigned > )); + MPL_ASSERT(( is_same< v2::value_type, unsigned > )); + MPL_ASSERT_RELATION( size::type::value, ==, 1 ); MPL_ASSERT_RELATION( size::type::value, ==, 2 );