diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..89950d6 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,7 @@ +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git*,*.pdf,.codespellrc +check-hidden = true +# names, case sensitive +ignore-regex = \bWille\b|\\@\S+ +# ignore-words-list = diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dfec81a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,27 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**Expected Behavior** + + +**Actual Behavior** + + +**Minimum Working Example to Reproduce the Problem** + +**Specifications** + - moderncv version and source: + - LaTeX compiler (pdfLaTeX, XeLaTeX, etc.) and version: + - Platform (operating system, LaTeX editor, etc.): + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml new file mode 100644 index 0000000..8d320f4 --- /dev/null +++ b/.github/workflows/build-pdf.yml @@ -0,0 +1,48 @@ +name: Build template + +on: + push: + branches: + - master + pull_request: + registry_package: + +jobs: + build-template: + name: Build template + runs-on: ubuntu-latest + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Build pdf + run: | + prev_style=contemporary + for style in casual classic banking oldstyle fancy contemporary + do + echo -e "\033[1;35mCompiling style $style...\033[0m" + # first cleanup, but keep .log files for later artifact upload + latexmk -c -e 'sub cleanup_generated { my $ext = $_[0]; return 0 if $ext eq "log"; return 1; }' + sed -i "s/moderncvstyle\[\]{${prev_style}}/moderncvstyle\[\]{${style}}/g" template.tex + latexmk -pdflua ./template.tex + mv template.pdf template_${style}.pdf + mv template.log template_${style}.log + # remember previous style + prev_style=$style + done + + - name: Upload pdf + uses: actions/upload-artifact@v4 + with: + name: template.pdf + path: ./template_*.pdf + + - name: Upload log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: template.log + path: ./template_*.log diff --git a/.github/workflows/build-userguide-pdf.yml b/.github/workflows/build-userguide-pdf.yml new file mode 100644 index 0000000..665b93c --- /dev/null +++ b/.github/workflows/build-userguide-pdf.yml @@ -0,0 +1,55 @@ +name: Build user guide + +on: + push: + branches: + - master + paths: + - 'manual/moderncv_userguide.tex' + pull_request: + paths: + - 'manual/moderncv_userguide.tex' + +jobs: + build-userguide: + name: Build user guide + runs-on: ubuntu-latest + env: + UG_AUTHOR: Auto Userguide Creator + UG_COMMIT_MESSAGE: build of user guide + container: + image: texlive/texlive:latest-full + + steps: + - name: Checkout source code + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Build user guide pdf + run: latexmk -pdflua -cd ./manual/moderncv_userguide.tex + + - name: Upload user guide pdf + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.pdf + path: ./manual/moderncv_userguide.pdf + + - name: Upload user guide log + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: moderncv_userguide.log + path: ./manual/moderncv_userguide.log + + - name: Push new user guide to master + if: ${{ github.ref_name == 'master' }} + run: | + # maybe switch to an image with git already included, for now install it here + apt update && apt install git -y + git config --global user.name '${{ env.UG_AUTHOR }}' + git config --global user.email '${{ github.actor }}@users.noreply.github.com' + ls -l + git add manual/moderncv_userguide.pdf + git commit -m "${{ env.UG_COMMIT_MESSAGE }}" + git push diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 0000000..b026c85 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,25 @@ +# Codespell configuration is within .codespellrc +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Annotate locations with typos + uses: codespell-project/codespell-problem-matcher@v1 + - name: Codespell + uses: codespell-project/actions-codespell@v2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2e83ea9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# general latex build output files +*.aux +*.bbl +*.blg +*.fdb_latexmk +*.fls +*.log +*.out +*.synctex.gz +*.xdv +*.toc + +# template.tex output +# move to *.pdf once manual is done +template.pdf + +# release tarballs +moderncv-*.tar.gz diff --git a/CHANGELOG b/CHANGELOG index 8869f5b..f950fc9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,31 +1,423 @@ -version 0.5 (9 September 2006) - - added a \photo command to display a picture. That command takes the name of - the file with the picture as argument, and the desired height as optional - argument. - - implemented the needed commands to make moderncv compatible with BibTeX, as +version next +- Upgrade to Fontawesome 6 (#183) +- Document how to set custom strings for social command (#239) +- Correct documentation to reflect new order \moderncvcolor before \moderncvstyle (#256) + +version 2.5.1 (31 Jan 2026) +- Fix french babel breaking contemporary style (#219) +- Fix birthdate not showing up in contemporary style (#244) +- Fix Inspire HEP social link (#241) +- Change moderncvcolors.tex to a .sty file for MikTeX compatibility (#199) +- Fix error when omitting the photo in contemporary style (#201) +- Fix spacing between first and last name (#204) +- Include social icons in cover letter for styles classic, fancy and banking (#170) +- Update Oldstyle to use symbols instead of marvosym (#209) +- Added SimpleX and Threema social (#217) +- Fix spacing between first and last name again (#220) +- Make header details flush against sides for casual, classic, and contemporary + styles (#229) +- Fix tikz icon color in contemporary style (#224) +- Add contemporary CV header style to cover letter, which also makes icons + visible (#186) +- Fix minor horizontal spacing issue in 'contemporary' style header + + +version 2.4.2 (01 Feb 2025) +- Added support for additional social icons like medium. (#264) + +version 2.4.1 (18 Jul 2024) +- Fix commons/colors.tex not found in package (#194) + +version 2.4.0 (08 Jul 2024) +- Rewrote user guide, thanks to David Seus (#58, #106, #169). +- Fixed "Underfull \hbox (badness 10000)" warning in \makecvtitle (#162). +- Fixed unnecessary academicons warning when academicons aren't used (#161). +- Fixed page counts unnecessarily linking to the last page of the PDF (#159). +- Added support for an optional signature in the cover letter (#157). +- Added support for non-ASCII characters in links (#155). +- Added option to force a homepage link to use HTTP rather than HTTPS (#154). +- Passed unicode option directly to hyperref to avoid conflicts with the + inclusion of hyperref by other packages (#148). +- Fixed the sender block on the cover letter in banking style (#146). +- Added option to classic style to align header elements at the top (#144). +- Added Twitch, YouTube, TikTok, Instagram, SoundCloud, Steam, Xbox, PlayStation + and Battle.net social icons (#131). +- Removed extra dash in PDF metadata when CV title is empty (#116). +- Added support for an optional subject line in the cover letter (#114). +- Added Discord social icon (#112). +- Replace instances of ~~~ in codebase with \hspace to be more compatible with + babel for Spanish (#109). +- Added Codeberg and Mastodon social icons (#107). +- New \social options: arXiv, INSPIRE (#185) +- Systematize colors and make them user adjustable. See documentation for details. + This requires the \moderncvcolor to be issued BEFORE \moderncvstyle (#151). +- all styles: make the head options 'details' and 'nodetails' available to the user. (previously they were hidden). Oldstyle does not respond too well to nodetails (#150). +- casual style: make the head options 'alternate', 'details' and 'nodetails' available to the user. (previously they were hidden) (#150). +- Setting \listitemsymbolspace allows custom spacing between list symbol and text item (for \cvlistitem and \cvlistdoubleitem) (#74). +- Introducing \cvtripleitem command for items in three columns. Closing feature request #174. +- Fixed wrong cvlistitem vspace caused by multiline section titles in fancy style (#69). + +version 2.3.1 (21 Feb 2022) +- Fix duplicate GitLab icon (#105). +- Revert using detokenize in social links (#97). +- Fix broken compilation in classic style (#96). + +version 2.3.0 (16 Dec 2021) +- Remove font loading from class (#87). +- Add Matrix and Signal icon (#84). +- Improved symbol loading (#84). + +version: 2.2.0 (28 Jul 2021) +- Remove dot in \cventry when using moderncvbodyi. + +- Remove http baseurl in hyperref. +- Change font encoding to use fontspec with Latin Modern for LuaTeX and XeTeX, + else inputenc / fontenc / lmodern (https://tex.stackexchange.com/a/496643). +- Add birthdate field command. +- Add Social entries for WhatsApp, Signal and Matrix. +- Fix Researcher ID not showing (#29). +- Make options "symbols" and "nosymbols" available to all styles to toggle + whether symbols should be used or not. Include symbols in oldstyle by default. +- Migrate older newcommand syntax in moderncvcollection.sty to xparse syntax. +- Fix resumé typo in template. Is now résumé. +- Various other minor fixes. + +version 2.1.0 (21 Jan 2021) +- Maintainer change: now team maintained (https://github.com/moderncv), since + original repository has been basically dead since 2016. +- New \social options: Xing, Skype, GitLab, Bitbucket, stack overflow, ORCID, + ResearcherID, ResearchGate, Telegram and Google Scholar. +- Hyperlinks in phone numbers. +- Switch from l3regex to expl3. +- New skill matrix feature. +- Move to fontawesome5 package. +- Default to https. + +version 2.0.0 (28 Jul 2015) +- Refactored the code into heads, body, foot and icon substyles. All styles + (classic, casual, banking and oldstyle) are just a combination of these and + some font selection. Mixing substyles (e.g., the banking header with the + classic body) is now trivial by using the \moderncvhead, \moderncvbody, + \moderncvfoot and \moderncvicons commands. Each of these take a substyle + number as argument. \moderncvcolor takes a color name as argument. +- Added a new style: fancy. +- Added an optional argument to \moderncvstyle to specify style options, i.e. + \moderncvstyle[options]{style}. Below is a list of the available options per + style: + * classic + > to specify where at the top one's name should appear: "left" (default) or + "right; + * casual + > to specify where at the top one's name should appear: "left" (default) or + "right; + * banking + > to specify how the section and subsection rules should be set: + "fullrules", "shortrules", "mixedrules" (default; full rules for sections, + short rules for subsections), "centered" (fullrules with centered title) + and "norules" (norules, small caps font); + > to specify how the body should be aligned: left" (default), "center" or + "right"; + * oldstyle & fancy + > n/a +- Added a new color variant: "burgundy". +- Corrected \addressstyle color to match the one effectively used (color2). +- Adjusted the bibliography spacing to handle entries with or without labels. +- Added a check on the emptiness of \title when setting the hyperref document + properties. + +version 1.5.1 (29 Apr 2013) +- Made sure that XeTeX or LuaTeX is in use before loading the awesome icon set + and if not, revert to the marvosym icon set. + +version 1.5.0 (23 Apr 2013) +- Added a command to showcase social accounts in one's personal information: + \social. The command currently handles LinkedIn, Twitter and Github accounts + automatically, and other links can be provided explicitly. +- Added a new icon set: "awesome" (using the icons from the Font Awesome font). +- Set the "awesome" icon set as the default for the casual and banking styles + (can be changed back with \moderncvicons{marvosym}). +- Forced all the icons of the "letters" icon set to be of the same width, for + alignment purposes. +- Added a letter icon ("W") for the homepage of the "letters" icon set. +- Forced some whitespace between the main text and the footer of the casual + style. +- Removed the rule below the headings of the cvcolumns environment. + +version 1.4.0 (28 Mar 2013) +- Deprecated \phone, \mobile and \fax in favour of \phone[], where + can be "fixed" (default), "mobile" or "fax". As part of the change, one can + now use each of these multiple times, e.g. to display multiple mobile phone + numbers. +- Deprecated \firstname and \familyname in favour of \name{}{}. +- Added a new mechanism to select among different possible icon sets: + \moderncvicons{}, where can be "marvosym" (used by + default in the banking, casual and classic styles) or "letters" (used by + default in the oldstyle style). \moderncvicons should always be called after + \moderncvstyle in order to override the styles' defaults. +- Added a command to control the font of the page numbering: \pagenumberfont, as + requested by fr1a1nky (launchpad question #224496). +- Removed the use of the suffix package. + +version 1.3.0 (09 Feb 2013) +- Added a new environment to create multiple columns: cvcolumns. Each column is + then created by \cvcolumn[width]{header}{content}, where the optional width is + given as a fraction of the total width (between 0 and 1). The header and + content are robust and can contain any paragraph command (e.g., a nested + itemize environment). +- Added a macro (\pdfpagemode) to control what is visible upon opening compiled + PDFs (assuming PDF reader support), as suggested by U. Stöhr. + Possible values include: "UseNone" (only the document), "UseThumbs" (show + thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in + fullscreen mode). +- Added a 3rd, fully optional (can be omitted or left blank) argument to + \address to specify a country, as requested on launchpad (launchpad bug + #1063995). +- Compacted list environments further. +- Replaced the use of the xargs package by the xparse one. + +version 1.2.1 (04 Dec 2012) +- Fixed a regression bug introduced in v1.2.0 in the header of the banking style + when no title is used, as reported on tex.stackexchange (question #85427). + +version 1.2.0 (31 Oct 2012) +- Updated the banking style header to include the option to show a title. +- Set the values of \arrayrulewidth and \doublerulesep to their standard values + (0.4pt and 2pt, respectively) to enable the drawing of rules in tabulars and + arrays by default. +- Modified the code of \makecvtitle and \makelettertitle of the casual style to + avoid it causing horizontal alignment issues before and after itself. +- Corrected a bug in \makelettertitle of most styles that displayed the current + date (\today) instead of the date given through the \date command, as reported + by B. Schlimmchen and S. Fnord. +- Removed the need to set pdfpagelabels=false when loading hyperref by putting + \pagenumbering{arabic} (to define \thepage) before loading hyperref, as + figured out by J. Wolf. +- Corrected the line wrapping of \cvlistitem of the banking style. +- Corrected a bug in \makecvtitle and \makelettertitle of the banking style. +- Removed an unwanted space in the footer of the casual style. +- Moved the font style definitions to moderncv.cls for better readability + (moderncv.cls is meant to be a sort of header file, implementing only some + macros shared by all styles and defining the macros that the style files need + to implement). + +version 1.1.3 (10 Aug 2012) +- Corrected a long-standing issue causing hyperref to issue two warnings about + its "pdfpagelabels" option, as pointed out and solved by P. Leifeld (launchpad + bug #1035466). + +version 1.1.2 (09 Aug 2012) +- Fixed a regression bug introduced in v1.0.0 in the footer of the casual style, + as discovered on tex.stackexchange (question #66316). + +version 1.1.1 (30 Jul 2012) +- Fixed a compatibility issue introduced in v1.0.0 when \maketitlenamewidth was + renamed to \makecvtitlenamewidth, as reported by Peppe on launchpad (launchpad + bug #1030802). The template now correctly uses \makecvtitlenamewidth, and + \maketitlenamewidth was created as an alias forbackward compatibility. + +version 1.1.0 (29 Jul 2012) +- Fixed the switching from letter to resume, correcting spacing errors when a + letter is typeset before the resume, as noticed by U. Gabor. +- Fixed the vertical alignment of the footers, as reported by T. Homa. Footers + are now aligned to the bottom and the letter and CV footers are perfectly + aligned in the casual style. +- Prepared moderncv for fontspec font loading (still commented out in code). +- Changed the handling of the "sans" and "roman" class options, to be reflected + at the beginning of the document and override style font choices. +- Turned unicode support in hyperref on by default. +- Tweaked the use of \textbullet to avoid a fallback to Computer Modern fonts + and prepared the use of symbols from the MarVoSym font for fontspec (LuaTeX or + XeTeX). +- Tweaked the \subsectionfill of the banking style to distribute extra space + evenly between leaders. +- Added two options to change the "Enclosure" string used for the letter + enclosure: either specify another string as an optional argument to \enclosure + or redefine \enclname, as suggested by D. Wille. + +version 1.0.0 (26 Mar 2012) +- Added commands to generate letters for every resume style: \recipient, \date, + \opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The + old \maketitle and \makefooter commands are now deprecated and replaced by + \makecvtitle and \makecvfooter. +- Changed the alignment algorithm for the personal data display in the oldstyle + style, to align on the baseline of the first line with the surrounding text. + +version 0.19.0 (06 Feb 2012) +- Reintroduced the ability to force the width reserved to display the name in + the resume header for the classic style (\maketitlenamewidth). +- Improved the PDF metadata, as reported by S. Wunsch (launchpad bug #922476). +- Fixed a \footersymbol bug in the casual style when no mobile number was given, + as reported by S. Wunsch (launchpad bug #922470). +- Fixed a display bug when an address was given without postcode/city, as + reported by O. Shaneh (launchpad bug #670263). + +version 0.18.0 (05 Feb 2012) +- Corrected the handling of PDF bookmarks, as suggested on stackexchange by + U. Fischer. +- Improved the spacing between sections and subsections by using \addvspace + instead of \vspace. +- Corrected the spacing between entries with nested itemize environments + (temporary solution working only for single line items). +- Added a check in the oldstyle style for an empty 4th argument in the + \cvdoubleitem definition to avoid printing a colon without a preceding label. +- Added a new style on top of classic, casual and oldstyle: banking. + +version 0.17.0 (25 Jan 2012) +- Changed the footer algorithm of the casual style to avoid starting lines with + the footer symbol. +- Aligned the space before and after the title across styles. +- Added an optional title to the casual style. +- Changed the definition of the font styles to avoid undesired extra spacing. +- Added a Spanish template, kindly provided by I. Buitrón. +- Corrected the vertical misalignment between the page number and the center + footer in the casual style. + +version 0.16.0 (15 Jan 2012) +- Added starred versions of \section and \subsection that are identical to their + non-starred versions (e.g. to enable BibLaTeX support) as requested by + S. Verberkt (launchpad bug #913102). +- Corrected a misalignment of the colored rule in front of the section titles in + the classic and casual styles, as reported by P. Neidhardt (launchpad bug + #915910). + +version 0.15.1 (23 December 2011) +- Corrected a bug in the classic style causing the address font and color to not + be carried over newlines, as reported by J. Smith. + +version 0.15.0 (19 December 2011) +- Corrected list spacing. +- Corrected inconsistent use of sans serif fonts in roman layout option. +- The lmodern fonts are now automatically loaded only if they're installed on + the system. The "nolmodern" option is now therefore obsolete. +- Completed code refactoring separating themes in separate styles and colors. +- Renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer + to \cvdoubleitem (the old command names still work and redirect to the new + ones, but are deprecated). +- Removed the arbitrary minipage widths of skill proficiency vs comment in + \cvitemwithcomments. The skill proficiency is now typeset exactly as given + (i.e. one one line if no linebreaks are implicitly given) and the comment uses + the remaining horizontal space. +- Changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify + the vertical skip after the item (as for \cvitem, \cvitemwithcomments, etc). + The way to change the list symbol is to redefine \listitemsymbol. +- Added a new style on top of classic and casual: oldstyle. +- Loaded the microtype package to improve typography. + +version 0.14.0 (04 December 2011) +- Added support for CJK, thanks to the help of P. D'Apice. +- The use of \recomputelengths after modifying any length in the preamble is now + unnecessary; \recomputelength is automatically called at the start of the + document. + +version 0.13.1 (11 November 2011) +- Corrected a bug introduced by v0.13 in the classic style when no \photo is + used, as reported by S. Gislais (launchpad bug #888702). + +version 0.13.0 (06 November 2011) +- Added a "black" color option to render the resume in black & white, as + suggested by F. Bicarri. +- Removed the pdflatex option when loading hyperref to enable other engines + (e.g., dvips, XeTeX), leftover from the v0.11 cleanup, as reported by + K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834). +- Added a "purple" color option, as proposed by B. Ravel. +- Added a 3rd optional argument to the \photo command to control the thickness + of the framebox. Setting it to 0pt will disable the frame around the photo, as + requested by T. Krennwallner (launchpad bug #664568). + +version 0.12.0 (03 August 2010) +- Prevented pagebreaks after sections and subsections (launchpad bug #409902), + as originally reported by C. Gaspoz and fixed by launchpad user tentotwo. + +version 0.11.0 (20 July 2010) +- Removed the \ifpdf check when loading the graphicx package, as graphicx + already does this check internally. This was preventing proper functioning + with XeTeX and LuaTeX, as reported by A. Trautmann. The same check was also + removed everywhere else in the document (i.e. when loading the color and + hyperref packages). + +version 0.10.0 (13 June 2010) +- Fixed a compatibility issue with the natbib package (natbib uses \section* to + format the bibliography title, while only \section was defined by moderncv), + as reported on launchpad (launchpad bug #393920). +- Fixed compatibility issues with (any package relying on) the etoolbox package, + due to the double definition of \AtEndPreamble, as reported by D. Becker. + +version 0.9.0 (31 May 2010) +- Added support for the itemize, enumerate and description environments. + +version 0.8.0 (24 May 2010) +- Added support for multibib. Also modified the template to illustrate how to + show labels in the bibliography, as requested by Tom D. R. and Stefan K. +- Added a command to indicate your personal homepage (\homepage{url}), as + requested by J. de Jong and A. Pairet. +- Corrected an alignment bug for text following a \quote with no immediate + \section, as kindly reported by J. Vermeulen and L. Saliou. +- Corrected a spacing bug when no blank line (or \par) is left after \maketitle. + Thanks to A. Menzel for reporting the strange behaviour. +- Corrected the alignment of the \extrainfo title part when no picture was used, + as reported by M. Bana. +- Corrected the misplacement of PDF bookmarks as noticed by L. Fortunato. +- Corrected several bugs linked to the code for checking for empty arguments in + \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and + E. Gregorio. + +version 0.7.0 (17 June 2008) +- Corrected an outstanding spacing bug where the space between cvlines was + longer than 1 line. +- Removed the need to use \closesection and \emptysection as internal tabulars + are now always closed. This allows the use of bibliography packages such as + bibunits. Thanks to S. Busch for pointing out the incompatibility and helping + test out the bug correction. +- Changed the definition of \photo: the first (optional) argument should give + the desired width of the picture, instead of its height +- Corrected an alignment bug for \cvlistitems longer than 1 line, as reported by + S. Nikolopoulos. +- Deprecated the commands \sethintscolumnlength and \sethintscolumntowidth. + Instead, just set \hintscolumnwidth to the desired length by using the regular + \setlength or \settowidth commands, and call \recomputelengths. +- Added the ability to control the width of the name placeholder in the classic + theme, by setting the length \maketitlenamewidth. Again, don't forget to call + \recomputelengths afterward. + +version 0.6.0 (28 May 2007) +- Corrected some spacing bugs and cleaned up the code. +- Corrected a bug in the bibliography file of the examples spotted by U. Stöhr. +- Added color variants to the classic and casual styles, as suggested by + U. Stöhr. +- Added a page counter for resumes running longer than 1 page, as requested by + A. Martin. It can be disabled by the command \nopagenumbers{}. +- Added commands to include a mobile phone and fax number. +- Made the symbols used for the phone number, the email etc. customizable. To + modify those symbols, just redefine \phonesymbol, \emailsymbol etc. +- Corrected the PDF information given to hyperref as pointed out by C. Knuepfer. +- Rewrote the examples. + +version 0.5.0 (9 September 2006) +- Added a \photo command to display a picture. This command takes the name of + the file with the picture as a required argument and the desired height as an + optional argument. +- Implemented the needed commands to make moderncv compatible with BibTeX, as suggested by J. Lie. This makes it possible to display one's publications, - stored in the BibTeX file 'publications.bib' - by using: + stored in the BibTeX file "publications.bib" by using: \nocite{*} \bibliographystyle{plain} \bibliography{publications} - As usual, the name of the section title can be changed by redefining the - command \refname. - - added the \today command, useful for example if one need to add the date the - resumé was produced with + As usual, the name of the section title can be changed by redefining \refname. +- Added the \today command, useful for example if one needs to add the date the + resume was produced with: \closesection{} \vfill{\hfill{\scriptsize Produced \today.}} at the end of your CV, as suggested by F. Hammann. -version 0.4 (2 May 2006) - - removed the dependency on the geometry package, so that users can now invoke - it themselve, and easily change the geometry of the page. +version 0.4.0 (2 May 2006) +- Removed the dependency on the geometry package so that users can now invoke it + themselves and easily change the geometry of the page. -version 0.3 (10 April 2006) - - moderncv now uses the 'longtable' class, allowing cv sections to split - across multiple pages. - - the different lengths used by moderncv are now customizable! In particular, - the first column (the one containing the date in the examples), can now be set +version 0.3.0 (10 April 2006) +- Moderncv now uses the longtable class, allowing CV sections to split across + multiple pages. +- The different lengths used by moderncv are now customizable! In particular, + the first column (the one containing the date in the examples) can now be set to any width, for people needing a smaller or larger one. To do that, either use \sethintscolumnlength{}, @@ -34,33 +426,32 @@ version 0.3 (10 April 2006) where is a string of the desired length (usually, the longest string that has to appear in the column). Thanks to A. Pöge for pointing out the need of such a feature. - - added the command \emptysection{}, which makes it possible to start a - section without name. In combination with \closesection{}, this makes it - possible to drop out of the layout of moderncv, and come back to it later. - This should make the inclusion of arbitrary elements not covered by moderncv - code possible. - - corrected a spacing problem in the cventry command, as pointed out and - solved by B. Eßmann. +- Added the command \emptysection{}, which makes it possible to start an unnamed + section. In combination with \closesection{}, this makes it possible to drop + out of the layout of moderncv, and come back to it later. This should make the + inclusion of arbitrary elements not covered by moderncv code possible. +- Corrected a spacing problem in the \cventry command, as pointed out and solved + by B. Eßmann. -version 0.2 (6 March 2006) - - rewrite of the code to have the styles (fonts, colours, headers and footers) +version 0.2.0 (6 March 2006) +- Rewrite of the code to have the styles (fonts, colours, headers and footers) be defined in different files than the class. The styles are now defined in a separate file per style, named moderncvstyle. It should now be easy to write your own style, starting from moderncvstyleempty.sty. If you feel you have created a nice style, just email it to me and I'll include it in the next version. - - due to the previous point, styles are now loaded by the command +- Due to the previous point, styles are now loaded by the command \moderncvstyle{style_name}. I couldn't figure out a way to preserve the old "casual" and "classic" class options, so these are now broken! Use \moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your - document. This should be the only incompatibility with version 0.1. - - added class option "nolmodern" for people without the latin modern fonts. - - corrected some English mistakes in the examples. Thanks to M. H. Prager for + document. This should be the only incompatibility with v0.1. +- Added class option "nolmodern" for people without the Latin Modern fonts. +- Corrected some English mistakes in the examples. Thanks to M. H. Prager for pointing them out. - - added a \cvlistitem to produce items with a bullet (or whatever is defined - in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for - consistency purpose. For compatibility reasons, the command \cvresume still - works, but should be avoided. +- Added a \cvlistitem to produce items with a bullet (or whatever is defined in + \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for consistency + purposes. For compatibility reasons, the command \cvresume still works, but + should be avoided. -version 0.1 (1 March 2006) - - first release. +version 0.1.0 (1 March 2006) +- First release. diff --git a/KNOWN_BUGS b/KNOWN_BUGS index b78d7a6..25ef872 100644 --- a/KNOWN_BUGS +++ b/KNOWN_BUGS @@ -1,5 +1,12 @@ -- Inside the last argument of \cventry, used to display some complementary -information of an entry, the command "\\" doesn't seem to work, while "\newline" -works perfectly. I have no idea why... -- The \cvsection command seems to be unable to handle a Chinese argument, using -CJK. +- moderncv is incompatible with biber. +- moderncv is incompatible with BibLaTeX. +- moderncv is incompatible with babel in Spanish. + +- Skill matrices don't break automatically in fancy style. +- Long names break the oldstyle style and possibly other styles (needs testing). +- Long URLs in classic style can make the name break line. Fixed width for the address part must be implemented. +- When using the fancy style, undesired space is added between the bibliography head and the first entry, as well as after the last entry. +- Footnotes generate errors, but the output seems correct when running with "-interaction=nonstopmode" +- When using CJK, the last \clearpage required for the fancyhdr package to work properly kills the "lastpage" counter, and therefore also the page numbering. +- moderncv produces an error "lonely \item--perhaps a missing list environment" when used with the bibentry package, though the output is actually correct. Among other things, this causes compilation by LyX to stop. +- The space after a \cventry gets eaten up when the last argument contains a nested itemize environment. An ugly hack and incomplete solution was implemented by including a \strut in every item label, but this doesn't solve the problem for multi-line items. Ideally, the \strut should end the item, but there seems to be no way to do this. diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..f8b699e --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,415 @@ +The LaTeX Project Public License +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- + +LPPL Version 1.3c 2008-05-04 + +Copyright 1999 2002-2008 LaTeX3 Project + Everyone is allowed to distribute verbatim copies of this + license document, but modification of it is not allowed. + + +PREAMBLE +======== + +The LaTeX Project Public License (LPPL) is the primary license under +which the LaTeX kernel and the base LaTeX packages are distributed. + +You may use this license for any work of which you hold the copyright +and which you wish to distribute. This license may be particularly +suitable if your work is TeX-related (such as a LaTeX package), but +it is written in such a way that you can use it even if your work is +unrelated to TeX. + +The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE', +below, gives instructions, examples, and recommendations for authors +who are considering distributing their works under this license. + +This license gives conditions under which a work may be distributed +and modified, as well as conditions under which modified versions of +that work may be distributed. + +We, the LaTeX3 Project, believe that the conditions below give you +the freedom to make and distribute modified versions of your work +that conform with whatever technical specifications you wish while +maintaining the availability, integrity, and reliability of +that work. If you do not see how to achieve your goal while +meeting these conditions, then read the document `cfgguide.tex' +and `modguide.tex' in the base LaTeX distribution for suggestions. + + +DEFINITIONS +=========== + +In this license document the following terms are used: + + `Work' + Any work being distributed under this License. + + `Derived Work' + Any work that under any applicable law is derived from the Work. + + `Modification' + Any procedure that produces a Derived Work under any applicable + law -- for example, the production of a file containing an + original file associated with the Work or a significant portion of + such a file, either verbatim or with modifications and/or + translated into another language. + + `Modify' + To apply any procedure that produces a Derived Work under any + applicable law. + + `Distribution' + Making copies of the Work available from one person to another, in + whole or in part. Distribution includes (but is not limited to) + making any electronic components of the Work accessible by + file transfer protocols such as FTP or HTTP or by shared file + systems such as Sun's Network File System (NFS). + + `Compiled Work' + A version of the Work that has been processed into a form where it + is directly usable on a computer system. This processing may + include using installation facilities provided by the Work, + transformations of the Work, copying of components of the Work, or + other activities. Note that modification of any installation + facilities provided by the Work constitutes modification of the Work. + + `Current Maintainer' + A person or persons nominated as such within the Work. If there is + no such explicit nomination then it is the `Copyright Holder' under + any applicable law. + + `Base Interpreter' + A program or process that is normally needed for running or + interpreting a part or the whole of the Work. + + A Base Interpreter may depend on external components but these + are not considered part of the Base Interpreter provided that each + external component clearly identifies itself whenever it is used + interactively. Unless explicitly specified when applying the + license to the Work, the only applicable Base Interpreter is a + `LaTeX-Format' or in the case of files belonging to the + `LaTeX-format' a program implementing the `TeX language'. + + + +CONDITIONS ON DISTRIBUTION AND MODIFICATION +=========================================== + +1. Activities other than distribution and/or modification of the Work +are not covered by this license; they are outside its scope. In +particular, the act of running the Work is not restricted and no +requirements are made concerning any offers of support for the Work. + +2. You may distribute a complete, unmodified copy of the Work as you +received it. Distribution of only part of the Work is considered +modification of the Work, and no right to distribute such a Derived +Work may be assumed under the terms of this clause. + +3. You may distribute a Compiled Work that has been generated from a +complete, unmodified copy of the Work as distributed under Clause 2 +above, as long as that Compiled Work is distributed in such a way that +the recipients may install the Compiled Work on their system exactly +as it would have been installed if they generated a Compiled Work +directly from the Work. + +4. If you are the Current Maintainer of the Work, you may, without +restriction, modify the Work, thus creating a Derived Work. You may +also distribute the Derived Work without restriction, including +Compiled Works generated from the Derived Work. Derived Works +distributed in this manner by the Current Maintainer are considered to +be updated versions of the Work. + +5. If you are not the Current Maintainer of the Work, you may modify +your copy of the Work, thus creating a Derived Work based on the Work, +and compile this Derived Work, thus creating a Compiled Work based on +the Derived Work. + +6. If you are not the Current Maintainer of the Work, you may +distribute a Derived Work provided the following conditions are met +for every component of the Work unless that component clearly states +in the copyright notice that it is exempt from that condition. Only +the Current Maintainer is allowed to add such statements of exemption +to a component of the Work. + + a. If a component of this Derived Work can be a direct replacement + for a component of the Work when that component is used with the + Base Interpreter, then, wherever this component of the Work + identifies itself to the user when used interactively with that + Base Interpreter, the replacement component of this Derived Work + clearly and unambiguously identifies itself as a modified version + of this component to the user when used interactively with that + Base Interpreter. + + b. Every component of the Derived Work contains prominent notices + detailing the nature of the changes to that component, or a + prominent reference to another file that is distributed as part + of the Derived Work and that contains a complete and accurate log + of the changes. + + c. No information in the Derived Work implies that any persons, + including (but not limited to) the authors of the original version + of the Work, provide any support, including (but not limited to) + the reporting and handling of errors, to recipients of the + Derived Work unless those persons have stated explicitly that + they do provide such support for the Derived Work. + + d. You distribute at least one of the following with the Derived Work: + + 1. A complete, unmodified copy of the Work; + if your distribution of a modified component is made by + offering access to copy the modified component from a + designated place, then offering equivalent access to copy + the Work from the same or some similar place meets this + condition, even though third parties are not compelled to + copy the Work along with the modified component; + + 2. Information that is sufficient to obtain a complete, + unmodified copy of the Work. + +7. If you are not the Current Maintainer of the Work, you may +distribute a Compiled Work generated from a Derived Work, as long as +the Derived Work is distributed to all recipients of the Compiled +Work, and as long as the conditions of Clause 6, above, are met with +regard to the Derived Work. + +8. The conditions above are not intended to prohibit, and hence do not +apply to, the modification, by any method, of any component so that it +becomes identical to an updated version of that component of the Work as +it is distributed by the Current Maintainer under Clause 4, above. + +9. Distribution of the Work or any Derived Work in an alternative +format, where the Work or that Derived Work (in whole or in part) is +then produced by applying some process to that format, does not relax or +nullify any sections of this license as they pertain to the results of +applying that process. + +10. a. A Derived Work may be distributed under a different license + provided that license itself honors the conditions listed in + Clause 6 above, in regard to the Work, though it does not have + to honor the rest of the conditions in this license. + + b. If a Derived Work is distributed under a different license, that + Derived Work must provide sufficient documentation as part of + itself to allow each recipient of that Derived Work to honor the + restrictions in Clause 6 above, concerning changes from the Work. + +11. This license places no restrictions on works that are unrelated to +the Work, nor does this license place any restrictions on aggregating +such works with the Work by any means. + +12. Nothing in this license is intended to, or may be used to, prevent +complete compliance by all parties with all applicable laws. + + +NO WARRANTY +=========== + +There is no warranty for the Work. Except when otherwise stated in +writing, the Copyright Holder provides the Work `as is', without +warranty of any kind, either expressed or implied, including, but not +limited to, the implied warranties of merchantability and fitness for a +particular purpose. The entire risk as to the quality and performance +of the Work is with you. Should the Work prove defective, you assume +the cost of all necessary servicing, repair, or correction. + +In no event unless required by applicable law or agreed to in writing +will The Copyright Holder, or any author named in the components of the +Work, or any other party who may distribute and/or modify the Work as +permitted above, be liable to you for damages, including any general, +special, incidental or consequential damages arising out of any use of +the Work or out of inability to use the Work (including, but not limited +to, loss of data, data being rendered inaccurate, or losses sustained by +anyone as a result of any failure of the Work to operate with any other +programs), even if the Copyright Holder or said author or said other +party has been advised of the possibility of such damages. + + +MAINTENANCE OF THE WORK +======================= + +The Work has the status `author-maintained' if the Copyright Holder +explicitly and prominently states near the primary copyright notice in +the Work that the Work can only be maintained by the Copyright Holder +or simply that it is `author-maintained'. + +The Work has the status `maintained' if there is a Current Maintainer +who has indicated in the Work that they are willing to receive error +reports for the Work (for example, by supplying a valid e-mail +address). It is not required for the Current Maintainer to acknowledge +or act upon these error reports. + +The Work changes from status `maintained' to `unmaintained' if there +is no Current Maintainer, or the person stated to be Current +Maintainer of the work cannot be reached through the indicated means +of communication for a period of six months, and there are no other +significant signs of active maintenance. + +You can become the Current Maintainer of the Work by agreement with +any existing Current Maintainer to take over this role. + +If the Work is unmaintained, you can become the Current Maintainer of +the Work through the following steps: + + 1. Make a reasonable attempt to trace the Current Maintainer (and + the Copyright Holder, if the two differ) through the means of + an Internet or similar search. + + 2. If this search is successful, then enquire whether the Work + is still maintained. + + a. If it is being maintained, then ask the Current Maintainer + to update their communication data within one month. + + b. If the search is unsuccessful or no action to resume active + maintenance is taken by the Current Maintainer, then announce + within the pertinent community your intention to take over + maintenance. (If the Work is a LaTeX work, this could be + done, for example, by posting to comp.text.tex.) + + 3a. If the Current Maintainer is reachable and agrees to pass + maintenance of the Work to you, then this takes effect + immediately upon announcement. + + b. If the Current Maintainer is not reachable and the Copyright + Holder agrees that maintenance of the Work be passed to you, + then this takes effect immediately upon announcement. + + 4. If you make an `intention announcement' as described in 2b. above + and after three months your intention is challenged neither by + the Current Maintainer nor by the Copyright Holder nor by other + people, then you may arrange for the Work to be changed so as + to name you as the (new) Current Maintainer. + + 5. If the previously unreachable Current Maintainer becomes + reachable once more within three months of a change completed + under the terms of 3b) or 4), then that Current Maintainer must + become or remain the Current Maintainer upon request provided + they then update their communication data within one month. + +A change in the Current Maintainer does not, of itself, alter the fact +that the Work is distributed under the LPPL license. + +If you become the Current Maintainer of the Work, you should +immediately provide, within the Work, a prominent and unambiguous +statement of your status as Current Maintainer. You should also +announce your new status to the same pertinent community as +in 2b) above. + + +WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE +====================================================== + +This section contains important instructions, examples, and +recommendations for authors who are considering distributing their +works under this license. These authors are addressed as `you' in +this section. + +Choosing This License or Another License +---------------------------------------- + +If for any part of your work you want or need to use *distribution* +conditions that differ significantly from those in this license, then +do not refer to this license anywhere in your work but, instead, +distribute your work under a different license. You may use the text +of this license as a model for your own license, but your license +should not refer to the LPPL or otherwise give the impression that +your work is distributed under the LPPL. + +The document `modguide.tex' in the base LaTeX distribution explains +the motivation behind the conditions of this license. It explains, +for example, why distributing LaTeX under the GNU General Public +License (GPL) was considered inappropriate. Even if your work is +unrelated to LaTeX, the discussion in `modguide.tex' may still be +relevant, and authors intending to distribute their works under any +license are encouraged to read it. + +A Recommendation on Modification Without Distribution +----------------------------------------------------- + +It is wise never to modify a component of the Work, even for your own +personal use, without also meeting the above conditions for +distributing the modified component. While you might intend that such +modifications will never be distributed, often this will happen by +accident -- you may forget that you have modified that component; or +it may not occur to you when allowing others to access the modified +version that you are thus distributing it and violating the conditions +of this license in ways that could have legal implications and, worse, +cause problems for the community. It is therefore usually in your +best interest to keep your copy of the Work identical with the public +one. Many works provide ways to control the behavior of that work +without altering any of its licensed components. + +How to Use This License +----------------------- + +To use this license, place in each of the components of your work both +an explicit copyright notice including your name and the year the work +was authored and/or last substantially modified. Include also a +statement that the distribution and/or modification of that +component is constrained by the conditions in this license. + +Here is an example of such a notice and statement: + + %% pig.dtx + %% Copyright 2005 M. Y. Name + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3 + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % The Current Maintainer of this work is M. Y. Name. + % + % This work consists of the files pig.dtx and pig.ins + % and the derived file pig.sty. + +Given such a notice and statement in a file, the conditions +given in this license document would apply, with the `Work' referring +to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being +generated from `pig.dtx' using `pig.ins'), the `Base Interpreter' +referring to any `LaTeX-Format', and both `Copyright Holder' and +`Current Maintainer' referring to the person `M. Y. Name'. + +If you do not want the Maintenance section of LPPL to apply to your +Work, change `maintained' above into `author-maintained'. +However, we recommend that you use `maintained', as the Maintenance +section was added in order to ensure that your Work remains useful to +the community even when you can no longer maintain and support it +yourself. + +Derived Works That Are Not Replacements +--------------------------------------- + +Several clauses of the LPPL specify means to provide reliability and +stability for the user community. They therefore concern themselves +with the case that a Derived Work is intended to be used as a +(compatible or incompatible) replacement of the original Work. If +this is not the case (e.g., if a few lines of code are reused for a +completely different task), then clauses 6b and 6d shall not apply. + + +Important Recommendations +------------------------- + + Defining What Constitutes the Work + + The LPPL requires that distributions of the Work contain all the + files of the Work. It is therefore important that you provide a + way for the licensee to determine which files constitute the Work. + This could, for example, be achieved by explicitly listing all the + files of the Work near the copyright notice of each file or by + using a line such as: + + % This work consists of all files listed in manifest.txt. + + in that place. In the absence of an unequivocal list it might be + impossible for the licensee to determine what is considered by you + to comprise the Work and, in such a case, the licensee would be + entitled to make reasonable conjectures as to which files comprise + the Work. diff --git a/README b/README deleted file mode 100644 index ea86341..0000000 --- a/README +++ /dev/null @@ -1,29 +0,0 @@ -moderncv -- a modern curriculum vitae class - -Moderncv provides a documentclass for typesetting modern curriculum vitaes in -various styles. It is fairly customizable, allowing you to define your own style -by changing the colors, the fonts, ... and provides two default styles: classic -and casual. - -The moderncv documentclass need it's input to be formatted with regular -commands like: - \section, - \subsection, - \maketitle, -but also defines its own special commands: - \cventry, - \makequote, - \firstname, - \familyname, - ... -All the commands are defined in such a way that the arguments are always -optional. - -Documents can be compiled into dvi, ps or pdf. - -Until a decent manual is written, you can always look in the "examples" -directory for some examples. - - -Author: Xavier Danaux -Date: 09 September 2006 diff --git a/README.md b/README.md new file mode 100644 index 0000000..19ff062 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# moderncv + +[![Build template](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml/badge.svg)](https://github.com/moderncv/moderncv/actions/workflows/build-pdf.yml) +[![CTAN](https://img.shields.io/ctan/v/moderncv.svg)](https://www.ctan.org/pkg/moderncv) +[![Matrix](https://img.shields.io/matrix/moderncv:matrix.org)](https://matrix.to/#/#moderncv:matrix.org) + +## A modern curriculum vitae class for LaTeX + +The `moderncv` package provides a document class for typesetting applications (curricula vitae and cover letters) in various styles. `moderncv` aims to be both straightforward to use and customizable, providing five ready-made styles (classic, casual, banking, oldstyle and fancy) and allowing you to define your own by modifying colors, fonts, icons, etc. + +## Getting started + +### Installation +`moderncv` should already be included in your installed LaTeX distribution. +If not, you can get the tarball of the package from [CTAN](https://www.ctan.org/pkg/moderncv). +Alternatively, you can also build the package from source by cloning the its [GitHub repository](https://github.com/moderncv/moderncv) and compiling the included LaTeX files: +``` +latexmk -pdf ./template.tex manual/moderncv_userguide.tex +``` + +### Usage +To get started on your own CV, use and modify the template file `template.tex`. +The user guide can be found in the folder `manual` and contains additional information on what the document class offers. +Take a look at it to see if this package suits your needs. + +If you are using the [`academicons`](https://ctan.org/tex-archive/fonts/academicons) package in the template, you will need to use a Xe(La)TeX or Lua(La)TeX engine to render the icons. Otherwise, an alternative icon package will be used automatically. + +## Development + +As the main goal is to keep this package alive, it is maintained in a loosely structured team. +You can contact us in our matrix room [moderncv:matrix.org](https://matrix.to/#/#moderncv:matrix.org), feel free to join if you have questions or want to contribute. +Development takes place at [github.com/moderncv/moderncv](https://github.com/moderncv/moderncv). + +## Licence + +`moderncv` is licensed under the [LPPL-1.3c](https://spdx.org/licenses/LPPL-1.3c.html). + +## Origin + +Original author: Xavier Danaux +
+Original repository: https://github.com/xdanaux/moderncv + +This repository is a fork aiming to maintain `moderncv` inside CTAN, since upstream has been dead since 2016. diff --git a/create-release-tarball.sh b/create-release-tarball.sh new file mode 100755 index 0000000..1550249 --- /dev/null +++ b/create-release-tarball.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# script to create a tarball for the files that should be in the CTAN upload +# +# do not forget to replace comments/headers beforehand +# 1. date and version in moderncv_userguide.tex +# 2. find . -type f -exec sed -i 's/$OLD_DATE $OLD_VERSION/$NEW_DATE $NEW_VERSION/g' {} \; +# 3. find . -type f -exec sed -i 's|-$OLD_YEAR moderncv maintainers (github.com/moderncv)|-$NEW_YEAR moderncv maintainers (github.com/moderncv)|g' {} \; + +# fetch version via git +VERSION=$(git describe --tags --dirty) +TARBALL=moderncv-$VERSION.tar + +# remove existing tarballs +rm -f $TARBALL $TARBALL.gz + +# create tar with all files in git repo +git archive --prefix=moderncv/ HEAD > $TARBALL + +# remove git specific files +tar -f $TARBALL --delete moderncv/.github/ moderncv/.gitignore moderncv/create-release-tarball.sh moderncv/.codespellrc + +# compress +gzip $TARBALL diff --git a/examples/jdoe_casual.pdf b/examples/jdoe_casual.pdf deleted file mode 100644 index 89c83ca..0000000 Binary files a/examples/jdoe_casual.pdf and /dev/null differ diff --git a/examples/jdoe_casual.tex b/examples/jdoe_casual.tex deleted file mode 100644 index 397b324..0000000 --- a/examples/jdoe_casual.tex +++ /dev/null @@ -1,112 +0,0 @@ -%% start of file `jdoe_casual.tex'. -%% Copyright 2006 Xavier Danaux. -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -\documentclass[11pt]{moderncv} - -% moderncv styles -\moderncvstyle{casual} % optional argument are 'nocolor' (black & white cv) and 'roman' (for roman fonts, instead of sans serif fonts) -%\moderncvstyle{classic} % idem - -% character encoding -\usepackage[utf8]{inputenc} % replace by the encoding you are using - -% personal data (the given example is exhaustive; just give what you want) -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -%\address{12 somestreet\\3456 somecity} % for classic style -\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -\extrainfo{\weblink{www.ctan.org}} -\photo[64pt]{jdoe_picture} % also optional, and the optional argument is the height the picture must be resized to -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.}% also optional - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} % define another symbol to be used in front of the list items - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - -% command and color used in this document, independently from moderncv -\definecolor{see}{rgb}{0.5,0.5,0.5}% for web links -\newcommand{\up}[1]{\ensuremath{^\textsf{\scriptsize#1}}}% for text subscripts - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} -\closesection{} -\pagebreak{} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -\section{Section with a list} -\cvlistitem{Single item.} -\cvlistitem{Another single item.} -\cvlistdoubleitem{Double\dots{}}{\dots{} item.} -\cvlistdoubleitem{Another double\dots{}}{\dots{} item.} - -\section{Section with your own content}\closesection -Your content here, inside the normal \LaTeX{} environment. You can use any regular \LaTeX{} command, display mathematics -\[e =m\,c^2,\] -put some table or figure, \dots - -\emptysection{} -\cvitem{Now}{Back to moderncv layout, without making a new section :-)} - -\nocite{*} -\bibliographystyle{plain} -\bibliography{jdoe_publications} - -\end{document} - - -%% end of file `jdoe_casual.tex'. diff --git a/examples/jdoe_classic.pdf b/examples/jdoe_classic.pdf deleted file mode 100644 index 2b5640c..0000000 Binary files a/examples/jdoe_classic.pdf and /dev/null differ diff --git a/examples/jdoe_classic.tex b/examples/jdoe_classic.tex deleted file mode 100644 index 48edefe..0000000 --- a/examples/jdoe_classic.tex +++ /dev/null @@ -1,112 +0,0 @@ -%% start of file `jdoe_classic.tex'. -%% Copyright 2006 Xavier Danaux. -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -\documentclass[10pt]{moderncv} - -% moderncv styles -%\moderncvstyle{casual} % optional argument are 'nocolor' (black & white cv) and 'roman' (for roman fonts, instead of sans serif fonts) -\moderncvstyle{classic} % idem - -% character encoding -\usepackage[utf8]{inputenc} % replace by the encoding you are using - -% personal data (the given example is exhaustive; just give what you want) -\firstname{John} -\familyname{Doe} -\title{Design enthusiast\dots} -\address{12 somestreet\\3456 somecity} % for classic style -%\address{12 somestreet, 3456 somecity} % for casual style -\phone{+12 (3)456 78 90} -\email{jdoe@design.org} -\extrainfo{\weblink{www.ctan.org}} -\photo[64pt]{jdoe_picture} % also optional, and the optional argument is the height the picture must be resized to -\quote{Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction.}% also optional - -%\renewcommand{\listsymbol}{{\fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}}} % define another symbol to be used in front of the list items - -% the ConTeXt symbol -\def\ConTeXt{% - C% - \kern-.0333emo% - \kern-.0333emn% - \kern-.0667em\TeX% - \kern-.0333emt} - -% slanted small caps (only with roman family; the sans serif font doesn't exists :-() -%\usepackage{slantsc} -%\DeclareFontFamily{T1}{myfont}{} -%\DeclareFontShape{T1}{myfont}{m}{scsl}{ <-> cork-lmssqbo8}{} -%\usefont{T1}{myfont}{m}{scsl}Testing the font - -% command and color used in this document, independently from moderncv -\definecolor{see}{rgb}{0.5,0.5,0.5}% for web links -\newcommand{\up}[1]{\ensuremath{^\textrm{\scriptsize#1}}}% for text subscripts - -%---------------------------------------------------------------------------------- -% content -%---------------------------------------------------------------------------------- -\begin{document} -\maketitle -%\makequote - -\section{Education} -\cventry{2003--2006}{Master of Design}{Valparezzo School of Design}{}{}{1\up{st} year: 79\%\hspace{2em}2\up{nd} year: 84\%\hspace{2em}3\up{rd} year: ---\hspace{2em}(graduation expected in June 2006)} -\cventry{2001--2003}{Bachelor of Design}{Beijing Drawing University}{}{}{1\up{st} year: 63\%\hspace{2em}2\up{nd} year: 76\%} - -\section{Master thesis} -\cvitem{title}{\emph{On the design of modern curriculum vit\ae{}s}} -\cvitem{supervisors}{Pr P. Picasso and Pr G. Klimt} -\cvitem{description}{\small Study of the complex design of a curriculum vit\ae{}, also known as ``résumé''. In my opinion, a good design needs to be show the personality of its author. Some people will thus prefer a more classic style, and others will be more audacious\dots} - -\section{Experience} -\cventry{February 2006--\\current}{Maintainer of the a CTAN package}{CTAN}{World}{}{Maintainer of the {\ttfamily moderncv} package, meant to ease the production of beautiful curriculum vit\ae{}s.} -\cventry{2005--2006}{Mathematics tutor}{UCL}{Louvain-la-Neuve}{}{Supervision of practical sessions for a mathematical course given to second year engineering students (course \emph{FSAB1104: Numerical Methods}).\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.legat-online.be/b2q1/num}.}} -\cventry{2004--2006}{Cultural project leader}{Tchouque-Tschouk Kot}{Louvain-la-Neuve}{}{Leader of a student home with a cultural project, requiring day to day management as well as the organization of public events.\hfill{\itshape\color{see}\footnotesize{}See \httplink{www.organe.be}.}} -\cventry{1999--2001}{IMO preselected}{SBPMef}{Wépion}{}{Advanced mathematical training, as Belgian preselected candidate for the International Mathematical Olympiads, selected by the Belgian mathematical society.\hfill{\itshape\color{see}\footnotesize{}See \weblink{imo.math.ca/belgium.html}.}} - -\section{Languages} -\cvlanguage{French}{Native}{} -\cvlanguage{Dutch}{Near-native}{Primary education degree obtained in a Dutch college\\(Sint-Jozefscollege te Sint-Pieters-Woluwe).} -\cvlanguage{English}{Very good}{Many journeys in English speaking countries, including the United States,\\the United Kingdom and Kenya.} -\cvlanguage{Mandarin}{Elementary}{Taking classes at the ``Institut des Langues Vivantes'' (UCL), for the second year now.} -\closesection{} -\pagebreak{} - -\section{Computer skills} -\cvcomputer{OS}{Linux, Unix, Windows}{administration}{Apache, Mailman} -\cvcomputer{programming}{\textsc{Java}, C/C++}{scripting}{PHP, Shell, Ruby} -\cvcomputer{scientific}{Matlab, Autocad, Abaqus}{typography}{\LaTeX, \ConTeXt, Scribus, QuarkXPress} -\cvcomputer{web design}{XHTML, CSS, AJAX}{database}{MySQL, PostgreSQL} - -\section{Interests} -\cvitem{design}{\small I am a design fan, especially when it comes to typography and photography.} -\cvitem{adventure sports}{\small I like practicing adventure sports like skiing, rock climbing and scuba diving, and have been a boy scout for five years.} -\cvitem{travelling}{\small I have been living abroad during my childhood, and love travelling around the world.} - -\section{Section with a list} -\cvlistitem{Single item.} -\cvlistitem{Another single item.} -\cvlistdoubleitem{Double\dots{}}{\dots{} item.} -\cvlistdoubleitem{Another double\dots{}}{\dots{} item.} - -\section{Section with your own content}\closesection -Your content here, inside the normal \LaTeX{} environment. You can use any regular \LaTeX{} command, display mathematics -\[e =m\,c^2,\] -put some table or figure, \dots - -\emptysection{} -\cvitem{Now}{Back to moderncv layout, without making a new section :-)} - -\nocite{*} -\bibliographystyle{plain} -\bibliography{jdoe_publications} - -\end{document} - - -%% end of file `jdoe_classic.tex'. diff --git a/examples/jdoe_picture.eps b/examples/jdoe_picture.eps deleted file mode 100644 index 67696dd..0000000 --- a/examples/jdoe_picture.eps +++ /dev/null @@ -1,1047 +0,0 @@ -%!PS-Adobe-3.0 EPSF-3.0 -%%Creator: (ImageMagick) -%%Title: (jdoe_picture.eps) -%%CreationDate: (Sat Sep 9 12:44:46 2006) -%%BoundingBox: 0 0 96 96 -%%HiResBoundingBox: 0 0 96 96 -%%DocumentData: Clean7Bit -%%LanguageLevel: 1 -%%Pages: 1 -%%EndComments - -%%BeginDefaults -%%EndDefaults - -%%BeginProlog -% -% Display a color image. The image is displayed in color on -% Postscript viewers or printers that support color, otherwise -% it is displayed as grayscale. -% -/DirectClassPacket -{ - % - % Get a DirectClass packet. - % - % Parameters: - % red. - % green. - % blue. - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/DirectClassImage -{ - % - % Display a DirectClass image. - % - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { DirectClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayDirectClassPacket } image - } ifelse -} bind def - -/GrayDirectClassPacket -{ - % - % Get a DirectClass packet; convert to grayscale. - % - % Parameters: - % red - % green - % blue - % length: number of pixels minus one of this color (optional). - % - currentfile color_packet readhexstring pop pop - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/GrayPseudoClassPacket -{ - % - % Get a PseudoClass packet; convert to grayscale. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - color_packet 0 get 0.299 mul - color_packet 1 get 0.587 mul add - color_packet 2 get 0.114 mul add - cvi - /gray_packet exch def - compression 0 eq - { - /number_pixels 1 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add def - } ifelse - 0 1 number_pixels 1 sub - { - pixels exch gray_packet put - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassPacket -{ - % - % Get a PseudoClass packet. - % - % Parameters: - % index: index into the colormap. - % length: number of pixels minus one of this color (optional). - % - currentfile byte readhexstring pop 0 get - /offset exch 3 mul def - /color_packet colormap offset 3 getinterval def - compression 0 eq - { - /number_pixels 3 def - } - { - currentfile byte readhexstring pop 0 get - /number_pixels exch 1 add 3 mul def - } ifelse - 0 3 number_pixels 1 sub - { - pixels exch color_packet putinterval - } for - pixels 0 number_pixels getinterval -} bind def - -/PseudoClassImage -{ - % - % Display a PseudoClass image. - % - % Parameters: - % class: 0-PseudoClass or 1-Grayscale. - % - currentfile buffer readline pop - token pop /class exch def pop - class 0 gt - { - currentfile buffer readline pop - token pop /depth exch def pop - /grays columns 8 add depth sub depth mul 8 idiv string def - columns rows depth - [ - columns 0 0 - rows neg 0 rows - ] - { currentfile grays readhexstring pop } image - } - { - % - % Parameters: - % colors: number of colors in the colormap. - % colormap: red, green, blue color packets. - % - currentfile buffer readline pop - token pop /colors exch def pop - /colors colors 3 mul def - /colormap colors string def - currentfile colormap readhexstring pop pop - systemdict /colorimage known - { - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { PseudoClassPacket } false 3 colorimage - } - { - % - % No colorimage operator; convert to grayscale. - % - columns rows 8 - [ - columns 0 0 - rows neg 0 rows - ] - { GrayPseudoClassPacket } image - } ifelse - } ifelse -} bind def - -/DisplayImage -{ - % - % Display a DirectClass or PseudoClass image. - % - % Parameters: - % x & y translation. - % x & y scale. - % label pointsize. - % image label. - % image columns & rows. - % class: 0-DirectClass or 1-PseudoClass. - % compression: 0-none or 1-RunlengthEncoded. - % hex color packets. - % - gsave - /buffer 512 string def - /byte 1 string def - /color_packet 3 string def - /pixels 768 string def - - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - x y translate - currentfile buffer readline pop - token pop /x exch def - token pop /y exch def pop - currentfile buffer readline pop - token pop /pointsize exch def pop - /Times-Roman findfont pointsize scalefont setfont - x y scale - currentfile buffer readline pop - token pop /columns exch def - token pop /rows exch def pop - currentfile buffer readline pop - token pop /class exch def pop - currentfile buffer readline pop - token pop /compression exch def pop - class 0 gt { PseudoClassImage } { DirectClassImage } ifelse - grestore -} bind def -%%EndProlog -%%Page: 1 1 -%%PageBoundingBox: 0 0 96 96 -userdict begin -DisplayImage -0 0 -96 96 -12.000000 -96 96 -0 -0 -BDC1C2D1D5D6CDD1D4C7CBCECCCFD4CCCFD4CBCED3C9CCD1CACFD3CACFD3CACFD3C9CED2 -C9CED2C8CDD1C8CDD1C7CCD0CDD0D9CDD0D9CDD0D9CCCFD8CCCFD8CBCED7CBCED7CBCED7 -CBD0D3CBD0D3CACFD2CACFD2C9CED1C8CDD0C8CDD0C7CCCFCBD0D6CBD0D6CACFD5C9CED4 -C8CDD3C8CDD3C7CCD2C7CCD2C9D0D8C9D0D8C9D0D8C8CFD7C7CED6C6CDD5C6CDD5C5CCD4 -C7CFDAC6CED9C6CED9C5CDD8C4CCD7C4CCD7C3CBD6C3CBD6C5CBD7C5CBD7C4CAD6C4CAD6 -C3C9D5C2C8D4C2C8D4C1C7D3C8CCD5C8CCD5C7CBD4C6CAD3C5C9D2C5C9D2C4C8D1C4C8D1 -C9CED4C9CED4C8CDD3C7CCD2C7CCD2C6CBD1C5CAD0C5CAD0C7D0D5C6CFD4C6CFD4C5CED3 -C4CDD2C3CCD1C3CCD1C2CBD0C6CAD6C5CCD4C3CED2BDCAD3C2CBDCC1C7D5C2C6C5D6DACB -D2D6D7E9EDEEE8ECEFE4E8EBE9ECF1E8EBF0E7EAEFE5E8EFE5EAEEE5EAEEE4E9EDE4E9ED -E3E8ECE3E8ECE2E7EBE2E7EBE0E3ECDFE2EBDFE2EBDFE2EBDEE1EADDE0E9DDE0E9DDE0E9 -DCE1E7DBE0E6DBE0E6DADFE5D9DEE4D8DDE3D8DDE3D7DCE2D4D8E3D4D8E3D3D7E2D3D7E2 -D2D6E1D1D5E0D0D4DFD0D4DFCBD1DDCBD1DDCAD0DCCAD0DCC9CFDBC8CEDAC8CEDAC7CDD9 -C7CFDCC6CEDBC6CEDBC5CDDAC4CCD9C3CBD8C3CBD8C3CBD8C2CAD7C2CAD7C1C9D6C1C9D6 -C0C8D5BFC7D4BEC6D3BEC6D3BBC2D5BBC2D5BAC1D4BAC1D4B9C0D3B8BFD2B8BFD2B7BED1 -B4BAD0B4BAD0B3B9CFB3B9CFB2B8CEB1B7CDB1B7CDB0B6CCABB6CAAAB5C9AAB5C9A9B4C8 -A8B3C7A7B2C6A7B2C6A6B1C5A9AECBA9B1C6A6B1C3A1ADC5A4AFCFA5ACC9A8AEBCC0C4C3 -D0D4D7E9EDF0EDF1F4EBEEF3EEF1F6ECEFF6EBEEF5EAEDF4E8EDF3E8EDF3E8EDF3E7ECF2 -E7ECF2E6EBF1E6EBF1E6EBF1E1E5EEE1E5EEE1E5EEE0E4EDE0E4EDDFE3ECDFE3ECDEE2EB -DAE0ECDAE0ECD9DFEBD8DEEAD7DDE9D7DDE9D6DCE8D6DCE8D4DAE8D4DAE8D3D9E7D3D9E7 -D2D8E6D1D7E5D0D6E4D0D6E4CDD4E4CCD3E3CCD3E3CBD2E2CAD1E1C9D0E0C9D0E0C8CFDF -C6CDE0C6CDE0C6CDE0C5CCDFC4CBDEC3CADDC3CADDC2C9DCBDC8DABCC7D9BCC7D9BBC6D8 -BAC5D7B9C4D6B9C4D6B9C4D6B6BFDEB6BFDEB5BEDDB4BDDCB3BCDBB3BCDBB2BBDAB2BBDA -B0B8DDAFB7DCAFB7DCAEB6DBADB5DAACB4D9ACB4D9ABB3D8A6B3D6A6B3D6A5B2D5A4B1D4 -A3B0D3A3B0D3A2AFD2A2AFD2A2A9D5A2ACD09FAECF99A8CF9CA9D69EA7D2A5ACC9C0C8D5 -CACED1E6EAEDEBEEF3E8EBF0EBEEF3E8EBF2E8EBF2E8EBF2E5EAF0E5EAF0E4E9EFE4E9EF -E3E8EEE3E8EEE2E7EDE2E7EDE1E5F0E1E5F0E0E4EFE0E4EFDFE3EEDFE3EEDFE3EEDEE2ED -D9DFEFD9DFEFD8DEEED7DDEDD6DCECD6DCECD5DBEBD5DBEBD2D7EAD2D7EAD1D6E9D1D6E9 -D0D5E8CFD4E7CED3E6CED3E6CDD4E7CDD4E7CCD3E6CBD2E5CBD2E5CAD1E4C9D0E3C9D0E3 -C5CDE4C5CDE4C4CCE3C4CCE3C3CBE2C2CAE1C1C9E0C1C9E0B9C8DFB8C7DEB8C7DEB7C6DD -B6C5DCB5C4DBB5C4DBB4C3DAB4C1E1B4C1E1B4C1E1B3C0E0B2BFDFB1BEDEB1BEDEB0BDDD -ADB9E1ADB9E1ACB8E0ACB8E0ABB7DFAAB6DEA9B5DDA9B5DDA7B6DDA7B6DDA6B5DCA6B5DC -A5B4DBA4B3DAA3B2D9A3B2D9A1ACDAA0AFD69FB1D599ACD69BABDE9BA9D6A5B0D0C2CEDE -CED1D6E9ECF1EDF0F5EAEDF4EBEEF5E8EBF2E9ECF5EAEDF6E7EBF4E6EAF3E6EAF3E6EAF3 -E5E9F2E4E8F1E4E8F1E4E8F1DFE6F0DFE6F0DFE6F0DEE5EFDEE5EFDDE4EEDDE4EEDCE3ED -D9E0F2D8DFF1D8DFF1D7DEF0D6DDEFD5DCEED5DCEED5DCEED3DAEDD3DAEDD2D9ECD1D8EB -D0D7EAD0D7EACFD6E9CFD6E9CCD2E8CCD2E8CBD1E7CBD1E7CAD0E6C9CFE5C8CEE4C8CEE4 -C5CCE6C5CCE6C4CBE5C3CAE4C2C9E3C2C9E3C1C8E2C1C8E2B9C7E1B9C7E1B8C6E0B7C5DF -B6C4DEB6C4DEB5C3DDB5C3DDB1C1DAB1C1DAB0C0D9B0C0D9AFBFD8AEBED7ADBDD6ADBDD6 -ACBBDAACBBDAABBAD9AAB9D8A9B8D7A9B8D7A8B7D6A8B7D6A2B5D5A2B5D5A1B4D4A0B3D3 -A0B3D39FB2D29EB1D19EB1D19DABD09DADCE9BB0CD96ADCF98ABD594A6CC9EADC4BDCBD4 -CDD0D5E7EAEFEAEDF2E6E9F0E7EAF1E4E7F0E6E9F2E6E9F2E4E8F1E3E7F0E3E7F0E3E7F0 -E2E6EFE1E5EEE1E5EEE1E5EEDCE2EEDCE2EEDCE2EEDBE1EDDBE1EDDAE0ECDAE0ECDAE0EC -D7DEEED6DDEDD6DDEDD5DCECD4DBEBD3DAEAD3DAEAD2D9E9D2D9ECD2D9ECD1D8EBD1D8EB -D0D7EACFD6E9CED5E8CED5E8CAD2E7CAD2E7C9D1E6C9D1E6C8D0E5C7CFE4C6CEE3C6CEE3 -C3CDE6C2CCE5C2CCE5C1CBE4C0CAE3BFC9E2BFC9E2BFC9E2B9C7E1B9C7E1B8C6E0B8C6E0 -B7C5DFB6C4DEB6C4DEB5C3DDB1C2D6B1C2D6B0C1D5B0C1D5AFC0D4AEBFD3AEBFD3ADBED2 -AEBED7ADBDD6ADBDD6ACBCD5ABBBD4AABAD3AABAD3AABAD3A4B8D3A3B7D2A3B7D2A2B6D1 -A1B5D0A0B4CFA0B4CF9FB3CEA0AFCE9FB0CA9DB3CA9BB0CD9BAFD298A8C99EAEBEBDCCCF -CDD0D5E7EAF1EAEDF4E6E9F0E8EBF4E6E9F2E7E9F5E6E8F4E4E8F1E4E8F1E4E8F1E3E7F0 -E3E7F0E2E6EFE2E6EFE1E5EEDDE5F0DDE5F0DDE5F0DCE4EFDCE4EFDBE3EEDBE3EEDAE2ED -D8E0EDD8E0EDD7DFECD7DFECD6DEEBD5DDEAD4DCE9D4DCE9D0D7E9D0D7E9CFD6E8CED5E7 -CED5E7CDD4E6CCD3E5CCD3E5CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C7CFE2C6CEE1C6CEE1 -C2CDE3C2CDE3C2CDE3C1CCE2C0CBE1BFCAE0BFCAE0BEC9DFBCC6DFBCC6DFBBC5DEBAC4DD -BAC4DDB9C3DCB8C2DBB8C2DBB4C2DCB4C2DCB3C1DBB3C1DBB2C0DAB1BFD9B0BED8B0BED8 -ACBAD5ABB9D4ABB9D4AAB8D3A9B7D2A8B6D1A8B6D1A7B5D0A5B6D4A4B5D3A4B5D3A3B4D2 -A2B3D1A1B2D0A1B2D0A1B2D0A1AED09EADCA9CB0C99BAECE9BADD398A6C99FACBFBECBD1 -CBCED5E5E8EFE9ECF3E7EAF1EAEDF6E7EAF3E7E9F5E6E8F4E4E8F3E4E8F3E4E8F3E3E7F2 -E3E7F2E2E6F1E2E6F1E1E5F0DBE3EEDBE3EEDAE2EDDAE2EDD9E1ECD9E1ECD8E0EBD8E0EB -D4DEE8D4DEE8D3DDE7D3DDE7D2DCE6D1DBE5D1DBE5D0DAE4D1DAE9D0D9E8D0D9E8CFD8E7 -CED7E6CED7E6CDD6E5CDD6E5CBD4E5CAD3E4CAD3E4C9D2E3C8D1E2C7D0E1C7D0E1C6CFE0 -C2CDE1C2CDE1C1CCE0C1CCE0C0CBDFBFCADEBFCADEBEC9DDBDC4DEBDC4DEBDC4DEBCC3DD -BBC2DCBAC1DBBAC1DBB9C0DAB4BEE1B4BEE1B3BDE0B3BDE0B2BCDFB1BBDEB0BADDB0BADD -AFB9DCAFB9DCAEB8DBADB7DAADB7DAACB6D9ABB5D8ABB5D8A6B4D9A6B4D9A5B3D8A4B2D7 -A3B1D6A3B1D6A2B0D5A2B0D5A4ADD69FACCE9DAECC9CACD09EACD99AA6D0A2ACC7C3CDD7 -CCD1D7E5EAF0E7EBF4E4E8F1E7EBF4E4E8F3E5E9F4E4E8F3E3E7F3E3E7F3E3E7F3E2E6F2 -E2E6F2E1E5F1E1E5F1E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED -D7DDEDD7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D4DBEED1D8EBCED5E8CED5E8 -D0D7EAD0D7EACDD4E7C9D0E3CDD5ECC9D1E8C5CDE4C6CEE5CAD2E9CBD3EAC8D0E7C5CDE4 -C1CCE2C1CCE2BFCAE0BEC9DFBDC8DEBDC8DEBCC7DDBCC7DDBBC7E1BAC6E0BAC6E0B9C5DF -B8C4DEB7C3DDB7C3DDB6C2DCB3C1DEB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9 -ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A8B7D6A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3 -A2B1D2A2B1D2A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2 -CBD0D6E5EAF0E7EBF4E3E7F0E6EAF3E4E8F3E4E8F3E4E8F3E3E7F3E3E7F3E2E6F2E2E6F2 -E1E5F1E1E5F1E0E4F0E0E4F0DCE2F0DCE2F0DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFED -D7DDEDD7DDEDD6DCECD6DCECD5DBEBD4DAEAD3D9E9D3D9E9D0D7EAD0D7EAD0D7EAD0D7EA -D0D7EAD0D7EAD0D7EAD0D7EAC9D1E6C9D1E6C9D1E6C8D0E5C5CDE2C4CCE1C3CBE0C4CCE1 -C4CFE5C4CFE5C2CDE3C1CCE2BFCAE0BEC9DFBCC7DDBCC7DDBAC6E0BAC6E0BAC6E0B9C5DF -B8C4DEB7C3DDB7C3DDB6C2DCB2C0DDB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9 -ABBAD9AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A7B6D5A5B4D5A4B3D4A4B3D4A3B2D3 -A2B1D2A1B0D1A1B0D1A1B0D1A0AFCE9DACD39BADD19AADCB9CACD099A4D2A2ABCCC4CDD2 -CBD0D6E4E9EFE6EAF3E3E7F0E6EAF3E3E7F2E4E8F3E3E7F2E2E6F2E2E6F2E2E6F2E1E5F1 -E1E5F1E0E4F0E0E4F0E0E4F0DBE1EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD9DFED -D7DDEDD7DDEDD6DCECD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9CFD6E9D0D7EAD0D7EACED5E8 -CBD2E5C9D0E3C9D0E3CAD1E4C5CDE2C8D0E5CBD3E8CCD4E9CAD2E7C8D0E5C6CEE3C5CDE2 -BDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB9C5DF -B8C4DEB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9 -AAB9D8AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A4B3D4A4B3D4A4B3D4A3B2D3 -A2B1D2A1B0D1A1B0D1A0AFD09FAECD9DACD39BADD199ACCA9CACD099A4D2A2ABCCC4CDD2 -CACFD5E3E8EEE5E9F2E2E6EFE5E9F2E3E7F2E3E7F2E2E6F1E2E6F2E1E5F1E1E5F1E0E4F0 -E0E4F0DFE3EFDFE3EFDFE3EFDBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEEC -D6DCECD6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8CFD6E9CFD6E9CFD6E9CED5E8 -CDD4E7CCD3E6CCD3E6CCD3E6CBD3E8C6CEE3C1C9DEC0C8DDC2CADFC5CDE2C5CDE2C4CCE1 -C3CEE4C2CDE3C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBAC6E0BAC6E0B9C5DFB8C4DE -B7C3DDB7C3DDB6C2DCB6C2DCB2C0DDB2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9AEBCD9 -AAB9D8AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A3B2D3 -A2B1D2A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1 -C9CED4E2E7EDE4E8F1E1E5EEE4E8F1E2E6F1E2E6F1E1E5F0E1E5F1E1E5F1E0E4F0E0E4F0 -DFE3EFDFE3EFDEE2EEDEE2EEDAE0EEDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD8DEEC -D6DCECD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D8EBCFD6E9CDD4E7CDD4E7 -CDD4E7CCD3E6CAD1E4C8CFE2CCD4E7CAD2E5C7CFE2C7CFE2C8D0E3C8D0E3C6CEE1C4CCDF -C3CEE4C1CCE2BFCAE0BDC8DEBCC7DDBCC7DDBDC8DEBEC9DFBAC6E0B9C5DFB9C5DFB8C4DE -B7C3DDB6C2DCB6C2DCB6C2DCB2C0DDB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9AEBCD9 -AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A4B3D4A4B3D4A3B2D3A2B1D2 -A1B0D1A1B0D1A0AFD0A0AFD09FAECD9CABD29BADD199ACCA9CACD099A4D2A1AACBC3CCD1 -C8CDD3E2E7EDE4E8F1E0E4EDE3E7F0E1E5F0E1E5F0E1E5F0E0E4F0E0E4F0DFE3EFDFE3EF -DEE2EEDEE2EEDDE1EDDDE1EDDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEB -D5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D8EBCFD6E9CED5E8CDD4E7 -CDD4E7CCD3E6CAD1E4C9D0E3C6CEE1C8D0E3C9D1E4C6CEE1C1C9DCBFC7DAC1C9DCC4CCDF -C1CCE2C1CCE2C0CBE1BFCAE0BEC9DFBDC8DEBDC8DEBDC8DEB9C5DFB9C5DFB9C5DFB8C4DE -B7C3DDB6C2DCB6C2DCB5C1DBB1BFDCB1BFDCB1BFDCB0BEDBAFBDDAAEBCD9AEBCD9ADBBD8 -AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A6B5D4A4B3D4A3B2D3A3B2D3A2B1D2 -A1B0D1A0AFD0A0AFD0A0AFD09FAECD9CABD29AACD099ACCA9BABCF98A3D1A1AACBC3CCD1 -C8CDD3E1E6ECE3E7F0E0E4EDE3E7F0E1E5F0E1E5F0E0E4EFDFE3EFDFE3EFDFE3EFDEE2EE -DEE2EEDDE1EDDDE1EDDDE1EDD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD7DDEB -D5DBEBD5DBEBD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7D1D7E7CCD3E6CFD6E9D0D7EACED5E8 -C8CFE2C5CCDFC7CEE1CAD1E4CCD5E6C3CCDDB2BBCC9EA7B88E97A88992A38E97A8949DAE -B8C3D9BAC5DBBDC8DEBFCAE0BFCAE0BEC9DFBBC6DCBAC5DBB9C5DFB9C5DFB8C4DEB8C4DE -B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBB0BEDBAFBDDAAEBCD9ADBBD8ADBBD8 -A9B8D7A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A3B2D3A2B1D2 -A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1 -C7CCD2E1E6ECE3E7F0E0E4EDE2E6EFE0E4EFE0E4EFE0E4EFDFE3EFDFE3EFDEE2EEDEE2EE -DDE1EDDDE1EDDCE0ECDCE0ECD9DFEDD9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEA -D5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D1D7E7D1D7E7D1D7E7CCD3E6D0D7EACFD6E9C2C9DC -B0B7CAA3AABDA2A9BCA6ADC098A1B2929BAC8992A3818A9B7D86977D86977F889980899A -8B96AC939EB49FAAC0ABB6CCB5C0D6BAC5DBBCC7DDBCC7DDB9C5DFB9C5DFB8C4DEB7C3DD -B7C3DDB6C2DCB5C1DBB5C1DBB1BFDCB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ADBBD8 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A3B2D3A3B2D3A2B1D2A2B1D2 -A1B0D1A0AFD0A0AFD09FAECF9EADCC9CABD29AACD098ABC99BABCF98A3D1A1AACBC3CCD1 -CDD0D9DFE2EBE0E4EDE0E4EFDEE5EFDBE1EDDDE5F0DBE3EEDCE2F0DCE2F0DBE1EFDBE1EF -DAE0EEDAE0EED9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD6DCECD5DBEBD5DBEBD5DBEB -D4DBEDCFD6E8D3DAECD5DCEECFD6E8CED5E7D1D8EACDD4E6D1D7E5BBC1CFA3A9B79298A6 -858B997C82907B818F8086948187978187978086968086968086968086967F85957F8595 -808799777E9072798B7B82949198AAAAB1C3BAC1D3C1C8DABCC7DDB8C2DBB9C5DDB4C0DA -B3BEDAB3C1DEB1BEDEB5C2E2B0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3 -A1AFD2A0AED19FADD09FADD09DADCF99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CDD0D9DFE2EBE0E4EDDFE3EEDDE4EEDBE1EDDCE4EFDAE2EDDCE2F0DBE1EFDBE1EFDBE1EF -DAE0EED9DFEDD9DFEDD9DFEDD7DDEDD7DDEDD7DDEDD6DCECD5DBEBD5DBEBD5DBEBD4DAEA -CFD6E8D6DDEFD3DAECCED5E7CFD6E8CFD6E8CED5E7D2D9EBB4BAC89CA2B0868C9A838997 -888E9C878D9B8187957D83918187978086968086968086968086967F85957F85957F8595 -7980927C83957E85977B82947980928087999198AA9EA5B7B4BFD5B7C2D8BDC7E0B7C3DD -B6C1DDB8C6E3B3C1DEB2BFDFAFBDDAAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6 -A9B8D7A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A2B0D3 -A1AFD2A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CCCFD8DEE1EADFE3ECDFE3EEDDE4EEDAE0ECDCE4EFDAE2EDDBE1EFDBE1EFDAE0EEDAE0EE -D9DFEDD9DFEDD9DFEDD8DEECD7DDEDD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD4DAEA -CED5E7D6DDEFD4DBEDCCD3E5CCD3E5D0D7E9CED5E7CAD1E38D93A18389977C82907F8593 -848A988389978288968389978086968086968086968086968086967F85957F85957F8595 -7C83957E85977E8597798092747B8D747B8D7A81938087998D95AA9AA5B9B3BED4B9C3DC -B5C1DBB2BDD9ACBAD7B3C1DEAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6 -A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3A5B4D3A3B1D4A3B1D4A2B0D3A1AFD2 -A0AED1A0AED19FADD09FADD09CACCE99AAD598ABD397ACCB99ABD197A3D3A0ABC9C2CDCF -CCCFD8DDE0E9DFE3ECDEE2EDDCE3EDDAE0ECDBE3EED9E1ECDAE0EEDAE0EEDAE0EED9DFED -D9DFEDD8DEECD8DEECD8DEECD6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9 -D3DAECCDD4E6D3DAECD2D9EBCAD1E3D1D8EACCD3E5AFB6C87F8593808694848A98858B99 -8187957C82907E8492858B998086968086968086968086967F85957F85957F85957F8595 -81889A7C83957980927980927D84967E85977B8294777E90737B8E7F879C9DA8BCB5C0D6 -BCC6DFB6C2DCAFBAD6B6C1DDAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7ACBAD7ABB9D6ABB9D6 -A9B8D7A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A5B4D3A3B1D4A2B0D3A2B0D3A1AFD2 -A0AED19FADD09FADD09FADD09CACCE98A9D498ABD396ABCA98AAD097A3D3A0ABC9C2CDCF -CBCED7DDE0E9DEE2EBDDE1ECDBE2ECD9DFEBDAE2EDD8E0EBD9DFEDD9DFEDD9DFEDD8DEEC -D8DEECD7DDEBD7DDEBD7DDEBD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8 -D5DCEECAD1E3CED5E7D3DAECCED5E7CDD4E6B8BFD19299AB878D9B848A98838997858B99 -858B998187957E84927E84928086968086968086967F85957F85957F85957F85957E8494 -7C83957B82947B82947A81937A8193798092787F91777E90778091727A8D80889B949FB3 -AFBAD0BEC8E1B4C0DAADB9D3AFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6ABB9D6 -A8B7D6A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A2B0D3A2B0D3A2B0D3A1AFD2 -A0AED19FADD09FADD09EACCF9CACCE98A9D498ABD396ABCA98AAD096A2D29FAAC8C1CCCE -CACDD6DCDFE8DDE1EADCE0EBDBE2ECD8DEEAD9E1ECD7DFEAD9DFEDD8DEECD8DEECD8DEEC -D7DDEBD7DDEBD6DCEAD6DCEAD4DAEAD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D1D7E7 -D0D7E9D1D8EACBD2E4CCD3E5D2D9EBBCC3D5989FB1838A9C878D9B838997818795828896 -848A98848A988187957E84928086967F85957F85957F85957F85957E84947E84947E8494 -7A81937A81937A8193798092787F91787F91777E90777E90798090747B8D727B8C747C8F -8C97ABAFBAD0B6C0D9B2BED6AEBCD9AEBCD9AEBCD9ADBBD8ACBAD7ABB9D6ABB9D6AAB8D5 -A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A1AFD2 -A0AED19FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE -C9CCD5DBDEE7DCE0E9DCE0EBDAE1EBD8DEEAD9E1ECD7DFEAD8DEECD8DEECD8DEECD7DDEB -D6DCEAD6DCEAD6DCEAD5DBE9D4DAEAD3D9E9D3D9E9D3D9E9D2D8E8D1D7E7D1D7E7D1D7E7 -CDD4E6D3DAECCDD4E6CAD1E3C6CDDFA2A9BB81889A82899B818795828896838997828896 -8086948086948187958288967F85957F85957F85957F85957F85957E84947E84947E8494 -7B8294798092787F917980927B82947D84967B8294798092787F8F7980907B8294727A8D -788095919CB0A8B3C9BAC5DBAEBCD9AEBCD9ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5 -A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1 -9FADD09FADD09EACCF9EACCF9BABCD98A9D497AAD296ABCA98AAD096A2D29FAAC8C1CCCE -C9CCD5DBDEE7DCE0E9DBDFEADAE1EBD7DDE9D9E1ECD7DFEAD8DEECD8DEECD7DDEBD7DDEB -D6DCEAD6DCEAD5DBE9D5DBE9D3D9E9D3D9E9D3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D1D7E7 -CED5E7CFD6E8D1D8EACED5E7B5BCCE8C93A57A8193858C9E848A98838997828896808694 -8086948086948086947F85937F85957F85957F85957F85957E84947E84947E84947E8494 -787F917B82947C83957B8294787F91777E90787F917A819378808D737A8A798090778091 -727A8D777F948893A9A7B2C8AEBCD9AEBCD9ADBBD8ACBAD7ACBAD7ABB9D6AAB8D5AAB8D5 -A8B7D6A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A4B3D2A2B0D3A2B0D3A1AFD2A0AED1 -9FADD09FADD09EACCF9EACCF9BABCD97A8D397AAD296ABCA98AAD096A2D29FAAC8C1CCCE -CBD0D4D8DCE5DAE0ECD6DBEED6DDEFD7DEF0D5DCECD4DEEAD5DCEED5DCEED4DBEDD4DBED -D3DAECD3DAECD2D9EBD2D9EBD1D8EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8 -D1D6E9CCD1E4D2D8E8C3C9D99399A97C8290858B99808694818795818795818795818795 -8187958086948086948086948086968086967F85957F85957E84947E84947D83937D8393 -7B82947B82947A81937A8193798092798092798092787F91747B8E7B8295787F92787F92 -79809370778A798093989FB2B5C1D9B0BCD6ADB9D3ADBBD6ACBAD7AAB7D7A8B7D8A7B6D7 -A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2 -9DADD19CACD09BABCF9BABCF9BABCD97A8D398ABD392A7C697A9CF97A3D39AA5C3C2CDCF -CBD0D4D8DCE5DAE0ECD6DBEED5DCEED6DDEFD5DCECD4DEEAD5DCEED4DBEDD4DBEDD4DBED -D3DAECD2D9EBD2D9EBD2D9EBD1D8EBD1D8EBD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8 -CED3E6CDD2E5D3D9E9B3B9C98A90A0828896818795838997818795818795818795818795 -8086948086948086948086948086967F85957F85957E84947E84947D83937D83937D8393 -7B82947B82947A81937A8193798092798092787F91787F91777E91787F92757C8F777E91 -798093737A8D767D90888FA2A8B4CCADB9D3AEBAD4A9B7D2ABB9D6ACB9D9A9B8D9A7B6D7 -A6B5D6A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29EAED2 -9DADD19CACD09BABCF9BABCF9BABCD97A8D397AAD292A7C697A9CF97A3D39AA5C3C2CDCF -CACFD3D8DCE5D9DFEBD5DAEDD5DCEED6DDEFD4DBEBD3DDE9D4DBEDD4DBEDD3DAECD3DAEC -D2D9EBD2D9EBD2D9EBD1D8EAD0D7EAD0D7EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CED5E8 -CACFE2CDD2E5CAD0E09CA2B2818797868C9A7E8492878D9B818795818795818795818795 -8086948086948086948086947F85957F85957F85957E84947E84947D83937D83937C8292 -7B82947B82947A81937A8193798092798092787F91787F91798093757C8F747B8E767D90 -787F92767D90757C8F767D90919DB5A9B5CFB1BDD7A8B6D1A9B7D4ADBADAAAB9DAA7B6D7 -A6B5D6A6B5D6A5B4D5A4B3D4A3B2D3A3B2D3A2B1D2A2B1D29FAFD39FAFD39EAED29DADD1 -9CACD09CACD09BABCF9BABCF9AAACC97A8D397AAD291A6C597A9CF97A3D39AA5C3C2CDCF -CACFD3D7DBE4D8DEEAD4D9ECD4DBEDD5DCEED3DAEAD3DDE9D3DAECD3DAECD3DAECD2D9EB -D2D9EBD1D8EAD1D8EAD1D8EAD0D7EACFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CDD4E7 -CBD0E3CBD0E3B4BACA898F9F7F8595868C9A7F8593878D9B818795818795818795808694 -8086948086948086947F85937F85957E84947E84947E84947D83937C82927C82927C8292 -7B82947A81937A8193798092798092787F91787F91787F91798093747B8E757C8F767D90 -757C8F767D90757C8F6D74877B879FA1ADC7B4C0DAAAB8D3A8B6D3ACB9D9A9B8D9A7B6D7 -A6B5D6A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A2B1D29FAFD39EAED29EAED29DADD1 -9CACD09BABCF9BABCF9BABCF9AAACC96A7D297AAD291A6C596A8CE97A3D39AA5C3C2CDCF -C9CED2D6DAE3D8DEEAD3D8EBD3DAECD4DBEDD3DAEAD2DCE8D2D9EBD2D9EBD2D9EBD1D8EA -D1D8EAD0D7E9D0D7E9D0D7E9CFD6E9CFD6E9CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6 -CDD2E5C4C9DC979DAD7F8595848A9A818795828896848A98818795808694808694808694 -8086947F85937F85937F85937E84947E84947E84947D83937C82927C82927C82927B8191 -7A81937A81937A8193798092798092787F91787F91777E90787F92747B8E777E91777E91 -72798C757C8F777E916F76896C789096A2BCB1BDD7ADBBD6A9B7D4A9B6D6A7B6D7A7B6D7 -A5B4D5A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D19EAED29EAED29EAED29DADD1 -9CACD09BABCF9BABCF9AAACE9AAACC96A7D297AAD291A6C596A8CE96A2D299A4C2C2CDCF -C8CDD1D5D9E2D7DDE9D3D8EBD2D9EBD3DAECD2D9E9D1DBE7D2D9EBD1D8EAD1D8EAD1D8EA -D0D7E9D0D7E9CFD6E8CFD6E8CED5E8CED5E8CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5 -CED3E6B7BCCF8389997E8494878D9D7E8492848A98828896808694808694808694808694 -7F85937F85937F85937F85937E84947D83937D83937C82927C82927B81917B81917B8191 -7A81937A8193798092798092787F91787F91777E90777E90777E91757C8F777E91777E91 -71788B737A8D767D90737A8D68748C8490AAA2AEC8ACBAD5AAB8D5A7B4D4A6B5D6A6B5D6 -A5B4D5A5B4D5A4B3D4A4B3D4A3B2D3A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19DADD1 -9CACD09BABCF9AAACE9AAACE9AAACC96A7D296A9D191A6C596A8CE96A2D299A4C2C1CCCE -C7CCD0D5D9E2D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD1D8EAD0D7E9 -CFD6E8CFD6E8CFD6E8CED5E7CDD4E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CBD2E5 -CDD2E5A8ADC07F8595808696868C9C7F8593838997818795808694808694808694808694 -7F85937F85937F85937F85937D83937D83937D83937C82927C82927B81917B81917A8090 -7A81937A8193798092798092787F91787F91777E90777E90787F92757C8F757C8F767D90 -737A8D72798C737A8D737A8D6D7991717D978B97B1A5B3CEABB9D6A8B5D5A7B6D7A5B4D5 -A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0 -9BABCF9BABCF9AAACE9AAACE99A9CB96A7D296A9D190A5C496A8CE96A2D299A4C2C1CCCE -C7CCD0D4D8E1D6DCE8D2D7EAD2D9EBD3DAECD1D8E8D0DAE6D1D8EAD1D8EAD0D7E9D0D7E9 -CFD6E8CFD6E8CED5E7CED5E7CDD4E7CDD4E7CCD3E6CCD3E6CBD2E5CBD2E5CAD1E4CAD1E4 -CBD0E39EA3B68389998288988288988288968086948187958086948086948086947F8593 -7F85937F85937F85937F85937D83937D83937C82927C82927B81917B81917A80907A8090 -7A8193798092798092798092787F91787F91777E90777E90798093747B8E72798C747B8E -767D9072798C70778A72798C737F9764708A79859F9FADC8ABB9D6A9B6D6A8B7D8A4B3D4 -A5B4D5A5B4D5A4B3D4A3B2D3A2B1D2A2B1D2A1B0D1A1B0D19EAED29EAED29DADD19CACD0 -9BABCF9BABCF9AAACE9AAACE99A9CB95A6D196A9D190A5C496A8CE96A2D299A4C2C1CCCE -CCD1D7D1D5E0D2D8E6D0D5E8CFD6E9D0D7EAD0D7E9CDD6E5CDD5E8CDD5E8CDD5E8CDD5E8 -CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3 -B4BACA8A90A07D83938389998389998288987E84948086968086968086967F85957F8595 -7E84947E84947D83937D83937A81937A81937A81937A81937A8193798092798092798092 -798093798093787F92787F92777E91777E91767D90767D90737B8E737B8E737B8E727A8D -727A8D71798C71798C71798C6F778C6C778D717B9499A5BFA6B4CFA9B8D7A7B7D8A3B3D4 -A4B2D5A4B2D5A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1 -9BAAD19AA9D099A8CF99A8CF98A8CC94A5D196A9D38FA3C494A6CE94A0D299A4C4C2CDD1 -CCD1D7D0D4DFD1D7E5D0D5E8CFD6E9D0D7EACFD6E8CCD5E4CDD5E8CDD5E8CDD5E8CCD4E7 -CCD4E7CCD4E7CCD4E7CCD4E7CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3 -A1A7B78389997E84948288988187978389998187978187978086967F85957F85957E8494 -7E84947D83937D83937D83937A81937A81937A81937A8193798092798092798092798092 -798093787F92787F92777E91777E91767D90767D90767D90737B8E737B8E737B8E727A8D -727A8D71798C71798C70788B6E768B6E798F737D9698A4BEAAB8D3ADBCDBA6B6D7A2B2D3 -A4B2D5A3B1D4A3B1D4A2B0D3A1AFD2A1AFD2A0AED1A0AED19DACD39DACD39CABD29BAAD1 -9AA9D09AA9D099A8CF99A8CF97A7CB94A5D196A9D38FA3C493A5CD94A0D299A4C4C2CDD1 -CBD0D6D0D4DFD1D7E5D0D5E8CED5E8CFD6E9CFD6E8CCD5E4CCD4E7CCD4E7CCD4E7CCD4E7 -CCD4E7CBD3E6CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2 -9197A77E84948086968288987E84948288988187977F85957F85957F85957F85957E8494 -7E84947D83937D83937C82927A81937A81937A81937A8193798092798092798092798092 -787F92787F92787F92777E91777E91767D90767D90757C8F737B8E737B8E727A8D727A8D -71798C71798C70788B70788B70788D6E798F68728B828EA89CAAC5A6B5D4A2B2D3A5B5D6 -A3B1D4A3B1D4A2B0D3A2B0D3A1AFD2A0AED1A0AED19FADD09DACD39CABD29CABD29BAAD1 -9AA9D099A8CF99A8CF99A8CF97A7CB94A5D195A8D28FA3C493A5CD94A0D298A3C3C2CDD1 -CACFD5CFD3DED0D6E4CFD4E7CDD4E7CED5E8CED5E7CBD4E3CCD4E7CBD3E6CBD3E6CBD3E6 -CBD3E6CBD3E6CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2 -9399A97F85958086968389997E84947F85957E84947D83937F85957E84947E84947E8494 -7D83937C82927C82927C82927A81937A81937A8193798092798092798092798092787F91 -787F92777E91777E91777E91767D90757C8F757C8F757C8F737B8E737B8E727A8D727A8D -71798C71798C70788B70788B6E768B707B916A748D7C88A29EACC7A9B8D7A0B0D1A3B3D4 -A3B1D4A3B1D4A2B0D3A1AFD2A0AED1A0AED19FADD09FADD09CABD29CABD29CABD29BAAD1 -9AA9D099A8CF99A8CF98A7CE97A7CB94A5D195A8D28FA3C493A5CD939FD198A3C3C2CDD1 -C9CED4CED2DDCFD5E3CED3E6CCD3E6CED5E8CDD4E6CAD3E2CBD3E6CBD3E6CAD2E5CAD2E5 -CAD2E5CAD2E5CAD2E5C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C6CEE1 -9DA3B38187977E84948389998086967F85957D83937E84947E84947E84947E84947D8393 -7C82927C82927C82927B81917A8193798092798092798092798092787F91787F91787F91 -777E91777E91777E91767D90757C8F757C8F757C8F747B8E737B8E727A8D727A8D71798C -71798C70788B70788B70788B6E768B707B9169738C727E9899A7C2A8B7D69FAFD0A3B3D4 -A2B0D3A2B0D3A1AFD2A1AFD2A0AED19FADD09EACCF9EACCF9CABD29CABD29BAAD19BAAD1 -9AA9D099A8CF98A7CE98A7CE97A7CB94A5D195A8D28EA2C393A5CD939FD198A3C3C2CDD1 -C9CED4CDD1DCCED4E2CDD2E5CCD3E6CDD4E7CCD3E5C9D2E1CAD2E5CAD2E5CAD2E5C9D1E4 -C9D1E4C9D1E4C9D1E4C9D1E4C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0 -9EA4B47F85957B81918187978187978187977F85958086967E84947D83937D83937C8292 -7C82927B81917B81917B8191798092798092798092798092787F91787F91787F91787F91 -777E91767D90767D90757C8F757C8F747B8E747B8E747B8E727A8D727A8D727A8D71798C -71798C70788B70788B6F778A6F778C6D788E66708965718B8D9BB6A2B1D09FAFD0A3B3D4 -A2B0D3A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9EACCF9CABD29CABD29BAAD19AA9D0 -99A8CF99A8CF98A7CE98A7CE96A6CA93A4D095A8D28EA2C392A4CC939FD198A3C3C1CCD0 -C8CDD3CDD1DCCED4E2CDD2E5CBD2E5CCD3E6CCD3E5C9D2E1C9D1E4C9D1E4C9D1E4C9D1E4 -C9D1E4C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1C5CDE0C5CDE0C5CDE0C4CCDF -959BAB7D83937C82928086967E84948288988086967D83937D83937D83937D83937C8292 -7C82927B81917B81917A8090798092798092798092798092787F91787F91787F91787F91 -767D90767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D71798C71798C -70788B70788B6F778A6F778A6C74896D788E6F79926D799393A1BCA8B7D6A3B3D49FAFD0 -A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9EACCF9DABCE9CABD29BAAD19BAAD19AA9D0 -99A8CF98A7CE98A7CE98A7CE96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0 -C8CDD3CDD1DCCDD3E1CCD1E4CBD2E5CCD3E6CBD2E4C8D1E0C9D1E4C9D1E4C9D1E4C9D1E4 -C8D0E3C8D0E3C8D0E3C8D0E3C7CFE2C7CFE2C6CEE1C6CEE1C5CDE0C5CDE0C4CCDFC4CCDF -8C92A27D83938086967F85957B81918187977E8494787E8E7D83937D83937C82927C8292 -7B81917B81917A80907A8090798092798092798092787F91787F91787F91787F91787F91 -767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D727A8D727A8D71798C71798C -70788B70788B6F778A6F778A6D758A6A758B6D779066728C8A98B3A3B2D1A3B3D4A0B0D1 -A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9DABCE9DABCE9CABD29BAAD19BAAD19AA9D0 -99A8CF98A7CE98A7CE97A6CD96A6CA93A4D094A7D18EA2C392A4CC939FD197A2C2C1CCD0 -C8D1DAC9D1DEC9D0E2C9D1E6C9D1E8C6D1E7C6D1E5C5D0E2C5D0E4C5D0E4C5D0E4C5D0E4 -C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB -7E85977D84967B82947C83957D84967B82947A81937E85977A81937A81937A81937A8193 -7A8193798092798092798092798093798093787F92787F92777E91777E91767D90767D90 -737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6D788A6C77896B768A6E7B8E6571876C7A948D9DB79EAFCB9CAFCDA0B3D3 -9FAFD39FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF98AAD298AAD297A9D196A8D0 -95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18EA3CE8FA6C88FA2CA92A0D1949EC1C1CED4 -C8D1DAC8D0DDC9D0E2C8D0E5C8D0E7C6D1E7C5D0E4C5D0E2C5D0E4C5D0E4C5D0E4C4CFE3 -C4CFE3C4CFE3C4CFE3C4CFE3C4CFE5C2CDE3C1CCE2C2CDE3C3CEE4C2CDE3BEC9DFBAC5DB -7F86987E85977F86987F86987C83957C83957C83957A81937A81937A81937A81937A8193 -798092798092798092798092798093787F92787F92777E91777E91767D90767D90767D90 -737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6C77896C77896E798D6B778D68748C77859F96A6C0A4B5D39EB1D19CAFCF -9FAFD39FAFD39EAED29DADD19DADD19CACD09BABCF9BABCF98AAD297A9D197A9D196A8D0 -95A7CF95A7CF94A6CE94A6CE93A5CB91A3D18DA2CD8FA6C88FA2CA92A0D1949EC1C0CDD3 -C8D1DAC8D0DDC8CFE1C8D0E5C8D0E7C5D0E6C5D0E4C5D0E2C4CFE3C4CFE3C4CFE3C4CFE3 -C4CFE3C3CEE2C3CEE2C3CEE2C3CEE4C2CDE3C1CCE2C1CCE2C2CDE3C1CCE2BEC9DFBBC6DC -8087997980927B82947D84967980927B82947D8496777E907A81937A81937A81937A8193 -798092798092798092798092787F92787F92787F92777E91777E91767D90767D90757C8F -737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7A8C6F7A8C6E798B6E798B -6D788A6D788A6C77896C77896E798D68748A717D958997B19FAECBA5B6D49FB2D29BAECF -9FAFD39EAED29EAED29DADD19CACD09BABCF9BABCF9AAACE97A9D197A9D196A8D096A8D0 -95A7CF94A6CE94A6CE93A5CD93A5CB91A3D18DA2CD8EA5C78FA2CA92A0D1949EC1C0CDD3 -C7D0D9C7CFDCC8CFE1C7CFE4C7CFE6C5D0E6C4CFE3C4CFE1C4CFE3C3CEE2C3CEE2C3CEE2 -C3CEE2C3CEE2C2CDE1C2CDE1C2CDE3C1CCE2C0CBE1C0CBE1C1CCE2C0CBE1BEC9DFBBC6DC -939AAC7D8496777E907D84967980927B82947D8496767D8F7A81937A81937A8193798092 -798092798092798092787F91787F92777E91777E91777E91767D90757C8F757C8F757C8F -737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C6F7A8C6E798B6E798B6D788A -6D788A6C77896C77896C77896A758B6571877D89A19BA9C4A2B1CE9FB0CE9FB2D29FB2D3 -9EAED29EAED29DADD19CACD09CACD09BABCF9AAACE9AAACE97A9D197A9D196A8D095A7CF -94A6CE94A6CE93A5CD93A5CD93A5CB91A3D18DA2CD8EA5C78EA1C992A0D1949EC1C0CDD3 -C6CFD8C6CEDBC7CEE0C6CEE3C6CEE5C4CFE5C3CEE2C3CEE0C3CEE2C3CEE2C2CDE1C2CDE1 -C2CDE1C2CDE1C2CDE1C1CCE0C1CCE2C0CBE1C0CBE1C0CBE1C0CBE1BFCAE0BEC9DFBCC7DD -B2B9CB8A91A3787F917D84967C83957A81937C8395787F917A8193798092798092798092 -798092787F91787F91787F91777E91777E91777E91767D90757C8F757C8F757C8F747B8E -737B8E727A8D727A8D727A8D727A8D71798C71798C71798C6E798B6E798B6E798B6D788A -6D788A6C77896C77896B768869748A647088818DA7A2B0CBA2B1D09CACCD9FB2D39FB1D5 -9EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD96A8D096A8D095A7CF95A7CF -94A6CE93A5CD92A4CC92A4CC92A4CA90A2D08DA2CD8EA5C78EA1C992A0D1939DC0C0CDD3 -C5CED7C6CEDBC6CDDFC5CDE2C5CDE4C3CEE4C3CEE2C2CDDFC2CDE1C2CDE1C2CDE1C1CCE0 -C1CCE0C1CCE0C1CCE0C1CCE0C0CBE1C0CBE1BFCAE0BFCAE0BFCAE0BEC9DFBEC9DFBDC8DE -BAC1D38F96A8757C8E777E907A81937980927B82947B8294798092798092798092798092 -787F91787F91787F91787F91777E91767D90767D90757C8F757C8F747B8E747B8E747B8E -727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A -6C77896C77896B76886B76886C768F636F877F8BA5A1AFCCA3B2D19EAECF9EB1D29CAED2 -9DADD19DADD19CACD09BABCF9BABCF9AAACE99A9CD99A9CD96A8D095A7CF95A7CF94A6CE -93A5CD93A5CD92A4CC92A4CC92A4CA90A2D08CA1CC8EA5C78EA1C9919FD0939DC0BFCCD2 -C5CED7C5CDDAC6CDDFC5CDE2C5CDE4C3CEE4C2CDE1C2CDDFC1CCE0C1CCE0C1CCE0C1CCE0 -C1CCE0C0CBDFC0CBDFC0CBDFC0CBE1BFCAE0BFCAE0BEC9DFBEC9DFBDC8DEBEC9DFBEC9DF -B9C0D299A0B27C8395757C8E777E90787F917980927B8294798092798092798092798092 -787F91787F91787F91787F91767D90767D90767D90757C8F757C8F747B8E747B8E737A8D -727A8D727A8D727A8D727A8D71798C71798C71798C71798C6E798B6E798B6D788A6D788A -6C77896C77896B76886B76886A748D66728C818CA8A1AFCCA3B2D19DADCF9DAFD39CAED2 -9DADD19CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE -93A5CD92A4CC92A4CC91A3CB92A4CA90A2D08CA1CC8DA4C68EA1C9919FD0939DC0BFCCD2 -C4CDD6C5CDDAC5CCDEC5CDE2C5CDE4C2CDE3C2CDE1C1CCDEC1CCE0C1CCE0C1CCE0C1CCE0 -C0CBDFC0CBDFC0CBDFC0CBDFBFCAE0BFCAE0BFCAE0BEC9DFBDC8DEBDC8DEBEC9DFBEC9DF -C2C9DBADB4C69097A97E85977B82947A8193787F91777E90798092798092798092787F91 -787F91787F91787F91787F91767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D -727A8D727A8D727A8D71798C71798C71798C71798C71798C6E798B6D788A6D788A6D788A -6C77896C77896B76886B768866708968748E8792AEA3B1CEA1B0D19AAACC9CAED29FB1D5 -9CACD09CACD09CACD09BABCF9AAACE99A9CD99A9CD98A8CC95A7CF95A7CF94A6CE94A6CE -93A5CD92A4CC91A3CB91A3CB92A4CA90A2D08CA1CC8DA4C68DA0C8919FD0939DC0BFCCD2 -C5CED7C5CDDAC4CBDEC2C9E3C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BECAE2 -BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0 -B8C2DBBAC4DDBEC6DD868EA3777F92787F92787F917D8494777E91777E91777E91777E91 -767D90767D90767D90767D90737B8E737B8E737B8E737B8E737B8E727A8D727A8D727A8D -6F7A8C6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6F7A906C778D6D788E6F7A90 -6D788E69748A69748A6B768C6C779367728E8A98B59EABCB9FAECFA3B2D39CAACD9FADD0 -99ABD199ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CF95A7CF94A6CE93A5CD -92A4CC92A4CC91A3CB91A3CB8FA1C78D9FCD8BA0CB8BA2C48B9EC68F9DCE939DC0C0CDD3 -C5CED7C4CCD9C3CADDC1C8E2C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BECAE2BDC9E1 -BDC9E1BDC9E1BDC9E1BDC9E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0 -B9C3DEB6C0D9B9C4DA9098AF767E937A8194787F91757C8E777E91777E91777E91777E91 -767D90767D90767D90767D90737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D -6F7A8C6F7A8C6F7A8C6E798B6E798B6E798B6E798B6D788A6D788E6C778D6C778D6C778D -6B768C6A758B6A758B6B768C646F8B66718D8B99B69FACCCA0AFD0A4B2D59DABCE9DADD1 -99ABD199ABD198AAD098AAD097A9CF96A8CE95A7CD95A7CD95A7CF94A6CE94A6CE93A5CD -92A4CC92A4CC91A3CB91A3CB8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3 -C4CDD6C4CCD9C3CADDC1C8E2C0C7E3BEC8E3BEC8E1BEC8E1BDC9E1BDC9E1BDC9E1BDC9E1 -BDC9E1BCC8E0BCC8E0BCC8E0BAC6E0BAC6E0BAC6E0BAC6E0BAC6E0B9C5DFB9C5DFB9C5DF -BCC8E2B8C2DBBBC5DE9FAAC0777F94788093798092767D8F777E91777E91767D90767D90 -767D90767D90757C8F757C8F737B8E737B8E737B8E737B8E727A8D727A8D727A8D727A8D -6E798B6E798B6E798B6E798B6E798B6D788A6D788A6D788A6B768C6C778D6B768C69748A -6A758B6A758B6A758B6A758B5F6D88697794909EBB9FAECD9FAECFA3B3D59CACD09BABCF -99ABD199ABD198AAD097A9CF96A8CE96A8CE95A7CD95A7CD94A6CE94A6CE93A5CD93A5CD -92A4CC91A3CB91A3CB90A2CA8EA0C68D9FCD8A9FCA8BA2C48B9EC68F9DCE929CBFC0CDD3 -C3CCD5C3CBD8C2C9DCC0C7E1BFC6E2BDC7E2BEC8E1BEC8E1BDC9E1BCC8E0BCC8E0BCC8E0 -BCC8E0BCC8E0BBC7DFBBC7DFBAC6E0B9C5DFB9C5DFB9C5DFB9C5DFB9C5DFB8C4DEB8C4DE -BAC6E0B9C5DFB9C3DCACB7CD788397727A8D727A8D7A8394767D90767D90767D90767D90 -757C8F757C8F757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D727A8D71798C -6E798B6E798B6E798B6D788A6D788A6D788A6D788A6D788A6A758B6E798F6C778D69748A -6A758B6A758B68738969748A6C7A977A88A598A7C6A0AFD09DACCDA0B0D29CACD09AAACE -98AAD098AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CE94A6CE93A5CD92A4CC -91A3CB91A3CB90A2CA90A2CA8EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3 -C3CCD5C2CAD7C1C8DBBFC6E0BFC6E2BDC7E2BDC7E0BDC7E0BCC8E0BCC8E0BBC7DFBBC7DF -BBC7DFBBC7DFBBC7DFBAC6DEB9C5DFB9C5DFB8C4DEB8C4DEB8C4DEB8C4DEB8C4DEB7C3DD -B4BFDBB6C2DCB1BDD7B1BBD48A95AB77829671798C767E91767D90767D90757C8F757C8F -757C8F757C8F747B8E747B8E737B8E727A8D727A8D727A8D727A8D71798C71798C71798C -6D788A6D788A6D788A6D788A6D788A6C77896C77896C778969748A6F7A906C778D69748A -6B768C69748A6671876B768C8392AF8F9EBBA0AFCE9FAFD09AAACC9CACD099ABD198AAD0 -98AAD097A9CF97A9CF96A8CE95A7CD95A7CD94A6CC94A6CC93A5CD93A5CD92A4CC92A4CC -91A3CB90A2CA8FA1C98FA1C98EA0C68D9FCD8A9FCA8BA2C48A9DC58E9CCD929CBFC0CDD3 -C2CBD4C1C9D6C0C7DABEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7DFBBC7DFBBC7DFBAC6DE -BAC6DEBAC6DEBAC6DEBAC6DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDB7C3DD -B4C2DDB5C3DEB0BCD6B7C3DBA8B3C9949FB3848FA3737B8E757C8F757C8F757C8F757C8F -747B8E747B8E747B8E747B8E727A8D727A8D727A8D727A8D71798C71798C71798C71798C -6D788A6D788A6D788A6C77896C77896C77896C77896C778969748A6E798F6C778D6A758B -6C778D677288677288737E9498A7C69EADCCA3B2D39EAECF99A9CB98AACE99ABD198AAD0 -97A9CF97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CD92A4CC92A4CC91A3CB -90A2CA90A2CA8FA1C98FA1C98D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2 -C1CAD3C1C9D6C0C7DABEC5DFBDC4E0BBC5E0BBC5DEBCC6DFBAC6DEBAC6DEBAC6DEBAC6DE -BAC6DEB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DC -B5C3E0B5C3DEB2C0DBB7C3DDB7C3DBB0BBD1A6B1C5747F93757C8F757C8F747B8E747B8E -747B8E747B8E737A8D737A8D727A8D727A8D727A8D727A8D71798C71798C71798C71798C -6D788A6C77896C77896C77896C77896B76886B76886B76886A758B6D788E69748A69748A -6B768C6671876B768C808BA19FAECDA0B1CF9EAECF9CACCE98AACE98AAD098ACD198ABD3 -97A9CF97A9CF96A8CE95A7CD94A6CC94A6CC93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB -90A2CA8FA1C98FA1C98EA0C88D9FC58C9ECC899EC98AA1C38A9DC58E9CCD919BBEBFCCD2 -C1CAD3C0C8D5BFC6D9BEC5DFBDC4E0BBC5E0BBC5DEBBC5DEBAC6DEBAC6DEBAC6DEBAC6DE -B9C5DDB9C5DDB9C5DDB9C5DDB7C3DDB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DCB6C2DC -AFBDDAB0BED9B3C1DCAFBBD5B2BED6B6C2D8BAC5D9768195757C8F747B8E747B8E747B8E -747B8E737A8D737A8D737A8D727A8D727A8D727A8D71798C71798C71798C71798C71798C -6C77896C77896C77896C77896B76886B76886B76886B76886B768C6C778D677288677288 -6B768C6570866E798F8A95AB9DAECC9DAECC99A9CA9AAACC9AACD099ABD199ACD498ABD3 -97A9CF96A8CE96A8CE95A7CD94A6CC93A5CB93A5CB93A5CB92A4CC92A4CC91A3CB91A3CB -90A2CA8FA1C98EA0C88EA0C88D9FC58C9ECC899EC98AA1C3899CC48D9BCC919BBEBFCCD2 -C6CDD3BFC6D8B8C1DEB6C4E1B8C7DEB6C5D8B9C3DEBBC1E3B6C4DFB5C3DEB5C3DEB5C3DE -B5C3DEB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DB -B1BFDCB3C1DEB2C0DDB0BEDBB3C1DEB3C1DEA6B4D196A4C16E768B737B90767E93737B8E -727A8D757E8F747D8E6E77886E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C -6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A6D75886873856A7589656F88 -67738D66718F6D7A9A99A6C69CABD29BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF -96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC92A4CC90A3CD8FA2CC8FA2CC8EA1CB -8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CDD3BFC6D8B8C1DEB6C4E1B7C6DDB6C5D8B8C2DDBBC1E3B5C3DEB5C3DEB5C3DEB5C3DE -B4C2DDB4C2DDB4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DB -B0BEDBB2C0DDB0BEDBAEBCD9B0BEDBB2C0DDAAB8D59FADCA6F778C777F94727A8F6D7588 -737B8E70788B6C7586747D8E6E798D6E798D6E798D6E798D6D788C6D788C6D788C6D788C -6C778B6C778B6C778B6B768A6B768A6B768A6B768A6A75896873856A75896873896A748D -67738D626D8B7683A39BA8C89BAAD19BAAD19BAAD19AA9D09AA9D099A8CF99A8CF99A8CF -96A8D095A7CF95A7CF94A6CE93A5CD92A4CC92A4CC91A3CB8FA2CC8FA2CC8FA2CC8EA1CB -8EA1CB8DA0CA8DA0CA8DA0CA8C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CDD3BFC6D8B7C0DDB5C3E0B7C6DDB6C5D8B8C2DDBAC0E2B5C3DEB5C3DEB4C2DDB4C2DD -B4C2DDB4C2DDB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB1BFDA -B0BEDBB1BFDCAFBDDAACBAD7AEBCD9B2C0DDAFBDDAA9B7D47A8299767E956F778C70788D -747C8F6E76896B7386747D8E6E798D6E798D6D788C6D788C6D788C6D788C6C778B6C778B -6B768A6B768A6B768A6B768A6B768A6A75896A75896A75896671836C778B6671876B778F -66718D616F8C8491B19DAACC9BAAD19BAAD19AA9D09AA9D099A8CF99A8CF98A7CE98A7CE -95A7CF95A7CF94A6CE93A5CD93A5CD92A4CC91A3CB91A3CB8FA2CC8FA2CC8EA1CB8EA1CB -8DA0CA8DA0CA8C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD2BEC5D7B7C0DDB5C3E0B6C5DCB5C4D7B7C1DCBAC0E2B4C2DDB4C2DDB4C2DDB3C1DC -B3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9 -AFBDDAB1BFDCB0BEDBACBAD7ADBBD8B0BEDBB1BFDCAEBCD9929DB3717C926B768C747F93 -707B8F6F7A8C727D8F6B76886D788C6D788C6D788C6D788C6C778B6C778B6C778B6C778B -6B768A6B768A6B768A6A75896A75896A75896A75896A75896772866A758965718765718B -606E896F7C9C909FC09DACCD9AA9D09AA9D09AA9D099A8CF99A8CF98A7CE98A7CE98A7CE -95A7CF94A6CE94A6CE93A5CD92A4CC91A3CB91A3CB90A2CA8EA1CB8EA1CB8EA1CB8DA0CA -8DA0CA8C9FC98C9FC98C9FC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD1BDC4D6B6BFDCB4C2DFB5C4DBB4C3D6B6C0DBB9BFE1B3C1DCB3C1DCB3C1DCB2C0DB -B2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB0BED9B0BED9B0BED9B0BED9B0BED9AFBDD8 -AEBCD9B1BFDCB1BFDCAEBCD9ADBBD8AEBCD9AFBDDAAEBCD9A9B3CC7D87A069748A6F7A90 -6E798D717C90747F916974866D788C6D788C6C778B6C778B6C778B6C778B6B768A6B768A -6A75896A75896A75896A75896A75896974886974886974886A778A64708667738B5D6B85 -63718E8392B197A6C79CAACD9AA9D09AA9D099A8CF99A8CF98A7CE98A7CE97A6CD97A6CD -94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB90A2CA90A2CA8EA1CB8EA1CB8DA0CA8DA0CA -8C9FC98C9FC98B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB2C0DBB2C0DB -B1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8 -AEBCD9B0BEDBB0BEDBAFBDDAADBBD8ACBAD7ACBAD7ACBAD7B1BDD595A1B9727E96667288 -6E7A906E7B8E6A778A6D7A8D6C778B6C778B6C778B6C778B6B768A6B768A6B768A6B768A -6A75896A75896A75896974886974886974886974886974886B778D616D8366758C63718C -72819E95A4C59BA9CC99A9CB99A8CF99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD97A6CD -94A6CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98DA0CA8DA0CA8DA0CA8C9FC9 -8C9FC98B9EC88B9EC88B9EC88C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD0BCC3D5B5BEDBB3C1DEB4C3DAB3C2D5B5BFDAB8BEE0B2C0DBB2C0DBB1BFDAB1BFDA -B1BFDAB1BFDAB0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7 -ADBBD8AEBCD9AEBCD9AEBCD9ACBAD7ABB9D6AAB8D5ABB9D6AFBBD3A8B4CC8D99B176829A -717D936B778D6673866F7C8F6C778B6C778B6B768A6B768A6B768A6B768A6A75896A7589 -6A758969748869748869748869748868738768738768738766758A606F8666748E75859F -8B9AB99DACCD9CACCE97A7C999A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC -93A5CD93A5CD92A4CC91A3CB91A3CB90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9 -8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9CFBBC2D4B4BDDAB2C0DDB3C2D9B2C1D4B4BED9B7BDDFB1BFDAB1BFDAB1BFDAB1BFDA -B1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7AEBCD7 -ADBBD8ADBBD8ADBBD8ACBAD7ABB9D6AAB8D5AAB8D5ABB9D6AAB6D0AFBBD3A9B5CD909CB4 -7480966A768C6B788B6D7A8D6C778B6B768A6B768A6B768A6B768A6A75896A75896A7589 -69748869748869748869748868738768738768738768738761708562718865738D8696B0 -9EADCC9CACCD9EAED096A6CA99A8CF99A8CF98A7CE98A7CE97A6CD97A6CD96A5CC96A5CC -93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98DA0CA8DA0CA8C9FC98C9FC9 -8B9EC88B9EC88A9DC78A9DC78C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C9CDD8B6BCD2B3BCDDB0BFE0AEBED7B0C0D7AEBCD7B2BCE0B0BEDBAFBDDAAFBDDAAFBDDA -AFBDDAAEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5 -AAB9D8AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A6B6D7A6B6D7ACBBDAA6B4CF -7C88A26E78916C778D6C74896B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B -68738968738968738968738967728867728867728867728868748C636F87606E8994A3C0 -99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC -90A3CD8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C9CDD8B6BCD2B2BBDCAFBEDFAEBED7AFBFD6AEBCD7B2BCE0AFBDDAAFBDDAAFBDDAAFBDDA -AEBCD9AEBCD9AEBCD9AEBCD9ACBCD6ACBCD6ACBCD6ABBBD5ABBBD5ABBBD5ABBBD5ABBBD5 -AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A7B7D8A5B5D6A9B8D7A5B3CE -7B87A16C768F6A758B6D758A6B768C6B768C6B768C6B768C6A758B6A758B6A758B6A758B -68738968738968738968738967728867728867728867728867738B647088616F8A94A3C0 -99A9CA98AACE95A9CE95A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC -8FA2CC8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C8CCD7B5BBD1B2BBDCAFBEDFADBDD6AFBFD6ADBBD6B1BBDFAFBDDAAFBDDAAEBCD9AEBCD9 -AEBCD9AEBCD9ADBBD8ADBBD8ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7AAB9D6AAB9D6AAB9D6 -A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B8D9A3B3D4A7B6D5A4B2CD -7A86A06A748D69748A6E768B6B768C6B768C6A758B6A758B6A758B6A758B69748A69748A -68738968738967728867728867728867728866718766718765718964708863718C92A1BE -9AAACB97A9CD94A8CD95A8D094A6CE94A6CE94A6CE93A5CD93A5CD92A4CC92A4CC92A4CC -8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C7CBD6B4BAD0B1BADBAEBDDEADBDD6AEBED5ACBAD5B1BBDFAEBCD9AEBCD9AEBCD9ADBBD8 -ADBBD8ADBBD8ADBBD8ACBAD7ABBAD7AAB9D6AAB9D6AAB9D6AAB9D6AAB9D6A9B8D5A9B8D5 -A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B7D8A2B2D3A6B5D4A4B2CD -7A86A069738C6873896D758A6A758B6A758B6A758B6A758B69748A69748A69748A69748A -677288677288677288677288667187667187667187667187636F8764708864728D8F9EBB -9AAACB95A7CB94A8CD95A8D094A6CE94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB -8EA1CB8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98C9FC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C7CBD6B3B9CFB0B9DAADBCDDACBCD5ADBDD4ABB9D4B0BADEADBBD8ADBBD8ADBBD8ACBAD7 -ACBAD7ACBAD7ACBAD7ACBAD7AAB9D8AAB9D8A9B8D7A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6 -A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B6D7A2B2D3A7B6D5A4B2CD -7B87A16A748D6873896C74896A758B6A758B69748A69748A69748A69748A687389687389 -677288677288667187667187667187667187657086657086636F8764708863718C8A99B6 -9AAACB94A6CA94A8CD94A7CF93A5CD93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB -8EA1CB8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C6CAD5B3B9CFB0B9DAACBBDCABBBD4ACBCD3ABB9D4AFB9DDACBAD7ACBAD7ACBAD7ACBAD7 -ABB9D6ABB9D6ABB9D6ABB9D6A9B8D7A9B8D7A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6 -A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B5D6A3B3D4A7B6D5A1AFCA -77839D6A748D69748A6B738869748A69748A69748A69748A687389687389687389687389 -667187667187667187667187657086657086657086657086636F87647088616F8A8493B0 -99A9CA93A5C993A7CC93A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA -8DA0CA8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88B9EC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ACBCD3AAB8D3AEB8DCACBAD7ACBAD7ABB9D6ABB9D6 -ABB9D6ABB9D6AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7 -A6B5D4A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B4D5A4B4D5A6B5D49BA9C4 -717D9769738C6A758B69718669748A69748A687389687389687389687389677288677288 -667187667187657086657086657086657086646F85646F856470886470885E6C877F8EAB -98A8C993A5C993A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA90A2CA -8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5C9D4B2B8CEAFB8D9ACBBDCAABAD3ABBBD2AAB8D3AEB8DCABB9D6ABB9D6ABB9D6ABB9D6 -ABB9D6AAB8D5AAB8D5AAB8D5A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7 -A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A3B3D4A4B4D5A4B3D295A3BE -6B779167718A6A758B69718669748A687389687389687389687389677288677288677288 -667187657086657086657086657086646F85646F85646F85657189636F875D6B867C8BA8 -97A7C892A4C893A7CC91A4CC92A4CC92A4CC92A4CC91A3CB91A3CB90A2CA90A2CA8FA1C9 -8DA0CA8DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78A9DC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD4B1B9D0ACB6DAA9B6E0A7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8 -A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4 -A9B7DCA6B4D9A2B0D5A2B0D5A5B3D6A7B5D8A5B4D5A3B2D3ABB5CE9FA9C28B95AE77819A -68728B646E8768728B6D779068728B67718A67718A67718A67718A667089667089667089 -64708A64708A64708A64708A636F89636F89636F89636F8963718B5D6B855B6983677590 -7D8BA6909EB999A7C499A7C48BA1C88EA4CB90A6CD8FA5CE8BA1CA8AA0C98CA1CC8FA4CF -8FA0CC8E9FCB8D9ECA8C9DC98B9CC88C9DC98C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C5CCD4B1B9D0ABB5D9A8B5DFA7B7D8A9BAD4A7B6D3AAB7DAA8B7D8A8B7D8A8B7D8A8B7D8 -A8B7D8A8B7D8A8B7D8A8B7D8A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A4B3D2A3B2D1A3B2D1 -A0AED3A5B3D8A8B6D9A6B4D7A1B0D19FAECFA3B2D3A8B7D8949EB7838DA6707A9368728B -6A748D6D77906A748D656F8867718A67718A67718A67718A67718A667089667089667089 -64708A64708A64708A64708A636F89636F89636F89636F89606E8862708A62708A606E89 -616F8A6C7A95808EAB8F9DBA92A6CB8FA3C88DA0C88EA1C990A3CB90A3CD8EA1CB8B9EC8 -8B9CC88B9CC88B9CC88B9CC88C9DC98C9DC98C9DC98C9DC98B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD3B0B8CFABB5D9A8B5DFA6B6D7A8B9D3A6B5D2A9B6D9A7B6D7A7B6D7A7B6D7A7B6D7 -A7B6D7A7B6D7A7B6D7A7B6D7A6B5D4A6B5D4A6B5D4A5B4D3A5B4D3A6B5D4A6B5D4A6B5D4 -ABB8DBA4B1D4A0ADCFA4B1D3A8B5D5A3B0D094A1C18593B0717B946C768F667089646E87 -67718A69738C69738C67718A67718A67718A67718A667089667089667089667089667089 -64708A64708A636F89636F89636F89636F89626E88626E885E6C86606E88606E885D6B86 -5967825C6A856573906E7C998498BB889CBF8CA0C38EA2C78CA0C58B9EC68B9EC68C9FC7 -8C9DC98D9ECA8D9ECA8E9FCB8D9ECA8C9DC98B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C4CBD3B0B8CFAAB4D8A7B4DEA5B5D6A7B8D2A6B5D2A8B5D8A6B5D6A6B5D6A6B5D6A6B5D6 -A6B5D6A6B5D6A6B5D6A6B5D6A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A5B4D3A5B4D3 -A4B1D3A7B4D4A9B6D6A5B2D299A7C48593B0717F9A64728D626C8567718A6A748D69738C -656F88646E876670896A748D667089667089667089667089667089656F88656F88656F88 -636F89636F89636F89636F89626E88626E88626E88626E885D6B855C6A845C6A845E6C87 -606E895F6D885B69865765825E71926D80A18093B48D9FC38FA1C58D9FC58B9DC38B9DC3 -8B9CC88B9CC88C9DC98C9DC98C9DC98B9CC88B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C3CAD2AFB7CEA9B3D7A6B3DDA5B5D6A7B8D2A5B4D1A8B5D8A5B4D5A5B4D5A5B4D5A5B4D5 -A5B4D5A5B4D5A5B4D5A5B4D5A4B3D2A5B4D3A5B4D3A4B3D2A4B3D2A3B2D1A1B0CFA1B0CF -A6B1CFA3AECC99A4C28691AD717C9865718B65718B69758F6A748D68728B68728B69738C -6A748D6A748D67718A646E87667089667089667089656F88656F88656F88656F88656F88 -636F89636F89626E88626E88626E88626E88616D87616D875F6D875F6D875F6D875E6C87 -5C6A855C6A855C6A875D6B885566845869876070916D7D9E7C8CAE8999BB90A0C292A2C6 -8A9BC78A9BC78A9BC78A9BC78A9BC78B9CC88B9CC88B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9D1AEB6CDA8B2D6A6B3DDA4B4D5A6B7D1A4B3D0A7B4D7A5B4D5A5B4D5A5B4D5A5B4D5 -A5B4D5A5B4D5A5B4D5A5B4D5A2B1D0A3B2D1A5B4D3A6B5D4A6B5D4A4B3D2A2B1D0A1B0CF -9AA5C18792AE6F7B95626E88626E8667738B69758D68748A6C768F69738C66708967718A -69738C6A748D667089636D86656F88656F88656F88656F88656F88646E87646E87646E87 -626E88626E88626E88626E88616D87616D87616D87616D87606E885F6D875E6C865C6A85 -5B69845A68835C6A875D6B885E6D8A5968855564815564835D6C8B6D7C9D7E8DAE8998B9 -8E9FCB8E9FCB8E9FCB8E9FCB8D9ECA8C9DC98B9CC88A9BC78B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C2C9D1ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4 -A4B3D4A4B3D4A4B3D4A4B3D4A1B0CFA2B1D0A1B0CF9FAECD9BAAC994A3C28E9DBC8A99B8 -6C78926A769068748C6A768E6B778D6A768C667288626F8266708968728B68728B67718A -656F88646E87656F8867718A656F88656F88656F88646E87646E87646E87646E87646E87 -626E88626E88616D87616D87616D87616D87606C86606C865F6D875C6A845B69835C6A85 -5F6D885E6C875B69865765825866815C6A855F6D885C6A875866835966865F6C8C667393 -7B8CB87E8FBB8394C08899C58B9CC88C9DC98C9DC98B9CC88B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C1C8D0ADB5CCA8B2D6A5B2DCA3B3D4A5B6D0A3B2CFA6B3D6A4B3D4A4B3D4A4B3D4A4B3D4 -A4B3D4A4B3D4A4B3D4A4B3D4A3B2D1A1B0CF9CABCA92A1C08594B37685A4697897627190 -636F8764708865718965718764708665728566738668758867718A67718A667089667089 -656F88656F8866708967718A656F88656F88656F88646E87646E87646E87646E87636D86 -626E88616D87616D87616D87616D87606C86606C86606C865C6A845D6B855D6B855D6B86 -5C6A855B69845C6A875D6B885C6A845A6882586681576580576582576582566481546181 -5566925C6D99697AA67788B48293BF899AC68C9DC98D9ECA8B9EC98B9EC98B9EC98B9EC9 -8B9EC98B9EC98B9EC98B9EC98C9DC88B9DCF889DCA8AA0C58A9DC78E9BCF929CBFC0CDD3 -C1CDCDAAB5D1A5B2DEA0B3D39BAFC8A4B4D6A5B3D6A1AFCAA1AED0A5B2D4A6B3D5A3B0D2 -A2AFD1A2AFD19DAACC96A3C5818BA47A849D707A9367718A626C85636D8667718A6A748D -68728B67718A67718A67718A67718A667089667089667089657189657189657189657189 -647088647088647088647088636F89636F89636F89626E88626E88626E88626E88616D87 -616C88606B87606B87606B87606B875F6A865F6A865F6A865C6A875C6A875B69865B6986 -5B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5A688557658254627F54627F59678463718E6E7C997583A08D9CC38B9AC18A99C08C9BC4 -8F9EC791A0CB8F9EC98C9BC68B9AC38797CA8FA1D38A9DC7899AC88C97CD99A4C4C3CED0 -C2CECEAAB5D1A2AFDB9FB2D29FB3CCA3B3D5A2B0D3A5B3CEA5B2D2A4B1D19EABCB929FBF -8592B27A87A7727F9F6D7A9A6B758E69738C68728B66708966708968728B69738C6B758E -67718A67718A67718A67718A67718A667089667089667089657189657189657189647088 -647088647088647088636F87636F89636F89626E88626E88626E88626E88616D87616D87 -606B87606B87606B87606B87606B875F6A865F6A865F6A865C6A875B69865B69865B6986 -5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5B69865A68855967845866835967845B69865D6B885E6C895E6E906575976F7FA37989AD -8190B78796BD8B9AC18E9DC6909FC68A9ACB8D9FCF899CC68C9DCB8C97CD96A1C1C2CDCF -C3CFCFA9B4D09FACD89FB2D2A0B4CDA2B2D4A0AED1A6B4CFA0AEC88C9AB474829C66748E -62708A62708A62708A62708A636D86646E87656F8867718A68728B68728B67718A67718A -67718A67718A67718A667089667089667089667089667089647088647088647088647088 -647088636F87636F87636F87626E88626E88626E88626E88616D87616D87616D87616D87 -606B87606B87606B875F6A865F6A865F6A865F6A865F6A865B69865B69865B69865B6986 -5B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5967845967845A68855A6885596784586683566481556380546382566584576685586788 -5C6B8C69779A7C8AAD8A98BB90A0C48C9DCB8C9ECC889BC58FA0CE8D98CE929CBFC1CCCE -C4D0D0A6B1CDA0ADD99FB2D29DB1CAA2B2D4A0AED19CAAC57C889E6C788E5F6B815E6A80 -65718767738967738966728869738C68728B67718A67718A667089667089667089667089 -667089667089667089667089667089656F88656F88656F88647088647088647088636F87 -636F87636F87636F87636F87626E88626E88616D87616D87616D87616D87606C86606C86 -5F6A865F6A865F6A865F6A865F6A865E69855E69855E69855B69865B69865B69865B6986 -5A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885 -5A68855A68855967845967845967845A68855A68855B69865969835A6A84596983546380 -52617E566582606F8E6978978494B58B9CC88FA2CD879AC28FA0CE8E99CF919BBEC1CCD0 -C4D0D0A4AFCBA1AEDA9FB2D297ABC4A2B2D49EACCF8896B16370836471846976896D7A8D -6A778A637083626F8266738668728B67718A66708966708966708967718A68728B68728B -667089667089667089656F88656F88656F88656F88656F88636F87636F87636F87636F87 -636F87626E86626E86626E86616D87616D87616D87616D87606C86606C86606C86606C86 -5F6A865F6A865F6A865E69855E69855E69855E69855E69855B69865B69865B69865A6885 -5A68855A68855A68855967845A68855A68855A68855A68855A68855A68855A68855A6885 -5D6B885C6A875B69865A68855967845967845967845A68855967815B69835D6B855D6B86 -5B69845866815664815563806E7F9D8395BD91A4CE899DC28E9FCD8F9AD0949EC2C1CCD2 -C3CFCFA4AFCBA1AEDA9EB1D196AAC3A0B0D293A1C472809B69748A69748A69748A687389 -657086636E846570866A758B646E87646E87656F88667089667089656F88646E87646E87 -656F88656F88656F88656F88656F88646E87646E87646E87636F87636F87636F87626E86 -626E86626E86626E86626E86616D87616D87606C86606C86606C86606C865F6B855F6B85 -5E69855E69855E69855E69855E69855D68845D68845D68845B69865A68855A68855A6885 -5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5967845967845A68855A68855A68855967845765825765825A6882596781596781596782 -5B69845B69865A68855967845C6D877587AD8DA0C88A9EC18D9ECA8E99CF959FC3C2CDD3 -C2CECEA7B2CE9DAAD69BAECE9DB1CA9CACCE808EB162708B667089656F88646E87646E87 -67718A6A748D69738C656F88656F88656F88667089667089656F88646E87626C85616B84 -656F88656F88656F88646E87646E87646E87646E87646E87636F87626E86626E86626E86 -626E86616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85 -5E69855E69855E69855D68845D68845D68845D68845D68845A68855A68855A68855A6885 -5A68855967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5664815765825866835A68855A68855A68855967845967845765805866815A68835B6986 -5B69865B68885A678759668654667E65779B8296BB8B9FC28E9FCB8C97CD959FC3C3CDD6 -C1CDCDA9B4D099A6D298ABCBA4B8D199A9CB717FA25A6883646E8968728D69738E656F8A -636D88656F8A66708B656F8A667089656F88646E87646E87646E8766708967718A69738C -656F88656F88656F88646E87646E87646E87646E87636D86626E86626E86626E86626E86 -616D85616D85616D85616D85606C86606C86606C86606C865F6B855F6B855F6B855F6B85 -5E69855E69855E69855D68845D68845D68845D68845C67835A68855A68855A68855A6885 -5967845967845967845967845A68855A68855A68855A68855A68855A68855A68855A6885 -5D6B885C6A875A68855967845866835967845A68855B69865B66845D68865D68865C6787 -5964845963865C66895E688B54667C5A6D8E798DB28CA0C38FA0CC8A95CB939CC3C3CDD6 -C2C9DB9EA4C49EA6D4A0ABD99EAAD08B96B4666C8C6B6F95676F86676F86676F86676F86 -676F86676F86676F86676F86676E8A676E8A676E8A676E8A676E8A676E8A676E8A676E8A -666C8E666C8E666C8E666C8E666C8E656B8D656B8D656B8D646A8C646A8C646A8C63698B -63698B63698B63698B63698B62688C62688C61678B61678B61678B61678B61678B60668A -5D68865D68865D68865D68865D68865D68865D68865D68865B65885B65885B65885B6588 -5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588 -5B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B65885B6588 -5B65885B65885B65885B6588616A8B5C67856C7B9C909FCA929FD38A96C6919CBABECAD8 -C5CFD8A1ACC2A1ADD39FADD49CABCA8897AE646E87676E8B657086657086657086657086 -657086657086657086657086646E89646E89646E89646E89646E89646E89646E89646E89 -646E89636D88636D88636D88636D88626C87626C87626C87626C87626C87626C87616B86 -616B86616B86616B86616B86606A85606A85606A855F69845F69845F69845F69845E6883 -5A68825A68825A68825A68825A68825A68825A68825A6882596781596781596781596781 -596781596781596781596781596781596781596781596781596781596781596781596781 -596781596781596781596781596781596781596781596781596781596781596781596781 -59678159678159678159678159648056647E687993899BC18D9ECC8A99C291A0B7BDCCD3 -BFCDD09CACBC9CABCA97AACA94A8C08192A25F6F7F626D8362708A62708A62708A62708A -62708A62708A62708A62708A616F8A616F8A616F8A616F8A616F8A616F8A616F8A616F8A -617083617083606F82606F82606F82606F825F6E815F6E81606F825F6E815F6E815F6E81 -5F6E815E6D805E6D805E6D805E6D825E6D825D6C815D6C815D6C815D6C815C6B805C6B80 -5A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6A815A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F5A6B7F -5A6B7F5A6B7F5A6B7F5A6B7F59687F58687F677B93879BBC8C9FCA8B9DC393A4B8BBCDD1 -C2D1D89DACC19BABCD98AACE95A9C4788A9E5D6C81616D875F6D875F6D875F6D875F6D87 -5F6D875F6D875F6D875F6D875E6C875E6C875E6C875E6C875E6C875E6C875E6C875E6C87 -5D6C835D6C835D6C835D6C835D6C835C6B825C6B825C6B825C6B825C6B825B6A815B6A81 -5B6A815B6A815A69805A69805A68825A68825A68825A6882596781596781596781596781 -566582566582566582566582566582566582566582566582576780576780576780576780 -576780576780576780576780576780576780576780576780576780576780576780576780 -576780576780576780576780576780576780576780576780576780576780576780576780 -57678057678057678057678058668354647E6275938598C08C9ECE8B9CC893A3BDBCCDD5 -C1CFDC99A7C297A6CF97A8D396A9CA72839D5D6B86667191637289637289637289637289 -637289637289637289637289616F89616F89616F89616F89616F89616F89616F89616F89 -616F8C616F8C616F8C616F8C606E8B606E8B606E8B606E8B5F6D8A5E6C895E6C895E6C89 -5E6C895D6B885D6B885D6B885D6A8A5D6A8A5D6A8A5D6A8A5C69895C69895C69895C6989 -5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B688B5B68885B68885B68885B6888 -5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888 -5B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B68885B6888 -5B68885B68885B68885B68885E688C5461836171958495C38B9AD18997C88F9CBEBBC8D8 -C7D1DD9FA9C49BA7CF99A6D097A6C76E7C965E6883666C8C626D81626D81626D81626D81 -626D81626D81626D81626D81616C80616C80616C80616C80616C80616C80616C80616C80 -616A87616A87616A87616A876069866069866069866069865F68855F68855E67845E6784 -5E67845E67845D66835D66835E67865E67865D66855D66855D66855D66855C65845C6584 -5C65865C65865C65865C65865C65865C65865C65865C65865C65845C65845C65845C6584 -5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584 -5C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C65845C6584 -5C65845C65845C65845C65845F658557607D626F8F8592BC8F9BCD909BC998A1BEC2CCD8 -C1C9CBA2A9B99FA8C598A3C19AA6BC7884926E75857075896C73836C73836C73836C7383 -6C73836C73836C73836C73836B72826B72826B72826B72826B72826B72826B72826B7282 -6C73856C73856C73856B72846B72846B72846B72846B72846B72846B72846B72846B7284 -6A71836A71836A71836A71836A71846A71846A71846A7184697083697083697083697083 -697082697082697082697082697082697082697082697082697083697083697083697083 -697083697083697083697083697083697083697083697083697083697083697083697083 -697083697083697083697083697083697083697083697083697083697083697083697083 -697083697083697083697083696F7F676F7C6F7B8B8894AE8F99BC959EBD9BA3B0BAC3C0 -CFD5CBBBC3C6C5CCDEC4CFE1D6E3ECC9D3D5CBD3D6CED1DACFD5E3CFD5E3CFD5E3CFD5E3 -CFD5E3CFD5E3CFD5E3CFD5E3CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1CFD5E1 -CFD6DCCFD6DCCFD6DCCFD6DCCED5DBCED5DBCED5DBCED5DBD0D7DDD0D7DDD0D7DDCFD6DC -CFD6DCCFD6DCCFD6DCCFD6DCCFD6DECFD6DECFD6DECFD6DECED5DDCED5DDCED5DDCED5DD -D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D5D9D0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DDD0D4DD -D0D4DDD0D4DDD0D4DDD0D4DDD1D5D6CFD5D5CBD5D6CED8E2C6CEE3C5CCDCC0C6C4D1D8C6 - -end -%%PageTrailer -%%Trailer -%%EOF diff --git a/examples/jdoe_picture.jpg b/examples/jdoe_picture.jpg deleted file mode 100644 index ef48e69..0000000 Binary files a/examples/jdoe_picture.jpg and /dev/null differ diff --git a/examples/jdoe_publications.bib b/examples/jdoe_publications.bib deleted file mode 100644 index 3aaec5b..0000000 --- a/examples/jdoe_publications.bib +++ /dev/null @@ -1,48 +0,0 @@ -%% start of file `jdoe_publications.bib'. -%% Copyright 2006 Xavier Danaux. -% -% This work may be distributed and/or modified under the -% conditions of the LaTeX Project Public License version 1.3c, -% available at http://www.latex-project.org/lppl/. - - -@BOOK{Parkin2005, - author = {Scott Pakin}, - title = {The Comprehensive \LaTeX{} Symbol List}, - year = {2005}, -} - -@BOOK{Bird1987, - title = {Dynamics of polymeric liquids}, - publisher = {John Wiley \& Sons, New York}, - year = {1987}, - author = {R. Byron Bird and C. F. Curtiss and Robert C. Armstrong and Ole Hassager}, -} - -@ARTICLE{DesCloizeaux1988, - author = {J. Des~Cloizeaux}, - title = {Double reptation vs simple reptation in polymer melts}, - journal = {J.~Europhys.~Lett.}, - year = {1988}, - volume = {5}, - pages = {437-442}, -} - -@ARTICLE{deGennes1971, - author = {P. G. de~Gennes}, - title = {Reptation of a polymer chain in the presence of fixed obstacles}, - journal = {J. Chem. Phys}, - year = {1971}, - volume = {55}, - pages = {572-579}, -} - -@BOOK{Doi1986, - title = {The theory of polymer dynamics}, - publisher = {Oxford University Press}, - year = {1986}, - author = {Masao Doi and S. F. Edwards}, -} - - -%% end of file `jdoe_publications.bib'. \ No newline at end of file diff --git a/manual/moderncv_userguide.pdf b/manual/moderncv_userguide.pdf new file mode 100644 index 0000000..6c91c56 Binary files /dev/null and b/manual/moderncv_userguide.pdf differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex new file mode 100644 index 0000000..e8b982b --- /dev/null +++ b/manual/moderncv_userguide.tex @@ -0,0 +1,1099 @@ +%% moderncv_userguide.tex as shipped with 2026-01-31 v2.5.1 modern curriculum vitae and letter document class (moderncv) +%% 2021 David Seus (cryptointerest@posteo.de), 2021-2026 moderncv maintainers (github.com/moderncv). +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c, +% available at http://www.latex-project.org/lppl/. + +\documentclass[a4paper, 11pt]{article} + +\title{% + \texttt{moderncv} User Guide\\ + {\small Package v2.5.1}% +} +% Cristina Sambo, +\author{% + Package by Xavier Danaux\\ + and\\ + moderncv community\\ + {\small Documentation by David Seus}% +} +\date{2026-01-31} + +% Language and encoding options +\usepackage[english]{babel} +\usepackage{ifxetex, ifluatex} +\newif\ifxetexorluatex +\ifxetex + \xetexorluatextrue +\else + \ifluatex + \xetexorluatextrue + \else + \xetexorluatexfalse + \fi +\fi + +% PDFLaTeX or LUALaTeX/XeLaTeX +\ifxetexorluatex + % \usepackage{luatextra} + % \usepackage{lualatex-math} + \usepackage{shellesc} % Fix a bug for lualatex shellescape + % \usepackage{unicode-math} + % \setmathfont{xits-math.otf} +\else + \usepackage[utf8]{inputenx} % Uncomment if using pdflatex, comment if using lualatex +\fi +\PassOptionsToPackage{T1}{fontenc} % T2A for Cyrillic +\usepackage[T1]{fontenc} + +% Font options +\usepackage{txfonts} +\usepackage{marvosym} +\usepackage{pifont} + +% Margins, spacing and page layout +\usepackage[pdftex, colorlinks=true]{hyperref} % hyperref must be loaded before geometry +\usepackage[pdftex, marginparwidth=50pt]{geometry} +\geometry{top=2.5cm, bottom=3cm} +\usepackage{parskip} % Replace paragraph indentation with vertical spacing +\frenchspacing % Suppress additional space after a full stop +\renewcommand{\arraystretch}{1.1} + +% Packages +\usepackage{graphicx} +\usepackage{xcolor} +\usepackage[labelfont=sl, font=small, width=0.9\textwidth]{caption} +\usepackage{marvosym} +\usepackage{latexsym} +\usepackage{url} +\usepackage{scrhack} % Fix warnings when using KOMA with listings package +\usepackage{xspace} % Fix spacing after macros +\usepackage{mparhack} % Fix marginpar +\usepackage{microtype} +\usepackage{multicol} % Multicolumn text for long lists + +% Code listings +\usepackage{listings} +% \lstset{emph={trueIndex, root}, emphstyle=\color{BlueViolet}}% \underbar} % Special keywords +\lstset{% + language=[LaTeX]Tex, % C++, + morekeywords={PassOptionsToPackage, selectlanguage}, + keywordstyle=\color{cvblue}, % \bfseries, + basicstyle=\small\ttfamily, + % identifierstyle=\color{NavyBlue}, + commentstyle=\color{gray}\ttfamily, + stringstyle=\rmfamily, + numbers=none, % left, + numberstyle=\scriptsize, % \tiny + stepnumber=5, + numbersep=8pt, + showstringspaces=false, + breaklines=true, + % frameround=ftff, + % frame=single, + belowcaptionskip=0.75\baselineskip, + % frame=L, + emph={ + cvitem, cventry, cvdoubleentry, cvdoubleitem, cvtripleitem, cvlistitem, cvlistdoubleitem, cvcolumns, moderncvstyle, moderncvcolor, + cvskill, cvskilllegend, cvskillplainlegend, cvskillhead, cvskillentry, nopagenumbers, + name, born, address, email, link, social, phone, homepage, extrainfo, photo, quote, section, subsection, setlength, NewDocumentCommand, definecolor, colorlet, cvitemwithcomment, + recipient, subject, opening, closing, signature, enclosure + }, + emphstyle={\color{cvblue}}, + emph={[2] + familydefault, sfdefault, rmdefault, inputenc, moderncv, document, bibliographyitemlabel, + addresssymbol, mobilephonesymbol, fixedphonesymbol, faxphonesymbol, emailsymbol, homepagesymbol, linkedinsocialsymbol, + xingsocialsymbol, twittersocialsymbol, githubsocialsymbol, gitlabsocialsymbol, mastodonsocialsymbol, codebergsocialsymbol, discordsocialsymbol, twitchsocialsymbol, youtubesocialsymbol, tiktoksocialsymbol, instagramsocialsymbol, soundcloudsocialsymbol, steamsocialsymbol, xboxsocialsymbol, playstationsocialsymbol, battlenetsocialsymbol, simplexsocialsymbol, threemasocialsymbol, + stackoverflowsocialsymbol, bitbucketsocialsymbol, skypesocialsymbol, orcidsocialsymbol, researchgatesocialsymbol, arxivsocialsymbol, inspiresocialsymbol, + researcheridsocialsymbol, telegramsocialsymbol, whatsappsocialsymbol, signalsocialsymbol, matrixsocialsymbol, googlescholarsocialsymbol, cvstretchability, bornsymbol + }, + emphstyle={[2]\color{cvblue!60!cvgrey}\bfseries}, + literate={{é}{{\'e}}1}, +} + +% Hyperlinks +\usepackage{hyperref} +\hypersetup{ + unicode=true, + % draft, % Draft mode for printing (see below) + colorlinks=true, linktocpage=true, pdfstartpage=3, pdfstartview=FitV, + % colorlinks=false, linktocpage=false, pdfstartpage=3, pdfstartview=FitV, pdfborder={0 0 0}, % Black links (e.g., for printing) + breaklinks=true, pageanchor=true, + pdfpagemode=UseNone, + % pdfpagemode=UseOutlines, + plainpages=false, bookmarksnumbered, bookmarksopen=true, bookmarksopenlevel=1, + hypertexnames=true, pdfhighlight=/O, % nesting=true, frenchlinks, + urlcolor=cvblue, linkcolor=cvblue, citecolor=cvblue, % pagecolor=RoyalBlue, + % urlcolor=Black, linkcolor=Black, citecolor=Black, % pagecolor=Black, + % pdfborder={0 0 1}, % Width of PDF link border 0 0 1, 0 0 0 = colorlinks + % linkbordercolor=gray!15, + % citebordercolor=green!15, +} + +% Colors +\definecolor{cvblue}{rgb}{0.22, 0.45, 0.70} +\definecolor{cvgreen}{rgb}{0.35, 0.70, 0.30} +\definecolor{cvred}{rgb}{0.95, 0.20, 0.20} +\definecolor{cvorange}{rgb}{0.95, 0.55, 0.15} +\definecolor{cvgrey}{rgb}{0.75, 0.75, 0.75} +\definecolor{cvburgundy}{rgb}{0.596078, 0, 0} % burgundy: 139/255 (0.545098) or 152/255 (0.596078) +\definecolor{cvgrey}{rgb}{0.55, 0.55, 0.55} +\definecolor{cvpurple}{rgb}{0.50, 0.33, 0.80} + +% Macros +\newcommand{\todo}[1]{\marginpar{\raggedright \textcolor{red}{[\textbf{TODO:} #1]}}} +\newcommand{\todox}[1]{\textcolor{red}{[\textbf{TODO:} #1]}} +\newcommand{\note}{\paragraph{Note.}} +\newcommand{\code}[1]{\lstinline!#1!} +\newcommand{\moderncv}{\code{moderncv}} +\newcommand{\Moderncv}{\moderncv~} +\newcommand{\github}{GitHub} +\newcommand{\Github}{\github~} +\newcommand{\ctan}{CTAN} +\newcommand{\Ctan}{\ctan~} +\newcommand{\cvtemplate}{\code{template.tex}} +\newcommand{\Cvtemplate}{\cvtemplate~} +\newcommand{\Latex}{\LaTeX~} +\newcommand{\biblatex}{BibLaTeX} +\newcommand{\Biblatex}{\biblatex~} +\newcommand{\cvdoccolorbox}[1]{{\color{#1}\rule{4ex}{2ex}}} +\newcommand{\moderncvGithub}{\url{https://github.com/moderncv/moderncv}} +\newcommand{\moderncvCtan}{\url{https://ctan.org/pkg/moderncv}} + + + + + +% ================== +% DOCUMENT BEGINNING +% ================== +\begin{document} +\maketitle +\begin{abstract} + \noindent + The \Moderncv package provides a document class for typesetting modern curriculum vit\ae{} and cover letters in various styles. + Five predefined styles are available, each of which can be adjusted through various options for headings, footers and colors. + It is fairly customizable, allowing the user to adjust the look and feel of each style to their liking. + Several macros allow the user to add content to the CV and format it in a consistent way. + A letter of motivation consistent with the style is part of the template as well. +\end{abstract} +\tableofcontents + + + +\section{Getting started} +\subsection{How to read this manual} +This manual is organized as follows. +The current section explains on how to get started with the \Moderncv package, i.e. how to install required packages. +% \emph{Note that it is assumed that you know how to install \Latex packages in case some are missing.} +Section \ref{section:moderncvTemplate} explains how to work with the \Moderncv template file step by step. +Section \ref{section:customization} details the customizations that the user can make: the different styles, their options, colors and tips and tricks. +Section \ref{section:implementationDetails} details the packages that \Moderncv uses, known problems and possible solutions to those problems. + +\subsection{Installation instructions} +If the \Moderncv package does not ship with your \Latex distribution or if the installed version is too old, grab the \Moderncv code from \Ctan or \github: + +\begin{tabular}{l} + \moderncvCtan \\% [.5ex] + \moderncvGithub +\end{tabular} + +\note Depending on your \Latex distribution, you may have to install some additional packages. +Section \ref{section:implementationDetails:requiredPackages} lists all the packages that \Moderncv requires to be installed on your system. + + + +\section{The \texttt{moderncv} template step by step} +This section is a quick reference to the \Moderncv package and should contain enough information to typeset a first working CV. +\label{section:moderncvTemplate} +The easiest way to get started with \Moderncv is to use the template that comes with the package. +If \Moderncv is part of your \Latex distribution, search for the folder \Moderncv on your system, which should contain all the files for the package. +In this folder, there should be a file called \cvtemplate. +If you downloaded the package from \Github or \ctan, look for \Cvtemplate in the folder of the newly downloaded (and possibly extracted) package. + +\note If you downloaded \Moderncv from \Github or \Ctan and moved \Cvtemplate to another folder, make sure to adjust the \code{TEXINPUTS} variable to find the newly downloaded package. +Otherwise, either the package version provided by your \Latex distribution gets used or \Latex throws an error if there is no other version installed. + +Test your setup by compiling \Cvtemplate and looking at the result. + +\note The \Moderncv package should compile with \code{pdflatex}, \code{lualatex} and \code{xelatex}. +However, not all icons are available when using \code{pdflatex}, so using either \code{lualatex} or \code{xelatex} \emph{is highly recommended.} + +\subsection{Basic setup} +A document using the \Moderncv document class is set up like any other document class. +We will go through the template step by step. + +\subsubsection*{Configuring document class options} +The \Moderncv document class is loaded as per usual, by +\begin{lstlisting} + \documentclass[]{moderncv} +\end{lstlisting} +where at most one value for each option can be passed to the document class: + +\begin{tabular}{r@{\hspace{2ex}}p{0.55\textwidth}} + \textbf{\code{paper}:} & \code{a4paper} (default), \code{a5paper}, \code{b5paper}, \code{letterpaper}, + \code{legalpaper}, \code{executivepaper}, \code{landscape} \\ + \textbf{\code{font family}:} & \code{sans}, \code{roman} \\ + \textbf{\code{font size}:} & \code{10pt}, \code{11pt} (default), \code{12pt} \\ + \textbf{\code{draft/final}:} & \code{draft}, \code{final} (default) +\end{tabular} + +\subsubsection*{Choosing a \texttt{moderncv} style and color} +Choose a \Moderncv style and color by adjusting the commands (command order is important!): +\begin{lstlisting} + \moderncvcolor{} + \moderncvstyle{