From e2701e69d6ab08493dc5ca4fd1108d180438146a Mon Sep 17 00:00:00 2001 From: Michele Sollecito Date: Wed, 13 Jun 2018 09:43:16 +0100 Subject: [PATCH 1/3] [CORDA-1612]: Fix truncated code snippets in docs PDF (#3347) --- docs/Makefile | 18 ++-- docs/make-docsite.sh | 7 +- docs/source/changelog.rst | 10 +- docs/source/conf.py | 117 +++++++++++----------- docs/source/index.rst | 38 +++---- docs/source/key-concepts-consensus.rst | 13 ++- docs/source/key-concepts-contracts.rst | 13 ++- docs/source/key-concepts-flows.rst | 29 ++++-- docs/source/key-concepts-ledger.rst | 13 ++- docs/source/key-concepts-node.rst | 15 +-- docs/source/key-concepts-notaries.rst | 13 ++- docs/source/key-concepts-oracles.rst | 13 ++- docs/source/key-concepts-states.rst | 13 ++- docs/source/key-concepts-time-windows.rst | 29 ++++-- docs/source/key-concepts-transactions.rst | 13 ++- docs/source/resources/flow.png | Bin 0 -> 137342 bytes docs/source/resources/time-window.png | Bin 0 -> 74142 bytes 17 files changed, 204 insertions(+), 150 deletions(-) create mode 100644 docs/source/resources/flow.png create mode 100644 docs/source/resources/time-window.png diff --git a/docs/Makefile b/docs/Makefile index e74f6866f9..d2e589c55e 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -16,6 +16,8 @@ endif PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +HTMLSPHINXOPTS = $(ALLSPHINXOPTS) -t htmlmode +PDFSPHINXOPTS = $(ALLSPHINXOPTS) -t pdfmode # the i18n builder cannot share the environment and doctrees with the others I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source @@ -52,17 +54,17 @@ clean: rm -rf $(BUILDDIR)/* html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + $(SPHINXBUILD) -b html $(HTMLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + $(SPHINXBUILD) -b dirhtml $(HTMLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + $(SPHINXBUILD) -b singlehtml $(HTMLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." @@ -77,7 +79,7 @@ json: @echo "Build finished; now you can process the JSON files." htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + $(SPHINXBUILD) -b htmlhelp $(HTMLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." @@ -114,20 +116,20 @@ epub: @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + $(SPHINXBUILD) -b latex $(PDFSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + $(SPHINXBUILD) -b latex $(PDFSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." $(MAKE) -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + $(SPHINXBUILD) -b latex $(PDFSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through platex and dvipdfmx..." $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." @@ -192,4 +194,4 @@ pseudoxml: @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." pdf: - $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) $(BUILDDIR)/pdf + $(SPHINXBUILD) -b pdf $(PDFSPHINXOPTS) $(BUILDDIR)/pdf diff --git a/docs/make-docsite.sh b/docs/make-docsite.sh index 1030bd766a..5c43e44e61 100755 --- a/docs/make-docsite.sh +++ b/docs/make-docsite.sh @@ -13,11 +13,10 @@ fi # TODO: The PDF rendering is pretty ugly and can be improved a lot. echo "Generating PDF document ..." -make pdf +make latexpdf echo "Generating HTML pages ..." make html -echo "Moving PDF file into place ..." -mv $PWD/build/pdf/corda-developer-site.pdf $PWD/build/html/_static/corda-developer-site.pdf - +echo "Moving PDF file from $(eval echo $PWD/build/pdf/corda-developer-site.pdf) to $(eval echo $PWD/build/html/_static/corda-developer-site.pdf)" +mv $PWD/build/latex/corda-developer-site.pdf $PWD/build/html/_static/corda-developer-site.pdf \ No newline at end of file diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst index 9c28dff7ea..1dcf850d87 100644 --- a/docs/source/changelog.rst +++ b/docs/source/changelog.rst @@ -7,6 +7,8 @@ release, see :doc:`upgrade-notes`. Unreleased ========== +* Improved documentation PDF quality. Building the documentation now requires ``LaTex`` to be installed on the OS. + * Add ``devModeOptions.allowCompatibilityZone`` to re-enable the use of a compatibility zone and ``devMode`` * Fixed an issue where ``trackBy`` was returning ``ContractStates`` from a transaction that were not being tracked. The @@ -153,7 +155,7 @@ Version 3.1 * Update the fast-classpath-scanner dependent library version from 2.0.21 to 2.12.3 .. note:: Whilst this is not the latest version of this library, that being 2.18.1 at time of writing, versions -later than 2.12.3 (including 2.12.4) exhibit a different issue. + later than 2.12.3 (including 2.12.4) exhibit a different issue. * Updated the api scanner gradle plugin to work the same way as the version in master. These changes make the api scanner more accurate and fix a couple of bugs, and change the format of the api-current.txt file slightly. Backporting these changes @@ -971,15 +973,15 @@ Special thank you to `Qian Hong `_, `Marek Skocovsk to Corda in M10. .. warning:: Due to incompatibility between older version of IntelliJ and gradle 3.4, you will need to upgrade Intellij -to 2017.1 (with kotlin-plugin v1.1.1) in order to run Corda demos in IntelliJ. You can download the latest IntelliJ + to 2017.1 (with kotlin-plugin v1.1.1) in order to run Corda demos in IntelliJ. You can download the latest IntelliJ from `JetBrains `_. .. warning:: The Kapt-generated models are no longer included in our codebase. If you experience ``unresolved references`` -errors when building in IntelliJ, please rebuild the schema model by running ``gradlew kaptKotlin`` in Windows or + errors when building in IntelliJ, please rebuild the schema model by running ``gradlew kaptKotlin`` in Windows or ``./gradlew kaptKotlin`` in other systems. Alternatively, perform a full gradle build or install. .. note:: Kapt is used to generate schema model and entity code (from annotations in the codebase) using the Kotlin Annotation -processor. + processor. * Corda DemoBench: * DemoBench is a new tool to make it easy to configure and launch local Corda nodes. A very useful tool to demonstrate diff --git a/docs/source/conf.py b/docs/source/conf.py index 5763aeb512..38cee0e3af 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -14,16 +14,15 @@ import sphinx_rtd_theme - # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +# sys.path.insert(0, os.path.abspath('.')) # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # m2r is a Markdown to RST converter, as our design docs use Markdown. extensions = ['rst2pdf.pdfbuilder', 'm2r'] @@ -33,6 +32,7 @@ pdf_documents = [('index', u'corda-developer-site', u'Corda Developer Documentat pdf_stylesheets = ['sphinx', 'kerning', 'a4', 'murphy', 'tenpoint'] pdf_compressed = True pdf_fit_mode = "shrink" +pdf_fit_background_mode = "shrink" # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -72,28 +72,30 @@ language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. exclude_patterns = [] +if tags.has('pdfmode'): + exclude_patterns = ['./design'] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' @@ -101,15 +103,14 @@ pygments_style = 'sphinx' highlight_language = 'kotlin' # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False - # -- Options for HTML output ---------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for @@ -125,21 +126,21 @@ html_add_permalinks = True # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 @@ -156,103 +157,101 @@ html_style = 'css/custom.css' # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' +# html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} +# html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' +# html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = 'R3doc' # -- Options for LaTeX output --------------------------------------------- -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', - -# Latex figure (float) alignment -#'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'R3Prototyping.tex', u'R3 Prototyping Documentation', - u'R3 CEV', 'manual'), -] +latex_documents = [('index', u'corda-developer-site.tex', u'Corda Developer Documentation', u'R3', 'manual', False)] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # 'preamble': '', + + # Latex figure (float) alignment + # 'figure_align': 'htbp', + + 'maxlistdepth': 2000, + + 'extraclassoptions': 'openany', +} diff --git a/docs/source/index.rst b/docs/source/index.rst index 1ca43ae6d3..734d53b5a9 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -53,24 +53,26 @@ We look forward to seeing what you can do with Corda! aws-vm.rst loadtesting.rst -.. toctree:: - :caption: Design docs - :maxdepth: 2 +.. only:: htmlmode - design/design-review-process.md - design/certificate-hierarchies/design.md - design/failure-detection-master-election/design.md - design/float/design.md - design/hadr/design.md - design/kafka-notary/design.md - design/monitoring-management/design.md - design/sgx-integration/design.md + .. toctree:: + :caption: Design docs + :maxdepth: 2 -.. toctree:: - :caption: Participate - :maxdepth: 2 + design/design-review-process.md + design/certificate-hierarchies/design.md + design/failure-detection-master-election/design.md + design/float/design.md + design/hadr/design.md + design/kafka-notary/design.md + design/monitoring-management/design.md + design/sgx-integration/design.md - release-process-index.rst - corda-repo-layout.rst - deterministic-modules.rst - building-the-docs.rst + .. toctree:: + :caption: Participate + :maxdepth: 2 + + release-process-index.rst + corda-repo-layout.rst + deterministic-modules.rst + building-the-docs.rst \ No newline at end of file diff --git a/docs/source/key-concepts-consensus.rst b/docs/source/key-concepts-consensus.rst index d679dc1f45..a1a5b906ef 100644 --- a/docs/source/key-concepts-consensus.rst +++ b/docs/source/key-concepts-consensus.rst @@ -7,12 +7,15 @@ Consensus * *Validity consensus requires contractual validity of the transaction and all its dependencies* * *Uniqueness consensus prevents double-spends* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Two types of consensus ---------------------- diff --git a/docs/source/key-concepts-contracts.rst b/docs/source/key-concepts-contracts.rst index c430ea1123..77e79fcd0f 100644 --- a/docs/source/key-concepts-contracts.rst +++ b/docs/source/key-concepts-contracts.rst @@ -7,12 +7,15 @@ Contracts * *Contracts are written in a JVM programming language (e.g. Java or Kotlin)* * *Contract execution is deterministic and its acceptance of a transaction is based on the transaction's contents alone* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Transaction verification ------------------------ diff --git a/docs/source/key-concepts-flows.rst b/docs/source/key-concepts-flows.rst index 982d646214..b50be364a6 100644 --- a/docs/source/key-concepts-flows.rst +++ b/docs/source/key-concepts-flows.rst @@ -7,12 +7,15 @@ Flows * *Communication between nodes only occurs in the context of these flows, and is point-to-point* * *Built-in flows are provided to automate common tasks* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Motivation ---------- @@ -22,9 +25,19 @@ what order. Here is a visualisation of the process of agreeing a simple ledger update between Alice and Bob: -.. image:: resources/flow.gif - :scale: 25% - :align: center +.. only:: htmlmode + + .. image:: resources/flow.gif + :scale: 25% + :align: center + + +.. only:: pdfmode + + .. image:: resources/flow.png + :scale: 25% + :align: center + The flow framework ------------------ diff --git a/docs/source/key-concepts-ledger.rst b/docs/source/key-concepts-ledger.rst index 8741c8da82..70e24da11a 100644 --- a/docs/source/key-concepts-ledger.rst +++ b/docs/source/key-concepts-ledger.rst @@ -6,12 +6,15 @@ The ledger * *The ledger is subjective from each peer's perspective* * *Two peers are always guaranteed to see the exact same version of any on-ledger facts they share* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Overview -------- diff --git a/docs/source/key-concepts-node.rst b/docs/source/key-concepts-node.rst index 40844258e2..7e479060cb 100644 --- a/docs/source/key-concepts-node.rst +++ b/docs/source/key-concepts-node.rst @@ -11,13 +11,16 @@ Nodes * *The node's functionality is extended by installing CorDapps in the plugin registry* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + +

Corda Node, CorDapps and Network

+ +

-

Corda Node, CorDapps and Network

- -

Node architecture ----------------- diff --git a/docs/source/key-concepts-notaries.rst b/docs/source/key-concepts-notaries.rst index 6866382ae2..b3ac509bce 100644 --- a/docs/source/key-concepts-notaries.rst +++ b/docs/source/key-concepts-notaries.rst @@ -7,12 +7,15 @@ Notaries * *Notary clusters may optionally also validate transactions* * *A network can have several notary clusters, each running a different consensus algorithm* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Overview -------- diff --git a/docs/source/key-concepts-oracles.rst b/docs/source/key-concepts-oracles.rst index b5091800c9..24b51b7c27 100644 --- a/docs/source/key-concepts-oracles.rst +++ b/docs/source/key-concepts-oracles.rst @@ -6,12 +6,15 @@ Oracles * *A fact can be included in a transaction as part of a command* * *An oracle is a service that will only sign the transaction if the included fact is true* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Overview -------- diff --git a/docs/source/key-concepts-states.rst b/docs/source/key-concepts-states.rst index f4bf72be94..05c0b2928e 100644 --- a/docs/source/key-concepts-states.rst +++ b/docs/source/key-concepts-states.rst @@ -7,12 +7,15 @@ States * *States are evolved by marking the current state as historic and creating an updated state* * *Each node has a vault where it stores any relevant states to itself* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Overview -------- diff --git a/docs/source/key-concepts-time-windows.rst b/docs/source/key-concepts-time-windows.rst index c6002fa710..b28be1d45a 100644 --- a/docs/source/key-concepts-time-windows.rst +++ b/docs/source/key-concepts-time-windows.rst @@ -7,12 +7,15 @@ Time-windows * *The notary is the timestamping authority, refusing to commit transactions outside of that window* * *Time-windows can have a start and end time, or be open at either end* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Time in a distributed system ---------------------------- @@ -38,9 +41,19 @@ For this reason, times in transactions are specified as time *windows*, not abso there can never be "true time", only an approximation of it. Time windows can be open-ended (i.e. specify only one of "before" and "after") or they can be fully bounded. -.. image:: resources/time-window.gif - :scale: 25% - :align: center +.. only:: htmlmode + + .. image:: resources/time-window.gif + :scale: 25% + :align: center + + +.. only:: pdfmode + + .. image:: resources/time-window.png + :scale: 25% + :align: center + In this way, we express the idea that the *true value* of the fact "the current time" is actually unknowable. Even when both a before and an after time are included, the transaction could have occurred at any point within that time-window. diff --git a/docs/source/key-concepts-transactions.rst b/docs/source/key-concepts-transactions.rst index ff38a8b12b..6521ef2898 100644 --- a/docs/source/key-concepts-transactions.rst +++ b/docs/source/key-concepts-transactions.rst @@ -10,12 +10,15 @@ Transactions * *It is contractually valid* * *It is signed by the required parties* -Video ------ -.. raw:: html +.. only:: htmlmode + + Video + ----- + .. raw:: html + + +

- -

Overview -------- diff --git a/docs/source/resources/flow.png b/docs/source/resources/flow.png new file mode 100644 index 0000000000000000000000000000000000000000..76766dddde1565c79889d735742b085cd7547dbd GIT binary patch literal 137342 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 literal 0 HcmV?d00001 diff --git a/docs/source/resources/time-window.png b/docs/source/resources/time-window.png new file mode 100644 index 0000000000000000000000000000000000000000..ba23e2d80bd0adfa296bac69347d0698344ddf61 GIT binary patch literal 74142 zcmeGEXH=AT_cjcZ7$u1c!2&8xQ9wl?NR_GqMN}YyigX2O4n=w|(JRu6q99!XL8OWF zHbkWde{AYc|Pb`*Oh@8&NF9C52O$ zoTA6OPW|-P$zOhWrR?Kb!@6}|YTxr+0ba(j5$)f>AASAzqmvcm#%uVm1h*Gn`0Kyp zKQwH-q@z1|mu}xbKUM#7a??LQ?fu^LpC9(i({2CfryD;${^#qwwtXk^&s!k}zJ1xZ zVf?m0=)UbUy8p`vGDVr7{43bdDN26}OWy+SxBc{gyPv*gxBXa(T26g;y8Fj- zhKYC2X9<1S>>DyX?=7dM`u*FPf!}OC&qls|G&#Q*JGm%*tL{1vF;10^?(FvO{>{RP z{_t<&t@)RKb8Tw!|K{?({o%L4`L=TY;ibRrj&GskUsA`n@c1n}ehZJ^!sEsW?En85 zvN~9nzIFZH9y=e`Ci=DMtj=BwzMV;p%Gb85ZrVx@Z+htl)2%D7C*N7bI=GsbxG$0J zTo@u#9Y#LqZ!Tsz)atnQiZP*I)uSZzIV!teVccJ3+!uV+H;4=}p27>NdTPr5N@I(Qr3eLOpmYyVaJ&GEXxL$)urH}3`s8{QKA z>8nta*wrd{kodm7Uf_q)1eFi?X2_23zv|A#UP0POnLX-y zOK1J?@?KYXHr{d&6)jBft)+5(55M1Ex?;CJGW#jh(_F_R##@b#>u1u&mtYdn1LaWf+q++8t@v^?I=LD++JheWSBo^LNZL|NQc7VaeE7*X`QP zt~q)_c-@9~8&@GJACK^9*i8HUmmU9H}wPTIlXL>2N%vda@)pJr(cLi>JnljN?tG)ltRi*>%&^ zkw#^yl{{ZBiOPlBoF?%1unVE$CF#hlB@Xp4kr#p)9g_lVCOQZ7! zD<2d&DYq=-Gf%mGf*>11GD77Hns{+% zSdMlHM~|1A;YG-uBKF7h3~YPCb!?PM?JFuOgv{Gs#9U?;i6HFRzj|C$RNv97huOvQ z@X9v)yJD}E%5Z#Zf{sKjZYy6&23h#c`$Um%7_kAPnD$%qR@}g$6Gv6wKFxO>U&%>U75N_k5 zj!xG=|C4n1JW-d};XdD1n(mK(;>GhWiyL3SKZ+Vp=xk&6eA_{|(e$gdJIvwO*ceu! zRL%zzA;X?KagBwjtUoclvJuty*!$s$ymmOgK_~U+#&*f~eN2l=N5XqsadhY!UW|>6 zIjt=Y8&>%3o?2U;tm?=mBoIg$S(C)&N}(#YomCvJ<^!UiG}<&ST`E5>Sh|bvN}3O& z+{&+O)8SGykLAhSCQi+ zNAK!{V}j#kkI;?k5Q*vPgHc~N%;cUwf8N(_5*H}9I;wi{$`xk#^1#yh9;vxbt1^j? zUYq*8tlwk1Y?)HmUukKl%D7N}SCJ8c}7zo)TWKgb> zYT_Cupu5j=;SJ{wQ3u!@F0*61OI>FDUfrRudUi1({_*3-%4GA&bLY?Z*NXQBJUt&? z`R*ZKf?-wAhkUEvJ)$?8Rh;WY6_u5hk7>RNta%;7(O(AwPeAZS(p`_es|*t_9+Y zVMmVH)OdFN86_p91oHAMnZ+d9`i#!4SDS@yef;Z6N=nB4`}YgT8N~)`D~nk-Tb`dG zu`n}NLNs9?j&ammA(yQYRE9ftXAWAyI`XR#C_cvFGV+8%^ngKBq^_;@zpN4Pe;dl1 zpUSA2rc-#_V>VU40wyf)&9JBL>hgRrJ`|5iblXi58D_0-D9S1bXON!Ltzl$ob-q`w z4whWO$J<-;T=nCuEB8)y5HeeWtjbpBBnBU-@9Po{tdEU(`X))4X|t=sB`fCJ7)P&> zXghC#Ia0{*3=h{1ePxLIm#s2kzP1EMNZQ{tSS_&bA8R2M+77!ci+vGw`7-hzhG?Jk zq*1tT*pb7BtIc}j~ZG3 zsCw$usRYm7!U-9t&mWoF1w-H7@R%>|5Psxd_ z$+j%Ron+&>==Onqe0+Su7*6ZvhsDdz1njxzyiCc@mL1M;;l3lK}}}!=FJf) z>dD4=mfewUj^#c~zO>kzkefK#o}GO;Q1ZZxSujV0>U_^KnJP9t+wwZRv*-qHBh#02 zO^uiny`E)c1kKb*31$?HJ#QokDfI<+!WFHVRviFM{-kX`ur2-bG?oZ0g`jIt6R z{wyjglAI{$4`Oa#Zq>F5^zj+239q`nd8^iq`l6T$RVhl&;bX_l@0B{<_z-_u2xi4; zEG5}SHV^&`@2g;Cx<)%O>>-~<ny>=={)Nw132YmlTBKu2W$Fauljj&dK9$V zi=BqprDNZ6*?MKFidT|Lyyf+uTN9o=I}A&GPn4L&%~rjdaKT`CMi~)H;^NR2sUzZv zaC4RbJ`Nu}>IZiwmKu9EC)q?bs&N%_vX|8#D|rGq)LvyL$Z6SQoAUv2^p7M22W?`I z*v}yS`LBgOe?fzm=a;9ZYXqy{c6JhKYHAEu7N)Y?7N^@_kh!=J&j`Ufb|KJj+w;pC zZ^mHH1#eFukJY6LOcSumW1WX0u9mvk8(2U@h=w1g#!@rIM%}yZnv{j?$C@d`)>7B` zJ-=Q%xeY=ZgXG9#iO+v+GKBR*%L>|7rMm@7zo?adya}jE$7S?smSuNQ!Kb^dk(bnM zFGNcSF^PD7ensDZm(|h-RzJ^VA$;4VsdavkWTyoT#hw{V<_^jg5`vvKXWX z;KQ)LB6VtD`1=Ed>wLDeikZ*PK9TpXY^M`ZMrIIf>qB~Q(@wCV z5|WaV99Cf*aoUDzqgdd9lrzXt9PVE}6nuWYHGlaJ?~;-di7yTE{SfB^dP-dtF$-kZ z%leBFTFYH0OIcva`w0>kxUAoY@oV=b%dMKFX=d|G6i*VXYX}AOm9S&uZ0k`>evBrRts{$6lOIHn-2OPLP^H=Dv(8 z1-eoFu?+CqMIbXbN=s)d49qLTB$b%Rt8$iI1@8mJdmcUF zgJ`G&yFTLGyLappGXtTj#*ib`Cs%gzTzIA{3?aCjuxZP-YFNsfq`GX$t?3c%*(N5i z%*hlffXvZUH_O7oFqdTog(Q=Du=Qq}h`X%7%m~{Ky??unL)xi$xeHMH2~x9;cD`lp zm&snai&e12n$u*+dOHC*MC|6fB0{MDX(!L2IW_*x&@DPNH_~0~Xbg}pBFnIfX9#XSLOn3sxb__^NK$In`EY@V)J&q}3@m98rxlF* z*(UXMfT664=PO4(BnZR(TigoPrD%BoN*G&puaA@SEGCFs^+ZRAn5ppy3T8U20^Spb zwPAiGz3?h5e}}kSxUITfEG#B4z%M&YU`a)supPPq86vBjaDAlVNd)BR=$o$7Z+Y`w z-IV3kJiqBTG!+UI2UT^et2hr*t4z}^ z7E_TNP3%y~(k-&{g_TytNnNPgBW8Z}P8IX6UFGGzJNvV$IL_N~WWePBZc7YnUCGed zI~;ARQkwDZ&X(0E&0T8kR#SK;q1SVten5WrUrXS)T zNjuw^x4+~Tl7mrqnk=0+0AMydQC1{rKX%DgP}hC7WmYdv+)A%>IWq&7#o$AY9sLk( z?Y+B`VR0G^y^oms(xi$Jh!(HvVpwAU=h&ndw&j?q_rAvPoEtaG@3v71YmK?R{pSu4>5YZ zl=P^L6t%9{t#N4RXL#J65@#XTxp9~8N-GBj2P+&4| zH$2ydJ&kwYq9#G5Es&%f74`_qZ;}B33eCwWEEbe_V=f6sOGA9S3Sep*o5Zilkz7Ou zYa%2EA&-@XjzU22`}N?jqUZg5u9kVYM?@5_ux^Su!&0FCLt-cix-)aV;rW6(W*yH3w^ z+=Ft^35tt&sFF^wi@Pm+h9zKbVA-0cc~MhyFB8+jGXXxZ)WwHg@b30V+L;<)EmAYq z#<}v5e)hL#;(#X@inELffV8GwZxuZBTLZx2DJ$xnRc(j3#-D%wX$?_|cgPYlG!Mmo zzT45tkqCG0m7an%ksR|Yn*=?oGFxbd_g+ISbP4JQ= z)NBhBE6>ifTLeJp(hDE&2*G6WOlH->_BEUxYw<0_Q2;oSz2^0LE*j#)RD(Pt_uR9T z6kp^M#4I{;-t;>>B`m^5ezxlIm)Cciaacfq$R&`v{0Z@$mc{(BE@LU>I@Z?K?_*`8 zKKK@-Kq<-!N#B5CMLzY2VsLWY?Qd#?yEECplFQ^#6zvy1IjVx>^h@~!D3uF{e6d6xm%#WIn zTl4n^fqRNOp0o{(HK(YrERo7AZIXwu=<(s#&T9^ma-3ibmYKWi zZ@1b#1laf)OJnQ_TjM*rj~yQp3axsHxxL}x;iRom`Sig3+K=~e|xjy+R& zmj4vz0TXg`a3`d*QrCV6rM`gN^Dmj@VgXfN07KkUNbcC3F<3ta<&w+fZ9sW5|ZH6M-=I zIhT}vs$zH4DHUj_mzmeOQ#JlGX&Tl*)QF_6mexM%7gg#m$cVLL(diVxH zF><`|TN}cphqRt=VXKRSqJj=&T>d-_ZCTfjmvS*dbkfel$65;?}CTRGww(6W93(tU#HmTEz|)Y<3N&d}m6h-|^MDloh@MoHtW1 zCnprH9Nr20%n7RHowl9d7jL3x2)LMVhFh-~N)y)Z?B~yq#sb+}uA_dtNV#PP>9ZK% zGNk}u@Vh@QCC7P43QYiP4J{HeA!98z(Oo=jccGhZ8s<0wb`QVimEXDv&$3(%H44I9 zzl<P4EC8(Y0X6U5^+BSsaA0qDflAY{qcE@VOCyak%T+);yFQ>nq(?|Wp73)OY7igoZD1Nu$)Et+@k$6#WKzk~X#3H|r>EbP z*x#9t61TFvwW`SJ{$LN|-s6X+r?oPv@_KrDu=|X<51ioY17xHcpdC+km4{kxCm;s` z#Riy{MOI$H5P`q!NPX%KOti0c z_bn&w=dO&~Ib};O*OP!!+5=ovEBh8tUc86Yf z-pjOBOnz0Gq~zsrEwgm)<~?_ZPK*5V0+?z3msZ{TM^VC#Fr#cQ9mu9km}H@JeBF}0zuWQo3`|h z-)Ccz8jtT$gX)-Raq+GG_XR-boC)rP=fo@=gsq-DkufSRe=3E_7loI{8G%QCw zA=I@D6(%=v&Su*|3g#aqcM7a}i zWWE9==@zhsy3B^(ov8|9*Is2Sbo+IGya#W4(L8}L0`#jJV9eZpz{xK^7$PPF+!PE| zLpf|v7D$Dv@uAC*dTG2ryj2A}f#bQV{-Og5MfEj#m&A|ts&T%5I~c9}p(hr~X;hlYf#6H{bT+x;$m!#Ty3y^8$s5 zm&dBFkTP_U+NW){%7DmBqnIOA~VX?n`jH}?zg-XY&zEo(njkZZnm#yAyL9e|ySQW>4w z3!bLym&r1D1o^Z9PRo{b&?pL%vLD+eY*H71)vrMD_{;J&CMHg|&!<*qo|a=XWu z^FB?p4O>^a8yM^;9l4k1x&iWO8TH9o88KKD7Q03KU8usc|L%f{`3( zB@QDW3`^2*p!!}e0gE?@p@sh7;6FCePu!{pIil))gfKy>Dnl#x=o)Akd{{+vh?Xr> z2=1tgzV-U2EU3RkmRASjpUU4Ubf`>c?O6e;RqI70MH|Rb6*9SpHJ!b&r)LdRt#@N> zx>H&lBBsBW00k=q1bo3zBq2UAF>x*zB&#YEOCanMT3nMS?6tJCI&KcXYk{y6vnRjG z)zr0Psl6$7Tu(Q~oqps;U7CmWY;Ko_;z0x1;QE7EL?B)|86;@*S3|@2RXheV)vptgG zm6>I0F3ru&ITuBxdI87mLo$uMK1M2EY(U(7>5IbrIFb%NOb7RM&j9%xR8ms5de{oE zQSPg0*NH-2*yA_#rGUDOfA;KI`{Y55MSix#n%u4ApLnA~_JlupQ2v_&cgcnq0C?}# z``p~9J%tJC$2JMsPX;0pHRVWZ^jPlf<*9@KenX{d@*T+rHp+_J+=Lv^XFaS`le^b{ zP;(w)-7fLdS&^Y*GCv$1Ni(>-f7f}Z-!ENYQo11YtNM&au!8Ts!OY*cZBLjv>nEqy z6!MGof!~z2sy{gVbKm}uO@`7Y-^&R98kAk;>GY^;+w0hfQj4Ta=%5%(<0>lgL)IiVa-9*YASNtmzR0*f!e?}~&X@e2MCT9S_$QOfb z^TGanvTePLxY_n*63N6aMyvud4hP^CC3m@{55dPBh!@gV=hEI3PbQTt+YSt#&Uuxu zfUD?a(T_9-O~@4x?*knoW1u`bQ#T7}uN*)yf;=Ip){(duwuwywktg+j2cyiF-=Rj4 zQ94C|LcD4-i%!UNG)d3ZLTwqoH3$KWlGHN*Y{CL1pI;kaiCLcO-3%Fa&HjwTOgexE zz)LxAtAJP$@AyDl^ujOYm&V((Lx&(F5u)u|HI-wBZ|T=yIfJNw*2sp`54zzQ!be~S zYy23kkx619e*QC&$Q$d#)#E}=&xs>IHA164DKm{fIM9;){;G9

4hCQfvPGj?^pZ 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 literal 0 HcmV?d00001 From 4bf5d809a5d11f2933ffdae0430c3e772a7c8642 Mon Sep 17 00:00:00 2001 From: Matthew Nesbit Date: Wed, 13 Jun 2018 10:32:29 +0100 Subject: [PATCH 2/3] If the Artemis connectionTTL configuration is not set then some of the cleanup actions do not happen on client kill. This prevents durable messages being replayed (#3351) and may prevent cleanup of other resources. Undo spurious code --- .../internal/ArtemisMessagingClient.kt | 4 ++-- .../messaging/InternalRPCMessagingClient.kt | 2 +- .../services/messaging/P2PMessagingClient.kt | 22 +++++-------------- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt b/node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt index 544f19ef30..cd0fdf555d 100644 --- a/node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt +++ b/node-api/src/main/kotlin/net/corda/nodeapi/internal/ArtemisMessagingClient.kt @@ -38,7 +38,7 @@ class ArtemisMessagingClient(private val config: SSLConfiguration, val locator = ActiveMQClient.createServerLocatorWithoutHA(tcpTransport).apply { // Never time out on our loopback Artemis connections. If we switch back to using the InVM transport this // would be the default and the two lines below can be deleted. - connectionTTL = -1 + connectionTTL = 60000 clientFailureCheckPeriod = -1 minLargeMessageSize = maxMessageSize isUseGlobalPools = nodeSerializationEnv != null @@ -49,7 +49,7 @@ class ArtemisMessagingClient(private val config: SSLConfiguration, // using our TLS certificate. // Note that the acknowledgement of messages is not flushed to the Artermis journal until the default buffer // size of 1MB is acknowledged. - val session = sessionFactory!!.createSession(NODE_P2P_USER, NODE_P2P_USER, false, true, true, locator.isPreAcknowledge, DEFAULT_ACK_BATCH_SIZE) + val session = sessionFactory!!.createSession(NODE_P2P_USER, NODE_P2P_USER, false, true, true, false, DEFAULT_ACK_BATCH_SIZE) session.start() // Create a general purpose producer. val producer = session.createProducer() diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/InternalRPCMessagingClient.kt b/node/src/main/kotlin/net/corda/node/services/messaging/InternalRPCMessagingClient.kt index dee6037413..b8d4001a5d 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/InternalRPCMessagingClient.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/InternalRPCMessagingClient.kt @@ -26,7 +26,7 @@ class InternalRPCMessagingClient(val sslConfig: SSLConfiguration, val serverAddr locator = ActiveMQClient.createServerLocatorWithoutHA(tcpTransport).apply { // Never time out on our loopback Artemis connections. If we switch back to using the InVM transport this // would be the default and the two lines below can be deleted. - connectionTTL = -1 + connectionTTL = 60000 clientFailureCheckPeriod = -1 minLargeMessageSize = maxMessageSize isUseGlobalPools = nodeSerializationEnv != null diff --git a/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt b/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt index d10ab3ef7f..435eca5ad0 100644 --- a/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt +++ b/node/src/main/kotlin/net/corda/node/services/messaging/P2PMessagingClient.kt @@ -15,11 +15,7 @@ import net.corda.core.serialization.SingletonSerializeAsToken import net.corda.core.serialization.deserialize import net.corda.core.serialization.internal.nodeSerializationEnv import net.corda.core.serialization.serialize -import net.corda.core.utilities.ByteSequence -import net.corda.core.utilities.NetworkHostAndPort -import net.corda.core.utilities.OpaqueBytes -import net.corda.core.utilities.contextLogger -import net.corda.core.utilities.trace +import net.corda.core.utilities.* import net.corda.node.VersionInfo import net.corda.node.internal.LifecycleSupport import net.corda.node.internal.artemis.ReactiveArtemisConsumer @@ -32,15 +28,12 @@ import net.corda.node.services.statemachine.SenderDeduplicationId import net.corda.node.utilities.AffinityExecutor import net.corda.nodeapi.ArtemisTcpTransport.Companion.p2pConnectorTcpTransport import net.corda.nodeapi.internal.ArtemisMessagingComponent -import net.corda.nodeapi.internal.ArtemisMessagingComponent.ArtemisAddress +import net.corda.nodeapi.internal.ArtemisMessagingComponent.* import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.BRIDGE_CONTROL import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.BRIDGE_NOTIFY import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.JOURNAL_HEADER_SIZE import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.P2PMessagingHeaders import net.corda.nodeapi.internal.ArtemisMessagingComponent.Companion.PEERS_PREFIX -import net.corda.nodeapi.internal.ArtemisMessagingComponent.NodeAddress -import net.corda.nodeapi.internal.ArtemisMessagingComponent.RemoteInboxAddress -import net.corda.nodeapi.internal.ArtemisMessagingComponent.ServiceAddress import net.corda.nodeapi.internal.bridging.BridgeControl import net.corda.nodeapi.internal.bridging.BridgeEntry import net.corda.nodeapi.internal.persistence.CordaPersistence @@ -50,12 +43,7 @@ import org.apache.activemq.artemis.api.core.Message.HDR_DUPLICATE_DETECTION_ID import org.apache.activemq.artemis.api.core.Message.HDR_VALIDATED_USER import org.apache.activemq.artemis.api.core.RoutingType import org.apache.activemq.artemis.api.core.SimpleString -import org.apache.activemq.artemis.api.core.client.ActiveMQClient -import org.apache.activemq.artemis.api.core.client.ClientConsumer -import org.apache.activemq.artemis.api.core.client.ClientMessage -import org.apache.activemq.artemis.api.core.client.ClientProducer -import org.apache.activemq.artemis.api.core.client.ClientSession -import org.apache.activemq.artemis.api.core.client.ServerLocator +import org.apache.activemq.artemis.api.core.client.* import rx.Observable import rx.Subscription import rx.subjects.PublishSubject @@ -153,7 +141,7 @@ class P2PMessagingClient(val config: NodeConfiguration, locator = ActiveMQClient.createServerLocatorWithoutHA(tcpTransport).apply { // Never time out on our loopback Artemis connections. If we switch back to using the InVM transport this // would be the default and the two lines below can be deleted. - connectionTTL = -1 + connectionTTL = 60000 clientFailureCheckPeriod = -1 minLargeMessageSize = maxMessageSize + JOURNAL_HEADER_SIZE isUseGlobalPools = nodeSerializationEnv != null @@ -163,7 +151,7 @@ class P2PMessagingClient(val config: NodeConfiguration, // using our TLS certificate. // Note that the acknowledgement of messages is not flushed to the Artermis journal until the default buffer // size of 1MB is acknowledged. - val createNewSession = { sessionFactory!!.createSession(ArtemisMessagingComponent.NODE_P2P_USER, ArtemisMessagingComponent.NODE_P2P_USER, false, true, true, locator!!.isPreAcknowledge, ActiveMQClient.DEFAULT_ACK_BATCH_SIZE) } + val createNewSession = { sessionFactory!!.createSession(ArtemisMessagingComponent.NODE_P2P_USER, ArtemisMessagingComponent.NODE_P2P_USER, false, true, true, false, ActiveMQClient.DEFAULT_ACK_BATCH_SIZE) } producerSession = createNewSession() bridgeSession = createNewSession() From d97f4f58be16edc02f9913e4906e30378c5b82d0 Mon Sep 17 00:00:00 2001 From: Michal Kit Date: Wed, 13 Jun 2018 12:01:15 +0100 Subject: [PATCH 3/3] CORDA-1624 updating the DEV certificate with CRL distribution point (#3353) * CORDA-1624 updating DEV certificates with CRL distribution points implying R3 owned endpoints * Keeping old keys but updating certificates --- .../resources/certificates/cordadevcakeys.jks | Bin 2274 -> 2447 bytes .../certificates/cordatruststore.jks | Bin 631 -> 665 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/node-api/src/main/resources/certificates/cordadevcakeys.jks b/node-api/src/main/resources/certificates/cordadevcakeys.jks index 3dc11f1fc59841b78a2c1052d03c3e0ffe7966d0..ec72cb50819cfa663ea66e74a020dd1d48cdbc1b 100644 GIT binary patch delta 1037 zcmaDP*e^UmgEjd_Et|wdU8#C*=FT6hd;@PVZ^#i*kDJQ$B7MHaZ=s=g)Ij3kM%*TDtKN&%BbOjJt2PUrl-Sm#5^i z*OF7)9QHr@|77($54NX!wU`*fyhAr{uU+`(3?rvK-^rJHC+02<(&W-!5qCr)b*lEJ z5ao(0i~TiKbILDUG**50R(G|WHCz4jkFDR#8f#_wnv6ZdH808&_ms?RSi#4@ z8lh)uV9CJ16bcNEK!Ya6x6mM|xO;tN@ivJSxPnB0e~5 z#vT^FO1pP`)>Pu$+1++}P1pTZJ=|jd7#J8B8Mu@4i&7Fn;gXyPkm*`eE%~g zW8$Cnylso>TX*l=G{)TUY&&|~AM&a^_C#^?<-p`^z^Xs9AG-`!Le*c%2Khv zPTUv%{Iq-!qQ-UK;mcf=1E1Xjk0s4CkM7dma%r~oE`#-fb3)qUb@jtMH68D`Og+=) zJLmSMo)@<}Uw1T~leL}cBz*bX-N_YfN)ogW`8eu@{JS`_v{IRl#wpRpQzn*8SGd0N Gq5}ZRgrH~u delta 922 zcmeAdek3?SgEi6JW9q!g_H0u1({2g>jc<%vcJgrb1-r|7D?I$!4xF3tOFP8DXWFE> zp0bG>J^nwPH}lj|&3!d1|FG(aCz z-u5p4_{(S2^gZvq-6rguVwoYeY*Rnaj&Q+W^>07te|RWJwRxPg1@fRQW=3{qPX+@wCPjw*@0zZ!JhbKN z3-^4Zxv%HXYUud+kvUU#AMd9J?GJN&`hiN$%09md zkz9}0ncwX4+>(ykY>!jUR?N!%Gpn0x;itw2H(f3)a_Y=0%6|!TW@qx-Ij;`NeJCr5 zvkBxkoOg)p@)Nn7M=SmK5B%jSzZJ>Az`)4Bot$5kl30|VUy_^%p*IlZHJ@8oR5WO-~Hzr-C7s_=QOLtmwijK zbK7lV|17(ITdLSkbW-1L!*3!cyG~Erp}D#$OxuFjT-!#-P&7K<<@ER53fK2B+tOZ$ zZP@D_wCI3p&+(%!FIcC1e)a0`E4ILnT<^D&nc0;jjDabI%ra*%x#@R+>O&7aYr*Lq+k5vVg7aEfz`$y7QRZmcYW4W;@sKYc6v?M{Z&2O dVxs?|Jgppl_T1o`Y)%-Z;veVvuAY%f=ik%f}+dGFgC0Z1N#S=MoV%4y`tibG9tZ zOi&gxBRjJvgMk~9BEvVkJh!ByHrwNrvlX*)|IF&1x|G;0a@>`MZGS5x#=BzyYHSG8FoF%W)?y4sj F005lhN~-_>