From 73f871369e68f86528908c3a5f87c5bdcd411e76 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:01:37 +0100 Subject: [PATCH 01/39] Append VisualStudio.gitignore to .gitignore. Fixes #2. VisualStudio.gitignore was taken from https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore --- .gitignore | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.gitignore b/.gitignore index a1f5212..d96fd57 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# ------------------------------------------------------------------------------------------------- +# TeX.gitignore +# From https://github.com/github/gitignore/blob/main/TeX.gitignore + ## Core latex/pdflatex auxiliary files: *.aux *.lof @@ -304,3 +308,24 @@ TSWLatexianTemp* # option is specified. Footnotes are the stored in a file with suffix Notes.bib. # Uncomment the next line to have this generated file ignored. #*Notes.bib + +# ------------------------------------------------------------------------------------------------- + +# ------------------------------------------------------------------------------------------------- +# VisualStudioCode.gitignore +# From https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore + +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +# ------------------------------------------------------------------------------------------------- From d7568d8842e2a6e43d13645e525792332ad466c9 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:06:02 +0100 Subject: [PATCH 02/39] Added vc.tex to the .gitignore. Fixes #2. --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index d96fd57..34b1844 100644 --- a/.gitignore +++ b/.gitignore @@ -309,6 +309,12 @@ TSWLatexianTemp* # Uncomment the next line to have this generated file ignored. #*Notes.bib +# The vc bundle (https://ctan.org/tex-archive/support/vc) updates a file called +# vc.tex based on the last commit in the repo. This shouldn't be committed, as +# it will cause it to be updated cyclically, and just create unecessary +# commits. +vc.tex + # ------------------------------------------------------------------------------------------------- # ------------------------------------------------------------------------------------------------- From 57b53729036959adc1e15ae7c3e67a6a2662a6b8 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:08:41 +0100 Subject: [PATCH 03/39] Added makeindex-style files from glossaries-extra to .gitignore. This fixes #2. --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 34b1844..3a2c2bc 100644 --- a/.gitignore +++ b/.gitignore @@ -122,7 +122,7 @@ acs-*.bib *.sls # uncomment this for glossaries-extra (will ignore makeindex's style files!) -# *.ist +*.ist # gnuplot *.gnuplot From c3a1b847d1bb6470fc0d0539b62569141c06a873 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:24:45 +0100 Subject: [PATCH 04/39] Added extensions to workplace recommendations. Fixes #3. --- .vscode/extensions.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..10b0942 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,11 @@ +{ + "recommendations": [ + "james-yu.latex-workshop", + "yzhang.markdown-all-in-one", + "davidanson.vscode-markdownlint", + "christian-kohler.path-intellisense", + "stkb.rewrap", + "esbenp.prettier-vscode", + "file-icons.file-icons" + ] +} \ No newline at end of file From 34b2cb45abe4f29baab7926d1e65f99836a84b7c Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:34:00 +0100 Subject: [PATCH 05/39] Added LaTeX Workshop Tools. Fixes #4. --- .vscode/settings.json | 134 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..a41710f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,134 @@ +{ + "latex-workshop.latex.tools": [ + { + "name": "latexmk", + "command": "latexmk", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-pdf", + "-outdir=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "lualatexmk", + "command": "latexmk", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-lualatex", + "-outdir=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "xelatexmk", + "command": "latexmk", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "-xelatex", + "-outdir=%OUTDIR%", + "%DOC%" + ], + "env": {} + }, + { + "name": "latexmk_rconly", + "command": "latexmk", + "args": [ + "%DOC%" + ], + "env": {} + }, + { + "name": "pdflatex", + "command": "pdflatex", + "args": [ + "-synctex=1", + "-interaction=nonstopmode", + "-file-line-error", + "%DOC%" + ], + "env": {} + }, + { + "name": "bibtex", + "command": "bibtex", + "args": [ + "%DOCFILE%" + ], + "env": {} + }, + { + "name": "rnw2tex", + "command": "Rscript", + "args": [ + "-e", + "knitr::opts_knit$set(concordance = TRUE); knitr::knit('%DOCFILE_EXT%')" + ], + "env": {} + }, + { + "name": "jnw2tex", + "command": "julia", + "args": [ + "-e", + "using Weave; weave(\"%DOC_EXT%\", doctype=\"tex\")" + ], + "env": {} + }, + { + "name": "jnw2texminted", + "command": "julia", + "args": [ + "-e", + "using Weave; weave(\"%DOC_EXT%\", doctype=\"texminted\")" + ], + "env": {} + }, + { + "name": "pnw2tex", + "command": "pweave", + "args": [ + "-f", + "tex", + "%DOC_EXT%" + ], + "env": {} + }, + { + "name": "pnw2texminted", + "command": "pweave", + "args": [ + "-f", + "texminted", + "%DOC_EXT%" + ], + "env": {} + }, + { + "name": "tectonic", + "command": "tectonic", + "args": [ + "--synctex", + "--keep-logs", + "%DOC%.tex" + ], + "env": {} + }, + { + "name": "vc", + "command": "./vc.bat", + "args": [ + "-m" + ], + } + ] +} \ No newline at end of file From a730c4fda0f932c2f7431ec81e08c72c72bf4539 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:36:40 +0100 Subject: [PATCH 06/39] Added LaTeX Workshop recipes. Fixes #4. --- .vscode/settings.json | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index a41710f..7b0eee3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -130,5 +130,82 @@ "-m" ], } + ], + "latex-workshop.latex.recipes": [ + { + "name": "pdflatex -> makeglossaries -> pdflatex * 2", + "tools": [ + "pdflatex", + "makeglossaries", + "pdflatex", + "pdflatex" + ] + }, + { + "name": "latexmk", + "tools": [ + "latexmk" + ] + }, + { + "name": "latexmk (latexmkrc)", + "tools": [ + "latexmk_rconly" + ] + }, + { + "name": "latexmk (lualatex)", + "tools": [ + "lualatexmk" + ] + }, + { + "name": "latexmk (xelatex)", + "tools": [ + "xelatexmk" + ] + }, + { + "name": "pdflatex -> bibtex -> pdflatex * 2", + "tools": [ + "pdflatex", + "bibtex", + "pdflatex", + "pdflatex" + ] + }, + { + "name": "Compile Rnw files", + "tools": [ + "rnw2tex", + "latexmk" + ] + }, + { + "name": "Compile Jnw files", + "tools": [ + "jnw2tex", + "latexmk" + ] + }, + { + "name": "Compile Pnw files", + "tools": [ + "pnw2tex", + "latexmk" + ] + }, + { + "name": "tectonic", + "tools": [ + "tectonic" + ] + }, + { + "name": "vc", + "tools": [ + "vc" + ] + } ] } \ No newline at end of file From ef5825b3a81e54acc4075eb45a0471b5c3664ec5 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:38:08 +0100 Subject: [PATCH 07/39] Removed unused default recipes. Fixes #4. --- .vscode/settings.json | 60 ------------------------------------------- 1 file changed, 60 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 7b0eee3..b518d01 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -141,66 +141,6 @@ "pdflatex" ] }, - { - "name": "latexmk", - "tools": [ - "latexmk" - ] - }, - { - "name": "latexmk (latexmkrc)", - "tools": [ - "latexmk_rconly" - ] - }, - { - "name": "latexmk (lualatex)", - "tools": [ - "lualatexmk" - ] - }, - { - "name": "latexmk (xelatex)", - "tools": [ - "xelatexmk" - ] - }, - { - "name": "pdflatex -> bibtex -> pdflatex * 2", - "tools": [ - "pdflatex", - "bibtex", - "pdflatex", - "pdflatex" - ] - }, - { - "name": "Compile Rnw files", - "tools": [ - "rnw2tex", - "latexmk" - ] - }, - { - "name": "Compile Jnw files", - "tools": [ - "jnw2tex", - "latexmk" - ] - }, - { - "name": "Compile Pnw files", - "tools": [ - "pnw2tex", - "latexmk" - ] - }, - { - "name": "tectonic", - "tools": [ - "tectonic" - ] - }, { "name": "vc", "tools": [ From 75390f1e6b07f9ba83a2edc02680dd36f200f5d0 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:39:23 +0100 Subject: [PATCH 08/39] Added rewrap settings. Fixes #4. This enables auto wrap, and sets the wrap column to 80. --- .vscode/settings.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index b518d01..a8a7c84 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -147,5 +147,7 @@ "vc" ] } - ] + ], + "rewrap.autoWrap.enabled": true, + "rewrap.wrappingColumn": 80 } \ No newline at end of file From 3f7489ae2b89c496d01487f147bc251698007e7a Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 10:41:15 +0100 Subject: [PATCH 09/39] Added editor ruler at 80 chars. Fixes #4. --- .vscode/settings.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index a8a7c84..bf8b757 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -149,5 +149,8 @@ } ], "rewrap.autoWrap.enabled": true, - "rewrap.wrappingColumn": 80 + "rewrap.wrappingColumn": 80, + "editor.rulers": [ + 80 + ] } \ No newline at end of file From b180c9449a38028e69a9bff210271e603e4b2202 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 13:36:15 +0100 Subject: [PATCH 10/39] Added Code Spell Checker extension as workspace recommendation. Fixes #3. Also set spelling language to en-GB. --- .vscode/extensions.json | 3 ++- .vscode/settings.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 10b0942..9ee7650 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "christian-kohler.path-intellisense", "stkb.rewrap", "esbenp.prettier-vscode", - "file-icons.file-icons" + "file-icons.file-icons", + "streetsidesoftware.code-spell-checker" ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index bf8b757..87d4b09 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -152,5 +152,6 @@ "rewrap.wrappingColumn": 80, "editor.rulers": [ 80 - ] + ], + "cSpell.language": "en-GB" } \ No newline at end of file From 37128ea7d028aa37bbbd26ec244f44a6c5fac0ff Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 13:38:43 +0100 Subject: [PATCH 11/39] Added missing makeglossaries tool for LaTeX Workshop. Fixes #4. --- .vscode/settings.json | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.vscode/settings.json b/.vscode/settings.json index 87d4b09..e906da0 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -47,6 +47,13 @@ ], "env": {} }, +{ + "name": "makeglossaries", + "command": "makeglossaries", + "args": [ + "%DOCFILE%" + ] + }, { "name": "pdflatex", "command": "pdflatex", From 50ef487dd8bcb5080ab6c147cf46b69ed4b6f80c Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 13:40:59 +0100 Subject: [PATCH 12/39] Added basic main.tex. Fixes #1. Also added vc_placeholder.tex before adding vc bundle. --- main.tex | 122 ++++++++++++++++++++++++++++++++++++ preamble/vc_placeholder.tex | 28 +++++++++ 2 files changed, 150 insertions(+) create mode 100644 main.tex create mode 100644 preamble/vc_placeholder.tex diff --git a/main.tex b/main.tex new file mode 100644 index 0000000..1bf9eb2 --- /dev/null +++ b/main.tex @@ -0,0 +1,122 @@ +% Specify the document class and options. +% Document Classes: +% - article: Suitable for shorter documents such as journal articles, short +% reports, and essays. It does not support chapters. +% - report: Ideal for longer documents like theses, dissertations, and technical +% reports. It supports chapters and sections. +% - book: Used for books and other lengthy documents. It includes support for +% chapters, sections, and front matter (e.g., title page, dedication). +% - letter: Designed for writing letters. It provides a simple layout for +% correspondence. +% - beamer: Used for creating presentations. It offers a variety of slide +% layouts and themes. +% Class Options: +% - 10pt, 11pt, 12pt: Sets the font size of the document. The default is 10pt. +% - a4paper, letterpaper, etc.: Specifies the paper size. Note that in this +% case, the geometry package is used to set the paper size. +% - draft: Enables draft mode, which speeds up compilation by not loading images +% and highlighting overfull boxes. +% - onecolumn, twocolumn: Sets the number of columns in the document. +% - fleqn: Aligns equations to the left instead of centering them. +% - leqno: Places equation numbers on the left side instead of the right. +% - landscape: Changes the document layout to landscape orientation. +% - oneside, twoside: Configures how the document prints. +% - titlepage, notitlepage: Determines whether a separate title page is created. +% - openright, openany: Controls whether chapters start on the right-hand page +% (openright) or any page (openany). +% - british: Use British language conventions and spelling. This is best in +% conjunction with the babel package. +\documentclass[british]{article} + +% vhistory package to create a revision history table. Specify that it should be +% added to the Table of Contents. +\usepackage[tocentry]{vhistory} +% geometry package to adjust the size of the margin around the page. +% The paper size is specified here instead of in the document class. +\usepackage[a4paper, left=2cm, right=2cm, top=2.5cm, bottom=3cm]{geometry} +% babel package for better language and regional rules support. +% To change the region, change this and the document class accordingly. +\usepackage[british]{babel} +% xcolor package to provide driver-independent access to colours. +\usepackage{xcolor} +% hyperref package to create coloured hyperlinks. +\usepackage[colorlinks]{hyperref} +% glossaries-extra package to create a glossary of acronym and terminology +% definitions. Also add the glossaries as numbered sections. +\usepackage[acronym, numberedsection=autolabel, stylemods=all]{glossaries-extra} +% caption package provides better captioning for tables etc. +\usepackage{caption} +% The appendix package provides more customizable appendices. +% Options: +% - toc: Adds a header (e.g., 'Appendices') to the Table of Contents (ToC) +% before listing the appendices. +% - titletoc: Includes the appendix titles in the ToC. +% - title: Adds a title (e.g., 'Appendices') at the beginning of the appendices +% section. +% - page: Inserts a title page for the appendices. +% - header: Adds a header to each appendix page. +\usepackage[toc, titletoc, title, page, header]{appendix} +% Use T1 font encoding using a wider range of characters than the default OT1 +% encoding. +\usepackage[T1]{fontenc} +% inputenc to specify the encoding of input files as UTF-8. +\usepackage[utf8]{inputenc} +% ulem allows adding underlines within the document. +\usepackage{ulem} +% titling package to allow access to the title, author and date throughout the +% document. Usually they are reset after \maketitle. +\usepackage{titling} +% lastpage package to get the page number of the last page. +\usepackage{lastpage} +% graphicx package to add images to the document. +\usepackage{graphicx} +% fancyhdr to add custom headers and footers to the document. +\usepackage{fancyhdr} +% FiraSans package to change the font to Fira Sans. Set it as the default font +% for the whole document. +\usepackage[sfdefault]{FiraSans} +% FiraMono package to change the monospace font to Fira Mono, and set it as the +% default monospace font. +\usepackage{FiraMono} +% Alternatively, comment out the above lines and uncomment the following line to +% use the opensans package to change the font to Open Sans, and set it as the +% default for the whole document. +%\usepackage[default]{opensans} + +% Get VC info from output of the VC Bundle package from +% https://ctan.org/tex-archive/support/vc. +% If vc.tex exists import it as vc.bat has been run. If it hasn't, use the +% placeholder so the document still builds, but no commit info will show up. +\IfFileExists{preamble/vc.tex} +{ + \input{preamble/vc} +}{ + \input{preamble/vc_placeholder} +} + +% Configure the caption package. +% Add 10pt of spacing above and below table captions. +\captionsetup[table]{aboveskip=10pt, belowskip=10pt} + +% Disable hyperlink colours within the document to make printed documents easier +% to read. +\hypersetup{ + % Open all bookmarks in a PDF viewer by default. + bookmarksopen=true, + % Include section numbers in the bookmarks. + bookmarksnumbered=true, + % Remove borders around links in the PDF. + pdfborder={0 0 0} +} + +% Storing commands to generate the title with \maketitle. +\title{Title Placeholder} +\author{\vhListAllAuthorsLong} +\date{Version \vhCurrentVersion\ from \vhCurrentDate} + +% Enough preamble... Time for the document! +\begin{document} + +% TODO! + +\end{document} \ No newline at end of file diff --git a/preamble/vc_placeholder.tex b/preamble/vc_placeholder.tex new file mode 100644 index 0000000..53c6a13 --- /dev/null +++ b/preamble/vc_placeholder.tex @@ -0,0 +1,28 @@ +% Blank placeholder for vc.tex, in the case that the document is rendered +% before vc.bat is run (or if the user does not have the git post-commit hook). +% This ensures the document can always be built. + +% DO NOT EDIT THIS FILE! + +%%% Define Git specific macros. +\gdef\GITHash{}% +\gdef\GITAbrHash{}% +\gdef\GITParentHashes{}% +\gdef\GITAbrParentHashes{}% +\gdef\GITAuthorName{}% +\gdef\GITAuthorEmail{}% +\gdef\GITAuthorDate{}% +\gdef\GITCommitterName{}% +\gdef\GITCommitterEmail{}% +\gdef\GITCommitterDate{}% +%%% Define generic version control macros. +\gdef\VCRevision{\GITAbrHash}% +\gdef\VCAuthor{\GITAuthorName}% +\gdef\VCDateRAW{}% +\gdef\VCDateISO{}% +\gdef\VCDateTEX{}% +\gdef\VCTime{}% +\gdef\VCModifiedText{\textcolor{red}{with local modifications!}}% +%%% Assume clean working copy. +\gdef\VCModified{0}% +\gdef\VCRevisionMod{\VCRevision}% From 5da882183aec5230ec31c9ef431959d9e5b5e84c Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 13:55:16 +0100 Subject: [PATCH 13/39] Added package names and options to cSpell words. Fixes #4. --- .vscode/settings.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index e906da0..7b8dda5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -160,5 +160,25 @@ "editor.rulers": [ 80 ], - "cSpell.language": "en-GB" + "cSpell.language": "en-GB", + "cSpell.words": [ + "aboveskip", + "belowskip", + "fancyhdr", + "Fira", + "fleqn", + "graphicx", + "lastpage", + "leqno", + "letterpaper", + "notitlepage", + "onecolumn", + "openany", + "openright", + "opensans", + "titletoc", + "ulem", + "vhistory", + "xcolor" + ] } \ No newline at end of file From 5bed22e22b4b6a5006f2e91ec80be4f0be8c4729 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Sun, 8 Sep 2024 13:59:57 +0100 Subject: [PATCH 14/39] Added preamble/authors.tex. Fixes #5. --- main.tex | 7 +++++++ preamble/authors.tex | 5 +++++ 2 files changed, 12 insertions(+) create mode 100644 preamble/authors.tex diff --git a/main.tex b/main.tex index 1bf9eb2..8e6eb07 100644 --- a/main.tex +++ b/main.tex @@ -109,7 +109,14 @@ pdfborder={0 0 0} } +% Macros defining the author names and initials. +\input{preamble/authors} + % Storing commands to generate the title with \maketitle. +% Do not manually add the author name here! Add the initials to +% preamble/authors.tex and add an entry to preamble/document_revision.tex. This +% will automatically add the author names. This will also populate the date +% field automatically. \title{Title Placeholder} \author{\vhListAllAuthorsLong} \date{Version \vhCurrentVersion\ from \vhCurrentDate} diff --git a/preamble/authors.tex b/preamble/authors.tex new file mode 100644 index 0000000..a7837dd --- /dev/null +++ b/preamble/authors.tex @@ -0,0 +1,5 @@ +% Macros used to translate initials into full names. This is used by the +% vhistory package. The commands should be in the following format: +% \newcommand{\INITIALS}{Full Name} +% For example: +% \newcommand{\JS}{John Smith} \ No newline at end of file From a3eb94ae293078fee4c3ca5bb622012d59ba1573 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 00:34:05 +0100 Subject: [PATCH 15/39] Removed coloured hyperlinks. --- main.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.tex b/main.tex index 8e6eb07..af4fd29 100644 --- a/main.tex +++ b/main.tex @@ -39,8 +39,8 @@ \usepackage[british]{babel} % xcolor package to provide driver-independent access to colours. \usepackage{xcolor} -% hyperref package to create coloured hyperlinks. -\usepackage[colorlinks]{hyperref} +% hyperref package to create and manage the formatting of hyperlinks. +\usepackage{hyperref} % glossaries-extra package to create a glossary of acronym and terminology % definitions. Also add the glossaries as numbered sections. \usepackage[acronym, numberedsection=autolabel, stylemods=all]{glossaries-extra} From 22afd35e08806d2e002014f696ff3ddbfe9b22e6 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 00:49:15 +0100 Subject: [PATCH 16/39] Added fancyhdr to preamble. Fixes #5. --- main.tex | 3 +++ preamble/fancyhdr.tex | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 preamble/fancyhdr.tex diff --git a/main.tex b/main.tex index af4fd29..a8babaf 100644 --- a/main.tex +++ b/main.tex @@ -109,6 +109,9 @@ pdfborder={0 0 0} } +% Configure the fancyhdr package with the custom header and footer format. +\input{preamble/fancyhdr} + % Macros defining the author names and initials. \input{preamble/authors} diff --git a/preamble/fancyhdr.tex b/preamble/fancyhdr.tex new file mode 100644 index 0000000..681a339 --- /dev/null +++ b/preamble/fancyhdr.tex @@ -0,0 +1,25 @@ +% Use the page style defined by fancyhdr. +\pagestyle{fancy} + +% Clear all existing header and footer fields. +\fancyhf{} + +% Left header containing an image or logo, if required. +%\fancyhead[L]{\includegraphics[height=1cm]{./path/to/left_image.png}} +% Center header containing the document title. +\fancyhead[C]{\thetitle} +% Right header containing an image or logo, if required. +%\fancyhead[R]{\includegraphics[height=1cm]{./path/to/right_image.png}} + +% Left footer containing the document author(s) according to +% document_revision.tex. +\fancyfoot[L]{\theauthor} +% Center footer containing the date field. For this template, the default is the +% version number and the date in the form "Version XX.XX from YYYY/MM/DD". +\fancyfoot[C]{\thedate} +% Right footer with page number in the form "Page X of Y". Note the use of +% \pageref* instead of \pageref, to not create a link to the last page. +\fancyfoot[R]{Page \thepage\ of \pageref*{LastPage}} + +% Adjust the height of the header to fit the images. +\setlength{\headheight}{1.2cm} \ No newline at end of file From feb2462f410ab944df140328ebc67fd59fc4f033 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:18:07 +0100 Subject: [PATCH 17/39] Added glossary.tex. Fixes #5. --- .vscode/settings.json | 5 ++++ main.tex | 3 ++ preamble/glossary.tex | 70 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 preamble/glossary.tex diff --git a/.vscode/settings.json b/.vscode/settings.json index 7b8dda5..af159d3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -163,6 +163,8 @@ "cSpell.language": "en-GB", "cSpell.words": [ "aboveskip", + "altlist", + "altlisthypergroup", "belowskip", "fancyhdr", "Fira", @@ -171,11 +173,14 @@ "lastpage", "leqno", "letterpaper", + "listhypergroup", + "longtable", "notitlepage", "onecolumn", "openany", "openright", "opensans", + "seealso", "titletoc", "ulem", "vhistory", diff --git a/main.tex b/main.tex index a8babaf..29c4c5c 100644 --- a/main.tex +++ b/main.tex @@ -112,6 +112,9 @@ % Configure the fancyhdr package with the custom header and footer format. \input{preamble/fancyhdr} +% Define and generate the glossary in the preamble. +\input{preamble/glossary} + % Macros defining the author names and initials. \input{preamble/authors} diff --git a/preamble/glossary.tex b/preamble/glossary.tex new file mode 100644 index 0000000..e71206f --- /dev/null +++ b/preamble/glossary.tex @@ -0,0 +1,70 @@ +% Generate, define and style the glossaries for this document. This must be used +% as an \input in the preamble. + +% Store the \gls, \glspl, and \glsxtrshortpl as "old" commands, so they can be +% extended or modified. +\let\oldgls\gls +\let\oldglspl\glspl +\let\oldglsxtrshortpl\glsxtrshortpl + +% Redefine \gls, \glspl, and \glsxtrshortpl to use custom hyperlink formatting +% (bold and underlined). This is more readable and easier to follow when the +% document is printed out. +\renewcommand{\gls}[1]{\textbf{\uline{\oldgls{#1}}}} +\renewcommand{\glspl}[1]{\textbf{\uline{\oldglspl{#1}}}} +\renewcommand{\glsxtrshortpl}[1]{\textbf{\uline{\oldglsxtrshortpl{#1}}}} + +% Customise how the "see" and "seealso" entries are rendered by renewing the +% \glsseeformat command. +\renewcommand\glsseeformat[3][\seename] +{ + % Non-breaking new line, so the references appear on the line below the + % glossary entry. + \\* + % Emphasize the first parameter (default is \seename), and display the list + % of "see" entries as bold and underlined to be consistent with the \gls, + % \glspl, \glsxtrshortpl commands. + \emph{#1} \textbf{\uline{\glsseelist{#2}}} +} + +% Generate the glossaries for this document. +\makeglossaries + +% Define the terms for the glossary. +% Example entries: +% \newglossaryentry{box} +% { +% name=box, +% % Specify the plural if it requires more than appending an s... +% plural=boxes, +% description={A container with a flat base and sides, typically square or +% rectangular, and often having a lid.} +% } +% \newglossaryentry{cardboard box} +% { +% name=cardboard box, +% % Specify the plural if it requires more than appending an s... +% plural=cardboard boxes, +% description={A \gls{box} made out of cardboard.}, +% seealso={box} +% } + +% Define the acronyms for the glossary. +% Example entries: +% \newacronym{pdf}{PDF}{Portable Document Format.} +% \newacronym{png}{PNG}{Portable Network Graphics.} +% \newacronym{curl}{curl}{\Gls{curl} URL Request Library.} + +% Set the style of the glossary when added to a page. +% Here is a list of common styles: +% - 'list': A simple list of glossary entries without any grouping. +% - 'index': Similar to 'list', but entries are sorted like an index. +% - 'altlist': An alternative list style with a different layout. +% - 'tree': Displays entries in a tree-like structure. +% - 'super': A super-tabular style for multi-column glossary entries. +% - 'long': Uses the longtable environment for multi-page glossaries. +% - 'listhypergroup': Style groups entries by their first letter and hyperlinks +% each group. +% - 'altlisthypergroup': Similar to 'listhypergroup' but with an alternative +% layout. +\setglossarystyle{listhypergroup} \ No newline at end of file From e5193eb5cd3db519ec5fb01017ffb97db73c36b9 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:26:43 +0100 Subject: [PATCH 18/39] Added vc bundle files. Fixes #5. These files are taken from a pull request I recently opened (https://github.com/rohieb/ctan-support-vc/pull/4) which fixes a couple of issues with the vc bundles specific to git on windows. --- preamble/vc-git.awk | 81 ++ preamble/vc.bat | 2585 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 2666 insertions(+) create mode 100644 preamble/vc-git.awk create mode 100644 preamble/vc.bat diff --git a/preamble/vc-git.awk b/preamble/vc-git.awk new file mode 100644 index 0000000..ec85071 --- /dev/null +++ b/preamble/vc-git.awk @@ -0,0 +1,81 @@ +# This is file 'vc-git.awk' from the vc bundle for TeX. +# The original file can be found at CTAN:support/vc. +# This file is Public Domain. + +BEGIN { + modified = 0 +} + +### Process output of "git log" +script == "log" && /^Hash:/ { Hash = substr($0, 2+match($0, ":")) } +script == "log" && /^AbrHash:/ { AbrHash = substr($0, 2+match($0, ":")) } +script == "log" && /^ParentHashes:/ { ParentHashes = substr($0, 2+match($0, ":")) } +script == "log" && /^AbrParentHashes:/ { AbrParentHashes = substr($0, 2+match($0, ":")) } +script == "log" && /^AuthorName:/ { AuthorName = substr($0, 2+match($0, ":")) } +script == "log" && /^AuthorEmail:/ { AuthorEmail = substr($0, 2+match($0, ":")) } +script == "log" && /^AuthorDate:/ { AuthorDate = substr($0, 2+match($0, ":")) } +script == "log" && /^CommitterName:/ { CommitterName = substr($0, 2+match($0, ":")) } +script == "log" && /^CommitterEmail:/ { CommitterEmail = substr($0, 2+match($0, ":")) } +script == "log" && /^CommitterDate:/ { CommitterDate = substr($0, 2+match($0, ":")) } + +### Process output of "git status" +### Changed index? +script == "status" && /^[mMADRCU] / { modified = 1 } +### Unstaged modifications? +script == "status" && /^ [mMADRCU]/ { modified = 1 } +### Unresolved merge conflicts? +script == "status" && /^[mMADRCU][mMADRCU]/ { modified = 1 } + +END { + ### Process output of "git log" + if (script == "log") { + ### Format dates + LongDate = substr(CommitterDate, 1, 25) + DateRAW = substr(LongDate, 1, 10) + DateISO = DateRAW + DateTEX = DateISO + gsub("-", "/", DateTEX) + Time = substr(LongDate, 12, 14) + + print "%%% This file has been generated by the vc bundle for TeX." + print "%%% Do not edit this file!" + print "%%%" + + print "%%% Define Git specific macros." + print "\\gdef\\GITHash{" Hash "}%" + print "\\gdef\\GITAbrHash{" AbrHash "}%" + print "\\gdef\\GITParentHashes{" ParentHashes "}%" + print "\\gdef\\GITAbrParentHashes{" AbrParentHashes "}%" + print "\\gdef\\GITAuthorName{" AuthorName "}%" + print "\\gdef\\GITAuthorEmail{" AuthorEmail "}%" + print "\\gdef\\GITAuthorDate{" AuthorDate "}%" + print "\\gdef\\GITCommitterName{" CommitterName "}%" + print "\\gdef\\GITCommitterEmail{" CommitterEmail "}%" + print "\\gdef\\GITCommitterDate{" CommitterDate "}%" + + print "%%% Define generic version control macros." + print "\\gdef\\VCRevision{\\GITAbrHash}%" + print "\\gdef\\VCAuthor{\\GITAuthorName}%" + print "\\gdef\\VCDateRAW{" DateRAW "}%" + print "\\gdef\\VCDateISO{" DateISO "}%" + print "\\gdef\\VCDateTEX{" DateTEX "}%" + print "\\gdef\\VCTime{" Time "}%" + print "\\gdef\\VCModifiedText{\\textcolor{red}{with local modifications!}}%" + + print "%%% Assume clean working copy." + print "\\gdef\\VCModified{0}%" + print "\\gdef\\VCRevisionMod{\\VCRevision}%" + } + + ### Process output of "git status" + if (script=="status") { + print "%%% Is working copy modified?" + print "\\gdef\\VCModified{" modified "}%" + if (modified == 0) { + print "\\gdef\\VCRevisionMod{\\VCRevision}%" + } else { + print "\\gdef\\VCRevisionMod{\\VCRevision~\\VCModifiedText}%" + } + } + +} diff --git a/preamble/vc.bat b/preamble/vc.bat new file mode 100644 index 0000000..ab27fb1 --- /dev/null +++ b/preamble/vc.bat @@ -0,0 +1,2585 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ctan-support-vc/git-windows/vc.bat at git-windows_fixes · NathanielJS1541/ctan-support-vc · GitHub + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ Skip to content + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+ + + + + +
+ + + + + + + + + +
+
+
+ + + + + + + + + +
+ +
+ +
+ +
+ + + + / + + ctan-support-vc + + + Public +
+ + forked from rohieb/ctan-support-vc + + + +
+ +
+ + +
+
+ +
+
+ + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + +

Latest commit

 

History

History
24 lines (23 loc) · 813 Bytes

vc.bat

File metadata and controls

24 lines (23 loc) · 813 Bytes
+
+ + + + +
+ +
+ +
+
+ +
+ +
+

Footer

+ + + + +
+
+ + + + + © 2024 GitHub, Inc. + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + From 9b34edb818a32b95771d7a78562ca1db70174458 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:28:40 +0100 Subject: [PATCH 19/39] Added unix vc script from the vc bundle. Fixes #5. This should work with the same vc-git.awk file as Windows, and adds more flexibility to the template. --- preamble/vc | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 preamble/vc diff --git a/preamble/vc b/preamble/vc new file mode 100644 index 0000000..63c737e --- /dev/null +++ b/preamble/vc @@ -0,0 +1,43 @@ +#!/bin/sh +# This is file 'vc' from the vc bundle for TeX. +# The original file can be found at CTAN:support/vc. +# This file is Public Domain. + +# Parse command line options +full=0 +mod=0 +while [ -n "$(echo $1 | grep '-')" ]; do + case $1 in + -f) full=1 ;; + -m) mod=1 ;; + * ) + echo 'usage: vc [-f] [-m]' + exit 1 + ;; + esac + shift +done + +# Query all info from git log +logformat="" +logformat="${logformat}Hash: %H%n" +logformat="${logformat}AbrHash: %h%n" +logformat="${logformat}ParentHashes: %P%n" +logformat="${logformat}AbrParentHashes: %p%n" +logformat="${logformat}AuthorName: %an%n" +logformat="${logformat}AuthorEmail: %ae%n" +logformat="${logformat}AuthorDate: %ai%n" +logformat="${logformat}CommitterName: %cn%n" +logformat="${logformat}CommitterEmail: %ce%n" +logformat="${logformat}CommitterDate: %ci%n" +LC_ALL=C +git --no-pager log -1 HEAD --pretty=format:"$logformat" \ + | gawk -v script=log -v full=$full -f vc-git.awk \ + > vc.tex + +# Query modification status of the working copy +if [ "$mod" = 1 ]; then + git status --porcelain=v1 \ + | gawk -v script=status -f vc-git.awk \ + >> vc.tex +fi From 08f561c5806b54ac5a0e2a48580dcada9b3fc71a Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:32:56 +0100 Subject: [PATCH 20/39] Fixed bad vc.bat download. Fixes #5. --- preamble/vc.bat | 2609 +---------------------------------------------- 1 file changed, 24 insertions(+), 2585 deletions(-) diff --git a/preamble/vc.bat b/preamble/vc.bat index ab27fb1..fdafb16 100644 --- a/preamble/vc.bat +++ b/preamble/vc.bat @@ -1,2585 +1,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ctan-support-vc/git-windows/vc.bat at git-windows_fixes · NathanielJS1541/ctan-support-vc · GitHub - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- Skip to content - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - -
- -
- - - - - - - - -
- - - - - -
- - - - - - - - - -
-
-
- - - - - - - - - -
- -
- -
- -
- - - - / - - ctan-support-vc - - - Public -
- - forked from rohieb/ctan-support-vc - - - -
- -
- - -
-
- -
-
- - - - -
- - - - - - -
- - - - - - - - - - - - - - - - - - -

Latest commit

 

History

History
24 lines (23 loc) · 813 Bytes

vc.bat

File metadata and controls

24 lines (23 loc) · 813 Bytes
-
- - - - -
- -
- -
-
- -
- -
-

Footer

- - - - -
-
- - - - - © 2024 GitHub, Inc. - -
- - -
-
- - - - - - - - - - - - - - - - - - - -
- -
-
- - - +@echo off +REM This is file 'vc.bat' from the vc bundle for TeX. +REM The original file can be found at CTAN:support/vc. +REM This file is Public Domain. + +setlocal +REM Parse command line options. +set full=0 +set mod=0 +:loopParams +if "%1" NEQ "" ( + if "%1"=="-f" (set full=1) else if "%1"=="-m" (set mod=1) else ( + echo usage: vc [-f] [-m] + exit /b 1 + ) + shift + goto loopParams +) +REM English locale. +set LC_ALL=C +git --no-pager log -1 HEAD --pretty=format:"Hash: %%H%%nAbrHash: %%h%%nParentHashes: %%P%%nAbrParentHashes: %%p%%nAuthorName: %%an%%nAuthorEmail: %%ae%%nAuthorDate: %%ai%%nCommitterName: %%cn%%nCommitterEmail: %%ce%%nCommitterDate: %%ci%%n" | gawk -v script=log -v full=%full% -f vc-git.awk > vc.tex +if "%mod%"=="1" ( + git status --porcelain=v1 |gawk -v script=status -f vc-git.awk >> vc.tex +) From 690755dcf0c3f8fa189e5fd142f91959926e06bd Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:45:49 +0100 Subject: [PATCH 21/39] Patched vc bundle scripts for repo folder structure. Fixes #7. This does however mean that they won't work when run directly from the preamble folder. If this is an issue they'll need a more robust patch. --- preamble/vc | 8 ++++---- preamble/vc.bat | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/preamble/vc b/preamble/vc index 63c737e..5afe4fa 100644 --- a/preamble/vc +++ b/preamble/vc @@ -32,12 +32,12 @@ logformat="${logformat}CommitterEmail: %ce%n" logformat="${logformat}CommitterDate: %ci%n" LC_ALL=C git --no-pager log -1 HEAD --pretty=format:"$logformat" \ - | gawk -v script=log -v full=$full -f vc-git.awk \ - > vc.tex + | gawk -v script=log -v full=$full -f ./preamble/vc-git.awk \ + > ./preamble/vc.tex # Query modification status of the working copy if [ "$mod" = 1 ]; then git status --porcelain=v1 \ - | gawk -v script=status -f vc-git.awk \ - >> vc.tex + | gawk -v script=status -f ./preamble/vc-git.awk \ + >> ./preamble/vc.tex fi diff --git a/preamble/vc.bat b/preamble/vc.bat index fdafb16..e36a430 100644 --- a/preamble/vc.bat +++ b/preamble/vc.bat @@ -18,7 +18,7 @@ if "%1" NEQ "" ( ) REM English locale. set LC_ALL=C -git --no-pager log -1 HEAD --pretty=format:"Hash: %%H%%nAbrHash: %%h%%nParentHashes: %%P%%nAbrParentHashes: %%p%%nAuthorName: %%an%%nAuthorEmail: %%ae%%nAuthorDate: %%ai%%nCommitterName: %%cn%%nCommitterEmail: %%ce%%nCommitterDate: %%ci%%n" | gawk -v script=log -v full=%full% -f vc-git.awk > vc.tex +git --no-pager log -1 HEAD --pretty=format:"Hash: %%H%%nAbrHash: %%h%%nParentHashes: %%P%%nAbrParentHashes: %%p%%nAuthorName: %%an%%nAuthorEmail: %%ae%%nAuthorDate: %%ai%%nCommitterName: %%cn%%nCommitterEmail: %%ce%%nCommitterDate: %%ci%%n" | gawk -v script=log -v full=%full% -f .\preamble\vc-git.awk > .\preamble\vc.tex if "%mod%"=="1" ( - git status --porcelain=v1 |gawk -v script=status -f vc-git.awk >> vc.tex + git status --porcelain=v1 | gawk -v script=status -f .\preamble\vc-git.awk >> .\preamble\vc.tex ) From b91eb4f176a304c4cd7c2894ffece88b0b086b0e Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 01:59:18 +0100 Subject: [PATCH 22/39] Added document_revision.tex. Fixes #6. --- front_matter/document_revision.tex | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 front_matter/document_revision.tex diff --git a/front_matter/document_revision.tex b/front_matter/document_revision.tex new file mode 100644 index 0000000..21a7191 --- /dev/null +++ b/front_matter/document_revision.tex @@ -0,0 +1,35 @@ +% Document Revision Tracking. + +% Decrement the table number before the version history table is generated, as +% it increments this counter but does not display a caption. This just makes the +% rest of the document captions start at 1 which looks neater. +\addtocounter{table}{-1} + +% Version history table. +\begin{versionhistory} + % To add new names to the version history table, add a macro to + % preamble/authors.tex to link the initials here to a name. Without doing + % this, only the initials will appear for the document authors. + % Example entry for John Smith in preamble/authors.tex: + % \vhEntry{00.01}{1970/01/01}{JS}{Initial Draft.} +\end{versionhistory} + +% Table to display information about the last git commit. If this is empty when +% the document is rendered, ensure that either preamble/vc or preamble/vc.bat +% have been run, and that preamble/vc.tex contains the correct information. +% This is not intended for true version control, more as a check that the +% revision history table above has been updated correctly. +\begin{table}[h] + \begin{center} + \caption{Latest Change At Time Of Publishing} + \begin{tabular}{rl} + Commit & \VCRevisionMod \\ + Author & \VCAuthor \\ + %Author Email & \GITAuthorEmail \\ + Author Date & \GITAuthorDate \\ + Committer & \GITCommitterName \\ + %Committer Email & \GITCommitterEmail \\ + Commit Date & \GITCommitterDate \\ + \end{tabular} + \end{center} +\end{table} \ No newline at end of file From 67d418aa4fdcd29a40fd8fb15b84f96af41ad4ca Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:01:24 +0100 Subject: [PATCH 23/39] Added front_matter.tex. Fixes #6. --- front_matter/front_matter.tex | 19 +++++++++++++++++++ main.tex | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 front_matter/front_matter.tex diff --git a/front_matter/front_matter.tex b/front_matter/front_matter.tex new file mode 100644 index 0000000..9f7e23d --- /dev/null +++ b/front_matter/front_matter.tex @@ -0,0 +1,19 @@ +% Define the appearance and structure of the front matter for the start of the +% document. + +% Generate the title. +\maketitle + +% Document revision. In an article, this will appear on the same page as the +% title, underneath the \date field. +\input{front_matter/document_revision} + +% Generate the table of contents on a new page. Without \clearpage, this will +% appear on the same page as the title. +\clearpage +\tableofcontents + +% Print the glossary on a new page after the ToC, before the main document +% content. Adding the new page here helps to space out the front matter a bit. +\clearpage +\printglossaries \ No newline at end of file diff --git a/main.tex b/main.tex index 29c4c5c..def4e69 100644 --- a/main.tex +++ b/main.tex @@ -130,6 +130,8 @@ % Enough preamble... Time for the document! \begin{document} -% TODO! +% Front matter pages, including title, revision history, and table of contents, +% glossary etc. +\include{front_matter/front_matter} \end{document} \ No newline at end of file From 0765c3f00f43891690f954f9319e59d02ac64b65 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:07:08 +0100 Subject: [PATCH 24/39] Update vc tool in settings to new path in preamble. --- .vscode/settings.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index af159d3..cacf4f5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -47,7 +47,7 @@ ], "env": {} }, -{ + { "name": "makeglossaries", "command": "makeglossaries", "args": [ @@ -132,7 +132,7 @@ }, { "name": "vc", - "command": "./vc.bat", + "command": "./preamble/vc.bat", "args": [ "-m" ], From aa50ef97af07adc4d23a07a54acc42806b41c841 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:08:06 +0100 Subject: [PATCH 25/39] Added appendices to the document. --- appendices.tex | 8 ++++++++ main.tex | 3 +++ 2 files changed, 11 insertions(+) create mode 100644 appendices.tex diff --git a/appendices.tex b/appendices.tex new file mode 100644 index 0000000..a4d6fce --- /dev/null +++ b/appendices.tex @@ -0,0 +1,8 @@ +% Define how the appendices are displayed. +\begin{appendices} + % Appendices section for tables and figures throughout the document. + \section{Tables and Figures} + % Split tables and figures into separate subsections within the appendix. + \listoftables + \listoffigures +\end{appendices} \ No newline at end of file diff --git a/main.tex b/main.tex index def4e69..9d82969 100644 --- a/main.tex +++ b/main.tex @@ -134,4 +134,7 @@ % glossary etc. \include{front_matter/front_matter} +% Appendices. This can be removed if not required for the document. +\include{appendices} + \end{document} \ No newline at end of file From be4c02c5ff0efdc554e80a4f91e2ce0bf7902ec8 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:12:52 +0100 Subject: [PATCH 26/39] Added an example section. --- main.tex | 3 +++ sections/01_example_section.tex | 1 + 2 files changed, 4 insertions(+) create mode 100644 sections/01_example_section.tex diff --git a/main.tex b/main.tex index 9d82969..8736670 100644 --- a/main.tex +++ b/main.tex @@ -134,6 +134,9 @@ % glossary etc. \include{front_matter/front_matter} +% Main document sections. +\include{sections/01_example_section} + % Appendices. This can be removed if not required for the document. \include{appendices} diff --git a/sections/01_example_section.tex b/sections/01_example_section.tex new file mode 100644 index 0000000..7c05e74 --- /dev/null +++ b/sections/01_example_section.tex @@ -0,0 +1 @@ +\section{Example section} \ No newline at end of file From 9a288464bb3da0f37672c9b2e7b4bc6d4259c84f Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:26:55 +0100 Subject: [PATCH 27/39] Added example section and uncommented examples from other files. --- front_matter/document_revision.tex | 2 +- preamble/authors.tex | 2 +- preamble/glossary.tex | 38 +++++++++++++++--------------- sections/01_example_section.tex | 20 +++++++++++++++- 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/front_matter/document_revision.tex b/front_matter/document_revision.tex index 21a7191..a233914 100644 --- a/front_matter/document_revision.tex +++ b/front_matter/document_revision.tex @@ -11,7 +11,7 @@ % preamble/authors.tex to link the initials here to a name. Without doing % this, only the initials will appear for the document authors. % Example entry for John Smith in preamble/authors.tex: - % \vhEntry{00.01}{1970/01/01}{JS}{Initial Draft.} + \vhEntry{00.01}{1970/01/01}{JS}{Initial Draft.} \end{versionhistory} % Table to display information about the last git commit. If this is empty when diff --git a/preamble/authors.tex b/preamble/authors.tex index a7837dd..bc97f36 100644 --- a/preamble/authors.tex +++ b/preamble/authors.tex @@ -2,4 +2,4 @@ % vhistory package. The commands should be in the following format: % \newcommand{\INITIALS}{Full Name} % For example: -% \newcommand{\JS}{John Smith} \ No newline at end of file +\newcommand{\JS}{John Smith} \ No newline at end of file diff --git a/preamble/glossary.tex b/preamble/glossary.tex index e71206f..90caa29 100644 --- a/preamble/glossary.tex +++ b/preamble/glossary.tex @@ -32,28 +32,28 @@ % Define the terms for the glossary. % Example entries: -% \newglossaryentry{box} -% { -% name=box, -% % Specify the plural if it requires more than appending an s... -% plural=boxes, -% description={A container with a flat base and sides, typically square or -% rectangular, and often having a lid.} -% } -% \newglossaryentry{cardboard box} -% { -% name=cardboard box, -% % Specify the plural if it requires more than appending an s... -% plural=cardboard boxes, -% description={A \gls{box} made out of cardboard.}, -% seealso={box} -% } +\newglossaryentry{box} +{ + name=box, + % Specify the plural if it requires more than appending an s... + plural=boxes, + description={A container with a flat base and sides, typically square or + rectangular, and often having a lid.} +} +\newglossaryentry{cardboard box} +{ + name=cardboard box, + % Specify the plural if it requires more than appending an s... + plural=cardboard boxes, + description={A \gls{box} made out of cardboard.}, + seealso={box} +} % Define the acronyms for the glossary. % Example entries: -% \newacronym{pdf}{PDF}{Portable Document Format.} -% \newacronym{png}{PNG}{Portable Network Graphics.} -% \newacronym{curl}{curl}{\Gls{curl} URL Request Library.} +\newacronym{pdf}{PDF}{Portable Document Format.} +\newacronym{png}{PNG}{Portable Network Graphics.} +\newacronym{curl}{curl}{\Gls{curl} URL Request Library.} % Set the style of the glossary when added to a page. % Here is a list of common styles: diff --git a/sections/01_example_section.tex b/sections/01_example_section.tex index 7c05e74..211c20f 100644 --- a/sections/01_example_section.tex +++ b/sections/01_example_section.tex @@ -1 +1,19 @@ -\section{Example section} \ No newline at end of file +\section{Example section} + +\subsection{Purpose} + +This is an example section to demonstrate the document template. + +\subsection{Glossary Info} + +Glossary entries will not be added to the glossary until they are referenced in +the document. + +\subsection{Really Useful Facts} + +\begin{itemize} + \item \Glspl{cardboard box} are like \glspl{box}, but made of cardboard. Who + knew! + \item \Gls{curl} is a recursive acronym! It stands for \glsentrylong{curl} + \item The 'p' in both \gls{pdf} and \gls{png} stands for 'portable'. +\end{itemize} From 7e8f698245a505f2c78fa45598a7e4d5b003b17e Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:30:45 +0100 Subject: [PATCH 28/39] Added capitalised \Gls commands to glossary redefinitions. --- preamble/glossary.tex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/preamble/glossary.tex b/preamble/glossary.tex index 90caa29..6d75f8d 100644 --- a/preamble/glossary.tex +++ b/preamble/glossary.tex @@ -4,15 +4,21 @@ % Store the \gls, \glspl, and \glsxtrshortpl as "old" commands, so they can be % extended or modified. \let\oldgls\gls +\let\Oldgls\Gls \let\oldglspl\glspl +\let\Oldglspl\Glspl \let\oldglsxtrshortpl\glsxtrshortpl +\let\Oldglsxtrshortpl\Glsxtrshortpl % Redefine \gls, \glspl, and \glsxtrshortpl to use custom hyperlink formatting % (bold and underlined). This is more readable and easier to follow when the % document is printed out. \renewcommand{\gls}[1]{\textbf{\uline{\oldgls{#1}}}} +\renewcommand{\Gls}[1]{\textbf{\uline{\Oldgls{#1}}}} \renewcommand{\glspl}[1]{\textbf{\uline{\oldglspl{#1}}}} +\renewcommand{\Glspl}[1]{\textbf{\uline{\Oldglspl{#1}}}} \renewcommand{\glsxtrshortpl}[1]{\textbf{\uline{\oldglsxtrshortpl{#1}}}} +\renewcommand{\Glsxtrshortpl}[1]{\textbf{\uline{\Oldglsxtrshortpl{#1}}}} % Customise how the "see" and "seealso" entries are rendered by renewing the % \glsseeformat command. From f8f3e45a8e47bd132b46ce847a4a85cc779f9897 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Mon, 9 Sep 2024 02:32:00 +0100 Subject: [PATCH 29/39] Added example main.pdf. --- main.pdf | Bin 0 -> 126838 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 main.pdf diff --git a/main.pdf b/main.pdf new file mode 100644 index 0000000000000000000000000000000000000000..79ded932a2d085dea78e353213e4910edbbb457a GIT binary patch literal 126838 zcmb??1z1&Ew>AjUDbgt=BC&gKQlya(38j$+Nof!T6agve4iyOr1wlHb8)=a4kQAls zUmK5~9*^gq@4xr(JbUf6)}C|Cca1sX9b-;7lqIEk!F+H6j;_9jAp$T9h{e|M4uP;R z3%@E0zl^P#EepRS3zvh5k)wsJ4IlUti>N4piH$M35$un~TslxB0{9?xKp+qpeb52H zfDZ_yfme{0tNI zJD8B4hm}EJSp8?P)3Hwv2Izagj4kjFV?%!)8w~l~;Lx83zly#v`p-Z=gyM$2XN^8M z{O85N(0>>m_NUPizZ)Hfe&lzFOQA1Z(TCG_Jsr*teR(R5)2aL3^i(3JcTUlsPR{9! zeuMl2Bl7PsIvIY~BiNrc2?F|CpnPaBe^M%C^c^Sk;dEwB(Vjy12Jk;PAb+dOKjZk5 zsz83L(x(DD#qs~GHE5LI{6M82!{-z6<2E z{r3yC|47FWefGnKPUZT&)v5S?ywUgDr=mT5Ju`IY9~%Dai~fy$X+zOUp~Av1ZQ-c< zvzz{IT*ATx{0b&EW{&18a2Sf^+aCeY+{)3!9_VIe;AkRgVq|Me7k0@COAc1+lu%xtq-6Wf?R{S_)Eb()B+AteBIhNMf3P8teSH3DyZV@ zqdm{#3D@^minSti@t8j8d0dV$V+ivS%T@Ol6M7YC8aME^*{NRNxkJ?Ojq~b|PQ5{# zx{6SinzVaNi#=3+5B6Oa#UA66UX+ORBZ$Sv61EZ9BmP>T?MD>c z*Ql5UE!4vag!t8DH!ES|VH`$?vAYl)rz&zgc1{%5apg_wo_rzijEJ-=`PRRUo;w942Y+R(juDnTk%+G>1nm3`brgt6YedFELQz z(ZYI&Oa|rVU9EEb()3~5p7G^K{t?|)4-IA+wYfvPVr#$jF7(;SYT+aR3YG3F>$bUvNtkuV1c5Y2XIHx#Mr_>+}4#v8{Gsh z0Ox}s5iBSem=7hOO8`8_9(Vu?3~dD}Xhr?bMt-<^0)Vpo#~L&=wOHVAK7;_21qDL! zp-^xZ8z(C(-JiRD_d{q4`L!$Jv?~&Z;uAnX|I+oJd%{srJ_PbF9brG5{@;xWhYIis z0B-FsaKAgQzlRGGfbby&{`#h;GX6d<(!gA>pqZXDT!00JcAseHfdI3>&|y#o?LzpK z?QM-zO&nRYfeDn9X5m*eadl+*S$06z@09UB-UR^y{ny@Q^`?;R2#9Qa>oO`Fi?)h6 zRlD9o65wUyMAn#G>rNer5b~Ij+DkOUT+=7dK}p z9P=zyP9c{*o5h)eVU`7kUL3W{uqHRRQSwKG;%V?*3UUS+w|w?9g(I8<+0$Z7Uo@Q) z%qF0iiwyY2JOx)VV+{wMn?!Xm3ux8!5#3FHD08L!F=dY)h#6%7_Wq(!xs<6DO&ETGC$cU$$V-JdpUyKZy=9~zsu1>ay4^uc;+4}_U_#0r*C-^ z=or*UJh?_lvIK->*k4ZZMY?!(uLoZfG=FuT$AA2socRX9L<7Br*0f!@D`tLs9LOsZ zlih+}Obr|C`c{~|+P~q0`av-lopMfX@%8QosdvmY*tjExZb9QD{?epgg1Tc;vdY$H zp*5`B7~`?jt}H3!%w=tntYWui{jU4n@2wROMa8E1eklemlIg8~jdhl2d?wIUE5T~t zw>c3Z;}oP((?Rn#bVRq^`PFg0o{SXMbM_PH4kn#xneX(w; zV1g)=}XA0t?qN%-u4%IX(^Y&Fk|Rr1)X%~NM({s@Al*3$Ol1qN~)qd{ zIx<8EW7vq21?0Vr}lpsI`MU# zJkHlNsZpMJQecy?VSR|>uO12hoiU+}=C>Z{RFnVYk>KBa%>SQ9;=gKRV+%MqZ5ANL zqRj|)>epD{rw)$=j&@TjEO4~r0KUFi9sHZY!O=bexQVuJl|Nb8>7%~e?KkwN!w~SR zIvF~i`d0-D8%qLyaa((16Z=!o3DV`4<(K1^&_<640z9V*ki@ZQpZY>13la?GgMwi! zU>JfA3IeVnP(Hv_0nM(S`h>sF{(f?~KimGlf(n5W;DZVvSik@}6!47%f%(92$p47y z8-xFW>QvDGs;m$QBp(ck0#G6NP=Hb(kSIPF6!|}*`bKnrLiKZa`gddngY&@wZ;hTo z1O&l?fFt=(5Oj$A`x*R}9{z;t=lJ!1LxlwKAz)w@1QZB&K#T=LA$(9E+#p~uJ|q(L zdsIK?H{VJNKSBG!=f4~5|5oL{LxX_%kWdyd9L5KM0J8`ng~Gu9jO;H8_B~7d;Y$9m z$Up*skN}|}1^D1F2nzy03PmCQ8QNd8>}OW-f1A%g`~)0@1fU@S-3ReOKmarlhz|t& z8))CEMBlT#pXTys#`5pLLcjr26kve>4g!W?fddu^hWuX3{*wRwz=c5jGtqEt2C_KGdkz<*LWpdsrT^}O6J8ksHY8^~pP&9~P-ylXWA_F}_X zvrMrl^TokOlMNFpVchd?DI~+xG&D(CP&et)r0iU-E8}?TvOX+@FQyUmgo4h~6Sh&7 z5m(_DQ>VP}Cuo0cNOC(RoL+(G%dWFP~ zyI+2s=ZO3BQ)VCeixM-%4#ls9!or>AshyH}Ke1KYuoxahX7G_c$c|FAA88P=4d*s| zd8>3KYv08pB8PdZIlaF!fC&HTHbE4rq7aE?wQd=>!pDYDQUG%Z@v$ zM>pH&div%bUPbPYEv^_m5*0v-6tT9rcOVqsNL`UCXRmlIgkRr%@OqNT{{2<_bjgsd zdid?zb;&p^7b4{A^CrjOxztB?WmDO0q$m??dbyE(?4CpFjAw-Tj(7&|m%20zIfl=G zZ_x~W{#@Y@9Z_iVT1SR^lxpi@&Yab4-rh&1J0PrUW2<9o*;hBbl&tgSspQTS`#sH) zBfjYyoQMC4M@JIh81i|TPF=+7{&g(Iv&$F1j&wv(A2;5YN=62jCG=){jBkD#)e7BE z9biGFw-e<~f!s3|s8b&h@oM!OrARY4zKJ)k`hqXaFS6HQIOb$ees>}6G1RCVxk+mK z#mTqp^~KaKRFU)fk6SO?E@h`YfPS78<^584Om@!89NKtBTC!^`TqnA%v)(pvJ3%7O zOL&3}$AsH#(@D>n9GfreviQ+8jm@*C4cetQZK_|Pqp-<|@*8uZoAiQMUE-@Vem;-k?N zQvetj0p&vh#Wpm<1cQIin#`;mYy_|3SgCBJ`kX0a1ewK4&(<2pl|?!{hs^U0mYO*YNR$~0Ab?v6 z0Br6%CNKmDW$=H-^ee$U)zg1RtH4lzNus$C6rgVa?S(`6PWdK;PXP8?retPiD`;rz z`s>X7)sX+U>1q2j+ z5Pt?cdQU^n?M0!SBeBKn4Z4+y5Gw@-Mn|>T>@bWB?Qa6aWR7M-UK41OR@E_6=xF z`y16ltGkhtz16Rn{=F0rEC2&?JG6&F0lD5O_l5%|2nVti(BG5}e(R`CW6{4OCI|=y zlr8>)2#^*G2yy?2=vNCo4U7LGA{H0|1QasBED!(@6tG7akb??V1RJ`I_fDM|E`7qO5P1f<%jhC$h!rAO$7h# z(rWHaMcWY+I`7WQxc1(6Zl}q~CE?lCd|6eOozQI-?Q1-J;VSauFHfqVtaBPqUKEOv z`f>$$B<`4wcLj}-Nq16t@=@C=y}Ov~&PJrENAX+)evQJCSDh~1-ad+_%_iZ~OWEr_ z-7QkBnh)1M3eJJbEjBp#otI+f_NG_uKU>#eCXp)@K5vxAi0IRJ`VWpQ!u*>V;S8}83f}9>uSZ3B`s5NnxZ}@sg4P7i8|e6L1~)}*XlNaq# zk!Ix2X9(=$pgr`0zL$buNz=d>Jg{~ZQGACfb~J!`{UgJ#&-hN*!)~VxiGB{{{w+=KP5^VXY{?v#%1)LYi& zIh|};=28^YBpxpn0w%=i^1CRjYqg0guIN^gKG!n@dyY_Bzx-UK^SF~_Oum8S$g1Zo zbzkk#`EZ+Lx&2fz21?w$7zyOP`+?z=Ogm-jz1Ex_=?o?V6uCV8tsQsFUv0T}nt5>u z7}g|)P_H&jWKis1kjf?HecpMI6>EY1gC{q{9As03g%KTdc*FQ4QPG4di&-f!OtIe} zvgD)FM{b?Zl|y#;!q-6i8e(wor|_>1X47eI<5q@BqBl9%=X?myN^RP5!}M-d-tavk z2)f}*S#LyC166mOVVdAsyKS5IzP2aT;OVN!VR6`GNrDFRozb$dGp{$Xrs_0a{j~rf z@UzeQZ2{oa8~mvN0IXmDY4-oR03h%!kq2l5I$0O^mdFEi_4MjnA`eiDUlaM$Uf0SE?i zXJBW*e-J_-=o}I9j|hJQ>gS06???>+q+aM1Hh`X><0raC4TJuEh3#*+`{`W&JCcGR zfK?A50>b}51wp|8s{FqK^)uJ_zex%VL-Ii(fP$fSR{%5~i~txNkWj;cr7Yy{S7y+X zvNJaQCCNE8gMUX*U=#vK>VX^rz=TAhR~Udy3}6#*IFN#&{=U*+XJhsYD4_EXb^uV7 zQxEdr@nt}5{=Vz~OqhYp`X9SOAV9(<@E3vv7|uU+MIeFX;WuOuSbzM-u0Way1J<^G zrDdm1^84KV6DdPXPn|>j$zwI2sH{gZ^8NR;en2-k>tJb=ig; z7u;lf*D)~Ni~Jcct0Ne~6=s5;_p(o=>-dmK3O_HW@N|rCyb-uI<&^?(DlWeB$elV-22*f{D{-OkeiVq429672cH~w)o&I9OK`7%_dC!gM7BC zV3x0-^;#)Gj!<{^$m7d8Z9FAhWD>Ra7t;mCm=g-e4f)z_<`o$pfkQ8|DYyBsKDj<6 za?k(K>-oO^MBfvE`QbaLT*H+CkB?iH^V$V1FNN>j6LnD?A-lxFKh#Qv%1E(`ig z^7`k#fA}m2k`GwG_|*dd-uB1b0FLsvU4cRh3NZX%`+`BgWU#;Mi~xK(>^Gb6z@T5; z)^9sQ5Ww2~JZ(uPWeGUOOBEr!t`oObb zNZ=m2EwDcd3PcV#8VgW7gaAb$^ap(n1;#sNfWUn?3TO-TL-&CJ_hCRAU>gOR^L)dJ z78x|?_a85Seo3Hw1Uv_= zM8NqectCal26S6EFi&W12|-t=LBKg6e-!$8==np>33?8IK2QJ;+6g;J zJ+vuZWQrku;{sUjE`0bz*Z7X^>{QmKg7mn&)MeAUMpqy6pO_~y2_&-OjbRIwO3 zf)rL)t%Q$Nxoy{pU|=leCuexQI>oLRcnZ=9&|@mBc)Fp^@bV;K@+h?Pd_5UOEn#Fu zn_>vuyZ$UVm|SdhykU)bzFLd^W84|F4y*R|)m1M}X$(r73pj#a`FWK>V*N8Qv|_ab z8k-Xgig+tro*yHt(Viop80=6#3XLa@O>+26m zKc_5vCVxG)ObjSUt$Y`U)Ag0v^5hERAa2Unc^ZV+uAQ9+`Q1SQW7B-R~5B_U~HA3e(Ow! zKJNCZ^RlV5#yQmrdlGbOesf zRF--e&-QExf9KAUod(tQ(NCs(9IjX*UmbCBJB?*0$cP8T{PuGCp1>uzy4x%*xJU*a z?$NuKuYS-YAPbU@lI!E~#aymnIBaw2u6r2=RawzCrobR+MX+FIuFR`l@{<<8Y@^#v z<2q1JT)y?ZkO!!3MC{AhA2hSoa8y~%4)SO8*6FF_mTRBd4XmID}F{?j9k!zk17$`m3H%EuUe%qu7TVXuLQWW zU-+m&DI5EVrHGcRc)>AxlVHA#)X8B<%?92vfSFGCw$%KN1U@E69p8{k6KA`l z2p4{H4be35o`!gyzDt|t?8OStV#4XnJr>;(5 z)DuD49&cO{%av-mszxQHqAjw7nnIW(Bh?F5XPr8!SodSdPIBxu{|axdsi5lfu*Oj1 zg%-!L)^~X6%rTs}%B4ORLgdff${oOqn73QDmbg5K1zo(5=c>?Mw>T5&5;xs6Yj@j$ zAVPHd;1M|&UXo;E7FFZ46({I;x5y*kWvIzg@S;AYqd^#mquBci0bW^(vV z3QZi_Ia`q?$Ib1ElM;qE=K{lfaLGJqGM;Qsot%x~gmOQk@KjVj=F7Y-unX~teh@!P zviGq!Tj0PY{s>P|S6bRQ{jLau^VHf0hAx|a4Ct!;CE~9GbGq(6uv)K|XRo|$@?rqS`Z0i55g+fuKq#up7I3+EZ37U zEF*{=Nh_=RC{t@op+xbN5T-r+1IMsfMCnxF4rO@4VZv2`HAv+v&I5^>^A)y5Z{-K_ zT~e4f2BosENln~5m~m*4c^dl4XK4HQlE&TiLG>-pVVhM!rqo0ld#Qu)yM6DYyt~ru z!mTMZ`WeJD^stRz=y=UtuwWb=+U@aP(S{JZO^ZIrCDrZ-n>*5jq$u{yUs{-=F4f!e z@4mh2Q+zHO`ETSd#576i^Vi zM{a@fG*UUT+hqBya;jxv?Z|ENy6Z)a-p_J#^Xd6LOm@S(AHO zBR=juca|9g6AfbI2DH_7FC(3+>CBz>n5VCBL``yE$ep;H-^fA~&d$nitdK2Q@9Xy{ zeodBVc=NdOVjnY}8kL#^oo2fG7iFrfLfh)j^YxWpm$1!Cr1TM{FQ0gPV!MTky8;@W zc*>aFb1|AFf2CY&TJ$zzCd|Lj*rKXMxA`KcZXtwu?FJzPIcufW7!)*zQnNUp#cweZ ztRM@Rj)o&J{b_?n`LX+g0?&C=d%utld|vIKEgW5KM7yB>YN(E)kItyT#VNL$1)5Z* zCa5y=MsMpCIp~v0K0i#p+$XBQ=h%_!PE(&BQtvQ%Vv+2z*!(LQ{mzCV#1+nW4nZp^Xj%*lfo3LeF9_ZSm+g_C9M!k=TIuK;7*!y+-h z7-v~6yEIe*;WO${UAMBy=Badk9HnNytYJ^J{aW7mfFl1>Y1;e5+f4j{!v;O!+A~Nai)38KM1n@e;)q9pt#l^|*`mj7@q%9~aDw@+!C9 zMIOcSfjonu<25^HTlzac)8&!5j|qDui3?<^Zm!JBPI(#lR$id2m@0f$<=fNrq=!*N zo*?{*$bLHQ2*%#+lDtj6xyaWv-Sj-}>kArP2sbQ5ObMIEIq|&c?6vDH&U!W-v)B$HD%qVu_OAk5( z`XA%Q2`VF4)WWI5-WROgvE;pNDY6%{?gedX;+O%0en)W>HVRM*yWSw?-SI<#~Q~dJ5$H2n)N?t6%%Ud6Qh-sOQvO= zj;~L){Crp=qhBzK^=dHU%*!1+iQ@iH6G!QM_z}xp19d)y$jB_&5Ef_gSLN~x$1gS+ zy}a`(uSexkWu>v@kt017TB%YmsJf>QwY_^ubFkQIpzVdkqZ7NJep2}E$vEEIXrc=h ztGC!sN=MRgQ_tb$=*2d1>hg0$Axo(Ar`u=-qHWCdd-H}|tc`pYZr(QF@+VUX;olnb zh;J6AH5Pfo@Z^eM)K{H1TbGwyjN!G0+-7ZjjhSxe*z8DD?!l4HB%yrI0}{JiP#^If zce&&B4PbYCire^o9!t%-@t(Os$to0JlM>lZ8m zHG{|0Ex1iT*A($7rRuFnG!2@^=aE_|H0ZLV$#)wYW2@` zYLBqIE3b^G3gaE(?OWk;P@Q3@Z|r(~GhPxOe(M%rgqk#Yd^_ofsFxzjDe}~}ukK&Q zHHrv6#>|Nc8ef3%Cpv*m?tQSHz)Z>xvc3}_?nBXjCmL(f>49-AKOJ*e7u_3utXRh) zt%gLxoijU)TNhM!Hm+r01(`;7G!T2t%(u_KD8ak#N0A}^kY)$(^-~8aq10U6uAEwW zfkYgYmiJO=#>n2!UbI@eb^Y-M$&O)9T1yAVf{OzC-Y_TS&fNIYo&UVLp^+bkTP}OO zn2HA0y3lLz*;-AjPq9SYbLD{la5iomHGM52$th(nB^>#Q+5b^BV-2y(MA5?mA*su1 z`4iE#)aDYI!p-8O%6KmaWWM&ryx84qJGZ^|a7&x5ekChm>1dYQ&#<0hy7{gU#slTe zE<}?KH>PTVWxS^4UXrvgrMr{aMscHTW+01TTd!%|M|G%DxuiPzXJia)DyOBBi zHgfy;#_N$*a=&$_Nv%?%>sjw5o?q#P6B5crF6lL?HU!>n^oAx{mprh?wM#jmQp^dX z+NHRAy$h4x+Oc*}@2-1iLix@}EYXO_*avzK->c@2ho@wy%%oO_#oLzMKr$Z8_?lqn zt`YK)%cWC0PwjW}m@*Xjf}))-YvO9Z)DFf^9WrCgo>Y;blfS&dk$sM2gAQ9`aQUup z$f3KvfA8YJ4r!xHB-L8}vzb+|w5|IJ4-nWIFL|OE#it#6R}h$c`RePuqOarY8U2E` z${u++XmhaSu`_P^i&Sm3gp`@fccl2ZSmiwk?oT1;UL(3knwy)gfR(mfjlJwH@<&_-8R)@@dXMA~NI@!NWoVVS1$3U*kb0$cCQmo_u;BVcE#yDvd;FtuE>-H}NGi z=v+^+-Xv5XFS&W?0>KE5Q&1Hx0d=M};d>v^L05c|q<=INUcK_#jG(Z_jdru+-UJ4v;j{5hv>D?3b+S54j zE^QGwfUpcJ`Vmt1vw7rIEcR~+ByCa|GgAq`&+u(yY$@B7njeQ2KF1)($HvsS3U4(x zCxGwNsl*rSm&fn7$X@g_V2vXdAGLlt9565eUiv%XR=u&cFX7vQ;;WXmfl%8 zfk7Rwk8Nbo)hX4IoT~=J8V?)>c*+GVKL>TvQ{PCc%#6Jv^Vv-HmU|!ns+3+VlPDA_ zrO!j(R~7E_HGcVCeubxc>+H9Gd27msxD?h(%R>h zOqx@u#x1PAkF&3CJXpCUPjeGHuB%>|`hX}bbN7W!ek6ILR)2#B7R@Z7ChI-{B4xxS zq{;H~+J}56i!!=cICGjG()OO;t=`)a9y%uWJvUtw-d}$->F^l*AS#b&H-EMS4?F){ z^URs~_(Tzy2i~imv>F&Sgr(3!QcWnz>x%DeIUVo)GrJ49X{ioPxvQkgo2)Iv5p34s zU1`^kp1z&ydGq{GO}w|P;qk7*v)u4!jpWhiB&c8F(z0nsEMDIgin)4}H8w<^*@g$* z4)G&+L-LsPj!?Xq(uW$6QayjB1|M2M)>}Qq_jL&UGpkPQUwC55;)FQjFOSPUQfXsd z*BmLL+7&?sIA-am8I{xtpKD(?CyWTKBdVA;9-6DQ{6dQpY;&EcEn{s)mVZ?24eX{1 z%UiyQKrSq&Ksxdhc2|cNZWMGFnJV$ief@k_G+jcQzlIY}heVvmK|q8X^O%jI+)>(U z`1~|2g&i)oLq56r8Q4+WUwGe5U*EDITOUQmX{|Qn;tlIub%rN1YME(-J)BWpPF+JR zW`kR=(+R#kc#@o*9IVW`Pi%u1)15Za#Z0QOeCP4byBd{OrEoc@V#MRu&tzn&O`jo{ zp7dS0Izw>wR)dD@2R_$ zVa*DwUa|I!Ya@CXxA(QS+b%*gK|FAsCaHcF?;w}o>P)(N)QBj?S48lfzqa0tz|7^T zmZsz>Xf=h2z{RXUQ+B)sIhp8g{(Fb%6ePaMWc=mB8SL~2D)%}29>7=5m7fo0CKZt7 ze8o1Isy}|^&NKBCgh5nR#uH9hkIsqVn{x5yv4FSRUAJVuvbsK28~HraqA#a(_->5B zsUNI)>wxoVG7nCE$;^k<8+ercHGPBvv@-^!3Ss=o9`sdDhpI!{EDMfhOlA5!G}KV# zgdHu+d#|DIi0hD&>eY@Z?oJyw`SecgWnyq$9+pW@3xv7ZB^-FonfY&Bn(Cl)Cv4QU z4QP*R6KwxPQe5#&#@53X$#6xBI|<(46|T;rph z@-3pQvo}csqRT(iZc)(hT@SuG}DASyHGqw;9_8Kj8#}siQz|8-%p~DH@g|t{6^&3y+cf1E~;(> zb*pmL0NH@eqRkZ*j_sj)u~l(J@(X%sp|rUM*dccUVRu_lye+T?p`8y zQ?a#GdVJXZ87NxV^BucTN;Y&q%E@Am@brx^Ap-I_REk3e!^X|Mba9aS5fA6 zSoE>94{kfB*g^4$VJuf7wsAF7S0?U#aA)ijB@Dfs-493CMV2;i4=E0IEt4&y_Cmi9 zZgEADEwr;EKPb8ueeIOgx!5=pVy3js6G8m8Y1v8S+M;DoLxAqmeQKN%-&-R$Q3L^0 zR19}G@eE37K|&UcybrZwm@M*MNHBYATay(8Jcf8C)04_+Tq)=tU}5rNDUKIUR+o4U zW3Sf|x2HS{XB0TTK4KPwJp<2cEtMaR7JcC*WX-Rn;3G6XO=zA-+D%NvxIn#5d}IMN zQoQvE!evWen_x9jlb{+GTw51e;xK1Mlg_RhwdF@Jg!$^ijQFJQW>qH>cSCYd_)c%DwD}}-Y`lB6T^&k_owsdQD(2f%*7x)R$1_H0Rn)S_bT&!c^wy$6 z{msC$%J7Uw4{L(BkmvTZeeChPtukhOsiPL&A@O4Ip68@k zF6^wac2R^EJ+f2pSa(LOUZJ>3l1 zJ#gLGur!%{PsxgETi2*WR$DLc6+;QOvu<(c+Tlfv$=xIUVz&M4%ZMpp44xGzO%y-blVG<|{n=ddkvZy{zY;OLw9xzwjN!*Mba*@C-t2 z@mDx|e$dd8Gg88EE&nA?!uUQ}#zkTwSVZ!1CPm@VT3LBdF9$Atw`z~um zeiSLDYG!4ocWq&v@rn#8dzX$!KSU~y3+0ooxy)+qNx2$(#}#WwKBDt{qRyH0GMvcA z1U=(@xkUE-8rhfqP|lL3`}BXTZ5x!+}^EN#iuo!^^w<2T(f?I9}Q4 zMBg*{UBsTIDqJwfwC{^(LYIj(b-bRE>06@;*z*0 zabDTtQ%fsR*5qaFwSA;TMz4U_FdEjw>k316cRIudIY_(l?<*DB>&q6o3EK%UcMFYq z;mx-rh~3YMHM$5v@#)oTGKp|+*mk&aCUP98727ha4s%v+E)X*FwsqU)C*D@_Y5j1) zsp_-eZZ2_nC3Alfgy1CUDSW;@b;&&hSI$$>fBWkYZCV4fVj%7X$R-`mTRfI&X_?6! z$ZWsed++Jp7;lK^O=*^M*@j|y={eXPvP4}AkC&U=)}Svx<=ndv+ib2D(Ks!u6EiN? zv0u!N39r6heUVc;Cm_Ovb>@ZdnQ|X;x^zL=QDXW^o^7JqXN^obNzz%HgZEorAfaCf zv&ZoE@zT}LhG?VkL)bI37rKy5fyQ**FRjGy*CueW#q!n!Zi+|?*A?N-pXH;!mZWPV z=&`0&mdXDxT%;jb`X+eY6uVQe_pDCOZL8b+j*A0t^+2PKm2gPKbDL1imOWJO*kps6 zMvs`5XJ z^A5XUmy=3=f^mmmQ`%fssp=5&?k63!1-+64Tzo377fK~>Nc0!YQ*>qLJr#yr%SVK= z4}?`7;q_{rxAVx(naVwK2Bov$^4b(Guq+tVg~%gwYnjTeL@u)W3%+iQX$n4OE%wD4 zys%YZ6OZ*?tkXxtb@3*wI_rw*jl-fGf;5J!yrQE#iI7W-($`c~YBD0Q20u{@jnLJO zJ1_}AJ={@TpA8xTT$W zvpZM{-1%l-KI}#ZGzxD%z2e$lQvu>KIqv);Y0}W6N_uEpuOXXP#q`Ks9 zUhjv-GcRX5bhIC=^tL@d@?g<^b=aBYX2iu@J0D)xTdlk9YRhkw!En%h3=Q)95%`!{{Wl zEEH*3{USwMk{uUEU-&_yu&Ut6N}t_GZ_rkn-;5hOm8-Q$tiVo;|Ch1A7C5EfOY)q( z@|_~~QhkS>UCj(7kWX$c?gDim9{cKDO(I3H3BrXYlI4UEvPT1~B))=aHoG1lP!7_s zu*cioumyF7iU>BgThpFlF`cziUU@pk(SK?5V5LitC|4u>NI?^$6V!iaM2$EL zo66mS#k?-aGn0rp(0@o&=D8Ejt2VmSsaH)L>6A|EDX&R1eCxS+6?6(xibLJB&%Wtr z$hSWNjT~RoA1I(S9Z*76fc6tP*RUwOlbJ5>VRv7-eqVOim}}lMlY(hfJIQRXMxoO< zJhSG&z0^)%$x-Hf1CxHqhsR09>0fX3yob!0^{^+c`1JIu-_G)@_zZ$cnBVaySjG)A z5n-01s(Bp2!i4P6X5JXNs7&#qOlBeVnyuvVBc7zSCu_|rf`!Sd#Xg*gs9~mpNuQg0 zc_$prJgS=GCWFhoAB_pqpU#MBkFb&?cK9XRanMcln)_s*ft!kia8|^+9B`PvwpVf4 zruhO1!*6P0ARic9Si4-_uz9{`;92@(TTA*;@psMv9dijr8&iw118+thXp{|AFUcB? zfe)9CU&TQe4PufPu8GYugtT0>xA#)XD+pZl=C;ltrqZY1o30d{X|I=lmwV0&+Oad+ zcF{*v@tWZ_9S0{)RdaT=w9_5AweuWNy2p9y$F3O-hs%~U9Ddg|KaM*mo%e~!|#v6$5^=L zn~{`M>WkrLs-X<9{Od_B$RXF5r`4m~<(zCTwW=nWfqC!SC=`o4XfF4e6MYV#CvI5p z4r*=@(<{_ZIy9=J<P+g|$%0~Gi zq~zsO3pNJMXDz+t_KY;2mn9uA>iaUe-I~KT1a3A(=cZ?441$wn$~ThZa4)EG^vs;I z`LLs+)g48YWkw#)K|2HEEq+n{nF!)3HVU^<)RTI~>n*m*JAC#d8!N3apIuo!=<;P~ zfV|eY_THeU0F|Yz4gd9>$v}fb@0&WKpUz0V+MuI?id4MM+A$Ne)ZfI_#w*HWgkIyl zsU)%s6q;v)h4kgB_?`sOl|wJ$Oo?S zP9Mh1N!45|{bIph5qp)5$Gnf9J~ft0j^2TfXCIh$&s3R|E?qMle8`wbsnWIxO0a2p zM&@D9^r8EtuZ|DG=6#| zCN9@Um*P7n{dt@3kdqpP2;8UYyIuK0?b1a4P5YUJz2bze>(O8Bj4vI!Jr_Dw&&!Z+ zEEIg@9o>AEY~13dTt`ac?!81%f~S4lS^nKztw|%cNxT~4J70Ax)zb>PZsgG2&vv&< z5En?GFK>)5%UPfcqm+bp@@1%>ixIn=nceH6KL4JQOMouG`LV8{-j@kv;k(YwUfjc_ zR%s2`#~gJq&E(S_h2on#){Qxa@ggrDid$OTF_*$5RG$=QWIAN4+V@=J+N*RoRYBH} z@*PE#Ek!FOvrMFz@m4m-E80!#z7^_+jD85YPUcg3m6BL-egU&9_VB4~g0U>Ycyph_ zc6HBNMaijP`Z7pQbX3MN?3}V@SUuy;(}{lN&JH&!=4OX>mCUJ)=D2cI-|W@%FEzx~ zOPmH5ja4^gbGjmeI2$`hhVXUcL#(3&GJ{n`YQkOw`j`)i4O;3PK*1mFEtUpgBu6d- zaW}@14~upiGufD1#=;q-8M4-BgRaJ8+kuo;vV5u7)LGU}aPBUeqUj5+8N*p`~<}O3K~E88-_a{Kh8IL*16AG=iD!Sc}Q|p>gRE339(U9d5-!1p@G=baY^}EvL-)_FjAjz z3=iA9$3EJ5lZCiwR#j?k4R@ZVuKJv7ChP$(CwHe5IohKWcpc zAWRkeb`VU&J}aZ5TK^@r{#_;LIj10A@)J_|R~>24ATF@giztG`0~9i_4djF0Gh?aQG~Da>VC{FdaWgQ<;5L88B@tGn0BHE5nqhZR*UIcr zDw7+^yq^22RI^;oLyg-<1s^H7B8+w@Z_E!}QpU(Wz&cn>HSKfuQe|*|5k3&QhrGe0 zE6HZ!DdjnpWh)WyLNKD@50ORb4c>u~$4irkW7}d25|W-5+(TJV6)sd&5Xf24H{EUX z_Gj39z7Fqylho6fw46M8SIT12bSiV|S+LC2C%oL`d6s@fa9XTvUO(w8C#igwBgo?@ zLy-BBdCwc-rKba~-%fk`rcgDjjW=-cdQc(Ndrj|{a6e9NQGJol_GnHcxqUf5uO0UR z(5gnNt<<_mE9N~NPqw!=k@;DS@vi@a%?8^MW^ZvfeZHhggYW{$(D3A`} z1;wvHTpv5}Mshd1>$zF@M-OEV*(i?Erba{I6z*Q!_^z*K@AZNz9Z86=cuHK1GLH%B zupsYbD>U)Bbj{1}+P`QDrT0`65K0;B^ybYwROYMdRnxy1X+pYuvA~vzX>*b_{E52C z;0KWayBoEi+*a6KTi@=bBxDInJrYOaMXIy1gm8^xdSp+N=#1D}8EH|htG!P@e$u?6 zh7c)^Y1+po{2F@ZuqK48Q#~0YSwLHIXBA2yP@*Qxse%%FxdAqQ5G!n|Zg7vfjPzQ4 zIBKzLnU_gRv44L8Zve!gT`+Y8Bj=7n{;y*XA90y-O!BF&mb|mner*Oynp#}SN{y{ zgPS5U@X-r(&iM!D6rw9|1Mg{!OgYIUzYsCKy}5DLi#l{Ai+Z9Y+7$z#HK60E>H@cn zT~IjQ^k5uu%OB-)6@L@*j_*-d7r8V>1ss0Ot>Ocfq0qb}C4Md?jf~jkN(TL~RocPF zRgXY#YKjeKH{K2#u?`t}*J<5ISh?NA)uHb-WJ}gTeUF)^Vp7T)?swtPKp2l43f3oi z8+}`pg+KcpU*xT=!^>7LI@^`VE>5tt&-9t@$Hmw-joKwiPp2m4aE=BQ>viL#L3uQy zDcXxgQ(I}*j8UZq5piB9MY^uboyPb*S=aLJXIEE}+ZtLDtCA}i1enX7?ptn_Pk-6#9`A?Do z1J!af&t?i_k~<}yg;8zGPL8MW1nKA{?ZJ;ctTpQO#ZnMy?DShZYvhV}q7cfh7px>5 zFIA|83a;6;1??(~dC!HEIgu?$nP)p^zbKaym?kUGj?$2h2rr|DQxb{-+oyyQ*?5-= zALM6NgZxWLmh^N>4VvP)(zRdFL@jP84U!hc6VSGCPxtY&3R$PXV=>zvWQ^NCQK@@Q z&J5FhPB!n;)Y@byZHgddGT|+~C7$;G07*c$zYG)$ri!G)Wc^ql^bw?PPn3!G*UV^v zIvD+5-Y-qtMwFwm$;ac~7oVB>tyvEse7s0UDqW8`*PHT6QUQ9+XBZPLAH^!F86gh( zOI0(dW6VQsCSI>$Z#_;oTk`d&h6)(PNAMD+O4*lbTxzqdp}>UK{eb|#`F5c+bn;)x zsNj#^2dV}POBAB=zb!AVZg`7?^i$o!o?~VEgG{EQnq@f5bg$)Ne|3V&IPB7K@mUX8 z|4jFfnp$jIAk~QV?;y6^s56!Iw{m<<;5=GOh`k#DXPF(Tp6q15ukAn>m?f0_L2H%VdG4_3R>j>S9lWm93my&M5C8Twgf|Qy8*M65VU5o5bGrfU;_G<4ar|O~sf0UBt_@5nAhcmT4 zq})?$Ld98E4Y>o|DfI;NYoP2;USxwMh1*MSv$4dJ>YC-Kgr-k&Tk#9l^AQLuwzy4y z9FM=b-$S(?St7TublIQ+X=C*0$+zn^t-G**!|Q(JY~`tGsmgL6pTJcw=FA-7G!bgK=4oQW@MP{$t zsu_oOo+`jmQ^wDWWy)BYj$oYB2zmRw*-ht7rY_*6zOD0}zD<~eP}AxL^Z}njD&62c zD`-*kW>Y|<@@OPCa`fZ)I_VlPOfIr#kt~b9BH6aZME0?RtII#t-3=+Ha#oFvdK)wb zk1=0fS$9fM$9G(N@knRH3hj#c82(N>tp)(0qs8zQ0?L4|C1(m7J?8Fxq>X6M$wjXZ z?DGh44oJ23Z0UT_-lo`#4g6(IJ-p6^o>uU92>m07MX|bMP7{0)AzDZ)1MCiEOlXe( zn>hY8Eec$DB~DeSijC-YbTIN6xBO#EI}^xeo$TkW1wv9`D&zHyA7*eZcP}k>x9qsy zWe>l*LJUGdFU`JC_oSYHhB1R!LCgEo2h7()Qp3!ono((%gw$nP+5tWp-Q9gS(XB} z`-sX+Ip05mTB5P$e}P#wj%=Fu+D$rCO(^I(QCQ^zU8yhPHCl-`nRcY2}2jb z*1JCaHgEc8@5$j-tLkf^mwlc9mjIQ zc^Y2GjdA1OG;(dKX_;@o#8>^b=x7it6|>hLHlK=2t_XQ6&GRwRP(+Qrk^=tJgYoY$ zVH5ZHLaQ%(IJJCj%W-tUj+BEU(lo7tIL7egRHi-Ah$I~U{mBjS)^Qg)qDgGe(*^I@ zE|7<8{9Nqu@bU@g1XfmHFDEpB{70iGstJABYec&?#1h$aeelOkt2np5yE>yxOOIq= z!3-uXP>O$p$HfefV;Vf=r#1+nU#=38d+YBac0+u70b|;&=XU&UMr_oZKoW z>aS}RKiM0`hupD9p&kdR%8zaZTNMFwy$2#fcOtpPPj-wENK4*vD_F|0#n=-}&{~a= zjTA(m?8@|w>K2}pcy9DHO7t)wrMO^6>V^rXym-o~jyn&5g;g(>nh&s|dt`U6@QC@R zC7e76fo`cPOd{vz4G+yt@@j(s&9t}cXEH1AqYy&$+w4P+r6eyOX)@5ct-IG3LJ%hAG>rFB|7D~Z5Vx%jr_EJk7r^*Wc%@brzKHM^vz^9I7dCR2oE403 z1WeKAjX#{;HOi&nYmSrAesaLzBs8M_p~XA}FPe5ufjqioqU&eGSx4u#AtuWdu=741 zj3{TZ4-M)oG+&B8G9#U78TqkBd^~8j^8){Z@FgWrSW`GIwm9 zr{+&7C;yUUHD!&~6j;28)~A_KBK=%F{a)C$hLm;yv05@!!*g^?3x;}pl#>VLLLm}W ztreP*ihlIZGo2HU3V|6LUv{Mnhw4=|Y*bMTnr-H;GAeXXvAdKSaTa=#C0IiTZ8@dy zzl@S*09B(!%roQ&hvZOX>_&Om{t)xKTrU_a%I1NNBB9M}%<2b?8&sA`X+$lc{YMrQ zLjQ;pc(E5fF|qw#$Z-gxT{J%q2rGWP@gh9c>YModi}7UAbSRYt*|q=#H?7vKwC^gD zKAjP?ZOee+*OBX~riy>%PpDbin6|!TJGhh1Zlj{jn^-E&@*DGe^7$&kv??)K`l`=; zslOXIGwT)hV~MDGPHA#yDk(%U3xOn1elH(|kjUwv^RGlJkaiauv`YY(4mTI8MWkPH zk3UEmnq|TA`y6WdCQ<2+S)uk$*+NqsD2kRKTOuPSsurhkX6>^Z=2iTNhbrp_vb`MH z$tlMwxzRir4Ty8W+Gd_v_g!O@9yd7zZopoYmlhKC}M9#xQyzKs}1ky?# zD^OglG#O#02S(+kxPhbS1nRvPXvByxe6A7(=WPluJD1=1b90rb-C>>NvC`7)#B4Ltn9{=_|GqCah$ufQS(r||!;|H~9hrZ7R z%7C5J5c9~DTlMU1>;D?g#;09Ts1CE{KEQ+d8rm$ScM`>Q2Kx7NODnIf5u! zWg$_uJf>m8hL+}+jaxX}ROPN&M~^o^T~JsQJQ9kP?l%Y9ZIIUVI8a23RTTRO7TFO8R3UOG(M!(xk3qZiB;!7HbO`%*^X%uW(AcN&}MYiCK~HXc!%Ygc_fBh3rNvP61-v0g6N-} zW$^Z^?u&MBBnJmVP|{;^YoR*jJot{NZYR$cE$cg%fMn~Fpj+HGg@@vvBI3|1;o&2W z_$LITNS67-4Qp~YyKD}4Sre;mD29Y1pHuB-BI@jDigbt@$2R>)s?&t@h#kXsQv&bO zZV`lgS+PIR8=Ooxek^AuZZ4gD4WqLiaIlgNoCDaldA;(;o2vYV5akXsq3aiB!Y?c_ z)IQ{H>6p0dK@f&^e+aApAZ-e5cOto1k|c1dlPeDcP_4s^uGbdJ%zd$sZ5(3Kc?yti z2YR=Wl;sMw;35DXq~Dk_!LROApf%z}`NJt`ZRG=}-9L+*fHV-LQNKrP+&~ec=#fPJ1iTMHsz>iY*vGv3+ZQ3ff$o^#BQ7Jw zV$-1UK9S(&YBXCm*>PZ1`>sFjO;03BVG)+%NSW7d+X-Tv)1(7x*H_(zGXMLn1Ln7m zDsZWK+ud!^#>yN?3)_H!a5QkMevvX8#W-%W;TEZl%(eB%6HpT+XO#{{c#N zllUt@g<2EGMi78pU<|a?@EHw#N<t(nwp z{y4BB-T*!PGUM1Tj#BPOTGd#CUAHrgZZ?YZu0YrP8FHBc;m7n;E3=I$@~3`w?QvQ= zPMlI!f>uoP zDinoeD01}qdS7+S)G{%*R{T)$~%qW|Lcr`jMY6kRzyqaPIa)X03FhKKc=(%`!} zDUS9L%4kwPl07Xa2ioY%3z_`T-6NW~eaut|1Rm9=A6Q~R7ImA2iwTUeVd9$fG>6h4roRQfYxCXKB_3LQd@p#E>Am zPJZbM|AT)V8so}N^LTYexecaB4V=qm=qQ8%LcV>B) zjiFF!Sqi;NA=47XsVgNubt%nBExoMOgS@NPo>V_fhWA)ydjnu0Qs`Fy;9LsIq*%^@ zGw!lGkRp`ZKPUF3mHDkxznj!OS>%Em&U=JV^BI(%IHs9ts&Ko+v9mso4VMOh@=)kj4K$0^Jw3RfA6whg|!)VHytxx@_hhYl&8bWsNZBU!%i@&81c|oTC zq^^42V=rE8K&kGGn1;)J`X-BGG??9H9?)sj1WF}_U6JW&k9 z;wMeaF>WjK`OJ3Yf{N2_=;l7pxlBeBYOCKqz;&nw`>Cq`g15tJ-HY}~v*Of|6b}u4 zC51Jcr$0Qf)2l;{mz!%3r*Yf$@&)1>Y1;6D)p3xU>31=K0=FV=+HcMv ztQ3aQK%H&HB*#w*bTiCBerf;GV4_KW-*cntCs5CVK+_HTjlaJze0YN{q?HwRBxwj+t8+3#}pZxUh_qGHz0g-K5T?3aJTKihkfp1g>Q-fBM zf6R7pC8I~*?4*i+JwDUuctm@okdpL4GQS!w&Wg1>Mxq3bb) z-z~Xu#AaX4&)T-d<|FxZoXr)aSIej=otQ;2KXWK}0CC@_Okljcx|0z2G-(8D$NY{* zGMN?^MhM0$-L%Y=RiWfO$ie+TT)cylFborPx3>3L+qP}nwr$(CZQHhO+qRuAmA_JX za}QJ1(>-$17f>SqJ}e!V$RU*o`6o%R@M3J2?(I($({QiQ@UBFO^cb+HF@uWnc0%j z^Y-7s_WkHfVo|N=`n-sg5O;MCxUu(dP$Y6NDQaCSetC zbqRh!I}h8U%UI`sqZnG1IvX3J57-S1mxv$2l{c!a3s-$F+uXKCUWGj5pC~^21@O23 z>H??^Z3+?br>32gA0)2qDYDU+D&*n{>lpPSiM#s)(px3IWxYL>(|KI^&WJ*nf!@Cn z#C}Lyldqb`*FWs?_FWC;S=v|B2qCLiSssxZKu-^&SR(!Y68Qb^Oqe{P#(!yN8r&l7 z_d{0B@ihwZJKx-86K3#iglcmXzD4&y{^a;du(W=zB#NYT1U+ETMGx!2kJir!5va*z zsn{l}M0o35vN$7RsLm%>yx>bhe0GjP!KDH0V)*J}7pe#YKKDr?rt9n?fuhC0JAaWl zdcbG`ySL}n2R*%@`lREdm#u4Pd-uOR<@2S|g$Hi}M51M9)m+Xq%GjCN=}yb5BT9W< zvFeohh9Op>>3A;D(6Rgtap6Oqk6HZ(wIoh%B(VYGxE$Sx?WqvF(P7$N`5+t0oDryW zOPAn77Q7L zNVN)k@xc`XPZ9(wA+3;u~^}LfzJeNQG@*PT71(TD}qQB77ok*&~W5PCn}#0F&OofF@5a|*UC4wihY$JzFRqWSdqib#us-+U z@zbsPh@$~K(i%rPD(qvV%`0USYT%VFQi{CKxAj-2ZMJG={sV?cB!wDlggjsx?x2)6HQ&S52?uC7iv+LS~2Zr^dJaF}g-8 z4vH~GYM3WpFi*rzpoB(Ra6qS~1W8Jj1=3-dL?D1fQY-=GuMG=RJ0L2cu}#Yo6w}#p zmn+0zh6(ANRUBB@_g0RU`PB*ptc#wxVOCn#bXClSuJ;fs)1(G48UjG_|3r#XQDW+AcEGH_qlL>h zFVt&DKTL_#a5`dT@~005-zbA@zlV0_T8)fZ<|AsY>6wyyIk*bFHo4T`-kn%`-@_)o&tt6-P;|g)Du;L(&XJCw@pMIdZB} zD&IQN=CoRW!cN&JA}?&ZS6zv%^Zdw3YDeLfr8zkll2`p2JPI6V1ak3}j=^WadC!e7=l6g_r?NJE^~xuK$pAhY z12mrf6ZcUx9+Kic_J(EC_FRigrx~G&>D{e}tqflbbPMCPX7G7Cxlr=Em(QhV+o9$` z%!xANJ$C5cw|0}hJQJD5H6&p1_562%1UZ-(K>&d{W?a<-{0_(lQ38bzzGZczrl^Xu zS)=E5a=H6vZu=C{=~3>D8~&??G8l8-PhzQn8 zf4h+rDzLC9A&v`m(XM*&~Qj(uCmSQMsAWVXdWoNN4c~dO;>G1OX5%uj;ht$ zT|?gGblW@SF{{U`QcB)heyiu7@EEABM2H9!wAgUAV0J8nCF7g9|g z?&|K3_L2uFk;DXx>!*xcikg+vNFbrVQM&)<$2CqZhKu~}(&0iUr@?QfWwq$XuOj&g zhsj@xny=~D%tW!-gbRLEFU^PH?zGi-E_I~vUpYqEf0;5~Sf?mL&G}|2>onx*O1+<0#4SB%j-rvFhV92cEPQ|S+o(1CZ~1#4_B12c9SQpd8lTXt z{DBvx`pOPB^a|E_%RZ;k-MRz$?b4xYr_mYnc{Vc~Ue~+P`~x1<959ubp9(OMPt=ZYvb`F_s%PGm1wGL)pH1M!{Z7fD@>)BiQ}q^~bc zZa!dKrF{JZf!Fw5GYp^u$t{*%+qQEMRV>z9B8jM>oOhZPI5Am30kUqPau{??=Rdy_ z9UbUE(nodmQv6H0G@G+WX1pk~?SOZMqrrZxIx0d+u(w>;A|mvjNjGZa&lp|}{a4{q zgu_*ReFOpeS7mA$9lrFl;PGh1L%Q~~2vm-S96Far(wfMMl*uZP+mH(Yzol6y%$63X z*QZ?&RV#ru!yIg2W8%TLLEuy(n^YQ>qqD=b*&cAw5ag=m;NWfgx$AYO%$ms9uMb$Y zII2O=sqISTd}VDG$90e4>H4$H1EOaE0muq0@(p{wPOM7@(>n?>{pfka=O-ox_ ziPKlaSFw`0*DJCa@=IApOIrMQ7hr2>cKK+!SfcLKE75fj&@5&qUGmmw7eua2*OaFQ z2G^o}^(>on`@|3x)Wp)(eB=)jT$dU#1q{~jqU(Hi9t%S+Fc{@*)^;+v59Esvg~yQ8 z?n%nmo&C>F-qr4p8#H|k6Lw+bztqNr7jcotKUKMh0T;foHMp2@X}&|)f$6tQmaKqE zJ_42;3cnRzWywW9NQummS#zcPy*$@1i#NP|*bV@lkq9T^=qhv9}V_TWm zN4_wa@7hS%vFpS(-FP=AqYqn^E`zYk!3EE_Bs9_JWvX{fz* zeALdQ*f+HVtofML5d7h^hbOemwK|3`xh$4Nf&vALs9?wFR7V91Zg8S)v2NSD!37sM$T0ud8UnYZ za__c|G0mO=!S4`U}n<1ILAmm6 zcvN@8%Gnu7B%%2a3IDi6qgY96xa4FPD9mO$x)iX(J+6?)T=~>sVTv9u9l?4%0bqDE zVl|K|Zz5q1zDkcq`c}Y5n{-)jGTybhGCnll*5i10h<;##*!~}#ts>GiV*F>p9v2rs zNeu520Uc~|dKT!xQn)7ho~ss@F#zsM$_j;;EZoxAWDWv52+a<0iHOBhqq6(+Gj<`W z>O7QT728tZ-WuV!6?;z3C3{*`c545<%T! zs0#%D$+A*&xu`S7ivH$Eal`jkMaVZGnj^1P4E${wDb`^Z4TzKFix+Y0F3yQYy1dv5 zpH-iTxVUkx{u^?Y1T{I&9-7&pmYt^YpbG`4!B_Js_Y-oO@PD7r#nni-Ate9k}c zHdRSGNpMYq5cVC;w|;^S*O()RFs$B@q_I7^PJa6pc8B}%R1sMCiC_k}T~I3QN~*O5 zEHYe71o9My49$isozfn0j`5zPhuv8_wQg=MZ#D1ofp(D$2!m(lf-P*-i66o7P_i1C zlx(9VM+fCn7xqNk{vL4lpH-5>oE4>)GOf@ay;>+d%QvOCufsW^)e%t0zo+63TvraX#C9Ldh!eyi@5`C(4x$*(TL@d z2FH+o*s4B{=m;)VhQKF9-31b>J0~0aNvIlRzQ&I4VV?_AK`H^B-utmcri6$C8hMBP z5k(akeq#jD+OsA`XR=H{f!4rRS8?mtMi68$xe7McMyk#2ty{3OmIYG2e2BP?6SnQS z!kD`EF&xacvW!u7V*iNb$w{RpR4i?wrdr@Ij>T3N6)Z_cW66b_Ik{h$dt;X7;gs$r^u0%N@Z^;RfSnVaO#e6fi zg;JbMudM(QL*spn6sB5l7j|lou|-3ZCOwQITkDa zL>x3c<9g2*W)K8=Rn`Qt6FkolC6U?te{QG$S{R+E=|xKO+KaR51MR)2;NgN@eI6(6ieE_qA9G8hhrXYR^dKhF=Lz&Xe#1*}pglR6^r;luj=k|G z`L>X6PM&%#i5eX$Dj{5NJH(eYfpRm@l&*}X^>$85qXXocdo(Nr$)DHfY%5Z0JH9%h zFmm=>K0>aLn^DI|tb9@GMa~`|Bj9D8nDz=};{qK$PU8Mgq(NQQSR<5bbK3;*W+j9O zLHrL-!t#GRx18Nmlj}Zn?uMReXU!bwjZR?KXYj4F*Iv5Tnx>(m^gD(!VaZdRjWvL7 z^zeUdhodqVPpGoaAh1q7xOkd^UM_L!nQ@r z#QxjIn0GDg#GWuCF|TPwkXN%VF{$O?8i2$nl13p+(?E-x9gi3Q^dky089k!0pM?_i32N{_-spTQJj_h4&o@lIp=Cv zBuYFc)#4j^J9zqr4qg29mW?1Qqpi(QzUUvoIxJUKVS;9YQn$Ob%sqT0=X-?_DR$>p zZw%wsz^gGymj`oj~4(&mlSzLvDnWa?4d%%|(OxX0$l|S9c`zGqKgw{CuUE zz&QyF-JwFvBEr_c%nzWyL6FxC#E$Qhj0JQRM$>D)0~>xPG|}e*)99q`Vkd9AuPyxl z&$-}_vozu0mSsMqN5;E(HhNvmwV}rZSa- zJiX`;!C{S`4V<20iYyEtRTcMXn7nnr<0?Doml>`%4!9`jso0rE&MOmF7BAZ0o^+_^ zn|-{1r?47EWJ$c>6uVeQ#o3$?Hjg=6X^O3?RsB=N_KA1U;hqYm0v0iCIX#j0Hp^sq zPeT+K@!RXPCCN$MxxxJepn6_P|TT7b0@XuAohhBgP%D5vt>v!|`hwiU;Wo zQfh*)1Q)U}OO`x2hLyG&Iu6d*+3(6;rF1J2-Z@nt!BC3x=0WxbTGDff);%!O%1@Wt?;vIfp41WJLsFcHW4GG)4 z=dMUHX03maPBC*WQ=V+d>eqS^V-z6_VK|nhu*KB6BF3cOTa&JG`#mmjVgkJe_~DnO zCu7rvkVm(2%NnO|6lX`RRsa);D_&z&Y8y<|Bmh>C_Wct41KSE{>H_w6z{-kQmzo82 zbkFWDfOlo6082$_y;KiqhQQQ&IJ(-WzHby*jjt|Zk)2{}<>!?X6wy_0hiv=&xz#fd z6mdGu%x%{SNd95#h>mkSO)!citW)IQu_-;{7S%^)PVse@ZG9LE4q(Iisn>G1W!e?= z7k;*M&zV(9v(>`}uvk|=Wl2~Dgj*te?ZM#(WRpnsi$9IYnY&wJ zn)9rq+q(7rJnxBZU`2W00!C`E-hJs*Ny+LP3%t=V-{n--y==-d2hlBF0fx0(CevZt z(7J~KK8OFd<11^g6&K47$gWV~fbM=8(TTxAy6fi@^6yUi-@|DEOTZHC#{Q>QZfR>~ zrVIv)p+E-3220l7=q#4^Wn$WI?EQ9xZZh7jtKl z6lR~-pFmdM@P?Z0%CV19TcsK(=I$cjnd~@vQv#35G@JbwA~uqRybNIIo`3|1Atl>P z?ETa-!IPGVo||E@<3KHGOyv$o_s!ir4W|)=ZxSDlY(Bp};qSh>h}9ZXEN(y9`aV?Rr@?OWQ5Njkt zZx*yP?IT<6@R|JxQ~uJQh^WE9uZmJ0#Uiy887S*@6a59wl$II$q9A*(9f>#rgqmGa z`BaYgyy~p6QG3}Ac^sza0qj#8M|U)c@0USDaq-_+>X@L7UV_-9=we$~F&q6Qy%?Ve zSm8$&URWn|xZgkQQAE!ggmj~NO;~R_kvtPY0EcX8%ooquU`zj8ELM=~#(@SjALK&+ zEW9&PjJSS+rzi-P4GN9C{qF!@8mZwtTE>7I4dY>mu(I3iJ#GY`|d@j`K)Dtz;9_dVYC4fvOzzADh zF02_lSa02FRuPlq)0v>Kh18n+Xh6!Q+)9-?xXRBKhIFNsJ?II?#N|y3s&C4X z2hLY!dT8x?NokqRnWlSD{emFmG7&3Rmwpn0oD${JeaaKGdcpIoR8FzF63~9=S3Imm zY>fA`C`d`vOJid+R|QQa7cmq-&EuSVgS2HX9ZUvR1{rpG^9%at*sxvKSV3Jr8P`ht zpXhtvO#t(Xl7M39Zwh*MVf^Be7*%_8`l~{UG1KN!+jzm zzBA~*2p^}msyzG*ZE9P}PXsP4eQ-4**g@#xK_EUIJ&;c;c8}|b_I{j4Pci6DYuilC zP0R*VXp`uxEl@T`fDKaMX{{idh8YG)t2I6zml0#NJbJ9D-ZFNQ%BIG?$Pk&3i*2VL z-Br6M><}Q=2gj7l%USENQQg~L3*t9T4~kue=BP}RPKTjWGK!#fYjWVbY9Yw=G4z3| zsZ%VFX*v9|k;`5x(a!j}#tbJvVOYji>ohX?2vJUP%h>4r>0dM?{2`(|w0ZH|agi?o zps~`qsHe3wpi`+-A*XQA4srRq3+AvO$UDI7Sg8J9cL9u$DkT{$lNd5JCl6C@t*xE< zJ{^Q&On7FK-WaLq+oM!5e8=C<`W~|~6~8Oqf@K6!CAKN%-qst%#`eJ7W>->APX02k z$s5sZ8f+H=L$mX2X`0DDA!feFU!|hWs{=@ z#O&E_RdBY><)?w~7c4P~(dh#Pqe3=)KI@k0MWhZ&E#cxAM+J)M*x0UR^*}i^8q@m4 zdpmzyA={jT$FdZ*KT@1wvjJ%#(XLqhB`GoV$6e|0L@@FTqJ20hUVR-kh*f_3(?SWy z6vz-W1W>ECm8HQo7&rJhpFe~nn`TP-pf?1EIj*h36*q5xNd5{<9NGXi&(%>O2UlS> zQfPlWHcwrp4+*ObCATWHlX*!~tv8PGF-~e5t;u@@G4mgC<;jcCqNSJm*tUM3BrAy>aWq0i2P6TqIkN2G<)0~m)wlXBm70Q7WRTgRih)*OjLJ?J6`2O z?C!>nI-`<#Tm1D-!yaH9ns&$yzwKY5iYQ+jHelnZ=EzRZ2YFk)uhPRnR5V}^zpj%)V<9eiY%{z*bp9qtCK}D+6$*)O_Tn`XsUjUSvx0h#h+Y@dI_D7sx|WJi zHJN6YyV%~FgL0i)2$6vqP7Zbg$CjdK#k`A)ds97g;$;{(|L%z*?Oo)w9YC@XjX*)C z$04MqT;)pv zo=Lr$-WHs{`aRuOJ^mPv>ElkiHqQ77bFJ)=vS9|brzB~WoywuDvIvo|f+%DWKb4Q; zL%q60_WReh|LEKRJTmE`$_kqk=5@oQJ~ZcVibjbwaL0PgS(P_)4`IF1;&#dIIf^!I zRv4UYWL%-Q&+ZFFT(S-qQiVF!G;EA<; zo;M3d9_!p~(p44!5n-=G-elkNFl#?0It>moPN=KPFy+bdYyR$|=GkhLr)@$##yi50 zSe2URU?9RmQA0hN6ObWhGeTEsQG7AwVVhCXK(T?jKFN;G4m1DYS3e3k0Ep{AqO@7u z5wfXE4|ne>Aaj*RiLn4w?RO;T+O4B`{dbS<=TU-fd*}ffVT>ITkgRW%j?Cir%xkM$ zA@fd3q}^hQLBcEOmdXkK@EKIyAA=l&+@}rak8#k{;fZ}$+Gg=cuxHH=b%P#}v?Z>BwN|b- zH*b$->|r{wj&UMRg0x_l+iRB_i69C)R2Y~uZ>lV@EzaRsb~ausDuK=|p_dZmQhM}k z^5ZxT8PA4nHU=7Yk2!pF>T^hUhIOw}jO?AhN$;2>Mtw;hCkAehP{?~aGb57(fxHy! z)5!s$C;^5PK^NwGDVpsc_!VS)ZeY1<9h;qV`syb?l1#zoGi$cmwyku|^}D zQYG7QKw1t0Pb4#ta%a@IZpqL~5jDPQDq$xdBr_~Ejw7$}Q@m2Ao|E4k>vIyGVOKre zn2^X15&T(rtw~Nfk+;Kw^8Scv-9CcjV%isAUaeh3BBc+T8APJGqgzzJdgTb%QuP)J z|Ao=BP`(7_4{yiGF-Z|elKh*Q(_lS&9VNggTlPC8zt2oNNdqM!S`AA%m)`Sgcoq9d z(10zJ(q#&0rGcNJGaAGxdu81C?cK1p$kzwo@P`_DHGopiPf+52+!7eV8?35b^fdCc z2el;d;5%z_7w^eF+!U49xzN780oA=`Dx`!cHpZ3 zs&JGw8H0Bn(rtJ1w9JkU0#&B$lZ?>v@<$KYB%Z*=FlnGVtsQRt*dr*aVg$@5!zs0W zM*0(IPz9hl-PS8(_d~fiex~Y*dS+lLnc!aNu=Rlw0N>HEVY&51>8Rvt=h7gIlO<>E z*R0FNtz_7K8Bob$h%M&w9zxp^QN*rfu(&1W9gTp4s$4rHGYHltNCG@ctf>G|bxRO1 zHz?f^Oi}kn7Egoh+kkD3 zBb;{N{WKA7$_;)C7x%vOWmfVukn|_BqoTIB0~zEYN6lv%J>9K*~ulDoPK~fH#^{q z=^kpbkt))72wJ54w;{f>_J~K%^K~p$eS&fr$a#5^U+RqzHx~7^BGt3LpGUIp(m=7D zRl;ch6KjZwk7(IEj*Y=O;^w_8p=>NUBb;ssL@ptDl0<;~d#u_1i+|wn=1@337JDSW zb>y70msY`Cm&SJec)w{hKaD$_0Q3&XhiQy}K%24r=hyw)DH350?L|Jy1nT5;(?uNPH~%R~Aoie}N?+Axd_D^4B~PVIoR!*JyBN7>ZzJwh zEu4@I?3)uqo8|XU1@SP(HOzdKmgPqJN5TWf8;t8BE4ssT47!Oc8Pu|FYXVsrDPmH*EPXzsF=WL{1WI>aoX$LPKuxfV0%K?pXcPna$v6)leg~& za6JyKsVT2hz#aKz;6sHh5cXCqg2_}>&?6@W`jK*^8thY1dPm$reVS)jfPp|6yV`k6 zOjqrm&}Ob+|FKlpfT?O$8xdIY{Wd*gcYbP?h;=RPzVubul|eXExg7}J*YgI<8Xzot zUkk)vtc6cQnGo^@8ovPzCs};o%C@SWc^8e}y6sU^Gd+po>E%tZ)m$&Z_{8@F4CRsO z^h19}fMm^a&R7>+37%Kg1_Yfw-+u@;8H7pzdWLu24y4LV);Pomv1)nR*MkJH~?FXdS4Ct_L6|=sX8oV{cf5H#2 zm6e^PK&gRavF90UAEv07Qc&5)b~Mnsw26lj<3=5=8P0gpl7tTkg>3Xjnv9+ytMjQc z3Tjc636)N=hI!jDQ*bC3M)s&#?uaHJZ%Ai&F^ly_u`0H4m9S*x# zx;UyTA3PFjpuP6xpb3*NJZ#Jy)oxrWKU@wDoZaMOZ6|i*_P`y=eI)D&%kZcd%lVgp zJU;*@04U+Z{BK3yhB^mj<(3W*brTdfkvX;$6e&#$X?gI-jhwi==nE<|w>b?+YC2i+ zPais;JPm@c!qOu6jGN$bO7zUiR$d-6ZF;nwnqVYpP)rjA=`HQ;8S50nUDXz& zNpNbJr3A_Sf*(}LRW+1^VVA3tqPfN_UB%X@xg83}_CTXAa`x#)fI~@vl`20a>%j|H zBkUf_!ylS^l*rOep-xK&=?6#FTs+xBD8M=f3h*K0ZULfqM>iv~wp(XRga92%|nT+(${mPAg1Ko{CPO|;x>N7TdhJ#p*0@|cL5HAYBTiu#-z3=rXyCaMmmzFiD)PVz+jgr! z>#bp`d>2n>n~M#P0Ke3jgFj{(Kzi6<&e_EL&ef7V=h{IjR^N43JMM;7x5uctoZRdt z$6&M`d!x62ILm&D2|50T6QSqtS3#h#ZJk*Uv?<`t;9;OveERj*=b_r zfbwMkyn&b*Yf{1opBhmmM0GNt_-398BsiNQo{f|%2k~HS+BaNA{UkvrBcVVwe63rS zl9v>vWloSf@O_TYMtvfv#<0f|QJoHGlVn~qoEUhq$5S_Hv(u zeaApWlTu`PLL81hj_p!P_G^bo(OKyv^Z6_-^#KET!p?d;rJvm>7cu z96CJzDNl_MT#RAf-%xVfUwUKrwX2N%_~L-X?4m+nBWwO*XP!Hj_fN4XQ+BK;@W50O z-D~c~4Ue{7%F^b9<8f_fO7|j6VeP1{-4yS$;a^=6e{V-^U+{)xK49%NyVl)l%GfS^ z@nO1%wyn%?^>UXxTTV?4DM7-^n=j+db1{Na^twb67^~G2aE9&21d1Sk5bWzYx!Y7M zNF4WjBsL!E8xRIc2%_R0fdJLKFwCWcUL#U*?b6JLBzY)Wor^hrrpC493 zK31XN#7@AhUIP({NO*eE;%M4ujR48<7v*v#P6;La%)FA<69^tLLLYKdOtK!VXlAw( z3%WdVcU4D~poLVrc#@cMZ{vJLL>yZLs_b--5;Dy!!ci-CeDnSUuw#iC)yDIq!T!R~ zxm?ompOL|~y}%d}oQhL(L{783ro0?1z$TFRK3WN}b{@~~;c*psEz00NDeQgzb@vRr6bgQj7B7Sr6?qCqbEV=7jQUPFTKauu(L3h0RSSA^lJ zVI#O|Gnp_;+oUwsDJ! zkrwZhFA|Y4?_{~Wl*eMb6(uMV@3wU8X7+zm6_B?7H=522aQN1uoa@2KDvd0zwx?db zQv3!K$57%$3?d0sqgjEMR}M=&b`u!u(PP3p%Jg`n7M7y%K-rvwS0y~}1`jq^iNkzQ zmerKI>7<>gE8pNpAs~;k!@Ce(=}JTOCy^8CkMbRBOE!MBKE?T`AVyKTv!8Ka*MwR4 zmlAp48|_%EaWDI%6{ZPsTXTDBi*x!N5{MYgX51#m{`(;o%{?9zJXA{_o&paOE(~Jq zD&o^-&F6}`1B&nm&US!?rvzqmsoPTU6(aCE_JVQyy5L~v-N*n3v7X9cYerR*Ocrb^ zv>MFaedKTC5$DlCm$ph*!1PY$qzLRR#(4DEsQA9lbz&P6SOy#)B!5)?%x2m*uYjiZ zjy8=aG07{41fJJeTM=bg-5ARu_F#w~{P_uE7973zOLBa(j9_l7wb}Fy!Y(h9`$*xu znBM|_(7PN@r0}_Yg>MS2EcbKKaa}kIYk=Jc+Ji+?Fj zjUs5>p}kzo53xN+_{|4F)@g!zmaFm>$J?*3kp!k^`DE1ESL5xauy?_AnksvJ%y;_!50Kso12l zMTc8SM3h_rXHaqkN%;-Qe`0@2@-xr!b!XS$k^f9XMPU(oJIOSUo1TBP0+-9B`2NYF z3XYF9DhR3}7;pYs#uAhhgA+I7|4%L0Fg0-sY`QevbPb-@rZjv?)9EkP<^H$R#Ikui zrT#GTYQe`UU0iDNSF})e5RH}%idTqz|yRAR`vp|Np5Lv#@_!8$twfDrHrr$y)jy{apVeIax(0 zzG%(G{oJqK>#WslV%VSyj?N~L@Wx%pdJSht7_o~nv*Cr5^H6D*2s z6E3>mN4)%5U$ob4Pw;>hkf(bbzwHl`3#`4Iir^Vs>N%&6mFFe+mA;5VjN6mEvoc25 zkaV=j27@{Rqazu#seai zB5VS19x$H|yazyKK%2A+^t?qQ63ky4QJ$a+%44LEq z3H8&}wCM6SU;3tvr-Z&u7hEBkX-_tg<>GoobiwfLmKx_|q)l+f7`e4^824Wi(M3yL z{TVJY(}N+`@CB%|0-LCfh{0>;!5$}EAOBWt3gIGkHURf!2;xjq;yoA0N{dIkW+UA2 z(XH(;I4Ue?W~l>l6x^uA*_pjG`7FqrPvyzmcP9I$aq@z%erp zF-i&54h*u;I#M;SFRMc=zN~Bp>6VapL=x9%zUn;%s7NgF&$AJlDNg6XZwF1K;ix$( zbB-Q7${{^Pw5DJTo~&G%IRHsfPd}49-7>3DTS8FnXb#tk`v2{{Vaq*S(~VbRnpp?F z^^uyJAd|7j+Fq;?@8C4q>exBePTrtxGue|z3eu{vIymFX4NzCURYWP6xZS5H%&hAf zqYWS3NCJB8N8(`dq|vb==J)8JF3w*mRTeQW&gf8mmNUq6D2uat0a{w4cA*a_s6uLnr6+7sZaae!`tIAEN8AI@xKm7 z=N9nykL!2ih%B=CiT}DNU2H})YF(Zh`=s+m0je)glO4X$9b|XiNXAzM7c7dE06(X; zqWPF(y_=u}l!47V^E`&_h*TVfaCr0VAZ?!-+;Bg!Sl@L-LB<%p!>*QT_d1%iV-@gq zNkAmPOKrL4x@`%|JKJ0ho11lqL=v%z|KBPH0RBgAS*Y?VBqEl-3lT=L`R~}OmJ@J) z+dmLFi=dfc2aJ9Cl`n{xhFzc;xp~a*oKAKeWcbWOt_O-WH(eKwtGoq)G3Cq9kkB!0 zKjAPj9;Q-06TjBTO30O?g>D`2)o|5vdi6vea<0R=l%^H1npso0!{p^u45McA%Lvw} zg*K4#M-H6EZ`<3G!V>Vh+A^YOuv;XJWHNYT_636j#$hZKqH$2!_Q&Mcpb?imdZFMc z-Iy)qJai-6CyJSBq!*LO?1H?TpSyWjkz~cM!9rLL7~a0M-Tu{8tk4chl+!6Llr33+ zX2S{1I{>`)G;u}`{Ro=!eLjzQecX!O!~o}Wi*(!%pjbZ>W06^YiI82Z5& z>kfuz<(>>cGUx2dbx#p?yPT194tJh*V|w;)hL$i<(}sZg^S1>JlllsK9W)0W!xpXd zB<}`@DXxQ@r5FJqd+PucV(f$Ec$52yh!!`b3(7)*|JIY#*06=)DRyjJ{rTdUW9tjm z?VIvxSu~|$0$MI+O*>)1*@=J97cbkQI4mvI`bE5NJsA#&7A}@rZuocoQPxs_=FvQn zfqzyBOv>cw+j0a42RZ$|f^HALHOjo7?hY(wxBFR9fsAjCrkgap6>@D%F^(6^l95ooKCDLIx?}8|MlZ4kvUJit#@g>O99lgqpY;9k78UqL)gR9l58nF z;$Ke_%a|DRd0CpjaZ)ZAP8X-El}kw;9L{XMvpSN;`gc5St_)fMAV_!?i#Bc>4RHL- z_8Mr~2U1jgGdTBHPo59jdre7lFVpQ+rop^xG6owl-!G<|Cg)nfjzN5DDPG>@`KD9& zD-g7{A`K|05`{DpCvN9`a7o!`X5vMf9RM4VXdfyCd2Pw1{|cI~OG_arZe@GTN99&T z)rwuQl7OfVhn+5m&GxB9$-{`L9^b{qF^7{tvM?^Eoh#7^vI=v1t*}brXyqgZ7pm)& zsjl(LWJYpmJ|jECBaYhy0?Xsp=gSU&M-}Vlv`iNmy|(*rgt)z zzhSc~iCXIh$1wOiq0N4IxETJj`47UOx5`v~=4^pX!K-(aSE^#9lYE&_cU)ltYW8gt ze;iN*kY`6VEj7gqEQ1L|aR{HCdl#>gm<*$2ZvP z05{r{swTFXgoIgwM({Dn31-uB^PE9mybEq4#QJcMh#YOq`Q;WZCALRb``xm1gcEd3 zDOCRb79NcDl;=F!PK^G5!|IXMqV1z?d<&VeGJ9i-Iv|KGoo=)0Se1fG&Jh-_UVA~R z-sfNjeWhL;xqGTH6J?TT2)aT7y6YlJaGX3MO;}%{wyk1t&j?&G{TDHefw@lS+~@J^ z{XMrSgoeb1hwcm|TMHfP@zaU}5EHD!m-xFzYN(-?)3lf{-QvR*r}&uNXAoDFei?Di zp8BPIjkLs#P#I^}__1z9)-6d!?>Ni=^4zsGb*Pg8dARfFe3g4>YGBfS+pVv_Uk711 zqVJz4BqLe%H+xwciw!s&bkVg--Pg}x{6<`|h^=aL_vjPw%_dZyK5Dw281c!w{g2{N zV)BhB#eqsMq}&qc@_>C3ga)XvA6?caS@q@D#s30Q;?UJ&U%Vt5-EdYH75oO3PyQzV z=_W!b$FRxF;J(C{ru--CKyLpEN%YFw^(NmWO>pjZu-k?j;@{r21<`l~P)>=V)P#W$ z?WP7E)i$fKZQQ1u;H~Wko0tBKk!$xIY(0eNC-UQ2orUd7Csjr7_#9>&Egk<}+6sA1 zvk-e1z@?mv%#-tVmqX`(Yufbv#XFKuZZ`ly{rW=vn{mRh2L zR*h35iSr4O%^Wm>a>v^aptT-D{?#}&;PfDVZu3k|q|8sWq7!P2%tZXFVjV$Lnz$b{ zg;FPy%}n-;jz1k^kx2V-2yAJ6fS1~ir+-q=0cu;}%L(B0wa)KI#g}<=k%&)e)qFE-Ew#M;;fKfroD}#(%SoI{TXBp--h$L==q)L*y^#qeg!49eYYJ zl)R;bMFAjX$`>3Dz~LLe(l}Tdf39oh0G#duk76*^Q zi5^VGmNny%Jrd^Y#Md>n$OKm4V{{^IB#ER~jQEn2icJ%}I5w&dh$YO4{*J$Lv&Je? zG-)fatdMrbZb(>is+u3^*Zz%%rRrXb2jPjsy>lSYmCP{S;fx%E-{>VKE6FO z=&1nOqZt@cW}^75mbIUWF!{jAWJIf{%RsYCAiL2poJ@@SOK~(dbT!2cWbE1fVr3W` zuePS0_b!%L1aN;ZVo3^rHYmX(3aJUmHXr{#l!^C%=G9yDf=CQRJ-wjEp2lWi5{jh5 z^=OlpiJlpWFx`CNNm`$Ugu%#t4~xx%P7S?ClWkE*;FGc-e!7b}>>aNR6$FAL%SY1# z1;;&xn0WssdA6X&lIvT?i^a52-{wEB^$s-$9 z0dw~0zjS(O#UUWz^7yFFxs1Q5^)%*tRB2n@n&h*as#aqeabc0>3O9M^PK>yzXWf_% zH?&Aq1dpvwj1NTtZJ27b-N-E-mvYc4eADyjD^FaVEQU`9;idOf3J1b{vDZAx?|IIW zj3*sEx;xRzr{C9(o~76S@di)&Q=TzQ4@Xxa?b!B=(g+$wM^X&tN?8%VCo`qvf`suF z%3l{(pzB+RKJ+czRiaLuxNS-M@KKGcxa1oCo?>O(*W0>I`A2POvr|TS^Rhz5XvQ*m zihbO&cyIm$!W_eEB}%p%yLo*U(FLbiKR5TuF?`lG#sGhzONV&)8)tW=JU(?wT-6cn z1`C+lCa>X+X9Fd#`k2ijo1@0NXEGDvMj28_c#v4+AKtz?=B^w#=cTOL1& z?R71x^fj|i$2z6>8})ZUp(mTa?K8w9_2y*Aol?iN!Q2O{C^}D0{ywl)&ZJo?l22Co z1zr?sq3!%I>DpHf51t8}aeNrxtr94pUU4mq)8RFAoBDxV7@P?_b~Kp#R&}*uEy>`C z%CVz$+yD?KbqB1*P;f@*tP>o36!e?o`NbJ2y2NtnD4J|zo+#g0pD}xiUA8yr|~Hbbj@v0>Os|B7L)CP9HV%jyU&JO`0;QbWiVp@8)1mCL-aAh!6spd-%Cza@3mP(IZQtF9s?RIC@=Prd{`{G%w%F9KtlB>k^7d z18=zDI~pCEZ~55arUH{qB9kJGSk)^6VvG3dT;xE25r6(7Gm5t|okYm!6YmIsuLppl zM+s$f1hd^UZuHob40+zEg_iM&D(O0?l^k||+}@MUH!VIg=Abx`n2s}A`9!;R^lukc zpfU(9{;!J5(NOXAe2^wWi!|ITb36eEh~H&c^IHOe|D#fCph%@d^PvZ|SObW34q){rMIqo?9uZ<_HDrH@Wudl8V@8iu z>h}nE)KZd$cgMKH?Cq8Ax9jt1DNPF}%47h+w*hX2U|FlioC8*Bsj9Q;eS?=j8o2y3 z2dbK6PJg2!372ct&37vWT1<7qCou9Vfjsc~bVpyc8Rf`?sQv=FH5ISQDS%UVGKex` z=*Lwe0N8fa%Of~XI9gTL$dHCN3x2 z`O#yl0X4sBP^sQ`IaxJI1aI}@QVEEIt)yiPtwZ-g;mugDl6`%06(Bo zgVFJ@Fc1EUJM$rwxs?q2iX(|1=YbogEs1Rl$}?c9`UWQXrvnG8c3prT5g2u2@?4w! zwHxdGUwN5*E+h}1!lCKFSC%dWsb`Yv5cyUd6Zj31W?saqEZ;q#yCjL;cP*j##jCPja_01^SZ+;)jK!o&IK$8iU?L-=Pqk zz;tB`SjbTf$}O^Y1~-Gw@(EFSJs^fSoVfjB?S^K{-0XM zV@<_4JWgj1dOR{TulK@D3jGdTB@FqDEgg3Lk$LRqoReSYrsk6+Yv&JXJ5=R8*;*(f zB7ja1(xOms?tLR$+XZ6P{!ExQ@%ij=04ze8-%Rmi|GtkZ6%y6co4GWT(_dru)ulXs zGVhVqQ>vLqblm_+Axqgl^JX}6zECN7hucb;a3(bT2E;;s03&9K%R}Cg%#zPQ$+bbn zS_e%!KmKi3{rU7|9G%ZXDfSvi4-6@v6+XH17y6z|WS-al?x@Pm?_{mj`WOs)a#NHE zbmRrL$KWouKC(OI1JE%Ogx(pda%WzDc`cX#2MK!QbN}*Ontk$3=eiJRT;56(?{~qV z&$oegP}7RkXl32eXc4Ln7jO4Q+!F^&2YPPOda!C?XUNxka=XtxvbZ2UlE2z~IXNTf z1FG;lG7nP~ib!ee@{Aw9@4qn4i>|R+Mt_gPtl);;d*+gycIEM$r-pYhkpz|z;u z=yK;p)ecQ!@VZH+mt565$K@Uom13U%YwOY`Nu{G7aH(0&1AVqXuv`p}kiettAB$b2 z#W0);!iWIfxDdFt8W=7d@dz2Tc6u}sAFWO9=o)o}ERT?E{#rGmnzBgeE|W$VyMB47 zMB|4d4U5AF?}Q?DEmEh!-apXWPP@CLAI*<|!X2oocCVZ6;iwO_ zWPWz@B+W(<-LmNAIynQVCEJl}dcEG1)I++szb+b$E>cLS)qks(j+ukhD=lF@58umY z$FL+mYA=1T)V1jM{J=OP65pmf4(~Dc^hvYT67+Q7DZ0v>^l|8&94btz2M##&RIVET zSz=%z_!Tr8j`rP(IAWW!M3WlI(i;->Ne}&e8>yZpVx%76NP{!z2RhdY{j>`NUz|T{zlxUdpMfTQFR^O=dknbl({xFD%~idvyQIItK8_zx$2_9 zOPd2XdZ(pm5#{;)QWUZY;@Mg5Gfi(V&@w3hcqA6Hi96(d?D+sb1DAQZLmL<`r zaO$Ss>|*Mwr|$4uq0nl?RXzOO>69^{K;|H?GKdUzoR}7VYbaF`e4O7#)g%3e@eUIE zCcXzpjlHEu+*nqrl$g|+up5c07s(QK_j$28DD`4{W0Z31k;Y_4Qn2DbDuRr~uG-Ep zB*g$7iBK-ehoOLCCBb8M5YT}mi){CgTJbErLie;}BJ73RA8l0&_MeQ_a++1DC8*CX zImP1SxywXe>C4#X{-|_|WauQ_#p%kDzu7T#E!i!U3TUP>a#+8=Bl&N35E!V*u+9hB zsEMuBp6@|%GAq=FCt*c@LTKrR|Qy!(iMc>_i7XrA`RdGZU| z8DPxg=}0Px1T|#Hm1pvy#2lMM)xm)IWO!_!FE0ciz5VCB=OFl{4DqPqP7G?My2;DG z9V*H@d}g^oB=&HRx&3h}6eLM^ML|U?Bl_g<0Qfdp7ie#VFNsIbR4w05M5zx~rqUQ$u$$}RvX3+c$(o z5M@kwfrtqEOz#qS4TL+Ix~VU0&7ZmJpvjAQgBth9A~`y87S+Q@5Ff*Fcq|N6zjjH} zU)QejZ!Zg^?VEb;bL1u6Frar;S}k=ccIz&u-^@l;LZ)8Jb>Y8|0yb!hc`qhRMd0Ve z*~!M}X(p0Hr)(Bd3-QZvXclmKf*c++W(rPfeSUsz=ABa)6^uW*yJVa%sN54hv zJIW7ZN0TG!UzW86aHZ*70WL!expw5p^td|gvK zvsjaYxTI&$A=e5Q`+!t@1`61dDJ#N>i5gm?wc>btJxRUYQvhS7GLAe&sU4aAkX{{X zqykaRaHZ*#G;Dso9M`Vg0gBAKY?w_5#g`?_R{51G|0T5%1O93%e2aZAo`!`5Z33Z< z*Fdxtw%Z&H_sM}rU;23#xaZ_S*=@s#Qgn!;4>gEwIA@vVj&dSOBMQUiLX)X``#<9l z#6lTC%6lJYA9wQ+U)s3Fql(Lm5Z#Qv=1AM<m6G*-Em$>h!=9L>vXtRKepYx!&wu zQp-DdN7|-rvLcflsQ!+qTjm-dO-^opf`u3w6;&8}Na(PyL#>W&`zhUA&OcMx#*!Cl zV5w6x5Mql@UOya;s)PChX15IVeP@yUiby%yvqtW3~ak>8)K$JzY%;U9B;30e9mcg z-p3xNCA8)*Q^5B$BwmhFyJ$VpwcXdClGnMmHITSWxa}cZl{MVWOpjeOv%BtQn+1BP zWHUJ_!fXwNU(mz8sRwiCyb}a(r;~^}@oFT=AHJkC;^fCwUE=_L=1}KBS*~?EGp?2R zuW&ua3}Qxw+}s>}&>Cn6)$&#t? z(Tum{3w;?TA7!mFrGa+%eZ^Fot;7qFS0IdxQgl#s9Ly++fMa1i*%U_$zD>ISuxd{d zkuv-r#r|vopvpF1ZF+5SOwtmEPs?_}6*|>`r}bZ~&OK-P?HuJo<^3Or+K&#X+ok64 zP-Tox6ZWMZcSjbIYS;!GN1xPEMbbqLUdGVhBQN}JFj5M_Hnxs#$$a#%3obADH?S4a zQ5_5YAB5scDf6WX9%qt^XjE371bkN~s^Nkc&t82ATX?SSOIXHCiEDm3}5TV*2oJSRsyq|+i-t)JJC)v1>X=EIP3?GTt|>j&w| z{9}uDCakgQcgW*f%G|Vqo6OHmleye5VrS9pF1-NLVX55PQi9AFvxIB0gNJxCXFa<) zH$X~D=kC>W0HB$gov1-3CZ6V`MOUCT{tzh}6ALE#CRG_b_&3h#m1y@$Nz9pyuuA&B zW0;Fky%tJCPi9UbfovGF9@3O>Kec!73j#-Yr^%_KS~P$<0YUOChg@jBmmU{xAD7>F z5BMWpt6-Y0@mOq?l2S>=bMCgcgHk!d!4i9mGwH!mnSE|NaISEU0UZHr;f|W_Gp&g% zZ}$4I9ZA_C{owIuItaHe-&KKctJ`{BNh{T<6=-Z3uWmWjfdNzM zW@s|jh8;Qk{%ONy;}g`23cu8O-lsnWU^o0na7aa%-e%QHz52C`T;sOcUu z$dqNw`&HbGjzPETRT3HHjOewboC&t!Lum8B@*!_J&%AHzjk9f~_7;F-Le*G@Ru#X> zJ&K5D1~ohq6|;)iT)1*CO_6M z_qpEFwEsc~#bb_5vo0%f4_OyphqRU?`RaZg}aGy|L27*7#0fPs|wj@y%KY6vvgt- z_$SFEcQVBP99u@ag&WW%G=n63f+)UQ8_1K_Nhu!jodCymaOpg{Rl$C@{TnTij9%cOx5CuB)9jxPl^qi($Z6^9d#bf~P*?WQM>;S_fiOCaN!xH+y8_3V^C6j<;8nC5O~LBDbg{ZV=_a}O?(Gt|liP~=weHK~ zCca(DY-jfmNAX`hmYxFI9CE3!yIEN)`ak5eSwqPpz&Ja3A#Wu|x5(vRrQ2BLe4|FD zl(rC4c)>-KJ@ygfICepRKq;PTEuKIHL%-V4QVK*cE{r|g6?356!d&X(D|InI&G9Z2 z?oIfu{LryCherqb+X{>hB!l7#?|6r3N-GRsZbNx}4fjkX(cmxhF4NxNRD=8aC7b@Y zOBorGOj4i}!@2tChKRHk#^q@DKzmNx{cYv=(tJRlWjuL!21~*6<~Stu(6RfL7BUIa z*&m_b4rrxB+7GWdE_~KzhD1S^i{u+<;Sq=xD)CZ)elnJF9HIq2CFN7eh&9PGm0Y9h z6xE?5(ujCnze@hFX0}uPvwAak_NN(CSQHy-rcwmDneA}4*|`bjUD7?oV7vPMfr;;( z1QAOK<1Nfy2wiD$x}Do=-KLg%pnS-+cLIPPGktAJ;Q^&d`7f5qYJ{SgC9LLQ@80pK zxxuHuh4jeiT0)m(A6+ZdeT3Ha7u2~{r9k*UzFJNE`IochSsk6T=*17Qv90Z~q6Rj1 z{4OJulOU?2LZV_@$02*7D{@WS#`UMfWBJ4188aL}XMlGockJhA=l$}Sx;E;M_gumg z*^3}Stsu{evTmP>H(jAtdo1YL7NC^hf5d}8~tP>dyKvvcMJ$sV8q!pUo^i= z=m-7EIg8LS^k51UHEdZ&Y1p<_d`6rzKG>9U-OxJht8`3xT;iS8xK$#=99nYqc@2nD zqe>=aG|owCFu0GB7;+<!x?4GGnaGq+84g?xl zANqf+81~>zz^1IF_1jq46~J=)p4*6OT8ak5AUrjsWehvkXVl}ZeA1#YD(ZISs(IFi zC}jS_Xuqnxi1>KEwZdKmSaz@{>UV;=kY5Ied&pxI?2R-s9h;U-77$AyyY0?4$1_j4 z*msw>??*dkzj|# zFoIGNV88hWx%Vzzu+y=2O|sMEL(ZFq{3h`2Q3QNYpA0D(k=K9aq>uIRq|{TyUqq^SV|eA{nsBjdU`|B&_n=Hsyc`e zDc+BSG-Hrz#w8LE#gGe}-~mhFnI`3)B9~vybsdpuIeR#gl#Y{!9SwjFRlSew%i~QQ zOYeb4v@pgHf)L|#?rLMKIk3vgAE8kZx7%8jiD}H}HOzaR;2`4E`K$6N^kpJJ8>eNYHaub=yb9Eq@YfGEy{n#GDE(1vnI1U zeXRJhE_qu5!fvH^uC_2SdQ)bj8_v6e(!@StD@8Z@9>h={8_{=hTBVm;Kdk?Imua&_ z+eU*iDTK?B4U1y-u`|V`U{hw4v%{{LIk)@x2od|i%_BvxptZ-5Yuzg{26~374j-9a zmXz}m9!+LQBlFs3fLCk=vy_it1Vpd49^@1wE>5t|h%huHqvV&fJFs}_Doy2-M!LP? z9=Klqgs)Iz*ZWbaKPI4i#D%TVGMpCmP9r?-MPrp{i>_+F2gMivXV$Nz8gh_k2SFIJ zSwD4if@d}4kSZInuL#i$$OMgA;;gr_!Gkc-83TGBjsZXSXdT0!Ju>%kj@#Slr)X0> z`%;!DzY0|M@cMf3_%ZC-{qOky<$FUXd--q|AvwNd#}8K+|3#V~YiMWHh!Eo%gLJAr z|5mOfkjg?>#6wH_hyf|N@mY||+5oo?NlEA!N13DAi1KSf`YoM!rIX(HoR76eo}S-{ znwv48qx&&y;k$z>-jJGD5=NN8&pEcm9qCA8+_;2VMDIuN!z0Z3eQ9NP~TU<6hQ)yy!@{2sgd=4|97wqY zMLZ0D>P*SnHJ!2#v{M9I!jDk)Z3W`NW*iVR?*#Yv)^$D4k6QHKCWyG^P}QMaetIg2)m{dTF_`PR4pzZU)D zV+a$vR!NF}Egp+z#pO$cw!pCvnax!aj^)63D=`J^F8z-0)6(>-EKCwU zzFo}>J8vF_cd3O6QH_qw-#{lmsMf9_fw+mX+udiLRr z3tNsN6&?vf;Pc&z9!;CQ^b~=giVVD?UGlQqlUDE4d-9MnusZNmoR+jruU#HsNJ!z)Lz}GO-tef&2n}kRbA0RXW-D z)YVj28_#Ugp;d8+$-kSyQ&qX+1>q3IYmGN&2lh#<9PA=T<9G=tgl&vG2V(t!K(dv2 zZi05soJ7=O9Ew?0cdsx2-V3ot=0y%pKaDaTC~-R|&XlvK>sT#SQ5Tj)CtE2}(jvL~!Xuj}UGWz2>==n;cLHn$PlpImw~9 zG-@%B(@ttNXPzg8&KhI|lV`6}cx8{jgqFQD+X_u9iDV>7V0M z7~^rpc`J~+<+UbK4DFF@HUY6>=eZw_fH7F;4 zB3wz^3r^C)7#H}zD0s0v18x8smii3+6dl11EB>xG1BgG9`fpu9iW=w`f?uz<>!|N3O%h==Fw#slCdG)CWIr zX7UP{KHo3C?ASctY$_(RA{q(iuPpz_GC*-G26_t)-wlIvM*_cq#Nz| z;hhly)FU$c7RaXZPnXKSA6-T^MMh%zyCZ+!4y9R86wmD4Ftr)StZ*t;|Q|>?9wX!~0I)31=OS%l)s1)A-Of_4~D1$pXyWq`~`t!gAkK@O<`kv?x4g6W~=geJzb2`Xgpp@x=!y z`ioVQgj^xkrSRvxm_XBbsEV$_(P6jl$=#I=vuiq`$V`gu#jMoqz`-|3gw|FMHP{kv zIT);a#9jQh9*a;ugp775dOsVz-orua3WNJ9{WMshwkQiZD(SI#%qV@5d5cs0(3`>< zRe|8(8wo+ss|v@ZSDq4w$H>dXg}Z5Gt(wFjy-X^e7k<$gR6iBg$k55QsbdzfRYCaL zk7b@Y^qguH^>35Byb8V}Ca>ZE#EmQClm)~vX;N2Pd}hD;_(r0ts){tdVF`Rq)e7;; zYhL4oANL!d9KR5h`Vm}m5o_JTasEcPQ8RGvAQ_`Lz(Y=-msvk}hh$Ht@;xOsJOCBs zx)#AS@@UbX?vvs}ym@KT`{tA7v%yBghC6z@kwhe-#~ zN$>n?#dd9U*#SXU7`}j*j%05|+4J+e8fqI6)~?P=B^SF6=x+NyNz|5Hr84R`%Hk|n zz(93!q|n5_5=TK^rmlVZ1BKbP;dQgvSu$2Q!FyE~%O}jM#ySY;C$yvS*|ZBOwyFm| z{92x=eY+@*<(V5?q%ltBp>&$(ri6MO+bBsFOJj>d3}?5z@7BqM7}FIU78JYvHX0~H z4!QuP4g|pfizU^sb(6Vtu#mBOkB&d(Xxoesf}U^ZAdG%`l6&2~{xu80+gse{&${&y z4XcOC58pXZ0{ATO125g8NSPLaawG_k;8;dVgAQk))U4!qVti!`u7S1{HlQHsFq^6@ zo+lTSmQ5urOhhkuEz&J;c5bapec+}>a=pLPKI|-H2Yu$33SdJEdfVWbYl(Oii3Axm z1@So9U8zfK8M@^Bn-#!jdeCBj2(-@Y4gz?p_B|$~<%D94nz0Y`S#I1AL=BdCNKC1l zp;aAN*nb-VY&G1Ms4-^@#~&6i6S5bE7Hu?2CwEPPBt1+M|1*cRQEm(0&rfzFumHTD z(jYRl11H@PyEH7}UXgmIKcXi|tAD$45K;+%N-S5jVxS=7&3*8mFV!8ThHTl>K2KaCQOR1pv8mm(_>tJhIMXv^n` zU$VNHalkj1uxAC$CHJ-yJshns=1gZ$^WnfPcR9BX9`;?YnrfX-|2B;dJV~XB-S8mp z-o^Qkn{p=%vHNNZ+2P(tJznFy}(|00(F6rWDN!`zx44pc%; zSdM7DRJ~Qvo*S}!QAxw7l0U56R#Pv2_Xtk<)20>16$10KP{NtCz0J}W%~>^>X|1xC z_v*^6N)s!U2D{6+e6~9Ie*o>};m1q|>WR&*ePigDr3tEgnO3N^7n#TjIB|x=tGdJ^ z+wL#@k~)!Q%G7a-78%4K`m$E&f^o)~v|ZJgax-2Fo@OJRq$P-gAcx8{>dv3QW6+&t zO;JAX6FzmoG5$R~9{3!DUx{vs9M(gY3_Xf~eXeLp;wP~f?0+y1+nfo^ulUVhZNHG0 z#eLs}?tr$LCb`)X^Twh`7q00lVYna>?sVw0)*Ds!6L|Ki==vU*Y zM#97%OuZcMKfQBDQia!$klr@4 zKv)jLct*{@&tKfxhgYJBR47l-{B8i757jC)QAb0RLz$p9_`L38aFXf?1ag8lI2z)P z3lijjEYVqFJHnaF1Y z3cF95I9rfFD;sJPRYRsC_*Yxz61dp;a>OnR-R~$LE8FRmQgPLiy$hE+;d!iMW`@_x zw?kh@Rqb8~+Mc&dbC%Jug2#Ttf!6UD@Ju1)hRHY+!g8&#yZD;_U}Dy!_VsS1^8|#* zTH%Q>OtwtIE1z4GV7119aGtVE0HuhU(o;X3;X$xpc}?I;D}oL-Yk8?nf0@tFWk0n` zUCHdzzt6n0sH!3fQy0doh}|ZH+kJlp{8^ zT_<8vlR0lnr8K7H*Tmv@_3vBGT5*q&KI?O1icX1gPv-&=99wEp8snjw@H^cUX*b2d zbt>&F#|liJpp@3)Z1|eJ5H`qjKd&u3Eh#Y1{F$wBY1CSs8H&=^)@lGr_)dEEzK-0y z8oHIQDp?o)#^kQC4u_L@FXr2lK&=SL>NdI&#R`-FBUmL6845&KoUo)}FW|a8aS7BP zS9bWYIZ!;{Nn%II+JM-G$sRR#hOJgHMt0Von2D0Q@QvqV-GF_ykI|?5JM);yt}n-~ zDvcH)CRW-WLZ(=Oq@5x00uZk%IWxDG{VT1Ny_75|a5bxLX zr%L?H0?2Z=g}n2RSrAkZq2Thx35vLkkQ>+ibL$Myk@iKyP&lVfS> zOKsNtMc{g1dYUVJAT!(-BAq&OVfbrG1Eg$`2S@c5yp4fxC{X8}=z;F#tekaf>RRzA zgvK;ju;6M}b^I1HAlnH=9m;;6=I{Zhx<|A|4d`bh(d1;1J>8kk^4_OF$RchUoT4%| zu*K*OlPXk>_mT-a_{8XZq4OC<+r+v7ktNGxJM^e8h8ztFy=a>l8c+uU?thjAPdlIP z1b*QGUyo0-!6bQS40lFB2C?^>&0`&eO7mJ(xmjKvjVu=Efbnq5Wm6k}aDEY^c0JLA z@la%ix%`rF$tEr{$HGdVzdvcoIi3Jg8Kc3SdTI>EMBxZft-FqW0Knne_?r~f8^%qK ziRCIV=p^0fiDnS9Ciq%#K#6*H6q2zM5Z{)?Y#1t4U3hCy&?FqT2B~HW6|}+MazD5 zA%|_8%Ij$WDl``&b6h5`(4MOdoB#~fOx6Hkd$1xMkP6g^Coy9Z+UW@30ks#`tPz-- ztW^Tgvd*kXCi=DKW)XGk^t>t`g3I>&c>y*%b9l-tdkd0u1;1rWU0-sQatZ{GhSs!! zNYQpH!Y4irx`a@ibfc9MKJA^f!g@i18OjZ=4=3)c*Kr2j^?BKVTTpa3qgk)&u)pY0 zs5vWvI@v`?X#HG>uu4WU?#lLo**oLb!YpkSzDb{<2Vno z@^sh45;vQdilGRO5p?*=Qd44N z>rVM0?a(({z(!vofW8%?1v@&?h$^YuUiR!B1j1uUdddz72WtoVb#Q?o+4DNyC zy@M38&ZH^>J5VMG=(H3j0-jgoG)}s;;8uS1RL-kxK(IE{sOFk)*B654Qx+^uBtPWL z=#3$+yd={6=7XWJVWOl%njje`JdJjwbd9+BGE*=kIL6W0kIP6lTHt!Ir@%@>uuOdq z#N(TakvXyxIk)l5H;Pg2!+jWe^a9xF!Qw4#)UVT4!##oaz>$cn5Wf5RK-b>ANyo31oFVx97I;F67juIi-){kZYNh z+(K`tBD%ZdM9Oesf zWWyeMJe>@0JSi0@q8unX79AE;^Y(xq>8(4-ZoSl#Jei$_xs>|N92!J*3eN-|wXJ&g zj@Dx8ST)n$R4u{t{%Y%-#>iDib2y>vVb=+WCjz<)nlB`~ba+*>snPrd=hgzu6&WuN zPKd=fmd$CX5`Kb_R+6$iTPoN9VP&w1Njr*MVafQxHXe=48M{4YOzc)3ZOLwGa>X{y z2sJV-SKj%DT1bC4-Cc#xOmvLb>v{PCy4I@@a&8o^HR9=T2^8u9MQu62Q$Y2xqcU$^ zPP_%6ZV-+(mWZscCTT=T@2U2)Es%>TW352Zf3Bw)feth*^@YJE7U|QnFcM9qfDZvJ zFRoS@uuZX;t8mGZ)z zY+TWc(`FttI>TtX^4}|{)I=uMvl8*J%M_+LX=a3mWP2sX=qNiRLh>anLKq<<;-CqG zP+}!-tCrG&PtScr1t{}!npFdHwYpXr87IYILN9EsZ>?jz#R-<(Gg+@MARks|u*Ns0 zf9IX8aF+ar0s{v;ilGizx>j)(g&(C$#?8~}G+7i|KyvE#y$UmIn1S4vSu)?}Fh?ZV zXp#?Z$;hEv0_^qXF6Q*##bp=sQ1|;CnxEg1`$9vM^{0Q+39X~Fu0>5#A@M&)=|w>% z3S`7aNMH?~MC}yF^^pF+ay}wdyuh>Fi)5Z_EIm2c=iy#dwJULSj*L%eUH1G;NW5_l z9Ti5es2~1DQ`zJAt;NILG<`tNiJ7+i6-JRbvYqs_z|#k_JhP_|2Ivcf#F1x{)<~JL z5gBG{O5LhErOiymCieyJroYKW$9V5~@6PTyhp_TI9+>TehT4YwT!=&DA^Izq$~3~- zfj$)S$b)dI&6iTnG<`|_S1(;)6&2LKgSzZJw%$R(@X1zJ*0y=bf z$K1tI^>AUxNATUm4m7+_o{V5g2 zYo;Lfeu6KRDddoy6enASUE`$rTw)Dmr+q#w8G>03H&##yTc%*4qI3xz?V~YQ@H)~G z9OnqJ1_R1ol15xMTLp@D41@mD@Nl?OWz=sP)pFQ6sZ6-RoH$rXNuX|e3_=ZE79kvu zVxWmJuMe!0}H4yDnDGZ07{%b z?1(FMN{8uC=AIbP@D7k>6>-jwhFFvdx%pO)ykjg6oFs}0jWd<(jdC%+F;m(j7eko- z!Mk>PDA8FCGI?aO$ABP~&{8b8QQP{(9lER{nN*~Nv*!?ETU?4=@k&qgVvo7<;sUXk zMNc#+?$sUnlhM2hL~<5kJ@C>wX(STTZ8)IP!wA)B(++^C)oVYKjZ&2DmhlBubJo&| z7`P&+vk_rFn4cm{Hy%+@?J6%g*3;DE>I~lgZz9RU+ZSALJ7YoTWxJrx%$RH0C5>O( zBxgP*#`$ma_irymPcODnNMUjDz2+p+L22=`H5a`GHdpz~| z67C+e3Bk!?4US>jt`*Gb5iGLa=*eew<>qM3r+c@r*!#pOhP}I4_#wiv$W9t5jw%r(Z;hT41jz}-<^~x_wW|)$ zyeAP#KeB@T*P%_H8s0BIs77H!uC{A}s~m_de43jcqgE5eM7*HJxHn&rU3h}K=j&NZ z0e2GegTab*!Ii5nX_l%qwj=akIGo+f&lagCwum?Nj+0D&6c}K1D0Ldy_B?c(efdJS ztL{W{rw2R!O7U)-l3n@^FBml7dnE+$q5)IRuNtr$hQ{5peBVoH?&RTCt#`bL^Ws_( z!}H6P_afr0yvTVLl)@L-c!ufx)6Z zMoNj@=|U0%x;^^u`mGS)i^)KflI`hs`BCK@%2iyHL}yUhZl?veTH87%EF8bXbg5%+ z`gO8*8h<}?tOV}Ux8NcdEo|?dR!diMs=OjN00Eg`s`^Z<^|o}5aog$-x^%#C_CsNb zouYN08@T+-gZ!KxTUKgx++qxw)Z$m6CWKN~=MYa^d3fe5r1UzQr94Wt;$hlJnzT7r z&O`CyfsdlSO?z?aI2cgwH4ymh{#q2w)^A%{Yuh@BbvNo~X{u{cP)h9EKGqxD~aHd`y*Hq)`3+(g5(ds6@rKDI)I z$9Qp>%HVCYDCGAaAV>sX>=0$1NM2Gni2gjqR5bERWRz0}EUuIj8IhA{TK}c2YB&og zkT4Qo*w@A5?%@JJ9V*05!h?amgxv!v@rqUFVwb4+XO6?K8o1&BtR836itFWS)j$v( zqD7_V%Zu63$-J)kJ$ptUdh2a1E$4K9F&%R5?&S2Hj#@fO@w z^$j#VOQVlydV^mrGliyv>-bVX0M`Res;zcg3B1wQQ}5reBb!JMoZ0jYUh+4p$YF=^ zX|D0pRkBqEOr-sm*i7=HY=XNkE%Z~@^%btaj>kDB?fOoFGa5&`aBjr$u@tUQyGm84 zWl=@XL0YcZgO7Y4Pu+s2!s^tKFi)wFX!63ta|hQk$=lR)RYB%e7Dn?Fe)e6&tc4Mz znVeL#E~ct5&rg$EIgkYf^N1Am^V*{G)V7a$JOVZEM9IeOaM;8>{t&Q8+CcqC6SM>| zVWKS`c&{H>Zm5u(9MeqhT1?93!JCw7k;mA0qgw=FhIvDSa6i?A`$MtD$`dBX)ZHZz9^)h6fe2jL^g3U zzh^ro$f$g`Nr$LdnMF=c#FFrPM;}eB_s)J5JL?h& zaTI{3wT<`fQquNF~_#G8e8&KH*ydEV3E9r#8={g+0dR2)grn;$hxiM-q1XQ=9~~QZ8$!z6+*!KmQ=x zP%BPh@zCFCV1^(NH8bU+6sDJYFsd0owV48fi#HBXeI40#s%f{)%!>3lL84i>8j%Ul9(8Z?GEp`jW4*((B<_dTIK?M7u&;&Bh;ooJfL?TLp#jAI|u&J zc-+)jq4zuxSPFaex*B^*Y%Qbohc|mVyb-E0pILyKFvUt%+S4PuHs6#0OKgtCab`~0z(jZy?l=hyqG;L z*oQAjkBgan-!1x`5S9|2>f$`ZZHAO!;+Yn`mmp?zCL->o6&*a z@nBp(m<^}y-&2=EzXgX4w8!C)!U>3I9`bEZRJNvv5yaXJAI;A04rYE?Zhm^M);JEC z$NN7-cZ>LX1=(zp{B-PTVT@aj;*X+d*U}Z;gAn7|!ecyJSTW>R0a*z_1gi$+433Ys z%fo!9ECXG+hRv%V<+z`8+xt3OIl*!n~+=v-9vU{ zBDfZ@n*}`>B#EbAlz3Ft(~~goECuP8_0B|W=%z;NhCf97B{TKjM9|wbDsXK+f>phk zl_AdZNImf@g7E^r7GB=8kaNH8WOh7}@16S%M12j*<@_>E5|5nt_3B#uyMPam5Bb$`X>!VPdtTXGo7^_tYJto;$n=};UUZVus>j5#DWPOS}e=Br!{<}T1xMzDhrq|STh zFel;o)>q4Lh;_MUs=`*g;GyN0L{OL^jszF?;(c3|lp#jUpfVVL*ocs_K_47U1s)lz zDWxpla^=SLW8H{<+~mX=sEd??j~@ zv5>#Fyu-xk*Sxb!IOt0*#E7V?rret(IP`2Xwkvl#$eIqO*6TUE)Afm8G1nr%k@rm! zB$!ekfB`Jc+- zErFy$TT2>M1TKREeU2kPn-tP^(psdc#o&$x_#SxVBY28%%#Tkw3l|Fz85G zhH-MG+r#T*2>w_EFkg7k#GuVTTZ9_0P({fg;j}D^s`-y{@y}(4JJ!d-L~A2ghs(O( z(PUfdv6dCx1%x)j7;Um{QlXh?4>U6L>-Q3`P!qBy5(sxKGzM>5SRj&#fP-Y6?TY=R znU|k*Oy3BZ08MSG@?LH zM(~0n6nTZ_*BWmKmhw{nPLyqv`qF56p^!46HkTVtql!rF093Rf&czt`{@iG|DLvsi!J%4KH9;E7~Pu(kfg0M$*Rqn5- z26{7Mgi|cr{(*cAse@yhVIdbiqR504qp&>fhts#vp>EFY8Z@Q#vYu^PR<)}0XpoIC z+>)&k+gpveyC& z=lP__KM_Lg%db~qODj!R<2`Tt?L-Y5V1$J1Jpyg>VaviZzMP4`{rV0Y=Xy^Ez;3F{ zB_q5*4=Wq$vqL$5k~D-iwKH*caWXZu{SUG?vVvx0WF}-F{14*cfd;5}I+zjy#O&={ zL` zL8wi~&cRGb$IQw?$jHpbK*-3*!Kn)k5Og*+wR0h4XXStf2pc*`m|B`!xDc|j{}caX z?>`(J6B8peK+?s~#?n~O&fLb7kO3N?>|$!GM#%V|VH*ECh?V)Dny`hTld`D`AtgW% zAOsKwhyX+ZVgPY~1V9oX1CRqK0F(eK09Ak?zzASu=manZm;g)xW&krwH&c3h=YPQ7 z)#-nLIluy739td!0_*_x0DHUt(hdLzLnl)^8&flv|01XVOc>x`>SSqe0&oI216%+u z7EY%B)pl{W|DSic0^9%|08gs_`a{g}-x?Shnf`fM37U`Z|M{Ke|MRbCApFns&xECoi>cGUnAsS*n2MMh+nbpF$IAZ( z*<;=1?=KhAt$SW<3W^p-qYbl>mOn;?iE>;m)iM9h_;0vzU9TR0TzC0)?)*83<{ifG zuu`jDcdlVwUT>z7OkTniox+n9Oo)NEi>i{L^%jt{#z0|3flwDyjVtcR4u^>g4h{^@ z4o1ttu&}c|24?}&)Z*@C{-F_^8^i}SSx$&kNlq&M`8iAvr2R%AKQP#XJbaUHY3o?{ z!QbN^9a>tS1D1H`fu04?6(B#3fp_EoPOLaRHM0c=nU~Pe*6Psw?LX;%Om0Umz${)$ zK);-#W+%XguEsX(YsUjC;7Wt2&^I@+K0OUed3JhzD}UG%!sf^TQ4x44fF1+CY(_4? zO0Gx_o>!h$NTKi*iULV#YES)jgXxHZfgx_Kp7*yfGO;i+e1ku(och=7!1@$)8MG5v zoA*!YdrukAk8Jv-zRuY9#~-q-tIKb=g-;mpZ)up_pZWbB;bws!a)F1RU)mi~TE7D( zldHETtNhT(-D>iFUQIV;E~}_*}c#c(< zqrz2h9#-T9Rux6I_uI~{-|qX>IR!*?f8j8pDRPgH3jp2>?!{{pLKgjL$H0{9z3W&aVj6^ysi_d-0ao0m9(0di_rWO5AUgo#q1dpwy z%|NE6{P7oWT^B#!(O6X~e=e}OoCBHNFgzjh6V%l@4`PfMRjMYxw^a<)F>u}_YfSOu zy`OPT9vFjnKm({tUoF%ab<=9W1v7mA?il-xr$D#H@7x$A5Ur@4su;WjD5JTM|XVWG=0&M?u0f_H^HV}1h~ z$xQhSk3GMo9;04H)+v)w*uXzz2F{Ib6`sjS53ahwo7yMp3-KrVo^ev|{lWJ|bYx^GY@Q}vtGw*}V+}q#)_#6c{Oe6CZZ*g1@ z&VBL|2g1+ed{~^Mq0lY9Gg9xm=UpHEG{5m}io2zXvqoGXIW}FkWkg;hH=e)MV|FSa zWsybc@a@+Fm|;Bfu!^=A$b7^O5j2N{U((Y_gvH!jnOm>Pyp5ARv-W@T9zV$;r-r9f zw3J5lHC)MUnyy)6j~>TFjEmDpFMy0Kol7(IaLi}wtXAop0oShbz?|Jz1NwZa@u%MW zA3&k2I;@mHe`A_Rr1&U)JEeX;!+3gzLKz?9eX(i;91E1Mum3E!84!M6AE4KdaWzuP zq14 z`r5(KtL&8C#QC{C5|uQZ0eNT!?eHAr6bt>5IFQQknQL`~S+#2z8+mus)x`1soTakg zm#jA+=q4ZPyORA8s`z8}&f%_73*83YN9!!djS@CXS6k>7+$#qAS+`h^!f#f&2IgXl zy;mVf9EQzgiiYV{&bMhX(hzG|&v3ha@)RlKTu@Dn2DveMvBS4o5BWU_r8p?uFSt~c zmO9a+^e9Rh@hOBiNE4JjkKE~2=C;i2d$x1L;#k>bU$3w4c8a!*O)6tZcFhzpBfP`O zi}LkE#tj?whuSmq-Agj`s30ij7pwcco|Atb;52~GKGfmSK9hIpEjATcuuPR6x53z| zT?9qux6^(!uLjmHg8?3FFrj8k()oIGBTDc znUL*v)o8)Yr0}D8<|W?sFmgpf=e@Xinszorhyg~xYAvF?@AmPn{Zf{bfaCl=tt#QWzV&N65b#lS~5 zQtHW%lu8D^sV%&dJa?l!nzK(RJ^ik63nn#Eqc=4^u=~?%@{c2qrNAi#&Q8Or!!HI; z8t;C%-^($4%KzHj81%dp{^biRHop}(Zq~(q>hHr==8htBeWV#R4VU+!7RgVlu!YfL zpFd@J7mrbjF$XO*G?-traf@>~b9#!$vnfr`s+IKO{x$W>$um9kRnY5{t_m!Dn*4l5`2%$?)YC4(4| zyil1G?B0uYilOgLPz>d#Rww@26!nRZ@firo!J?Td9E3s4c7%LQKIL^|@QuPfTenHR z<2fxy=@lg5wO>g+)Cf~wCl!T(Um|ZN`6Dwh9T1dy#%u{yC7*A)sxeO)X1~v*@vW|d z=Kjj}bXae<3*c5!0}E zyB-bMf|;;YDX5|a)~pR4J$tOX}5+=t>P~##RrFWXE}wQqNbA$Cf_v z`}RyMzC>VI6Ma-@2YGk?AZ=yR68K~QtZjJ%%(#Ov6E0d#~j*8i9)tESfufn`^U!D zD>W#r%CIR{lp03@B`4P4vypm!XZQpPZB-^wENG2BZ; zk0Fm$vWY^d-E2721=K66I7Tvf0bQxpK(u6)T`F_g7pLOH!Q|Pz3@LfAvC5X#AG69b zPmjtK822L#{;MF*6B%vbEqZjw?nzGHj`5l$eF>(DUZi4cwc-`N$=QkCwyAoE6az+*@jerCXu) zh(~D1ddYuX`G^$KydvG!elh&5tws#k1-^KBeE_G ztaa8Au`laa6GhikG2g@X@8Q=jG5$+8uh}7u-hu2xP)01SIu9Hc%)#>tyA#MJO;l3; z5@n5V$6>2o>j1rrC#MKr81kj>M;Paiuki7p`0jS$7WPGK02J$HC&cPCMS$po#L(5_ z(0L$|U;UBgrWtx2>iVqu{PU#d21%Vusg5GJ`xcRZmC4(#xxUiTOq;35nO&ZE!9=mI zVM^2EBBzbY^c`>DGHCbM)YINl%X?q+QO#`bjA4+s4uw(W+Q<_ zmyaYEetZ?VCSk4(bDz(T3>G2Qo#9cxKyNpJ#T?r_0;-!xLQLemZS5ID)r*fpBqdoq zlnQqhZOevlD^3OVdsOjRzVyuGUrSzrFL;M=B~>tYQYM15tCGA6$L}q3kz?H90)qE4 zuX6vUr?mS@V;(UV<%FNuWW~)lhvf4bq)vbAx;M5uMQZ7YhL~u&p^GCZnYLLXe++zI ziQR58Uy!->#gNtZ1!)VkoUr#TSn7O0Eotz{+f7a>FmO<3nFWt^UWj9h`HKSBAx;13 zQ4}r_gsJ_MOYC)`HHexYw$IkP`q|0j-+Rsbz(pqmzy#?&LW+~@6R=;=Y_tS0+IIVU z1jo7D_Z)Ol&?6G>wFR84tSjC)wyMpSbM91}KpWarXw85T!XG5y7vxA{^|=hCbltKa z7Kq(qQ;z|P!_XBwS-Cj?F-8E%=N*Rd+SLG~%^AN1bNxpY0Sz{`z6+^IKby(Z@z(JE zPW@DTgw^BSTy^R5RBGO5uX4z5EYJjKM>rUEp^9J!)LOixRcTDye(ws(!#Aj}`vo8} zJxb5MqFJGnJ2i|15V+FPVQ7-4?-VWifHnHFYbj0*H@u`z>+o6Z`u$u)8bo-+Ij?bL24Wzx1t!cG1GTS%p8&swK7;Az=y z5#7BfM< z6GoYb^)UlUOJ5GOn_qeL5Ik98ya4aN)iHIddv>WuA3|Y25udiGZhrXJO)&fGLwJgu zGFU}|ZYVXMK5n%(ioq*vYZZu4r}~4=bgnu>k`t9)t5KPpSescFJ7b_Q+uNZ#WXm1) zJkty{q#n!sJBMYFqhl+A!Zy+v7k_+V(W^Plyh%-_Wg?LC^VNJ~QZn3)igI>N)9vjk zd&kYLY^b}c%k+E3^=XEV7DijoUn9?1fps$5b3i4+ zB@l#4eR373z=7oCughLwwNDIeS30$gBTHj?gSThTZ$#%G`rI5_UJ?n)KMHy84G1F4 z?$NJpD%&JhC1vF*#kBHt64kcZo6X&2GMuEem@Fe@)z_3KR6#Iu|AqK)I?yh-5-`QS zbi?W`2fGJs=Y-TjK0+AziGPqFm5>^|27on!d(PA-BtT;3N_M(fNCQl(Bb zNFlrmL2&SK^KEK3VT>c#7cs3zA2M1vC+I=Vx;1p@B{lTyYC}kDlT28gVO7`fszwX% z8aV0)hno}VON0ASJ!h=h`m_vsNQ&4>irC0odZ<1*zDH~)Yf|M4=dF|8k zeHasBa));8Vfs1j3_bA6J*j|PleUu= z)7{gaF__0R)gNWiaK>OQ|I-W&E4zJfBM^$<%v@kL*ztM@6(UwYcDU*>Z5e2pM^u~r z@BZlQW5p^?AMWo3(~Q_m8`M@6L;V))$8u|5f_!%pJ2{AxTkNZm{rollLTsTrxR-^D z?Wvuj9$YKtB=yHH;#G_2>sG`GLq&taSO&R)LhV6Ic8_q@*MQHlWzn$fdVTCAlH~C^ z)Th>YY|a!1O4@{I$u@%InDy@fo13WC+H{V-K{@yH^d0*6*8zZ!(zv~ z>C|Sj&w55wS5=L`C7U z*nh0oj2S)MeuMQA5A2~9NTb2Jx3TIYH~lJnY0YyO$g6)<0Vzic7P;S~V}K=ts8%wI z!W@jGO0Dr(rg*I%qKNh5HFxm)+jHUKj20@y7);Qw_QNKE*gb;hhOp>`X1QuheEc2uyx4e;BLkcqngt+ zWhDj%*ly6z$9YmJUrn}14JoAW2#H*`9`r$sos!9G{y0hV1fCcZXNEKYep{we5ffAnhLyLP29T)X%s;*ZaRFO#$$If z|CIscF5e(4A>45^J5*R1h?#Nc6aQb^zSFN4Tv!L%)0@R!az!}Use5@a`S|HUB@|f` z@HPD`SaV~~aqZxJcp|0RqzA}^W2ZsSk*2gVyInV%Kl5FgPZ3lny|;iZ=ZH>mk$PxHs~j}AK*3w&^0{vpCG?;Cle~l>NDedBb)K8 zz62DJ>*f|qA9v@4>tl9VtJGAIs!)gQT@;UBOLnK48=XsBK|Z^`5p6Vv8p=EP z3fT&ScaR-w65Fw?C0|~EzY7ZpUYp>R%sOhff1QWJy{+3cWq-;#r;z+pFXL!H@otCe zgRo=>n92uNwU$O>RK9s0AJ$D75N5QX_*|`?Si%wFgi3vlKDkHZYIw(n>@M#f`+j~D zgFbO#so5cb^o}L2BSW2E#lf9jRe0a5Ddc3}R+aK=mW4l0llfX^k~lPR>#mYY!4^T( zDF2A;q0=lEeqQtNMNCn_K&vstngkH%Rn+m<7#kd_+dxDY$KPgo(oMI?Mm>~TiNdpz z5}1{K-{@CkwdwgU(U{lsJB1Fx^c3KQ%ks#EF+wdzj8kQ`_?Fj#9zlti>f=S_d(PRD zQaC$I@&wN%$$-39OTyfKlM=XaI*9qw9KOrx@xU--s$auu8rKGI2!k`vf2el+1)BVFVK2h?X_=dkpCMNiOD-3 zo2j*R?Rkw#h8U#uCiivITS~Z}CWd#I2Nb6Yiy-&=b?s*XdJ|Tr+tC$HDIZX5$Jt;+ zQ*I>v5boBY-s}UxQ{$9^(s20KO*Lc@i#nwm+!kANz$gjduo~($Q6N;k@bp&zbi~^g zAHP%y7YAhkU z^wKL$uMPJyTDi)?!6J+B*|O^GC1b{e^IGELP}Yh5+I_XjR6v}em>7|XFoHJD5Q;xy zU$TcR#uYclvUFH2!~HB0iHM{~BJE55Q*Tt=c59vqPeeN`CNX7CvGNRiw4UxCI6W** zM%<0(J&kbE))8*RlmoW$Kj>gfGgP~XjTgRyuB4TcGb6oF9^->6UnC4a`iGsuAOAf=#}P;jR`68Q%)lX1}i zF8|dX{oLlbXVv$z=?Hagwk=?qx&HYUT*L?u;0sGp74S5{SlfAU=U`f|RtaU_G7q(h zcgwSBF|=0awjZG)R)UdVeBe1h2WQW?X)Q$I_b z>P3EtF*g{0P|K^?1@6cb_SQw_dxS z%b+fWUn1%{QyjG)7+!L?$dtYp`RSn#eajm4wV4^&LeO$xEpHl@-)OV1tTa42PKL^y z0!_abF=?5}B+%H=*!_0lGOCJD3K35h=$_3Pm#gk>i3!ntDL%7<=dQ5mKoq}tu5M^Q zy-H>V12Ax=xh172PXeFFl%<(9<8L)xcy4^bbHLFtp!|tE!C(nLl&P)!DiWporP1AD zS=`O-Wv-}2%?`sl*Pc4~G%HbBY0)h#uVHn@xk`)S^ma7xYBP(C+Ul{(0{ z*E}gP=(t^yO8oj`GG~*EcNydgDn4S8Ym(@Snfo8)IkS9@<7i-L7na9M{H(C76_dtQ z-nXRO^D}j8PQv&&`yP&a7U2td%0HTl2;l`yr!$aEEga30SrxmeDmiK>QWYR=Zu3Y# zOcO~M4J6xlp_M&3$+K3eCcaKQM~CNe!p9HX**C1mnvV|HzT6bt1tE-}=U$9C>S;(V z)Z7mof}54)=-?CQk*4v=J6!F1w{E5>QC#Lx2SsF>7iXv9TMYPzqoRXB`bGHJc!7j{ zP|itRUJQsf(0Jv(lIy-G)PUq0vZ82JuI{lugCcBZtZUPst*Zv>{eq@@)TjKl1R?B4 zga;Sx#<{PBM8UZt<2szNqgwF5bsWzQeGwnlmO#yk%*TucEZOFM@{_nA3_x2#SqqRa z!3svoj?=_9`WGBI5iPKzQUo+qf6)50~!Nca!nAO?wxMwRg z#!;--AOz?0sae`DHFY(YA5z&NLnz9Pelg`*VL+Jy zr~Q)a)lI6Yv^nUXQx~Gz(<8((SuAO0SwP;RG9eNK#GJz{lXN3#6|?f}JSNK4&W~UO zwSGJ;GuZ2EJ(0R4#z-&u5ZQ;TX+jn-6!RN?7~@p|c_8^qFfsfJ$)$dsvDNmLI+@;F zWAqdKQk@OX{JYFZ<|7easZEZ|P93Abfkj4IfIDde7LBUHxrs)^lbyVH8iN}Yi)-M+ zQ>?jxU_LSh)9AqW^6l1Ux9UD z17RAC&&CZd?TehZ7Au@>z^hC1;^7s7;KP-L28+DFfXbvtm*GcS9dxj4m~Qad5q(T} z%B6e0RnhZWmP7G4la9OI3MOHiNBc(caZa0`#sxOSs&?efX#hV{TkV3jT6qDJJrM@t zWzi#PQ2b;vax`9y<;#ZOY5Q~kJh}L#uHC?Cy$6iIPE>3Bu=03g5k-LX%Xt-FTSd&E zG*VY6?_T3_I5SJq!?7l7TarrqKyOBVe@b9YViz};!q}SS#yx95mfz48p4tp6c5qIk z$mDk~vCDW0H>y&;iO*{lUDFK;)QfWzNHTgigD4Ub*0ZsdF_$JsO|xa|-Rwfh>@01F zScQWDi?#{nH1SrO(f98+WJ)YS&p7*4NKpJgz4>QjoJs`2*cKno>K5w0IY)-KcQZq! z&?D<%um-v7sI0f>Z;Q@|UUV${T`%zZ33uHkf%r(9V`1oi63;0MY$^w_+(;^8=$|6c zM?ivvc-zV?B7`;T3Ch8~@7K#db784Ylc-Y>xfE$`td(?Gs5lvI#RdkzTNbFXxUr&A#MB> zNGr*PCh>H)oetHxWPu}cs>&v!nomCuK9|qJY_I0jiB!-OvWUb95DLa;t(X=BxD|dM z9F?G1W_t&6}@Q1hyJkdS+jRv9tc57WzHGd@Fi*f z6o-<*g2X;Uf)pJ;FY-SwY-$7(ZS^HVY!nY|7fNu@T`k6Y1$u#p3M#aF(F9w#aQKL( z7IqV-DWX8A0gart5`*Z-2c#uByXqtTMm7#V*$&jzo?!R!DVSqC<|5&|!9JpYJ#RLf zZi%#UoN4R64yT*+JpPp@KZUg-Y>7dTdf0m|kJte*_ zQ=WF3*e6?Th0klV#QmvKoq^duo6y6KevIalq9wV*qPPTa`TAnGm?3w zaF?wEoUMtZY{IT@hnwcT421S`Wt=egsRgZmerWDtbT@&9BD1^!*~C?tEj&bh;(ykCYo5yJ_%F&R2t1#*OdNQO;<~^(A5p_gS-TDh!#$Y280eE+h;*~f$uK`bvBz;nlxII8%y2Iyx6v!enf3s< z>8Cc)e4{_$JdPI;KJg@V5H*?>bdtMdc+_UC@g1fY`hRE7jN8=a>Bc4el52V3ZRR%> z^dciXQ@|LIxySu3bNA7Rxv)O)t1h#Z(;h6wZm>oypP;>g_ivQ|VJ`B#@t%f3Jvsv@ zyZ@99LLd#;;t%A=AVaTK`4b;p-ghTMsu5VcFG7}M>x7<#*snh!%cSm_U!-%Chke`8 z*LYen42QEE7VcDN<4NJN0jc;);e?RIHUu`>{j^LeWE^kp%UctG-)yoFvqr~#=1{px z#Tzu$j_OC@r4k31r5*2Bcjj2G0i~M+fUtYoMdz#?Q6Ckmen(%1i;|$i{yl<ok4UpME9c4fT!j-Tl7M5qz z`Ob+4E3hGA@~>1>DM7V69cAX2@WPYQ)1>B}rF`|*HfbSUcYFFJ(D|Jso zqSZ8xvPpi$`LK(VNyw$_e>saU4r`iK=;v0w?Ww?~=v+|c-%^}Sf?0Eb^jf#vw}gO4 zqUUe@zp>VaZA$JorY#K02OxV+N--C_JQ_efP`!Vw+`@+Ntqm{T?T$S)M-x7U>dC7LI*zrp&) z8HwsNj;cSYPP<{~4cmpwEv>l|C$Ntu1{rJ6#_o+v);&TTv33D#EeY{Yg8Dp3Q|}nP z1@zs$NN_$0VI@Xa^OYq&&?oD?4bV`FLX;LVTk!>|%R!2&gB@Nm6OV*15wh?fW+^qc zj>YkWs7^-f;zh44-D`csyV*TxXYTiboFaF-Kat(V;HmRmDxPf0UU=*MRIaaSg9-DG z30NikP&Y2oBCee{5asx$#ryqf&Yg;}pLNE=e|Gtsq3%{(%Ta8d6d1|ID0dX#{EErd zE0$1z+Iv%le<=qr(UO?>5l2oozAtgsB1DPJN~C6ba9KfIky#)M51zsNNVTS?RcmJV zuN2nUC(cZAarhNq3dzZ*j&f;ygRkCHiT;_(wH&2NI$!8PA6`}Y9guriEbkFh1QlM+ zJc~Cm`X+TjS>Ba24;ho(A@4abuKGI|(u7x)uV|qaifuPofzV&x-eEJPBM^$Mp+WxauFG47x;zKTl zZ^fHkhiqdZo|Jt-EAjr*RVc@Q(ub+zwC&cY!PU#XUZtK&`*WV8MQOT2n;5t##Og~G zGf>G+w$agOs}`yugqQ6gvLesnTrxXoD0))_$oXdQToLScXXK-_`O-oL&vhm@a-P96?q6kfF6KEB!s0UT|7!M6cLh=5mEsQi>|Fw5eh(*jAg& zM}F@2&4gjl0X9rKH*f_?s-OchC?2oY_PGJ&eQ&qB$XLF3$?uqA&^AdlGowpk%c${? z+s@b)=|}xOb|1=6oLYqtDDKJI9TZ^^wnZayUjSibg+L%D#jTjTIb4ZUH5{jdG#TEa z!RjCBni@u?1)Uw=-2$yh5xbskiS>p$txn^xnGOWBT z4aJRTkpce-9c-M$y`Y`E+7^DUn%(0&f-%Ghy~68fN7ZZVPprNoC4N|>S>L+D_yZ3A z>$|=FiaWXz>-%S_kSi7oU|*?@(-Dou%FQL6RYY@fk}ZpB3WMfGzvQDP!9@wIv3*Xv zgU>hh2GN~Uhj+8bbm9s(H_Ey)H_u-eRe=B5UG0wn%z6O3ZC(ft!kKKNY?ectMjlfI zaHbFOCciTph(3%1ILrl~G7DV_{X3ZlO7cDdpCnn@k1@!7#@o^EOibTe`|Q3;LkD{* zFDFT?+q>QR>GsvD)u~%*1mZ*5TYAlFNQFn1I?iK>oABFGjQT5@ZG5D1)?@CPA1|v8 z;KU}Tk!-Z+^_Nq^xTpr}|LrP;xgndva;1KkvAcm^s!TYHABK@KF;54}Rjc9flJk^5 zCrPTYwijXo!;b?uyBuF$%8js&>;#m!Q-8|MrN$I(MVbUpI;#0@+TDwHajOt3e1`QP z&W2Uvi&JNGFDei$W4fWr3v>z6LSkC{6(#!bBSEs#G7d^)63rV{RS7sVID3iF_0!&u*^UvflMk?EbwV3OrHBjAy|c$m^dKVm-Y?>;Pq=7-sr|f# zaObVb#kXxS9lO`_w^n~x(OJW%aAyl@K1;9A`yNl=>+nrgt8-LD)H0|Y+O*Q1{?2<* z;yGHgqVkeBJxUblXIO#bIg`QXs)pe4@XA`7wf|2C5HK(m>69VM zg=Yc<>X>~g!9p9AP2yY{*UQkD=}*&;JtP6Zekv}!Ed>!;i~-9ps9zGp5_Lkg(*KHm z7?u9zm*6#)5F9!__Jq}vt(}L!6k_~sn_BXk#uqz?URMlr4$B<*WrRDGU`j4;@Aw$e z1wdfDsM@Hr=9CK4K*SN1TYnmya*llN0wZgJJ^-%QHb?;MqQCFib%c^-$9~HRIHKa+4dm)QpL<>_M~*Ie&ORexi2c z>eTYs(~b%HL$n?cA^m=uPsT%0nOd2>4nF139C1IG-=$)zN0%#}seq`%P*U?PZ;Y*JU(?2EF{me0x)O(uZG?Ma*;cRUx}$I@#hq&2 z2$CJLpeo0$AyivV03^el9aM{f;dQ-YwfqZ1SEd_4>GNDfV}_QP2bKLIe3#A7+-SKX z&sm-dtak?ldcc)Cv(~mYjQs6g=lGi)X3M=Y)BL-sB6Z}Ll8BK{7Lze#fOn-C5FJuWQ4Z@Ep|OIl$M>>67ztVVn*0}ldtBaI+!XfwLy~Lq5F>~ zy9`X<)yqx6&So6>Yb0b?2qKRTWTV`7R+J7-V1m8SSlD})q_g4`>{21%Jz6jFDt7a6 z<|)0asZ(g13%kuhk1Rwpa6dJ^DcelG(A>5T^u44&BfU9QA@L}0`LCYFQUEg$C&dLIu@dX~%Tx?jkq%b$~lZaOzSfBlOPpsBe9-K2Rp*07*w))RGU z->~H79OU=GJ0PQF?sqL*rTl=bc$N`dfhRI!Nc~3itWzU;_S{Az=C6zYD_57crelrFuD?*MJ5C$M?|` zS+cENkHjw*UzKQl*69%yRKSYbRhs-bf|JX|gm47R&Y2I^9MA80dWob^SIo{p8+c0KMx~4?iQBBgFUwXLJ^M{D{w5*@8yG&-bQVs$+wKs@b z{N-u={X>93c$^9W50tFgpbeEDjseqNqvjqqySxs*b z8DFwGFvA}fpA=p}Bj90$nl}pu)XjgK%JpC zWwf?Y!({enH=wsAxtTrF1P0`E`mLydj*z#Ej~`>(YpI!MFEL28;%FOppNcstA@2hD z2MP%DP!t@tC>M_D3O|HQM>km1fUv<1SQD)Z`xm=R!Gs-FVP;zD_e6-S+ji5iBx|VK z1yroy0OK>4sR_JG#vb24A0u6+8@D%q;x0d!hG9wlY8suoUnr-KBlc^o?raCEo-r8H zoENfI^8;J)$X34nWYAS;eC;x+8v20vz4J12Fk(rC+|$4b{YNUMIjbYTtrc~V1qLuz zf`2|<5EdbqBIC}sZo%~|HTucsPwZYm?a+*vV4A10F$KzL-wcZR<(5&)Iju=9k{2D| zBsHhf1hreU+D9s(xbMKPw%r|cA8zzj(Q?TSmT}A(3x<(JbpsZ#s~`r> zqeP8*AsIj@Kp-lSuXQ+i4bR1lLoY(|&+6y2MPGDad;-{*VFp22iC4UWU%~z6SiMth z&nc{C$-gFY)yo2v`sU0i9YFBCPr1|-XtgojL;HV?EM{Joc*jiasw;H3YU)g5(H(!_ z5+TVvQY1O~zLOwc_w>$g9k3RP8e#||3q>!ji0S@LeZTY~lREAH1k?nR8O3t0uO0y? zGaZqCqkjYoL==5?Jw>t7F#V}2mddFS_ZtB0n*3_jz$Gnxy^sKhwy!$}gY4e?0}Tv3 zv(00GM*mXB$9~)X(^u`bqrb8{R_?L7S%XhEOZFCf05}&4{)q!@bOYXuHddV60uiPL z?-t%zx-nzKQbv+`Q64394HHyIvqC4nrQO?9|J)ZwuKS;DRgMpHs$AX6I`XdP5tXgq zf*2&XEB{JjE-DfqfHg8JW%bE*_shU^D8|i~fs{6HG&Ch&+>-oiHGUDe;wPiCX zFI)Fkmow5n(+Md;p)_u`A|6qrO;4``m+!~LnK=)pkdkNC4*JjOVCZ#MfxH!~dO$I5Kl$a1MyxsRD2jyq zAdF`lslp~k;?|Oee80**bI(VTS-PoLD5mpgH0~c+-c}+4G!gqnzI8-eJH*rW(Wz!~ z$+2U|nL5!PXPL_PZY68NpE`%>ZZbYK!lL`CXvB@Ug333>mn*p9ZKt}VaXX+cy<<&d zVDXBsa&%$Xll)u66cusgprhA(b3xf$sPEKtsk<9XQo}A|1KLqTj-wRs#%jE06SRM4 zn5X)(tsDf)uxHQ`v#jAiTO}r~_091XX-A#7UDRV^SGwBEkE~j&WyaM;pha%FxSukt z<6j4NBrK_K7O5}Et&GLhI71HR8PVOv>zWB5Q6=9H8{V6X!Ouww*g7PrP0zH#cU%0I zx#yHEyl9nfKtmK}fQD-Fqi(E#m5p!=s9Iwlg8&U+X66>TA;L$I(y+u!Z8TcO(M-+M zQIr~QhNVU6JAv>r?IUjFD#%5*=9xe}zlyT!zJ$v^Xq2fe)!AU(7F>k$NS;DIaBcTK zRKN$09 zu#78n8YvWo*c30KDX4UTZKP;vwx$`!Z8$ukZ3%06^V{5}tY$iHihjP-Zu$BdIMzW~^?E$+ z$azrJgE)>?F-z4DTHAFY)dkkALk3 zcX8%ospIZJtZ}KSZ+gIL-j{_{a&V|zjUUY>HxJ0Fcw{N*%t85fBQbZ*x*9Di(J1Wv zpJw&-bO^^7wC^i1$Xt-2>@S3G=mS+3!70MPJ=1+E8PzS0=L5o3hhU(Urxy>TUP~9!2t5a)W4(Bq=fYjCY_yDW#S=mp&#@Z|>m(z`!SS;>M zd5<-w1_@ZD_`0klzDVy(ReGXo4y=sBh26b2wCqsgLTsAS z)F%FL=ZecFBgcpq)#X?l3=lGP4IuD&F%D%es~{Dwp&`o|TufXMzBb4&m&>cXA7e-9SGsg3W{R00DbO^Xkh%<74PJP^;R34fi*57>I?rntE4YRYvkLF<#YF#$7 zPz(_y>IYqbzlARCTsTQxnD=Cb^kYR7wMp>x}iJOjrcsJsm*K^Q*p`mFIfO46M(==-zrc;l^Cl~C@?qUAjgpJy#9es zyW84OzDxdc{$i%Qk;73c=yc!nyEe8A6H?hj)E^(AEu7(mlqK4LS170QM5H+$eOv8V zA(jTwd=U$9IYxwi1Lo9S=u}up`JsjB8FgP5eOL4z_BbQZ)y7a^njG+Anzu2`9j3=h zx(gUycm)d>-Sdz|<{Zbp>-#6xedyVCP z;^Gp-%8v?P3fu!T-u^+c-`Ak3W4K~U(H&rQt8W0oCTf&G%(G|vu{gBXpt`>#7DI30 zu@FYvCy*=p7^Iz^!<-3hIPkqvE6RQ~C!)>N+G~PWDh!pK%3;x{h{{fm0h#ZC{;>t#9g5?YZp*RKp*cASSBryY7K*B9 zJ%7}eY$QxSE-NWBYViP<8fKYE^VqM^X$Tpt0Q6@Dta}aYAC+uOC$jN6h@ma8+Vv?x z^fDF(U^_fKVV;46-np#QbE{MB=KEL~Dr{m_hlHg}{nYiyBH;j%QXrN_>3-y?@(-Jw zzIDF1M}_n&z`QoZK!d^j_MhZ|%uV1o#h*VkHDD_VnVw{d%#8c3IV<8wVzPvL$G`CR z9R!lsFK7V)tfbe!CtUL0RA-9Y4d?FjWn^0+(+koAc8$YNfKOG279TBEgypB&*^KK11IVXE%) zXKI)@8x=)-awTEzWHEu*p-fNkZl&hT{+1Bj%V28UwO~ov4%46M{eeYB8a3Rv}-@)QrIr~lCvDk|YAfTp0cFv-HC7%IGX2og0# z3}ki3w$_(=5Hx}@`}SWwSjyIeIGm79=2^sDJvR6Q{B)u<7s5v z)F_1QHllI`>9ollpHnST<8WCzXYqtPbfb77tf<%MOK{VKt(6DOk_7f^O-}sW=FXHVO+n|99ZL09(U3II=6^u-Q~DVN(7N ztg$lbq?Iy1#DOZY-hSw|1woqy4K{!&75M9 zU_p|BqFa^BZ0g9tDlf`Y2*?K`m4%{t2+@AFqf+%bYtx;wscghY2fl4{{Tm~NLWBp6 zs8Cy`Wxcx%v%T7!-QwvJM_J~VP(M$jlBfJC#Q=#2ubVmnI~b*=Ip%`nxc)>nO7m7p zqm-?i;OV}wDDqnVuEZj5?o+7}de`U4-&KGHcDEN+O~=_HH?^zeYs{qak3Z@lp2ay` z#e^--X~PK?N4C@6vELRThG{r&=$cvF$hDMcEd{~t2WX;~BnNV40ut+Q?0wr$(C zZQHhO+qP{R(~o_7KB1xzSrIF9GLV%KKbfP$>tmJ+GUMteeEPhqRIRk;H;{&Z|6jf^ zjbF}8DLGr7cbQxK=vnETE7? zoLxjqWqEmf0*W#eKJNm0ie%n}kv3>5s2*2Pcx;|T3DMbT>J+cI8>Q6?*#Kl!gw1Ji zfiay*-*o9@S-`ampvp2-Sg~@V>FNCw7T_CmyAlf*;{{I*%LdSvV(&|IX(N#XJOwHl zPaLi>)jm))09}i4pHnEY?XXa8#(5kIgOj|KyTw6h`{ls+s-QYEl-zSZZ)Dgnkiz8@aB2?GqIOoE(z|%puF@6> z?vFL&^i-@hWQkl(iTAuO-Xav`f%rQMvTmvrB-@wNf~Dl4xrMKb_{+Ylivzaos&iQ6i z6B9Bjf0M4cEsF=ufTZ5PRpi?1uhOz~80=s79~!e=+B-A6tTJefp{gjF>0Ip@#qx32 z;@{dEzD9QaHSJ?UYCICU7<8B-Yzl)d>1_Rj2pU++meSj(k*LTWU>-|Y>$QeEEp=DY zl7~%ZfSgYCK7k^LXLQT%ZDV~042N~*l!oM^S5mj<-?o=M-+D;CCu@Kx)~)|CoQUp- zi|We)%6@Af|5(^Jfu?uRk#npTcvuJnq`~ z6S+vYOhn=$OGRUL2P|y65gmgHasb6o@J=`aJ)v3vnK}r0;wYH-(=><6VAL9m9 zb$)d5O7m{hz*#t!S&rO3-yJ-pGEd8t2Ak&e$gG_Kl%}BG^&yRijq+W}WCD!96{{3N zN26V2Z6u2XV+l?%Keo{MuI5tIb#Y8#t}HdE|Hu>yCm{CO1?q#}n7>5i@aJDfK4-oC z*wNjNuf~3z!#fbR{WkmpuCA`xiDg-X$#pgZBN-OaZXe>Zu59$uz6fDMr)FK>^XtNi z#ct}L^Km;Jx(rN$FllQd%Gzk0&l1zj*oN<9eCsn-sE8K>4;|Ml;b^P7P+f$L4YOf&;ux{o|!TLqq@qH*2ZvV8~pqFi^8`?{n7^T%wbR<;I>&u>tIhy!*~x zG>UQfyndpH#-yo06?P-chCpx1$_%>V^^{W)JcCO;=k&4iyac~8qw)SfOBuG_@#WZl z*{6P+OGV^5?$_i~2@I9>^n@U2*NCk{ zr{Fh;4G9BZ0T(DllY~Vjy^hHKWv7AIdIaoRgVO) zuD7U|YJuOj!!z%zB#%+2JFJB-sbj7W_Xk3u*!wLhoXWV7I5D3n&CmZVGSn)-M)yrX z)6g_K?(MReZ(-qJ=XHBp&D~O(n0WrB7BC!=1#l+4Om$>jFPh_82r1srMaU(esFZKEL z=`oT@8)J-C6+qy^FL(NNeH1E(atbAnJxp-O>i0g-FMXVB$)9qh)13~|H z{a@=n2>CFmx!VedAnsDBrtI)4Xm{-rQ(^*KS%0p+CtmX62JQmP?#_z6BR+zCHQlPl zI%32U_`!zz6U?$vw~Oab!$N)gRhY$IMzc=jQz3FJIpFnjR;P+jiS49(FV=BDZmHd% zXpDT=USDTX!xk<6ucw&--Jk<(Vq#w*DxPgf`E)9`NC=;vMWMCnyrxeq)y#dydfo_f zW#Z%H2i-3&ygs(UQutU!D=Eca0pOXKw!XzU{kyWoy|7u@gI26cqB4D za@1j!PLiP5<8B8Sz~zCC0lZ&2Wi@R4p?3iEUh0ncsP<#-4h!rw_a^5m3tSJwY%Qm< z>XGpxqK|&3>6DlF?}4=QOlsO85%t`;eNXZZEM`hUnZ68Zp`thXlv^%r1VzP+lDFRa_{l&t@Zqby_{-+D(4-F+X*IT{={$Dx88Cq@O zf!(L3m{yqetgutTNaXLr^@675u>f7vt00*El0CUA+c3P<^!V-r0^seSGGoWSae;Mf zztF$zTr9aw&Rcs+ub2h7NQryMEZ`LNO{QhIXS54)b^sUBpF|yTy1#@RNa_HV#Ed1< zk3jpXoM{0R2@6Peo`4+=kacawI)02*mW_WKy|txz04HfhOn5321ttLsuqb5TR8PCV zD@{-P!E`$|blI_J$_s;=x;A=m@X#+|H}k~?Kj&vG-mNs*%vmObC2j&q33{3nhxBNn z?;fti6f{NTbTz~d>H+S)tFKHuUL%bgH6@0PWq9Bj>pa;B3Yz0r2|O@*>MF!twqvuN7T#7k5rh5+K~)I{Y?jyLZ>6N~g(x0f;3chHfWjN@x+3%TR2{m|1J=f4>@i;W*`v6sv*!v3gpA+h~kwFX3^K3W*k zeLWJIf&S7}-S(D=x!v*oXTEUX$!Q$FN!-~k#3nudCJzAOdX9Uz8@+KFV4|857e-CL zH>I(xNLMc1LE1_KANGt$A0<=Mk$j(F)6brA8VDx)aw2p20owTP7Wez7!-#I|cpwK~ zGa`q=-)0JbZRVwp+w^M~sz@hio{=6VGn_H%{YRosJ+3TVQ<};(H$y?&Yz)+^%n}}= zk4PyoC8S%F`|=oE7H^(x+7rgB>HYr;dsI_wgfIj+^Sa70&}k@U<8?4a6Vy{%X#Btqc_B;B1`LyLyv z>B0rsE&1$yD|piRUB_K2j&_J|F^Ad7BT_Vg<4N!vd;z(Xjr96w9XEXzwIQo$Enf^5-$$RU zlwr$Bpu=r!vKgr&)w@AxWEfp~iV?2j-dj$3VUsC%UXpV3+ViR_ zT_goiFBl(2Nb6cxbexUX*(?39;EQxRYH9IZQIoc3zDDt@|EbEg(4H5%MSY zwlo|h)eckr(aCLuzx|eNvNEMPLohVZ!mcCIrGd+i=x1YwYcS6GgtvR0YCgW(ZeQN~ zZB6>m6ndWr1d8w*%Gq>kq}Z(|N9lA9w~ykwDo8o`#gCyi&w2l7-gMjs2$w0XXIFc+ zGBsPppw&&x!N0`1R+R+6(0}Nxee|y`UXRYv4qcay1JQ1}G?DKW_WCRK0<5~*ekbIg zkaMD-gS6c>9}D<9riai5aIz$<@l*tlWB#F_kwFq3#=>AynY#W7xWZz6$DXNBy9Ftb z=#Tq2RVW;%pMJ!Uv3ZqXuC906e0ZU@-bv7K$mwzls`raRx)x0q8)mEaL| z)<`lQB;(VpKw+D-LNR>zW4EM52OiqW4X@-n6!EZ{nwx=w-7jI~=Z?RMn-n?ComE zg@9X&p1t&FFhp}?XAgPN{Oh4M@S2K#oALW-i@XQlf;43ARDA>9i~)E;rl(L_!U~!b z9lPp1I#-2hP$N{I1GotGGwOK9zQH-Xbyx+3M49iR1J}bCQR$|J??!;Q_7r7F2q{)T zA&_-GSWeXCgnwTz0jEeo;84j``X4_n7>U2+q(1hx{-$qC*a#EtR^p-qoikNKf5gTCc zrr3D7hRxyZ#e!$42bfWnQk2cKa4L>Q+r)csOiO7XAR#hYx4NRQtCw91bfjxav5uaP8j`$8b z!IeMGZyQoAh#!b;S`5wgqB{iJ5Y-GgM#Gsgv)nhgf7X!Siz)XF`=WAyXb#hDml0_= zYHX9{L41WW;R2^JRxiqZMM+KsyXsq(9(}}4uSiP{q%A?FbY5M{VT?R2)ap^sp|+Hh z`ifG?@I-Nx8H)^cin#aSr%>JN7j+rk*eYCPo@flkESnRCKkk36_^NyYy$6gC0*|zE zCB7a&Je68n@?_UOHgw$HK)s~FnF-2DX;RpZi>~<&8%dJhZfc6kb{xw~C=B8YjPD`@ zTS_+urW?VtEx9L#$aHzXRdSLkdyY`mljVcJ@W@RQ$cKAM?2yRF6xo{S7T!E|Gm`%e z13KhetwCbVa&63)a|55Cn|rjfo1Q2>lxkFxGdWLwFfQAK>xe27L;75q7=p!*Me5TVpm6B!Sd&@l_r%7WBuU(R zV`RuZ;~sC3^kx0@98L#LYP3n((ME$DoF zZUPZ~#mcc#_2!uyUwgPe$Y9+yAJDR-PsyBDb5DFXxzYRu&|AOQAcBT1ITxm5gwv+N zVJF@y61mdUfwwTX>3ZG)eap7l?b;u`p1cIa{8cSYF?L@5X?hf{yTb~U=73=6{v#_Z zgCKxRHY1M!I&SO{sE6jbNtI`Ymd=^t#zYPkckqVq(|<72&dLTZ_?D2U4o_E@1P?q5 z(tcRJVGCL^3YSRLBlUib3E8%xYp^O{xX2O3BOQ11`?zB&8*(D$2+u14uL_tk|QFwbB zmnsU`ZBhIvnSe0rH=aQ!8P^+-VFQcPMjB;e0Ngj<MhI5XKEB(fVA#RMBsW`vu7c#DPQuz2q|OjRz$nf-EtoYgkJgfB_9gyXO1{0iM#x zB}>zhQ=8h8Mx|m{S#v2?E(T^{?!F%c6*{i)fJPyO<$Q12HcN3Ty}M#Jd3!QO4*m@L zlmjT-5D-7UuEW23H+&VZ1p{3=hD1S8wF&sEg04Bt@z4)yRqPKf&%kM|^y~+{CQ5l^ zrVeXZ!BW|KiaggLY^k9!ZmcuTv_J+-+=E_4a_xi#7tXhyFKWYr;_(KxVZ4UK1(}cU z#26df*why6puDPnqGO0(wgQ67@Ua!l zrjFo7i9vf`SVUHrlZ4|d_rCF>R>O;6WIA6DCi|5a1-PAMe`7sI*JZIopRPMv8P#)mLa2uhJ1ut-)0Sa- z{MpH`R-k zCXQXYA<*m7v)KM5P&w)1;fk3^C1vu1SN&u561CXPUf@#v;!Mw+#~!wx?Z|%*uPL8? znYsyPMHk{jPrXLoozTi6R`Z%Z1OdA|;6Qw1EgEFMqqasK zU5z;A0A0sa*8*#jT`rCM0_d+{Z!T_xj{mm)zARD@8-3H3cf5$7HWi4${$&m;k<#># zy=c%Vnq^DF(Ld1OHQ3N_)18A-L-xLBI?A2cNNiNXB}|13DXSVqO698Q3y=Pv+8Kbm zMdyfD8me`cCCO(ie-ub7A~u`-#=;Ja9jcqopZ=X2&4)}6ox@aE8iD^-d*9AEm?s~F z%=?809YyeuxH-UQ=y{pVJmm9u8&tH8_C$9^RhH`LYtFRWpjKB4-`_c;ZR&$N69+nN z6>7q6&ik`FxOteGr!BP#PqTk6mrA=T;28M>+>7kDaY$ zp?Qi!IAioOsaL&oVKgKYVd8;Pt{7hAV$Yd4x>uXRsH1d)-NfV5j!SGPi;#;%h0vn- z3=%JKW!1RPKZEdVxOQT<^}i1Lf*=VQr)>m-%hFAcDAJP^Ia3Eu~{ ztcTDSwU-ejMWxcq94K8ns$pR|QW^qMH>^A_N+000lR6KDV@sKE5J!oC;jP^yqPjXo z_c5O^A9J9bake|{{aTAiPW7A#ycK-)#`fQaJs&V;+x~?C7!PswDlTci8bx5f(`g^I zXOwm2*SL`46_{k^s)RR(VisnFlJe!EdS+1omF)0ifK$;JQCV~C1n(ymU)ql;t7{lK z(|s9*a9~p`F;YnNUXw`!NR^q87$}n?RDn@ctTMXue&}|ik!pbUug>+jwUw^GIUn{T z@-^mvPRl2p?({xgb-H*G$ZxUvuvMWM-Y*-o-<__YOL7Ji{A5cImzke4qt)B5R$ zU_edQTWD?3HG@(pw@Tp}RLky-Gi7{s6kJV>4Hhm~JFyj#RC}~4_TWuo#(u&&d~Y3H zBZ*Os4SS{siP?jSLvCl=y4{!P7ZTUAfruO36m#7QUJ8)Yf{|lbuJe}Ux#m4C*r{`Y|I=TW;cz;HMDh=o$nO;ZREWUAE3=^ASaq6`???JdXc;=ZrwUtsb{3UI0R0u;0FAialcIS?CzBbnid zy9+}smi)>fTn{N|$ExqPRiE2O$JhgKlJLOdkwpO;gIu^teI zJr~O=QUSqaZ#}>tc>B)MqVr?+WR|fKpMCj7R`l){AYM_xP-7Fn-*7S?WX9@ zY<9pf+IJ;Cf%Mlgg-|On0PB%ma!zLAaVk{xARt~ajk#7>v_DAL8x{|3VeXC04)9$_ z40&~jUD>MduCThuc?2GGC3B%WmGhOgSsd3rrl;%AHV;I{F}SSfUz;fzAK~@!oDzrf z)*{i@xfnb}23-mcK{|=Kd9#sTA_I}z8}wO;tOryi-`4v>o!k{<@t1kCTshAh%<4KK z*>zZz5u~7oa_1(1&2wTFM6MX9yk|EhbflTTpY*N*7jS!+SW-D{Szg58Slka{jclbM*C=TU ztC|nEAk51@vhsZg^%WIF%T#VqvHbp*I6)`%X*OR}y+%WBCkiHa9_7^(KdakKpxKl; zWAk5BEEM^O>%+qGE=Z)|!|+G=@5>#5zm%H*)^$?~=+9!(P{ahN>^XWry9J?1@y&n4 zY#A)4wu^l(DWE4Ty3n8GUxyejFmLAHA)aK;2H(l9+97tMrL6#Lb`9W+{*^ZxblaXn%i#OJM~#-)fSsWZeJ$tjlS!(xi(GZN z6{uwL^|=k}uqU;nH$j9@yeQ^I)>RemD;okFkG)Wn3Xj@0r%@eTMz@Wwn0ggV1<9HG zV5}=n(r}P=cv^tJTrnZk%o$Yn(r7Ga90oy_lo-OLWco8~H=35fMjCrN;zPFw`91vq zON)(`E}!Q^L{f89zX*Q?fptM4&=G?UXm8cAL7nPDY%E%8C)}8Zz*&5Rt@|7ek;9)3 zwX^%4*r(!81DM4xkL&u3Nxu-?#>3V`Rk4l^J`>21G^Jd*d!Y}r=xQjnLY>dSDMM4R z3s+)2rl!vE zmTN8Kv}ae~ql(aM`7fZ)T-#~)w%8@Hy`;CRDVldWga3FY{iRUyaSi6(Ldmi+9(uwX z^~AwBj!Uc)WjR@d-k2CRA=A`sq!oC4yT`$*-vr|aJON2AQ4bDt>P<=ItWM!NTTYN4 zooO^JE#b00sKJSZq1^vgAeP;Chq|EFl(xxeoNpi@ycTK;B0rY9rEsTm1@aP?>j02) z%h_4!fSpfNN!<#0a^0qfC~X>7bTEX7_RQ0;&H&WpHu($v6SK=!Ar|UHQeD(HU_ms22Kv(?$f{}b{;qmyF z$t*cc{Zx~J&ip${bL}Arc5wgwvOi^rSUTyvQlkDqj3#urb4W{(iCXIgPf<@llRVur zt5I7*Q0-`r5iGMLOjt9j>rV-Pxm7y{q#v(GFo`6*c@CbDv3Y0{|M{&(HNg=WLfVg} z4g?)wsS{Z+vb91-1Apg1n)s)bTF`eE3v-?~Qjef1ERYbY34b7d9s%^zJ&GMU^xsd5 zFoTAnKs67_=5I`nosFSfoG0!I<;u8ueOoXK8P;11li;L2&a4l_ioFER?Nzm&%I1%^ zHZJH&*1Zo`JD7R(_=!pKnh0Fj(gfrpl~5OI<71@Meb~77?3cDHaFzT{)w9Lf2V!79^j{=D~-Q;M3(;m{jj-bJJ}tsI8&C;lRja#PYz1 zC|ZYtNrEVTa6fOd4|jBguX97RvcEv$EpmT{lm4DxK<9xI=dSWSn@mg7KG8Y@GxhJ! z%ZZ?DOm2j$qpH4QMW}8OUtJ}%*Q6fId5JDo=MHd-iMF?4;AP~P+#M|VwStVaaPH&0 zQYb$QG}y`EY#TMpS6f!>*-|-l@ImE))VJI#*g-KZ)4@PwmWP1v-&!oymgm0!NXdf2 zog$0=E9}A7M~TTU{^z`ujDi)RBSl;ktoN#Vf84?Z zGXjI=R~YGQ0@v2CwMq#aV_?902D7Nj#jMzGOePF)fHehJi1|2OlrJ^3?pFhziKzjD zN1dK~>TjoLzT+jZ7gdUkniJ2>fB3v7Uzm6i0qhHLA@sRXR*OV=3@7DnDq6_K*&7=6rzs5$9F9f+!q;p~~ehVIb#hIrZVJSz~hnMQC zS{JO2?~AG8jm|gBE_Q!VZK}x<$TX6$gQco*&3y(-!Pdk8r>T&1E__UfA)@-Tz5x}P zDhk{H_29&ge6{R7y%^1%)c-P}4$VvJ^oD*gHiw;55B5|I{<~m8oU}pe(G+k3M+haU zQfoA6)If&g+nHas!+$~F=exRmz?ilct^zNp8F`sd9=F|;UC(uhRWQ*E8?Z@qafL)$NVn}{Q&%DGt;7Pr3QfE{D`%S>S? zagdJEbo#pU!w^|ct|Y&WK6&bsuPL@KiweU+e3AwINcQmCaknFXg{q^5Em*>!F8=vB zX0QwQu0seE;(P&QeNwGHTm^QaY+I_XEK3!~{+$)+X}z^Sb?cWQdw^RH5k4NE;Od)eww7e=TDP%8AK| zmu2U2!8uG1h-E62NLn9gti+v?Cckynl7~IN4knhCQ0AlO@?m?{>$FL#vnl(m^hPs6 z!HEDTz!0Jqc72=9y6K}jF$n&=LSS6idmKC5spYzfXrc5VU@h{C*Daasw8VFTK#GHq zGJ28wcMn-0%d5#WKHLL-X!~K@DOe-j9ImTWc7(*UMsd4w>t)hTD8*+`OzVbk=46Cm z7&Q+AQRpY~EHT2UBrfY4An7YBQEW`xqO%ipU*>AJxuqR{xKI8dWv()vXu_&B&~M0+ zHdDcME1Cs?gs4pHN>SRjDIaVd7sFGdfcJ)~^mOBgUx=?Si2^lTBm~fRYiqbTX1)yX z_U0%YDAotLntwAm#AHu*snKeI$rE_DlOWp6zDvPMVKmh{?w48;k_0Qri`2G}E^vW?-?-kM`db405A!zejJh`4439iG8n# zxSpt*;%gjkXHbi+^9>{OIaRiBpj`e3k{$SYN!)k-*M6RlOlV6QU-ihtp*N20eK-c4v5+Wfu5B@s^ zHNALh2(i?2Gti?;vvFVUIm<_F1hFtYGI)uAO_w2jT$_ag3L>f#zqm_9hVNW{9$OU( z;UW6AfR`-pX26L;Gb|tZ*xEY5$}il-A{m(h{t=$FK;Z2E(qvrL{@E=5zy;)Muqfzq z;4;%CDXurNWXashsj{HvWCr`gq*z?0OlDBOQPavvyIz6lb*vR4CwfyNDUBvoT7CtC zR^AXIhCU>oE>)+4txa7YtoLFVx4&F^dMM>bGV3Lth~LAUXb6Y3k zts^ynUYe5>pIVp%#)rs?`kZ$hAX!1RgS`02_*kleJK0=vkS)TN-Fc%DH` z6fnn(wbwoMGPN`J=K%*^)aQ+4cu=ld9Jv)+N!A$&!i|*{)Z&&R@5pC{Nc?5ev_xLf zw{)#5<2rU6&B`j}a_0c8^ES!-o$BA`D8e~v4jh)Mrw&$~k{P1JpWJN+r=UI&FsQme z1~~?~PaDo31V|Z%z8O1{Uz5Lz#0C3vyo^bLYRi$G#~x}L4oYX z2~koCB1fAH`)CSc!0iZoy41+U6S#moxSc3dT$2cCp#RkVXfEr^ZiMO>=^yP{bJ9jw zI}reoA%g!`j|cK+AvCr5NIcoXZ76FvsVToK@21dIl%AcT#$KrPv!4o!9{sJUWsVMj zr=*;zwSooFN|PNYnZ-aH2V4oxm}veiSjVn2?nzlfm64`-ZuNmm#%<1kCQPDO^UqK> z5601a_DR4J#xmwX1!vUDmd0TrUwht2@oe8%5=ddsAHCBE($KL9Rw7VHyQ1 zk?Kuf{jf>hI=Z1-*308-gjw8O$PToZTI&vi)6DKOaRMvq)G+S%*cB>ObzkWDzUCoy z#W!Z>&+$O@d`SV8!zWX$wxzN47YVBcBd0(Tz3lT93JlY|(~WK%Ewb`UeqcGB zqEG6^)#?uSl3=(OTeIjS#&|vglM!?t{Hg$a>8dg#zz3ik+K_J{fJwri^kjDfH271F z2S6@D0BT!h>1bPbJnIdJSKeLsB^fZ_5Q{=N+s8SQeJSUNzG4h6iv)u?RVJA1ou8zz zYC`wv|3rOx+pl_iKAINVsgg5^M55v_LzjkRDnzy6kq1VZuKVhS;h0$+9vpHvct%mb z_zS-FSO>^|Nss%486$hvvYSKgV<%D6G@1Pp26-B-4zTl2C3Y3O`rwAA0rbZvSnsAc z0y5m)Oz#G)TF#2tl_B$01j))Y6i|{g2YXdW7@n8eoMd4=1+Tj}Z+T*R2p?=sZ325d z$-=bt;XQN(LpY`4?xbvlg+>CSr*%7qbxS~GSphj60nDY?Jl`Wm(Zgcf5F~obLUl5= zxUS9^k+A#CwK_i62gA}JkWQbF0CKyz4#_RloG;uBW;k|S~o7>+RWQr9xid9 zPkP1wgPgpH))&Q+nNedal6JQby=${sN9dr^YXRRworUlN4eO|7g{%)RT}jp%_)lG9 z3p`7^M(RD?cmQ(@;L5t8tDz8)a`{RlZ{blZ0d_JUvA$hmSC7#0S@H1_t%pEY{1)-f zXLTjSs2ALd8Vc{WwW_ixyrDoWi20$!Z*If9@`!zdC;jOBS&`CcogSh_n<7A zVmUY$Z>L%b^>4bsbCbDtIp(nM>}a#duutv93&g2T3LD+rv$+{NbV->~@VjZX03IUt zQ`#-`=7n^5OxJJ7J`q}%gxUeHk0>)zH=NgFRGu3vPb-86Hq<1I4=A;X;S?&I;5%-k z2uFSBPqgR`f$mlPDQGo8A8Sx0&q5(R73gJ!UZR}wjkO#PFHDBv!8A4=RC2Q9Sx<^# zTnxIu^*vuU3w5E0+Bw1A`1LpKE^nz0o`2suEC?;1~pu-^`Vm zbGBQ>s6eyzS{2qHLr`iX;JmN9ZsUo(Uu|gX){(8^g$(Go(z6`;nSNTalNEWOsLDMI zxbTIo!NrVA>L%C6!EN{P_Pbc;S?fpH@*eG%!#<-lf`veHMFaVNn-zgAA{%43ym#m3 z>}`>#VeY|gxdm$-R@GBq-NQr6w~eblNPj5O{rPU*(2qQSb9F}Vr4?lTbqZkm*ms(S zngt0Y7x2U2vI&Wp)1BY1qL}RsCDouO3xEcuHjg~7-{DQIuyJvSbhV@xSIW{cp6oRh z-v%iu*i+~}QDOHC#u>nDCGA(G#)i1Mo3e*~n_L$igm26Fc-;9@{^Pyl%uWrouwo(@ zw*&RITxU?whB8wezk)79og+E3{HjFy`wG2-vm3}*G(aoP#0{!|#b6mKs~aWhTo~xz z0l({dRL_l1Q#Kk!@(`H5TG;7!OqB*1l1;PW5tEx!{5xNORU28*NKp3A%@Bc7Uyh10 z29&^(Ay3`kKBqm_NX>b6$fIf2d#lTs?A}81j;ha&8BT_B4E&l_ax>A@EUepJzZWt# z;@uYbu=_iBEjVEYa<}B-$Y5jZg|llrE83f|*I9qne+Y-i{Dr%%^(8xaCz=@aLyOUC z{rlEJ??0)_Pn9S%f8NnZui`GdKZKI+VLh%kriw2!^=lgruC9%zzIe;3Snau({yr!I z(`Jw+`(rGb=j-@Ce%*wE%}DGtvorMC>4DKdjX(j`5MT?x?EQ7(!|2{_@6D7uKKKN4 zpO>i{0 zzC$3YEVFtFuZl13A|)ofx=fiDmpM(M69i}6j)D2R)RwUiOd07d#!H^&YI1I!W_M+J z>gn{AI`un+i(8<623aAoe_cSNatb?0dst(-Z?MyO8x2nfpk0TO(qORnE@)uK=SRMc z$vQOlE}C~Ss6p`pvlDBZHy~BEADJv9OJ$Kl*?6Pbsuf`y(@>Y}9K*)byVe;cyeO-U z6AmqB_-ec4uW7%79}~Fwn?7?z^lbOlS)Ucygnc<4&@-kTVZ<2s7B?y_kMt5@u;{F@ zzA&x`5)+1cBiavTVAwZ_fahKtTW^Rq2pSZSGbEm9eJX+O(TOR`Dq5#zF;UbPMX>D} zUd~C={kEemd1C1A{uNx4G%{@3UIUNR9;WIPY$S^!!dy)S8eFUrCc$b~P6z0)%>3^u z0f<$I^^M*X)N%CJ+3T-3)W*~Pj^!3n$}it_hG-6{M;V3#|MPB3m$9HLb(|NUMOlpS zwca5*kKvRS4vY5ppq7K1VJ6%m{_hxvzht8igfh+DGjOeH!J}M$C_DVU!hOaTiHEw= z;6vS#bIfVXzxD3iX(90YOeQ4;IS7{(h*7-`XhwqxInzO!z8Wz9Ag{OgDFm!qI#D)M z7w?LUATru2mR=IDcAhKH@=w<4d$4#W{*>wD6S$&K?@f2)@Ta~){Omb27o3jn7@>2f zSpg#tC#n@hLCT)1SFtHWMFqE}r?)gcLm{yzvu~J+7VR$l2eAZoa^ld21ND4D0pc>d1d?g*y#k0FywA1XWc};8MzHp* z%2uDmye@sNtey#)&ne>+WnVglA;Ar5hY{+DJ+RJ9ln2OBC|mwg%9wr|_!u$wiDrvR z<3}Okq`Gr2uO!=;>4a;UTgU(OgGik`>={} zyqr4z?iOFABAJeAc+O!Gi6(}RJg*wzrp#4FGQ^A!KE1Ja?T8Mhx-J&Z?OG#2FYw=P z&H4Gj46nVN)pOVw7;ca3VyIypZoQzNEPy>Q8>B989p^}^tvYaQFrFqriRbIOrw28G zjcf<&DGJEY-`v;B*p?3gSmH11PPDdiQ}^aU;YKw}y;;sI>dR?8s9>oEzsscs8n>ZG z!&g(EN(*a;!FYWoyn21FPlir{g9`yc<9sLWNmpwS~bOTw*!L6GGh$`NH_b^Tp9$%+eXI}?V<}s@$g6dL>=Q~5U~Rx%l3t^)2i}eG*F9u?a4S%WC^SWS*tca2|PcF zj|!~XvVo#!>O&p-0+V6vOUM_;(uGEL81cBU&vHUymrBPQ9`^yPNf1Grj}Z4p)C!~f z?Sk%PA-^~@f+u@JtzFl=2wWq^BgFH1dirpUcObimd@S--Y~%)Rqck~-E=-5 zQF9G-gq`Udd4JiHyOc$s3W4;plpC!x-F!FP#5g&E!F-?KUtwynfmiS2%7OuBPv&XP5zKI)KcWLd+a zi`R*R<^`D<%MJLVZOXDRBDnR$nx_kk+fc$15bwc!C;28`2xQye}Qw&AZ%I zkIDy24{i_n@B+Y&x@X?-+By~~kU1=5d(&mP&4H%2!*p12i zv>&b4sV;9GBnHr7&;*;{F6fe=>{yWTCsStoh#s%GPn~lOp2k-3SvJyH9^O5|*+$VWO*&ye@ijzNQL!vbw!Khm2c?Rc z%F9tsn8yl^vPtJU7sFI#1=H4=*xA5(G%ot!0ek0OC{<(jIh^aIt zC>MKKVe|o~VBSWJK1G8KtzOOt1I9F*7HxVa?Hsg64d#>6^0Q4}uyzSvUGQ(x+$uc* zc7|tB_9SF$9lmKXTi$Vo71cTaQ~dqh3fi)J(QF3aVyD0NW4ttSbLk#voEen>abbg_ zPv62Qflwn{$j@N;S9M?6XXHCp8~jg*ix+}t$@0*}?tP1B=s}!IoUWl+xNpAj80MOi zonr^m495fK((I*Tv_K=%K?xyw;{ap-J`ka*-gHdEhoc(oxagr28`0610oN4@KSfmF z`tgp4x&V>cb9V8@d$!^qEwRncnB`3Rg5QV43Kq>p1Kg-We>M~=JAB`DGetE$QUPA`894( z=+Dk*lIyu(-`&u%l61frYaG{Z*Otoj)MVYaj!fnjjtxEYODPhgV{pK7R1BrF&coyU zr6`))2)w7lQaN})pFCO?Bxjr)>Q=(Kn%k`^q^q&wTvszGa-CYZryRvv3+^tF5gchr zGu~5s=M~->mv7Rx0Wk-)&Mg~%<}!bkR%hD~+dWu_Ztb53k};KK^UJ_dKtLz}typ3p zr-#~scwkqvCVPa7@a-heT{7Z=b7fNBx#g#A<&~fZlUDobB;`=UNbQN~g*LeuZFdH{ zNOBtWJ_M*tb&Qn)58ei$0F6`J1uz?;Qwxr6kPz!_2jTH=>|A|LXfHf;C7k$^aZ*sD zVRJ?hU3Jm`d00Pxc( zND2fERS>ZKKgANQKvQI-046>A&{pG;EVY~nIlSYC2QMP$LsiA9AJ1hXM%Jr(cT zm1#zD_R7Ua+5!v$1dQK=y7^{NVLVuA(zsTXp9887W6B{QM9Y(peSas?lPhSMmU_GN_`Nkzn=YN{SCY@MG!GVcov;+&wX)YWxce-z!F*Y2Z_Pk#w3 zJa2-{;-jx>n1X}%soC4kj%cIEL;>1uO4Kqj*Q2s#?soZd)KBV#g`iUjS|Qn5ygBPh z5&r0)H-z{c5s`7>C~X4eI7L9p!}d9#It8_k+oq~1jwkL?_?t6saip=q(-LgQ7P1KK z$USbz4HHJvdVd16JJ2>#7}E8WM3h1OdL2RA#!O2A%@c9LgfN_lk}OG}3`5us1qGMP z9w+usPW%@YxC!)~(>p>L z3U-&jfYrbJB0pyEd@8WQBBpfZxkUtVeb?teO{fPA9v+j#eou?{Cz&wlbYKQ#kcL#$TIC#@n?L=NxFCtxMp8#bdqD~V7z##zI zIPBZIuTI{HoMJqbeQ$ZAB&vnK++%faL$zIu zq^xnvJ+c$vLT>EN0tWwd(87;ba@+}8!+|S8f)5Cxh-VBluG?DT64@Vsr)muN3Sp~2 z_lfH>oWC6yTQnP!3@ssLxHyMPKV#QJSbJG)9c+vckB2^o8aOXprhPuw!f}SjXaUcS znYVov#B{95aLy|Ke9 zskx*f4@-g;2DV#Y#=um66N`fCPEfFl&o3(iaUs>{LfD;{d$#KTEb~N2Y=Ai{-P5|QB zuF?Np|Mky2;{GVst~h9N%0QlYZx!nRW@c9KN>H5Sn7q{|4J#q4>`4gk6G`Wc>9SvP ztw@2@AS;aI^K=0cH)KFQOR?ruswM$$5M&_ivuwZJ&OGy4P#}bL?lj>V2&k3YJt!DQ zZilJiU3)IiFSq~5r{pSbLt3-n+1JLs-5Qgdnkli1KF=}kTBnUG-lOCyws)-MwInzV zy3v);K*VJh;SA<$;0=)N)blVJ%k^dxP`&3#zK~;U=)PJ=EBp39Vbg+@nx3&u-)oeO zYy;c-Q|u`r@ICrkqfWn=Y-SN$fp8if7bQ?Cjg;8&?|2ICIkafXd}QgbDLOO|=*~{b zg`&ew8Vrb$Y^AXUJ%k#Yc9qeQ1M1hFO<%;(`7D%T|KsR^A?33)-C;=i-9=1gK3usY z743TwL0QGueeqmhJ$ev_ewq@A>uX1x0m3|oPnqzec9+SeOYEy32Go8}* zywem6J?I!9e%lY1@uoUMl?o$@l~+}aZVf&5#eb7iSg5dvTsQ zz(qoSN=-5EWdm~%VJ5~awzA{h7iSG|3Q9r15jWbnGcjj1U%xO3=ZuHjrfkk%1m8RC zu~X>2UBIT0(HVpYXNB!<1Vv`>)lYZ6fiDg9apya5OXVe zgvI_78b3{{>vnhiVLKzBK0au?@tLB$Fw4+|loR&U&Qf5k7Q6&4iHIv619c@#1mTqG zfYB1@TsJ_b469`2OZ(jN2-ei!YWUDt?7e=Elu}K^oI^<8>0cAk#qcN1U}-nR<|ESI zH1HI~*cA9d0akC=^F8YVC)bZ&<2*7eR0jrn;&FTyb5{%CX{|MM$wE{u%%6JAORibl&H-YMvV0iA%|bikrHWm9LK zwDqm@w_BIRC&oW?6-IR*bKWaYj;qUkh5YF>$IGR)?GWU=JX1IV!RrSV8N^XIF$`A; z$gHa0B;%@k#Lkt>_1Y?H?9Kju5MnDqvVz2?RVY)KR#Fc2M^$b6a-Dk_l`u-M{B-14IAMkh`SP$ zVks^VYYQfB&h&z*;JzN#Y=<>{$l*rtNpTo|gnTUVl`3p}3)m$VoL^^;iM451qyywM zzTz&k8Xl(q&=n~RSVhS>{rd-PsHZLB;5)!BNDLO@0zx}YfOxjZKjcjAXd#Aq9Y>p* z85aWgcqgb-%L|)J94ld?S^%Cg_7HFYEK#`3l1V4I252)BRZ}=(w|7r5hsq6n)myS4 z!akoxvcobNEQV1fRPK>?kG|^u=(phtyzhonic$LPOnL`Y82R>LoqP@MM+riu8GJ15 z{$yBBjnQZPaA6yAHpWY5zasDa>BqGJx6lNn;!%lzrs zqXF7`KI9hB^!GM7*`^)pKt;1og_9O_qd|n~G?+n9`bUJ39qK`MimCT{!)?I?2W37n zML(_Q$9>vzS1y-mUHR8{qSaB|iWUDqR~qLnp}ooJ5oag2HTTYt1Bsxp*|wz^Y58u( zpQ*mK1k!-&Y3VDoi&tjUWbwZgLF;4f7{mX^;!mg#@$+MU>AK;CKUu4u${6LO?xbP& zGZsGM1TJ?QpFX!_=zPKH{0-)Bow>(SckNGVANwa#4St7ZcBtLC!?<|n54{Js)6!++)=Ur-7ksJfu8;L zqOEF8S^_iXwCtWh-gFK)eJGv<<3-p#V{`x5?z}%IhRI&GfNdeKGVCIq#6(Ep2-<|y?8~+l?*jwxfSIJD2%5F4Z65E-@hsQDLlyOX$Fv&W8Pqq zjmVz52@}&p)%JtsKD^F>8(2R3+9G`&oP{~1Vp)*o((!nk2_{cG?tiMw?xNc6_uMBG zq9w&pcR`s|!sNtS&IQuS_DuLlg9WAY=;p_Ds-M!pL|Gl>&v$pP19VD_NG_6ym7^Cs z{H}yO=k|AZg4>)|f)@xjFQaYK-qG_kWkaWCNwg(ODY7rUo6DBqQT=t~!+{=S$@uNP!Hiz7sbws34%&iVLz zgZt11?ksAh@NwigV|_a~cfi++|{`MW6sZxEdwsw+%C^nt)3~$hIvi zmup>LF@OI}f_(a=$BlOIk+-G%6gN7aRo3Oowc=-%u9hAZQ|NX^#@QO+T9S$a*i{$T zn+1O4G1fWq{Mfn%nY^hXk2QrR0J8Y7ovKJF^NUJ$l=fXJCJP@J7{0DR-kd?ges~v+ z3Y+AVYAN)dIt@l4F#h)GWD~c#+$B+Jjp$2VF0Fb|@->lVEMwm5vHtgrVI@bcM?m+Ti-9Z@$c1r3blsA5M3)@RAPa5m>*c&+(!;M-5AR1}?@_V26CoKumAvGHqx6tG5$p^Cu6cN9LEp9&r<#d8a(wuMi?rWf=rX`?-HM^ zGt!f>=;DR5`gqS)B^r?Ax@-DKQ4cQOFnx!f%LU{rR=)3x6nfx$+mu>Q7JV1<&~YcC zx^B7`aVrpM3y08_JAHiM3&RL0Y>&&fFV2ST7!8C(&qk#rAScKoowm3h$ni)FCQK}K zkaaTjG?K1amLjM|G_3 zxnS$FDjWh2(6mO6`^$hf_}OO5wO+A}*~)D%1;NU5Bt9AqjQ;zXS;O8*zJo~&73ni@ z%Sqcd=DsxKO!Oski1pnSfpr8fE|z*I?bHfpr6mylDFz{tW@RuU)fcg(ob8 z+Dr7XRf)f~IS3;(S%!eR)DkBYgTPLVEbi!wpWu*gMah8uD$GDK2~d>|a2`)*o`O!h8Bx`cA#y`(++gluw!|dtNcn;bu>10b6dU9H5jGdp^k?ryu#i_5#=T&UlC5q_b8)d$jXiu!`D#nn!L)& zpGK&Q<6P{R|=zr5c?q?-cJwm`M$QKU|UX>K(KV zt5cwUw-xcDu}~*gM#4j|!4bgHue`**O3S?#0!rYcq4TWHEZR-h3EU>NUuTC<_8OX%(12^cjkBehXn2D@bRv zq#XI@hUsOx(A1eypO*AkJ-h18DZ*FY`79oI$nrC@=K0G_6wXNw-paZ1dzDcS_fZmm(c zr4He2ZN7T*OiCnZ=K8ry`-|^|jTVA9{cf4rVT7t{uOc=z(B_=d9UR8^j?w-2d8z(5 zY+aI}evc)+)5<$EOnE0sXp=pimaR>tS-Nx0bI@NH0^1BCn~7Lh;XWOB<2lUYw1IL< zTq!_aav7ecmQ?#61dRDP84Mz6l|$rkg<|mbh&g@Cc*}`?W)_nr%Nx<+1mR1uh1+e_ z1(?U<8Pl&mY)w2~--rDd$kOgBzDpJRznZX9}rU8AN zWG}4G*ly*P%9&+Y8rdW>tgTO225V4rPzj`qsHDg(-r0E>KhGT8HO2Y#%;gNMp){YbC zGWS9DiD(Uk*2Q67W)s(e-@a&#GQov%xdM9l`@Z+n>~LsBS?P`u=0HJHK_?bZZgXu5_DP?t$_l|Gg6c{Fp-tQf+)C?EWO+5I)4uAyr>g zZI^zf@Rni815b@ru;-nvdqvs62sg(x)!`U}zgb4j)T~v6iBTCELD-b5bphNxzUDc< zqkidVVC+O;tq3llY_Hd&;ljaQRatJ5hJ-4LilNj8OIWeYoet03aZOa#?P0O-DPATN z+P|hB2!2fMwn0GG`W%E2cbkp}me0pu{{x8K*zHldTUCjXIESzynS@l_OaKSw?u7n# zwvS#yWm~vg9O^Y=jF(CCa<|%qNC%Oa3OMQwv6hrm?^>c=*DX&C>eq>xtjGJi(#T`bEs&=3N`)cVE}$-z04R(X;BRZMlfs^_@SjiGb5gOZ{#i21p7tKj z{^PIN$vsl7=Kq|2($5*!@;>v?Q<>j;FyT#}DLh~4BM4$#;QylF#qtce4ro~FGdPyi z5Z%<&*aDeAzWeR8Aj8QhCic>ro|TYT3ceFMAg$L+S&*R(2x&Pu+jU!Hu7BJm6cL6F z?~3;sH%BW&&O-O5`20|OW|1oL@SG?I_(-q9<#>9(PBtT7YFi?7(?2uKx4KvKe zfF(okBH;N5)F)>Df~bfYPGufu1|+e|5I=D8e7|ACWK3tu<)vc(BXd1f!PG~@G^O!Dn4Jz_ zpH0ZwGRv`@nn$!#!a?x}4S|xkh&*RDj_UcrSQjAuAR871(r#h5O)LR?f zV|e)I!*opr8y9VU=!1CZV;6)zPT!Om8dF?`+4b^VgtU|17GunTRdT1@F3D46#E>R# z_~N;lZrxaU=9!}_jY`~buD;r})ZGM43i*7@jl`gya}S>F2HibXYGsQ_#o}!w z`XTpRY~{rFK+6=lAj%HN$q)BlPL-e%h!HrQ%2L%k(erFYUj2YWL;jvv8y^LMeG5T{ zK&GHj?$p_22KO!Ew@6$gbJ5JNftT~G>sk9qa;%Gg(`3%LC{YK`wHwW4H+3so#Cz4Qt$keaR8($)d&IJaLUw>bHpk|$e@pL6A^eZEqjhJ$2?v$CdCYI#;QWsJ-mLvmdBmh(4mqdIN#!U)qr4K_)38 zn7mxZk6FUT1s8A6#CYv7z9Uquuz^sOM4)|vTE&DoUWFn=Y_Jj6P==EGGtZq2LQ@;f zpwVdhLwOa}>|Q`zvR<`P{x zoL&#@_mT`xezfyNOxYfyXqt3v3k6bcM{B}yhcCe+r5{zlG7FsD0*PO9`dhVg(`T6L z=CXeWKwA(utr??4EgpAd^slq&Vp$J^P7qu2OUc0aWI!!TxN8{G2&5beX0_tM`&+=& z*rI{ApJbBB3#v;%-*r*2;dI|2%DvLr{a5R~;Lb*D8Q@&1~i?WT#7bF7Ti!*}) zyiD>;ix_h0rM(4Ql;6`gtfELLjg-J59kRPDozfsBjf8Z=(kUq&qLk7IDBU96jYuOB z64FWv()C;m>L20%-uLr-UVcB^>zbW2XU@!=@64GC*sBUwH3fl9Mte6IX-atlhbpm* z<1!M1b>w^(G3*=&7MCQLwR=4)JcHA1MCO#(54tDqj#8uJJ$eYoh)I~5d2?QitHs}A zeG-@Lfx#kj>+VA2#EWF#xQgwzAGufoj;*A{9(x*ji4E>P>Xh6K)S%5u-S4?>dRQV5 zM&N-Z)ez?WMUC9L=GtYiX2~~ryaeksBHlPcla432;V6c0Ai(dTHL~Wm-CQFh-NRHZ zP!z+nBBC-w?hG;<*C&^_wXn(ARFX}a3Z2ed>Uw0fd%{uA*us!Bw=10S>!gjra7JU7 zB%6Dg!k!|V?Dbfxsa{d$UeSl_n2`^bS*P>gL0*ttXact9DTSC&#hnOzFzW3*c$;UCd4MGl^qWyDmECQPTAaL|v@l;!L%7-iE# z>Li$b%znjvVZoUfxZLYMG=f5~(1Oyq#W-rmdB=WjjrBJrAp&@q|~_ z>HaU>rO1^zz7N_5^{t-u=_a!|6rB&VuV8}93tS4j8mlKMxr!v%S&zRJXoo-EtA7O^~tXEr}}p> zl2>>HRQ+v}Lx$il(IWk<<i1%_-*$`+h1pzS#1P^ zfyOo}_Osj1Bxhp4C95TO%j-V&939NdB{`Yu{CX?gsYDptGB?Y=xxAtwR?*-?muSAE z0UC-Z4J1m6qO_zJxRcq1KKrrMbQv-wxOz|L|rrX z>W?SmEnXD*QLC>MW;dxcvi8l7EFYG2O~+eAmhSd{QCj55(!{@Qp7raSWQ@%82f9t9 zr=^FUf{vo zv<@8Yr$r8y*>Qw3CQ0cj69SS;^x$G4{5^7-<+tc%go>VYhU{Tud<6t2w>KmBai$d7V5Q;;!G^Rj^y;tj&}}V|uOEiI+vsFmW8BNHd9c<+#Q7 zU{1GYV9UO&sTA9grr1K!i^fyb1j`wT`vVc-9@Dnx*QW=h3`nf=|z8?9cgs&?cqR>TX6GK#`nj4 zS10$qZmlaO9g}%w5l&hf4k&k zueUD7l0+#XuC_YidwZ6Lf)%TD4Z0%84mzsJNM$@X$`pkd7+g)Rr;d2OCmcbGupBH} z$%KDqS^oj_Jcj6wMEVcw4muOC8>5nc-~=&7enozKxU52Qt)i`{5MK9S%3G(hE4Ppe z%VK4jA2$bT<8b?R>3st|pU&xZGtT-(3<4;>V#nc(fQ3a7g%it^hx@$IROAFZIM=mh zc4vUFQU_y^^~CS0nt`R|;9MH?!|gWat;?dPNt)OJKkSJc4IsfF6n{4C zwEhHwIUT|c@+&!@%}-s|P`O#ja|KAnJ{_j#=2M(UtUq>a~3y1(xM^yXNnY$CZ(%kZUoeIPpdx0~@VRd~G^x zdA=_f-ky?p4&BQwi9I@aa6{Daj?nz-SCP+!dHxGB5X;Fl{rn=~j-Co}K4-Q4@(>ztBnyuclWV}J#ICwhGa;IR{5GmY z?mET|z3#z4ZriH{QlB_9IJi(3Edc}7;R?ALQTNV< zyS{Cc@l@fQhcgzPKdg(4v-euEJ_XTS3$>%Pr|~QDo1Xlv5~__i!PO^KEfj(G@u*<> zHO@#lv&^fNE4m5K{T24S1|n)#v0h;EruU-UtaxR^5BwpvU%K;il=c!+ixVE=T3zL) z=_A|P;Dum$IHj$XI%kIIU!_;}djV3h5(0GAIBKL5;+-)B%x zfur9H(>9+jyD#iY-oQ%im1!_1dV|~0k}&@zo%ZWN`c<7g!=6UH-gHN>`TGF2mEKp0 z-pOOi{%Lt4T6TRb5ap9~PeE~d&79kOWFrcmyZxqCl9Q1^Pha@CaZ;iL61Zgl5;R;5 z(i+_*xLQRV$hW+m$^!9W$ZH?{iPsyCENfAO4NWiQN|S2mBXtS)WYs90G;M7(tW&ld zOeLz=gq4&g%2j$#&4w}cy?cW!aJ}C3Mk56K2v|;AKdmxn>7rt z8ty1Pdu|eAvWk*|()N*M{VGVDQbH|er;Z`i+wmrph<~jbX55X>J1m%^<8uoo%K}a4 z!?olOkLjN2+`lJ{YVMoK;6VGvP@QT$nIBExrCXm(L!%*K>Jyc~^YTom%&!A?jufvs zcT@(7V%`vptUgH>;*1h|7*y4Qg2m0V#nPLu9($#TW7{-rSwf>AMIOKYl{>Q8BaYVG zk4dHTpX?a}ybpSkDd%1n5`TAiq}zStgs^0v39|3X@I&nV?hQ=ZQSewLCBvA~$7!)p zDV;2|DeH~sd%+x^HlEGZ?w3j%6}~(QEbLE}Q#FhY{Hk;^W{mPP(ag}TVvo1)!xq!L zV{+lZy5ol>4t&wcDlR5BHjMr0sV$&`VIVkNO8)(^*IaMupUGHBc zk+s|oC5?Hv@;p$$M=E}6{X<@m8Ckc7+?U>x9|wkEG14)p1!!zDX*rQhUphzY587rT zt|Dzt<|wNBOV-zsV>{d=fIIn?s&~p&gkwBR!0@Qc&S7zT>NQ^DQ)<#->S1I*|zgbC!e(MP7dzvF*f2o zjh_zDHYZFxvU=Rl(Q98OdO2>lC>?!`r!ga+izfX1*LzYL4;TFwT_Sx>Ov!e9~R zdU9;;9uhPMukSo7_(atd4NES1HIXo=liz7vzeYKGJ10ji{W<;BH$oQGucAS{24M<^ z6t8NfeO~aAvFZU^<7y%IDV}u&_;{YF$MFO%}|DH@D8|w zKKBGt?DXcL`pz-kh4x0VL@`sb2wc$VI zN!~tjdyp5Gf7gyzfOZ}HjRLi*n08cqeEwH6F9)Azr3Ttw5nj7uPZ4M1%zer$(zJJf z;25&KXH)CFGNPNx35E8p-BVXgCwZlYr?Y9<=M494xuY2l3eD7Z58>Oap~-jD-I{{!yMI2> zE1YoZX>~zulMoqEXp#vKmI(Ty?2i)YHf~S3zBM6BAiUpQ&2bQtL0bO&*of-AcQanF z>V!Sh=Za^|OGGryoJ&uXP>$C)zqS;STHSkVL;t9(CiF#z(OzFaPJ+iqXR+&7I^V)7 zZKEbXGc$Rat8~OT%W24Vvs}>doE8*R&fNXPWenYVeR$_O$!cb_q?80)4a$ z3?kD7k;yVM1*et8?%YlGRO?E5th;4{d;AFcZQ`!-XejLlVQMUMC${x0%68Cz#e{Z~ z=p^A*m&rQYbzaRx-a36ta}m!QaZG7Z!4vD6oPor#t`rbHDtfb%32e!s!fO9b)jRm4 zY})(DMl;clXtRT;o~DNeQ~hwiejTHw>Rq?}8Hb_Q-dxFEje9s|SWfdsE2WRk1-Eby zi*BVz7H5WN8fce_AIq^MGZ{oAme^mhn~;|9!=;mgZ0uro5bKGmN<^=v<*8_-UGdQ; zcle??cKoRQt+gJ340ZP}t|sO-^8iyT}&ClnQV)DC^(o?orn&0nr+ zq#|h-Fx5XLFvLeW`IeWNcT9{DU}c`{`LnLOIrj?&W59Ye(ySM@B2k9W-5=1HpuN^* z+u=yh>BhdwtIt-xS_MLogipqOlZ(yZ>%?7T!Cbp-XvK?kOfAeWl*Y&(lrmhitcKKz z?975Sd`3pp2T(e9Y_8LcdmCF2h{S}dx&wcxZ2%`C4?oPoH|L&OfR%rOvl-(xE?E?J zf%k6A2QqR}uk^C}wriw3>z_Rs-Pj#`93k;K+-FCg@31#r2%8}ivyuPGyroK`?mZ6k zmf0<>((2_(%XyKems$)V{rZsg%zH}<{2@7JGAyEv;^t36aVGIbWsx>|9d8mYEmt(k zo2sG{4oFb33`KP!Tf8mzQ-Rk;hi4Us(NeK|r3_|_N%_H+bu!Xbe!S=q_vIixTqoCY z@ZHC4VWqkd`G8nR?%UTyxYt58Baf%9a=lZ;dp-0;2JJEacdlmoZ`;^M z+70a}(btS#S+P0|&AjBveE`a-kBHOLp+moyG*6!KZBR`4&de30NvzRH4wY4#1PC_A zy(lC+^DA=$Zn&z6uYJb^q$JAp6Lf8MJyVKzBjrobn^l}*uKiRUNk(#uFMD;PQK&m_p59n3G>^iJx&D6NJq0WEKs0sF#n7FO zg}Arh_mAvKvw7V6mcB%M0eZ>@A)B8%(FWaYf6PC7Gj72ZS-27YsuQv__c9)FUbZ+2CR}6Rlz{NJu}nsiIJC@lMdIOf9WqEk+=%l&W;{! z$rO6`whtYtRl3bcovNgveko)B1H0#OYoYzGYLp3Bk4A2$j*$Ff_Yiw65N9t#v=N9M?)9z#$#x`-E)O*lo#N zg+iV+lEi~!<0D*bYhHN9&wH!W0<4*fo1B{$*JDB0OC5>DHj+vlhU$j=N-v`Qk~bIYeehYQ&4-giJ5*!pz<^hsZv^=J5RV?B&!+B5 zI@~)pGNX{cojo|76!k0aN#W27nM2_+#w069q5%2!N7w0e6XaJsw%|aNK%FfKZ`M5L*;&_@|;uh zhLC8Hqk?-yNB5`j@3~}2y>nW{y2MetP4G{8YPda^9M`07-dE?dj;c&qMH6oe+8b+s z>-AWOj`GD9v4%z7ohwZ-@6vE#w|CtVF>#oWoH|!pt4MOcAFtg~G!IcfMw^u3xp#P7 z1c$Dcs|9_N;p+>pcdq>Grmu>f`WFv9)^svR(r#l?zNcQNZpggJ8(7IWQRruBZY^W_ zJuEAo?&bY=TU|w)E6{aCV^y0Dt&nXi`p%N@``O(u7&E*F^-CmEQ}O1DAA@Pdwk4@> zd7W#h7%gOBevyatzoxVK8#%zdEaWgz3!ePK<(^JzS?>}3KI6o~sD9DvyALeZ37JOT z;QBPMnqy^b2JREZE@od}9=|)q*!|GTd!`Alc{#vgFoGbDQJ$UWA+IABaL}6zzFeDd z-LdN{??7EnQgCj?Y_h(F$HQFC`ED+x)|LHZV0N*y-6B(3ZRyqxE{75bW;GTEi!+5& z@(cEqo3Tu0+yukzYpAF-v<{ExM+)p`@YLJe`W(77o{{k2nOewC_8F0K<;GAYkH?7H zrYPCQOx-YBn=PS9PXo7`st2eqQ7p~GxPtv|a*$C9DEv@~6Pu1Iv*-`^oe2I}n-pI~ zJ@VE-F%7@GqPUDUw0(_XmU@>yrkq3kdN1xe+(sd1bQ~IOzFIjE+elo`*Bmd8p?Xt% znn}6U+Qj&ZsM=vZi%TXpCgj*rr~HlnZIADt-no}m*@jTRZO$x&Og7#MD{YGv@!uFy zdvzatCwa%93w`H4C?)9v9Gg8T$b zRJgX!7w;Se{Q|h82nS1jitCLen=rRueUk#xZw zQH#=3)u!K`S#j`Y9WfV$#`s>vO>E^H=@RXS8w=U(KS|7xk;C6)so}gn~Z4(_^D1ZCQmlZB~~ zF)#P$&wf^VH#FhrBo{Ne=EG}tPfS2OS!el0Yf)*Nm*SOuYv8XZ1~JZ{0?(C^G+?|6 zd3HF974t~8=nS*sM5MmdrMtUn6f)D9c@w(kx2Q)neg(jTmb+6e!xl%k*!`F6roFLH zr}s&8j(6=`+`O5m(V2UEXkTb7PQqj9g9^iyI9DU>B}7Zj_cekur16^{CAliUS5~R( z(7?^=vBxrYND`{JNBTr+(MdC2{|!X&ntp3|Cc(8&*bD{zn-Q(f)HhHf9X-vj(Kw@) zMXe!yl;~Gyz_*cQHKy&iC$-3B{b{|H=8WBb*D><;o>qj+SEukC`L|5Bg{wH67hlqN z39I!8+GA)e(i3b7iWslse%vOPGOK@%s`IYgZYgI$KskFdy~t=GQ42pH#=^j4z^B-!?foOYqYTvwciWfrTM#lM|9o+pjG*66-a<1vaAuX= zUytsoKB^j);Wy22FUu!J3xfJ-`z9uZgOLTk@TQ{2*T1yp(AtR%khn*1lpdmw=SwC_ zAxJUVS)uCYXc@jw!FP{4Ddbn6sJg#yQOXqszt&D6XwFdlXUQS@^ygey*V zXw*_}m?d@XIB2|a7t+wlS_}C#a|??>(m717XlEJ4ahE~rscx`sm>fCmCMHiPCP6ku zJLAg+fp7f`Vqy+X_<}kaQ2rt6@Tt%n%TFH<=ZVlx+Le7)ZW9x0E*!5E6qDYZsJ@vI z7T8G}x~?~YiefH^`Ta#rmAQrwSF4HPJB1_PA*$)kj0$8`@CQ9}k8icZj@F9Ty29Tz zb%iJ>M+T|U7^G^T%r+ivwIbg`R_99}{^fpS>q*Cm1h)lwh_?2}`&GB3TN?WlpXGce z4t-0>H$%Y9?7JH`mlCIT;^zb7+}*(FpFWv6HsT4U&YOBqZbRo*8yxVgDP6YR1C77s zqeVw+9rdI#iEGpL$@D#yI-_z<-0J+$PomI#4Kf_7#(Rfrj~Kqf_a7>OHCd1%;L7?; zHKyO0uBMcXjo5#N`ujAu-zFCvP{Yi9SD7swiF$P);;2tdqcGy}jw*HBbnae}%aUS1 zJ^w)9(#G9!fp2M?#?~m{tYr#sdxD(Qqvf9o9vqorD0RJ?f>EO^58Yl=7ro6+?UAz# z>@ZUvM2;_1ttuMN?F)~(QhCh3`ROsqlBI=K0baAj3ig}c&VtI2Lhf6)v(YVsr&Idb z>U!7imfC5v*FteWDwSSSN#VsN?B;l@UBTolj8BPEw2)z};P>*jUm863^lnJIo=rS4m83~EzaBA)WT--=u*Js^`RMpzTrB!R)7(BYv>i4gpeN;L?DG2Ue6Eh~0D=63>c|t_BFHAk zK#+rm57SIjM4>v~fRVkZbATi=c6-w6g3q~d${a>l50YvB#{6jKuu3$O2X*`nflLbl zl|tl};+9_*j+P1@MjZzFYAHT$v+V9!39+q7O$#Z4OotL$a4K~xO4GDEC4%z~2ahle zv)_b81dU&Rnvp(j?ZkF{3;h@io03t%TiEu2?nghaZ*Va+DbS4XqVd#+sfx7Z?vBv1 zxfH>dm|8}$+V^2KLw(P$e3g8eHR#Rv+GFc5``F+}Pr)4{h5Ckt1eD^j&DZaq$4F|B zx(q0N4eyIrGEa2AOeIUxezV)s*&N4je33cZ%5{9qL|WvhnQf$CLLKO$(5g9>DVV$B z`7)8@-NUQawcbL+k7D=ypVOA{;#8w0_k8`4Yn_5d?E7x@L4a;o4I~r0ps_Hqbh*mM z?fAjKUCa28A(`g#N7t7zzq?eb{X!?87H%cGsn)Jw8fTp6GUhb=x_1UrJ?9tzwwWHg z2EleT$mrMp;+VVr(v^**h;ms^^VN#IE@orTkAf#he1@*+DT($+&i6{RI^&A9+>x1k ztA2)gY-$UCc6mDz+RE5@L|=jBlpPCmvEv{j3Q#lRm5HCm*8CodvX1;~k*p+3MN&JS zM=Cy5z}d@zWC~Jq>wW;O`^Vw6p4>3A9s7f;1$3|O`}Fd!2Hs|#Pwu}Wd=D0#L!l8D z%tfs%g!1|%#a~E(h7A9ie@ziH#cm=_NA&lfe0X}A3ko~WBHSBlZ*6jX7>tr_>nL?( zSYmG2Ae3>@Se%>Xma+aR^_2HUb90j}4jtxUWBF~S?)S_;VxArl*y+$O;plCP-h${# zXqBmn(nSAcL4Acy#dM4mzs_A@hcU>x@9x`&HcY*);j&xK7lSoLR%2t-c0KD(eg4;? z=39*^CQCYd5-svhm8vD)1_DK4Luny>=~>^Lm2x;YdppC8vW`;J;vcbSA^WyZ>JMg2 zw;b1OvAi{}y^+sIa_B`z6+`q+aSvmeM^0I7=7Xw&PD=nrb!fFK+UV{3FN2FxR-Bm~ zVkaXE7-3(UBCOK_j6wP@1 z6x_0&;ekADW@u@#)`}>EKD8o~O2NNLdY{>Q%G(e9giASgo}63FEsN8JddNrGzS|%& zfTDS@9ry?z@1$5f<#9PRbt!h)_|6y^s#u|f+M;~CMTSWel=&TA5SP)^gALqgxE{d} zC$PK(=%qnhBO3Li{a5ij$X5L2FP=yLT*z)U4{F)BN&i?G#}LBqq~f>uH1vI*mJHGN z_wEm>wyPOF4~a-|8dcVVUx9ZmkDUIDAZ$ad ziSNCbIkQdig6h5zSmXjrLAlTDJQMB})ikeW?ZQT@sCG%de&(xFHL|Pbe>YbpBB;bE z{GC1P9*yN1uIGFXe$#t*gPOFjWG@>R%LK$}Dj2>NcJn8fPi6G8b##4&2t7^AYWI?C zEi`@i*2R8^f-zSHckJ8F6_-xlmTfu9@a$TxBl8E2PL1=tS~`493^$8A(=k=r+LJ+V z$Z;f_ZCovdBwoTTVNfqrvYw&Jo6O93-3my%E~R3>^b2uF9@oR?AI-LCX9l5H%!gZW zB^Eqb@T5`hk?npjrFMUmLYt!x?TUi69j{-pY4wKF@Koy|ky(LYD9y?iAsaZOrmmtb z;m()9@Rx3p@f}y{?C|Ug-v`svy(wYt8#emXhm5_a;)->@R*u^GVW64ps7l;yn#b0c z>Q4g=<2SMD)_NT*mJaz%?~t%)9PTXsB)@{*USN@si{C(5P2yGUt3&nKw&NGFknqS{ zF73(?Q?+C_u9>S9r7WR8O-PvYiR||b_d&~X_A5ls@5x{`_*BolPmn3?9g)%~W@xIb z5Y=j?bvE>2O(f!jQcRZo(HpZnH8h z^1GcA+5Kx`^>b)gV$#Di1ue<4VpNdN0;VdHJ}!}h-$5dysn2d@-RsgFBFaHqHpjUI zUL3)Tw3-cOvtBv=@ykd^9bdfS4JRu0w?u8|>#*@JRCHBc35PFk#ur{p$Um33hVUOq-5@gl6jEXn$*=jY8^{0N{Idm( zeXG(IjO&jx;Rb;NGh)3~kTf)6YbIu$JRuqRf&oXAM1`YZCK86!4=}Z`(U#CW?Y^>@ zF;!>vLyBd+k+X{=Ru)pS*CKZT;TkO10zUE0NbM zjwn@#`0Z}^b|LAyt3~rEq;7zW4ms)MN$F2q+?!cxnJ@~0k33<2g4A8k7#5VqWE@n^ zuRM6mDZ}HyL`7+VU+l+yPja-*&0*Mw#q8*Zw%d>?ff!_Q>c)VRg~U{a8e6IMJ}Qci zMAAn;n5SRnX|mq5r!JO4(!B~+b$F1Po&op8};;_dkSr0Fl6ZYbA}hILmT zgp35F@(@RNi8L-=*&q`cxTh9%7m1Y3gWGTa8O88xKg(}4yjWZAcv-LF@OxeK1)rxj zwXST4O^2bI;LG=zQN2lga3}1|d*<(U%t!>?7#Yc2GXw3`)$Jiv;_qunO~m^t7ha%`3S?Re zN6Tp@41_DgMYl~HTbAFk#`NW+nCf@4=Ho6!v6 z26pzghPsxBD=R%SG$@n}1OXwgczMylN-oxhAh4Jf++M`cPT$tl+TO|*?etz&*AjR~ zRYXid>>;C=sjaS}F5K?Ef}yd4g)V}{Lf6<1#CpanBxL0b(zwsT#tym*Sl3#@(9{_CEp6ZiG2L&vq`j_%slFiG*uoI;j-tJxr3#3P z1r4nBo1Kk?0~l?hYpZBz526DLf`!2%U@@>bSQ7jYEDe?g%Yh$(6~KyMC9pDB1*{6z z1?z$J94ssh?ZNtBeJcwqIPkBfr7qY2YzRJ8f!WH=2yE!AZ=q`mHUb-&IvSo*j4Z%L zRt~nO*T!HIu!)Pci6Is%0bKvL0$8}fMiw9#?6>7WFs}0}wblhDvM@BV2cKS@E+51S`;T4DeDK?*zl~;h zYKT8e{cF@e*7%Qo{`%#wv;NxhuXX?9+P{7}^*)H54Tu_{)3^~mjT{L??0`7f!O|cO z&a(&tak88bA`lnHX&mXF28|II5e}vxD1_s0ELef9!8WJh|@pLO|TfX=PAL&ZF9GyLRVj<;z^;KDXR>xAvg><}iO) z)0{9!AZ+~S=mE*n!rRfhTQfX2o(>*Go-jH#RZp(8QRipqlgo8d)W&dnOn~|MZ*5LC z*+_5N(i7E}k1^TReg_ANXsMY920*7KXro9NA7dc}%cBAIbWA7V%GeV^Vxs67I#zoNoNTOciQ7`w@BRZt+ zy96H}wae7skQurvzJwNJ0SAu#%mWnGLY!z*bEBI`W9r#c z^r?uY=7MtI(RDthsn+I`X;#ewZ;ftZn9RqTOp>8TxXgiR-!U0Rq{1-sxfbw0YoHhwd3R#BfqS_4ije9C)%}MfOtkF|3tO6JVDbVM*Vc{bEoK ze%MCH%{Y{-Yt^z3TW1`S+mQz@7PHhmWovQ;0(OG82%3$LxPCr1zS@Pq#I!D;nhSgP zWGGevyu|v;+NS%?lib-`FH~&1y{L_+CAx0;bC@OoE&`>~ayl&n>q>3x4BSpjbvG{Y2X{|mHO>vW!(4j41s6!)YLdcnKX3>QQt8$4q z;Qh01TGuZ#_XR?aS5SE5jP3gZx@*URp67s>_X$AM*F7&MO;!ZzUe1|7vU1R~KTV;C zL<&U%3+dV!BC;t6EFvf>A*TGF%qe7LVQ>cI|H-rfoWlUY3J3(SwX;X0I1nq40;P3- z-vD5O239pSus5+o&*z7~;KTa=06sD= z;w7+ZHW^(pDP=I4$075S#Y}8dujUIS@m{3XGeh{ATTVxAKLh0N(-UQRZikI_WPJn>I(rPs3JMM{@Zi(KvobOt=|xLY;zVTWU=M>5)zsMQH=JM)0{M0MG}V!Uhy$8!_>MW3f_z%~#} z6P7&I(iWh5{FF1y)G>^$mG|~*eUpvC*w*$dH0 zmEh=`IlOlzZ1uR~^n>ULWn`wuBD1aNh$>sK!CyH~hRtzz>{9pll}O z1-rV{=hh0#*|uZPy4Wa~k7ucj@iK2>G56O?@Mv_J4KoJzcYSVlE#IELQH=)K{nSp+E2=4+Y?75P+XP2m*d`ZM5;ip!TnFJ)hT5FKPQ|7kgB` zcsNw&pA@kLe9pl>%o+UHQ`T)L89UiwzE`uj`|gQd2e;x6!$kV6Vp(BKf(46jEdZ*R zP%p3*&Pw0yAgaop4Sfm#&9FHDG^VGJgutA|vIv;HdI!-&-fZaC+*#?(-z1d?*f#LJ z8$El=gPKcNj+#rcVD{Ep^sKa7N9^ulE@$Hg|FhQ*Hv)j~Hg`42W7f#z+fuN-icFKR zSxnics-gAU@2|2!DPK%EBU+@P36aR1c^Z#AB|5NM(h=Di{`~yKOT>n520Be6C2zti*KSK}# zaQ=lL&U5Pjh9GtpuK#-oQfh$5KL8*Ie@yu8?1SnmPIi%3)OV^QFfCI#vt4r_p;}Z= z1=0Cu*Q#JXxLH3axCjM|CgWXTkgsk}Ct6$vRw!gw-#L4yRP7Q^Pe1)E&cR`*s@*-+ zN`B=w>z9FV^1KK66Ag6m5X%aO6=#BW4b^1k+nSG0Xo)yWSACv2G_Noo23s!WXwCWW z-UxfGI5z|5Y@T^D?W}zpi(LJr>M>J}St#|qi)EW)uctD@HEp*zaOR-gy6{+qc*^R# zD2hTGnZ86DW?|NNSKRmJWdTEM9%hf0i^e5P`%1Pr$NN6;2V6~a-eC{5o~RTi$Wzg~ z!}OtPaWeCLmC5!j$$B17@R(c`M)vr-H90Q~ztAD`zIqBg^!LZ|iGrVMxl5e(mNYPh z25P3^Kk~g(3e47{d4x(LZ11ZKBvTHHfpy_FzbaI@%Gkk-%Gekrn)|p)ke4W9H{nB!;=6WvBKEf|t;4mWg?G$N zyDONmsXboHnu1;Qz-S1kP&bHzDHg&nAQ* zb`!8+&uzl99rsTiaK`kXb0X{cGT`jk|47%^&<;3RTR8v)3mY0(%G3ZjCBjZeg4oVp zI8H?ahatqAK*hm=c>VWqbJ;F(4)zwnK^c&JTGxPn7deQs1_b*JH)peQojZu0zVjF4 zOznZ=F6^wD0Sf|$&a*{7LL4&f0o3|k`aH5VbOgc9VCg@LJtbTab*eegj{pI{b85f; zD(Vj!${ITV)%8DeS^hENsfsMWy#dJmy|O=Y|J))pWI0p+oTPsc{Y=u?(H^1UZvq1R6cNz)5mH!=ouyc`cD&b%ELI1k%fAZdGl%j!8Xa4QU|Cs!;@BX^( zkE{M`aGgcVnaoRp2E6&NqJN!u!H0jAek$io&;O_fWkERUk03_9={?Y(Juv5Y3wfr+B-8r^@6+I6Xe`4b=GoTF6Xg$;RFY#2P z-Dtcg{C6VY-E*A(s*M^*%ymbI@s;2QdCm3jR-~Jc}IYnFY_-Wq_6eSlQ0-4>K?f zfEU5j2nN9}gA~G9e{_6gYh~b|4|FZ*WK5-$4AnpYFaR(2q0FohW)^m!X)WkrZ(?Oj zM-Ns)WDnpKXqK1(+XJ`~2A)U&Pa5c?brB<-Oo4tV&=xkdwKX)N2TK{cI9b^m*wFzp zP8k7@iU5sK5S<7&3xtIg!Ug=t0t3v$2!YZj42_%Eb%;(fwH${kc5l4CspnJm~-qOpw1{ zK(m<*C}oU5e`$zJg!lr%|Ik=q?0_xL(|}lFV+X?NJPmP;0HO;tC<6KZrE#)wU6=!q z$I5YG4qyxmBI*7+76O9+vG*^HlMMlI=V^dE7}uqFAuu)omM2vIAmUy z$8ymIh_Q%z^PjO02;0TAL7>16ys$PvKPVTl{Vt4UXT7vG2*-cXkLBXL2ziJnD;MN( zT(&(Bj2C?bwDk~`>-n*OJP4wOJx>F!xh~re=<{8)GXO9bV*{`N7XthKl?OZ?x?pDr z1ep1PE&z!Y0b%FIA}q>raUB37$K^R#FZvP)D=4CPKQ9lUv9VrSFO==FO@Y9_G%pJb z(b_yO55Qh_ME&{?4KM-w<#|~VxOtur(1jIIZ=9zA>*YWkq|VbI5E$#FScAaWFWVW$ z@n87V2G07Um6ShWxKF) zUW_YX3vykI4FH9pY?t(7|1Wa@rn(qw5O(&1sY(~%QW`O^Kv4}n+szRPc8qY0oZ;S z{~*vyaSsJ@#l`gkh3lm_g+kab#TpdC3Av~r@bKdjb^^HjU*?5e!aqd)aA9o#9}a0f_7wDcrJ zKpMP)!W<${5iv1gn6L;NI~NxlCyYZFh-@(qVK!lQHc@`i|IVTX0!|Hfh~B|zjS3`u P2p2mVHMOXm7~1~<^YZvA literal 0 HcmV?d00001 From 6386e22cfafbada140e9de012681b5d4e384d7a6 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Thu, 12 Sep 2024 22:47:14 +0100 Subject: [PATCH 30/39] Added main document README. Fixes #1. --- README.md | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 188 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 46a36af..93f1d4f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,189 @@ # LaTeX_Template -Versatile and extensible LaTeX document template designed for both PDF rendering and printing. + +Versatile and extensible LaTeX document template designed for both PDF rendering +and printing. + +This repo can be used as a template for many different LaTeX documents, and has +the following features that can be customised: + +- Revision history, using the `vhistory` package. + - Automatically populates author name(s) and date field on the title page from + the revision history table. +- Custom margins using the `geometry` package. This also defines the paper size. +- Additional language and regional grammar rule support using the `babel` + package. +- Driver-independent colour support using the `xcolor` package. +- Hyperlink support and customisation using the `hyperref` package. +- Glossary generation for terminology and acronyms using the `glossaries-extra` + package. +- Customisable caption formatting using the `caption` package. +- Customisable appendices using the `appendix` package. +- Specify `T1` font encoding for wider character support using the `fontenc` + package. +- Input encoding specified as `utf8` using the `inputenc` package. +- Underline support using the `ulem` package. +- Access to the title, date and author(s) throughout the document (even after + calling `\maketitle`) using the `titling` package. +- Page number specified as "Page X of Y" using the `lastpage` package. +- Image support using the `graphicx` package. +- Support (and sensible default) for a customised header and footer for the main + document pages using the `fancyhdr` package. +- `FiraSans` and `FiraMono` fonts used by default, or a commented out line to + use `opensans` if preferred. +- Reference to the latest `git` commit using the + [vc bundle](https://ctan.org/tex-archive/support/vc). + - Placeholder `.tex` file automatically used for users not using the vc + bundle. + +Each of these configurations should be well-documented in the LaTeX files +themselves, and the uses for any separate files are detailed in the +[template structure section](#template-structure). + +## Requirements + +There are only a few requirements to use this template which I will list here. +As I mainly use Windows, I will include easy install steps using `scoop`, but +will link the project pages so you can figure it out on your own if you use +something else! + +### TeX Distribution + +It shouldn't come as a surprise that you need a `TeX` distribution to render +`LaTeX` documents... My preference is [MiKTeX](https://miktex.org/). This can be +installed easily using [scoop](https://scoop.sh/): + +```pwsh +> scoop bucket add main +> scoop install main/miktex +``` + +If you aren't on Windows or don't use `scoop`, check your package manager or get +the binary from the [MiKTeX downloads page](https://miktex.org/download). + +Pretty much any `TeX` distribution should work fine. + +### Perl + +The `glossaries-extra` package requires `perl` to run the `\makeglossaries` +command (which in turn calls the `makeglossaries` `perl` script). + +This is trivial using [scoop](https://scoop.sh/) again on Windows: + +```pwsh +> scoop bucket add main +> scoop install main/perl +``` + +Your favourite flavour of package manager should make installing +[perl](https://www.perl.org/) similarly easy, or alternatively you can see the +[perl downloads page](https://www.perl.org/get.html) for binary releases. + +## Editor Config + +In an attempt to make this template easy to use for everyone, I've added some +settings and extension recommendations for +[VSCode](https://code.visualstudio.com/). These can be found in the +[.vscode](.vscode/) folder. + +The settings should be automatically used when opening the workspace in +[VSCode](https://code.visualstudio.com/), and the extensions should appear in +the "Recommended" section of the extensions tab (although you may have other +recommendations there too). + +I'll briefly explain the settings and extensions in the next two sections, if +you're not interested you can skip to the +[git hooks](#git-hooks-for-the-vc-bundle) section. + +### Recommended Extensions + +- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) + provides LaTeX integration and tools in VSCode. +- [Markdown All In One](https://marketplace.visualstudio.com/items?itemName=yzhang.markdown-all-in-one) + provides some powerful tools for editing markdown files in VSCode, such as a + preview, table of contents and keyboard shortcuts. +- [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint) + provides linting and style checking for markdown files. +- [Path Intellisense](https://marketplace.visualstudio.com/items?itemName=christian-kohler.path-intellisense) + provides intellisense for paths (*wow... I'd never have guessed...*) in + VSCode, which makes including files and images in LaTeX documents much easier. +- [Rewrap](https://marketplace.visualstudio.com/items?itemName=stkb.rewrap) + enforces line length limits in `.tex` files (and more!) in VSCode. +- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) + is a code formatter, and in this context is really only used for markdown + files. +- [file-icons](https://marketplace.visualstudio.com/items?itemName=file-icons.file-icons) + provides nicer file icons in the explorer tab of VSCode. +- [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker) + provides basic spellchecking in VSCode, which is especially helpful when + editing LaTeX documents. + +## Workspace Settings + +I have configured many of the workspace settings to my own liking. Change them +to suit your own needs if you disagree with my choices! + +- Tool definitions for LaTeX Workshop. This defines the tools required to build + the template document with the packages it uses. This is mostly the same as + the defaults from LaTeX Workshop, but adds `vc` and `makeglossaries` to the + available tools. + **Note: If you use a Unix-based system, you will need to update this tool to + call `vc` instead of `vc.bat` (after making sure to `chmod +x vc`!)** +- Recipe definitions for LaTeX Workshop. This adds a basic recipe to render the + document with all of the packages it uses, and a `vc` configuration to call + the `vc.bat` file from the `vc bundle`. + **Note: This includes a call to `makeglossaries` which will cause an error if + you decide to remove the glossary. If you do make sure to either replace this + recipe with the default one, or just add the default above it.** +- Rewrap config. This enables automatic text wrapping at column 80 for the + rewrap extension. This just helps keep the `.md` and `.tex` files readable in + a single VSCode window with the preview open. +- An editor ruler at column 80, so any lines that exceed the above limit are + more obvious. Some lines cannot be wrapped, and the ruler just helps highlight + those lines. +- CSpell language configured to `en-GB` because that's what I speak... Change + this to suit yourself! +- Custom dictionary entries for the name of every package used in the template, + so that you're not flooded with warnings about the package names when + referenced in comments. + +## Git Hooks For the VC Bundle + +`vc.bat` (or `vc` on Unix systems) needs to be run regularly to update the +`vc.tex` file that contains information about the latest `git` commit. An easy +way to accomplish this is to add a +[git hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) to run +`vc.bat` (or `vc`) for you. Specifically, a `post-commit` hook would work best. + +I'm still working on a good `git hook` for this template, and will update this +section when I've finished. + +If you're really desperate, you can make one fairly easily that just calls +`vc.bat` (or `vc`) after every commit. I'd prefer to make one that is only +called when one of the `.tex` files are updated, though... + +## Template Structure + +```bash + LaTeX_Template # Repo root. + ├─ LICENSE # MIT License for the template. + ├─ README.md # Main template README (You are here!). + ├─ main.pdf # Rendered .pdf of main.tex. + ├─ main.tex # Main entry point for the .tex document. + ├─ preamble # Folder for files used in the preamble. + │ ├─ authors.tex # Defines the document author's names/initials. + │ ├─ fancyhdr.tex # Defines the document header and footer. + │ ├─ glossary.tex # Glossary entries. + │ ├─ vc # Bash script from the vc bundle. + │ ├─ vc-git.awk # .awk file to process vc script outputs. + │ ├─ vc.bat # Batch script from the vc bundle. + │ └─ vc_placeholder.tex # Placeholder information for the vc bundle. + ├─ front_matter # Front matter (i.e. title) for the document. + │ ├─ document_revision.tex # Document revision and vc history. + │ └─ front_matter.tex # Defines the front matter for the document. + ├─ sections # The main sections of the document. * + | └─ 01_example_section.tex # An example document section. + └─ appendices.tex # Appendix definitions. + + * If using a report or book instead of an article, consider renaming this to + chapters. +``` From b2652de19fe3dc36563c7c11cdff88cfb6fd99c8 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Thu, 12 Sep 2024 22:48:40 +0100 Subject: [PATCH 31/39] Updated vc_placeholder to make it clear information is not available. --- preamble/vc_placeholder.tex | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/preamble/vc_placeholder.tex b/preamble/vc_placeholder.tex index 53c6a13..fdd00c4 100644 --- a/preamble/vc_placeholder.tex +++ b/preamble/vc_placeholder.tex @@ -5,16 +5,16 @@ % DO NOT EDIT THIS FILE! %%% Define Git specific macros. -\gdef\GITHash{}% -\gdef\GITAbrHash{}% -\gdef\GITParentHashes{}% -\gdef\GITAbrParentHashes{}% -\gdef\GITAuthorName{}% -\gdef\GITAuthorEmail{}% -\gdef\GITAuthorDate{}% -\gdef\GITCommitterName{}% -\gdef\GITCommitterEmail{}% -\gdef\GITCommitterDate{}% +\gdef\GITHash{N/A}% +\gdef\GITAbrHash{N/A}% +\gdef\GITParentHashes{N/A}% +\gdef\GITAbrParentHashes{N/A}% +\gdef\GITAuthorName{N/A}% +\gdef\GITAuthorEmail{N/A}% +\gdef\GITAuthorDate{N/A}% +\gdef\GITCommitterName{N/A}% +\gdef\GITCommitterEmail{N/A}% +\gdef\GITCommitterDate{N/A}% %%% Define generic version control macros. \gdef\VCRevision{\GITAbrHash}% \gdef\VCAuthor{\GITAuthorName}% From 0817d7a2056cded4235c7b725afd6a3638f0743d Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Thu, 12 Sep 2024 23:16:45 +0100 Subject: [PATCH 32/39] Added awk/gawk to requirements section. --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 93f1d4f..cccf66f 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,22 @@ Your favourite flavour of package manager should make installing [perl](https://www.perl.org/) similarly easy, or alternatively you can see the [perl downloads page](https://www.perl.org/get.html) for binary releases. +### Awk or Gawk + +`awk` or `gawk` are required to process the output of `git log` in both the +[vc](./preamble/vc) and [vc.bat](./preamble/vc.bat) scripts from the +[vc bundle](https://ctan.org/tex-archive/support/vc). + +`gawk` can be installed with [scoop](https://scoop.sh/): + +```pwsh +> scoop bucket add main +> scoop install main/gawk +``` + +And either `awk` or `gawk` should be available from pretty much any package +manager on any system. + ## Editor Config In an attempt to make this template easy to use for everyone, I've added some From 9b55dea5c3471b38a5f2c8ba2c224f358059bf2d Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Thu, 12 Sep 2024 23:17:06 +0100 Subject: [PATCH 33/39] Added preamble README. Fixes #1. --- README.md | 7 ++++++ preamble/README.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 preamble/README.md diff --git a/README.md b/README.md index cccf66f..ff4a27f 100644 --- a/README.md +++ b/README.md @@ -203,3 +203,10 @@ called when one of the `.tex` files are updated, though... * If using a report or book instead of an article, consider renaming this to chapters. ``` + +### Subfolder Readmes + +Each subfolder contains a README, giving a more detailed explanation of the +files within. These are linked here: + +- [preamble](./preamble/README.md) diff --git a/preamble/README.md b/preamble/README.md new file mode 100644 index 0000000..f7ad496 --- /dev/null +++ b/preamble/README.md @@ -0,0 +1,57 @@ +# Preamble Files + +This folder contains any files that are included in the preamble of +[main.tex](../main.tex). The functions of the different files are included in +the [file descriptions section](#file-descriptions). + +## Tree Structure + +```bash + preamble + ├─ authors.tex + ├─ fancyhdr.tex + ├─ glossary.tex + ├─ vc + ├─ vc-git.awk + ├─ vc.bat + ├─ vc.tex + └─ vc_placeholder.tex +``` + +## File Descriptions + +- [authors.tex](./authors.tex) contains the command definitions that translate + the initials, used in the `vhistory` table in + [front_matter/document_revision.tex](../front_matter/document_revision.tex), + into the full name listed in the authors section of the document. Without a + definition for each set of initials here, the initials for the author will be + displayed instead. +- [fancyhdr.tex](./fancyhdr.tex) contains the definitions for the header and + footer of the document. There are example comments within the file to add a + logo or other image in the top left or right of the document, although other + modifications are trivial. +- [glossary.tex](./glossary.tex) contains all the terminology and acronym + definitions for the `glossaries-extra` package. It also re-defines some + commands used by `glossaries-extra` when making links for the glossary, so + they appear bold and underlined rather than coloured. This is just to allow + the document to be easier to read when printed, and can be commented out if + desired. +- [vc](./vc) is a bash script from the + [vc bundle](https://ctan.org/tex-archive/support/vc), that is used to update + the [vc.tex](./vc.tex) file with the latest `git` commit information on + Unix-based systems. +- [vc-git.awk](./vc-git.awk) contains an `awk` script which is used to parse the + output of `git log` into the `vc.tex` file. This is also taken from the + [vc bundle](https://ctan.org/tex-archive/support/vc). +- [vc.bat](./vc.bat) is a batch script from the + [vc bundle](https://ctan.org/tex-archive/support/vc) that is used to update + the [vc.tex](./vc.tex) file with the latest `git` commit information on + Windows systems. +- [vc.tex](./vc.tex) contains the information of the latest `git` commit in the + current repo, which is used in + [front_matter/document_revision.tex](../front_matter/document_revision.tex). + **Note: This will not be present until you have run either `vc` or `vc.bat`. + It is ignored by `git` since it should only be needed locally.** +- [vc_placeholder.tex](./vc_placeholder.tex) is a placeholder for the + [vc.tex](./vc.tex) file, to ensure that the document can always be rendered + even before `vc` or `vc.bat` are run. From e93aee1bc3f7dbeb5512254a612f39e0ce4baf5b Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 07:29:29 +0100 Subject: [PATCH 34/39] Added front_matter README.md. Fixes #1. --- README.md | 1 + front_matter/README.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 front_matter/README.md diff --git a/README.md b/README.md index ff4a27f..1b8b444 100644 --- a/README.md +++ b/README.md @@ -210,3 +210,4 @@ Each subfolder contains a README, giving a more detailed explanation of the files within. These are linked here: - [preamble](./preamble/README.md) +- [front_matter](./front_matter/README.md) diff --git a/front_matter/README.md b/front_matter/README.md new file mode 100644 index 0000000..e8aa7b0 --- /dev/null +++ b/front_matter/README.md @@ -0,0 +1,36 @@ +# Front Matter Files + +This folder contains any files used to define or generate the front matter of +[main.tex](../main.tex). The front matter includes the title, version history, +latest git commit, table of contents, and glossaries. The functions of the +different files are included in the +[file descriptions section](#file-descriptions). + +## Tree Structure + +```bash + front_matter + ├─ document_revision.tex + └─ front_matter.tex +``` + +## File Descriptions + +- [document_revision.tex](./document_revision.tex) contains both the version + history table, and a table containing information about the latest `git` + commit. + - The version history table defines the authors of the document and the + contents of the date field. Both of these are displayed as part of the title + page in [front_matter.tex](./front_matter.tex). To display the author's full + names, they should be included in [authors.tex](../preamble/authors.tex). + - The table containing the latest git commit requires + [vc.bat](../preamble/vc.bat) or [vc](../preamble/vc) to be run at regular + intervals. Before these scripts are run for the first time, the information + will all be shown as "N/A". +- [front_matter.tex](./front_matter.tex) contains the definitions all of the + front matter displayed before the main document contents. + - The title page is generated first. + - The [document_revision.tex](./document_revision.tex) is displayed underneath + the title, including the latest `git` commit information. + - The table of contents is generated on a new page. + - The glossaries are generated on a new page. From a4eca9dd83a9d46a51b08ab6cda5e1e5ad73bcb5 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 07:40:38 +0100 Subject: [PATCH 35/39] Added comment about the order in the Template Structure section. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 1b8b444..3c3c2f9 100644 --- a/README.md +++ b/README.md @@ -204,6 +204,9 @@ called when one of the `.tex` files are updated, though... chapters. ``` +**Note: The files and folders are in "logical" order, rather than alphabetical +order.** + ### Subfolder Readmes Each subfolder contains a README, giving a more detailed explanation of the From 40f92eb996a88642d5892a954c97dc992fd28979 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 07:40:59 +0100 Subject: [PATCH 36/39] Added note about missing glossary entries. --- preamble/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/preamble/README.md b/preamble/README.md index f7ad496..d6e8ddb 100644 --- a/preamble/README.md +++ b/preamble/README.md @@ -35,7 +35,10 @@ the [file descriptions section](#file-descriptions). commands used by `glossaries-extra` when making links for the glossary, so they appear bold and underlined rather than coloured. This is just to allow the document to be easier to read when printed, and can be commented out if - desired. + desired. + **Please note that the `glossaries-extra` package automatically removes unused + glossary entries. If your glossary is empty, ensure the terms or acronyms are + referenced in your document!** - [vc](./vc) is a bash script from the [vc bundle](https://ctan.org/tex-archive/support/vc), that is used to update the [vc.tex](./vc.tex) file with the latest `git` commit information on From ce90403b4b0a2bd93d86767f8a39dcdfe1bf80a1 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 07:41:25 +0100 Subject: [PATCH 37/39] Added sections README.md. Fixes #1. --- README.md | 1 + sections/README.md | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 sections/README.md diff --git a/README.md b/README.md index 3c3c2f9..a6a9ae2 100644 --- a/README.md +++ b/README.md @@ -214,3 +214,4 @@ files within. These are linked here: - [preamble](./preamble/README.md) - [front_matter](./front_matter/README.md) +- [sections](./sections/README.md) diff --git a/sections/README.md b/sections/README.md new file mode 100644 index 0000000..4fcb2c6 --- /dev/null +++ b/sections/README.md @@ -0,0 +1,24 @@ +# Document Sections + +To make larger documents easier to edit and maintain, it is generally a good +practice to split the document contents into separate files for each section, +and include them all in a [main.tex](../main.tex) file. This folder contains all +of the individual document sections, which are included in +[main.tex](../main.tex). + +For an most document classes, splitting it into separate sections is a sensible +choice. However, for longer document classes such as a `report` or `book`, it +would be better to split the document into its chapters. In this case, simply +rename this folder to chapters to keep it easy to follow. + +## Tree Structure + +```bash + sections + └─ 01_example_section.tex +``` + +## File Descriptions + +- [01_example_section.tex](./01_example_section.tex) is an example section + containing some glossary references. From 95339e0e1c611c9494e0a38e8793c6af078fdfba Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 08:41:27 +0100 Subject: [PATCH 38/39] Updated vc.bat to perform parameter expansion using %~1. This is required when run from a LaTeX Workshop recipe, as it seems to escape all arguments with quotation mark. This was not compatible with the original script. --- preamble/vc.bat | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/preamble/vc.bat b/preamble/vc.bat index e36a430..f98186c 100644 --- a/preamble/vc.bat +++ b/preamble/vc.bat @@ -9,7 +9,10 @@ set full=0 set mod=0 :loopParams if "%1" NEQ "" ( - if "%1"=="-f" (set full=1) else if "%1"=="-m" (set mod=1) else ( + REM Note the parameter expansion by using %~1 instead of %1. When run from the + REM LaTeX Workshop recipe in VSCode, this is required as the flags end up with + REM a set of quotation marks around them. + if "%~1"=="-f" (set full=1) else if "%~1"=="-m" (set mod=1) else ( echo usage: vc [-f] [-m] exit /b 1 ) From 8b87c2c38537d622e5e162e0975f5dd7a7b6fa26 Mon Sep 17 00:00:00 2001 From: Nathaniel Struselis Date: Fri, 13 Sep 2024 08:44:19 +0100 Subject: [PATCH 39/39] Updated example pdf to latest commit. --- main.pdf | Bin 126838 -> 126692 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/main.pdf b/main.pdf index 79ded932a2d085dea78e353213e4910edbbb457a..c55afdcd3383c3a60bb96b99057ac507cd8f31eb 100644 GIT binary patch delta 19929 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 O8Gt>up`qArCHrqPMsCpn delta 20166 zcmV()K;OUQ-3RvG2e9}B0W_2TEGmDsQ%#T4Fc7`(ukg_piaX=4#Jw$B7N`&)8gT&* z+1<2>)HWzdk@)wFV|VG&BKCq5C7H43z2`S$U>gSP^%eZ%`?9>6-CEBumkO<6<(est z(ib^%MJ~}>Rz9#Vylls~5TZasd)W%J!Gqhd?i!z77tH@3S2mt((KqPkx{-aGQbk5(j z!zi%eUH|hD(UWrJ0w9nBRyu#BBGMTGD#Bd^r>hBtyf;9o*N3s``mbPNpce_S-g>^M zhx@+$K8DhXi#&hA6*>$qay_vJ@Hvh|Im?yEyr%5ieLJ=lHGLaBT}%#F>yboqdAWUP zP!<|lW~?k!kp@dxs=GTGE}V-@gXiy#N2e9?aay|xxu)80(%$QoFWY}z%6wQKM^xqf zaJOxTrrmEY3VIZ#a+#x|v7#Bpr0XV53=LyCdLF3jV(kQK?u&rPj09uJ+G)09UF=S( zd0&krwyl#%tFb=}HA$L^X+-FL>C5GlrzZv^Km`I7S0QDBzzjS+Y38S;c_`8_4}CB; zuDpmn1ekc8H0}@4zYiuG*`B8#L0bG9(EmKbc?Z3crYPt_Il56cKiDrE1lyL&wr$(CZQHhO+qP}nHoj%sw))(Tj_AA3AE=kgNL0<7njiev zc(1}osHQZa()@qrmJ>F!`gMfHP5JzXoiX`?wcxlF1_7o3<8)ba*7^^d5O9p7i=oVa zgX(Oztej#zlzne`qa><@zuaSWZbP+QjHIk_f6G0x6W~H_?9KuP|8&s8k5_Ws30lK} zD?)+~2%(5)3^T6VTH+GfAAqN74EPFRt3daO>oc6c9T;0Q8^kH*Ia@t_gyq7n_ZXDwRa&^AM51hbKZ^j7iR#a3lem4RydC zMUnOc;TWuRwWo|)D?>E&hHLze&v4GAe{0cwj0`@-g&wS~mW1IMNx9SGfMA71WMc-I z*LifOiL&#*mZ2w7CrS3;0cYjd{7ci^PJ3pFGH(COnS(t3n`pAKi}kER`5ztoaC6i)h7)rA*$?22=5a~=ZxvHUvjNTfz==@jO6ol0TMT4Kt4;c=2WUC z0d5dvAndbjzunF}^IA|KgmvyT;Tj02mD@ci7)Nf0so`CFF3&Hw|H!B0e=2T6TC?BT z*T%iw8k3uvDY1(_Ⓢ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 Ky1M4JV(y=dILizG