diff --git a/.codespellrc b/.codespellrc deleted file mode 100644 index 89950d6..0000000 --- a/.codespellrc +++ /dev/null @@ -1,7 +0,0 @@ -[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 deleted file mode 100644 index dfec81a..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -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 deleted file mode 100644 index bbcbbe7..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -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 deleted file mode 100644 index 8d320f4..0000000 --- a/.github/workflows/build-pdf.yml +++ /dev/null @@ -1,48 +0,0 @@ -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 deleted file mode 100644 index 665b93c..0000000 --- a/.github/workflows/build-userguide-pdf.yml +++ /dev/null @@ -1,55 +0,0 @@ -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 deleted file mode 100644 index b026c85..0000000 --- a/.github/workflows/codespell.yml +++ /dev/null @@ -1,25 +0,0 @@ -# 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 deleted file mode 100644 index 2e83ea9..0000000 --- a/.gitignore +++ /dev/null @@ -1,18 +0,0 @@ -# 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 f950fc9..8869f5b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,423 +1,31 @@ -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 +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 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 \refname. -- Added the \today command, useful for example if one needs to add the date the - resume was produced with: + 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 \closesection{} \vfill{\hfill{\scriptsize Produced \today.}} at the end of your CV, as suggested by F. Hammann. -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.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.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 +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 to any width, for people needing a smaller or larger one. To do that, either use \sethintscolumnlength{}, @@ -426,32 +34,33 @@ version 0.3.0 (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 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. + - 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. -version 0.2.0 (6 March 2006) -- Rewrite of the code to have the styles (fonts, colours, headers and footers) +version 0.2 (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 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 + 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 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 - purposes. 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 purpose. For compatibility reasons, the command \cvresume still + works, but should be avoided. -version 0.1.0 (1 March 2006) -- First release. +version 0.1 (1 March 2006) + - first release. diff --git a/KNOWN_BUGS b/KNOWN_BUGS index 25ef872..b78d7a6 100644 --- a/KNOWN_BUGS +++ b/KNOWN_BUGS @@ -1,12 +1,5 @@ -- 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. +- 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. diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index f8b699e..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,415 +0,0 @@ -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 new file mode 100644 index 0000000..ea86341 --- /dev/null +++ b/README @@ -0,0 +1,29 @@ +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 deleted file mode 100644 index 19ff062..0000000 --- a/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# 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 deleted file mode 100755 index 1550249..0000000 --- a/create-release-tarball.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/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 new file mode 100644 index 0000000..89c83ca Binary files /dev/null and b/examples/jdoe_casual.pdf differ diff --git a/examples/jdoe_casual.tex b/examples/jdoe_casual.tex new file mode 100644 index 0000000..397b324 --- /dev/null +++ b/examples/jdoe_casual.tex @@ -0,0 +1,112 @@ +%% 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 new file mode 100644 index 0000000..2b5640c Binary files /dev/null and b/examples/jdoe_classic.pdf differ diff --git a/examples/jdoe_classic.tex b/examples/jdoe_classic.tex new file mode 100644 index 0000000..48edefe --- /dev/null +++ b/examples/jdoe_classic.tex @@ -0,0 +1,112 @@ +%% 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 new file mode 100644 index 0000000..67696dd --- /dev/null +++ b/examples/jdoe_picture.eps @@ -0,0 +1,1047 @@ +%!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 new file mode 100644 index 0000000..ef48e69 Binary files /dev/null and b/examples/jdoe_picture.jpg differ diff --git a/examples/jdoe_publications.bib b/examples/jdoe_publications.bib new file mode 100644 index 0000000..3aaec5b --- /dev/null +++ b/examples/jdoe_publications.bib @@ -0,0 +1,48 @@ +%% 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 deleted file mode 100644 index 6c91c56..0000000 Binary files a/manual/moderncv_userguide.pdf and /dev/null differ diff --git a/manual/moderncv_userguide.tex b/manual/moderncv_userguide.tex deleted file mode 100644 index e8b982b..0000000 --- a/manual/moderncv_userguide.tex +++ /dev/null @@ -1,1099 +0,0 @@ -%% 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{