doom

My literate doom emacs config
git clone https://github.com/michaelneuper/doom.git
Files | Log | Refs

commit e9db62f4721fd4eabc185200c69ba9af9f22dfbc
parent c12a3ca62538e5e1067d92a5764a628a958a6ca6
Author: michaelneuper <michael@michaelneuper.com>
Date:   Mon, 26 May 2025 13:37:40 +0200

docs changes

Diffstat:
Mconfig.org | 91+++++++++++++++++++++++++++++++++++++++++++------------------------------------
Aimages/dashboard.png | 0
Aimages/gruvbox-colorscheme.png | 0
Aimages/logo.svg | 239+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 289 insertions(+), 41 deletions(-)

diff --git a/config.org b/config.org @@ -53,12 +53,12 @@ Make emacs faster. (setq doom-localleader-key "SPC l" doom-localleader-alt-key "M-SPC l") #+end_src - -Some =which-key= adjustments copied from https://tecosaur.github.io/emacs-config/config.html#which-key. +Some =which-key= adjustments. #+begin_src emacs-lisp (setq which-key-idle-delay 0.5 which-key-allow-multiple-replacements t) +;; copied from https://tecosaur.github.io/emacs-config/config.html#which-key (after! which-key (pushnew! which-key-replacement-alist @@ -77,6 +77,8 @@ Some macOS specific settings. #+end_src ** Visual Enchancements *** Theme & Fonts +#+ATTR_ORG: :width 500 +[[file:images/gruvbox-colorscheme.png]] #+begin_src emacs-lisp (setq doom-theme 'doom-gruvbox) @@ -89,7 +91,8 @@ Some macOS specific settings. *** Lines Enable relative line numbers and make their slant normal (not italic). #+begin_src emacs-lisp -(setq display-line-numbers-type 'relative) ;; TODO change to 'visual in org-mode +;; FIXME incorrect numbers when org headings are folded +(setq display-line-numbers-type 'relative) (add-hook! display-line-numbers-mode (custom-set-faces! @@ -115,20 +118,22 @@ Start emacs in a 100x40 window. #+end_src Format the title. -Copied from [[https://hieuphay.com/doom-emacs-config/#some-good-defaults][https://hieuphay.com/doom-emacs-config/#some-good-defaults]]. -#+begin_src emacs-lisp -(setq frame-title-format - '("" - (:eval - (if (s-contains-p org-roam-directory (or buffer-file-name "")) - (replace-regexp-in-string - ".*/[0-9]*-?" "☰ " - (subst-char-in-string ?_ ? buffer-file-name)) - "%b")) - (:eval - (let ((project-name (projectile-project-name))) - (unless (string= "-" project-name) - (format (if (buffer-modified-p) " ◉ %s" " ● %s") project-name)))))) +#+begin_src emacs-lisp +;; copied from https://hieuphay.com/doom-emacs-config/#some-good-defaults +;; (setq frame-title-format +;; '("" +;; (:eval +;; (if (s-contains-p org-roam-directory (or buffer-file-name "")) +;; (replace-regexp-in-string +;; ".*/[0-9]*-?" "☰ " +;; (subst-char-in-string ?_ ? buffer-file-name)) +;; "%b")) +;; (:eval +;; (let ((project-name (projectile-project-name))) +;; (unless (string= "-" project-name) +;; (format (if (buffer-modified-p) " ◉ %s" " ● %s") project-name)))))) + +(setq frame-title-format nil) ; no title #+end_src * Doom Modules ** :completion @@ -188,7 +193,8 @@ Add keybindings for [[https:https://github.com/copilot-emacs/copilot.el][copilot #+end_src *** doom-dashboard Customise the dashboard. -Copied from [[https://discourse.doomemacs.org/t/how-to-change-your-splash-screen/57][https://discourse.doomemacs.org/t/how-to-change-your-splash-screen/57]]. +#+ATTR_ORG: :width 350 +[[file:images/dashboard.png]] #+begin_src emacs-lisp (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu) @@ -240,8 +246,8 @@ Customise the modeline according to [[https://github.com/seagle0128/doom-modelin #+end_src Change the filename showed in the modline in an =org-roam= buffer. -Modified from https://tecosaur.github.io/emacs-config/config.html#modeline-file-name. #+begin_src emacs-lisp +;; modified from https://tecosaur.github.io/emacs-config/config.html#modeline-file-name (defadvice! doom-modeline--buffer-file-name-roam-aware-a (orig-fun) :around #'doom-modeline-buffer-file-name ; takes no args (if (string-match-p (regexp-quote org-roam-directory) (or buffer-file-name "")) @@ -253,8 +259,8 @@ Modified from https://tecosaur.github.io/emacs-config/config.html#modeline-file- #+end_src Only show file encoding in modeline when it's not =LF UTF-8=. -Copied from https://tecosaur.github.io/emacs-config/config.html#file-encoding. #+begin_src emacs-lisp +;; copied from https://tecosaur.github.io/emacs-config/config.html#file-encoding (defun doom-modeline-conditional-buffer-encoding () "We expect the encoding to be LF UTF-8, so only show the modeline when this is not the case" (setq-local doom-modeline-buffer-encoding @@ -267,7 +273,6 @@ Copied from https://tecosaur.github.io/emacs-config/config.html#file-encoding. #+end_src *** zen Enable =mixed-pitch-mode= in org files and scale =doom-variable-pitch-font=. -Copied from [[https://discourse.doomemacs.org/t/cant-size-doom-variable-pitch-font/4572/2][https://discourse.doomemacs.org/t/cant-size-doom-variable-pitch-font/4572/2]]. #+begin_src emacs-lisp (add-hook! 'org-mode-hook #'mixed-pitch-mode) @@ -284,8 +289,8 @@ Copied from [[https://discourse.doomemacs.org/t/cant-size-doom-variable-pitch-fo #+end_src Reduce text indent in =org-mode= because of =mixed-pitch-mode=. -Copied from https://tecosaur.github.io/emacs-config/config.html#reduced-text-indent. #+begin_src emacs-lisp +;; copied from https://tecosaur.github.io/emacs-config/config.html#reduced-text-indent (defadvice! +org-indent--reduced-text-prefixes () :after #'org-indent--compute-prefixes (setq org-indent--text-line-prefixes @@ -340,8 +345,11 @@ Ensure [[https://github.com/alexluigit/dirvish/blob/main/docs/CUSTOMIZING.org#in ("g" "~/GitHub/" "GitHub") ("t" "~/.Trash/" "Trash") ("o" "~/OneDrive - Stellenbosch University/" "OneDrive") - ("n" "/scpx:NARGA:" "NARGA")))) ; `scp` ensures large files are transferred out of band via `scp` rather than encoded in the shell session - ; `x` ensures the session is opened with `/bin/sh -i` via `-o RemoteCommand` + ;; - `scp` ensures large files are transferred out of band + ;; via `scp` rather than encoded in the shell session. + ;; - `x` ensures the session is opened with `/bin/sh -i` + ;; via `-o RemoteCommand`. + ("n" "/scpx:NARGA:" "NARGA")))) (map! :leader :prefix "o" @@ -370,6 +378,18 @@ Set indentation level for =java-mode= to 2. (after! java-mode (setq c-basic-offset 2)) #+end_src +*** python +Requires [[doom-module::lang python +lsp][eglot]]. +*NOTE*: Requires =pyright= to be installed. +Install with ~npm install -g pyright~. +#+begin_src emacs-lisp +(after! eglot + (add-to-list 'eglot-server-programs '(python-mode . ("pyright-langserver" "--stdio")))) + +(add-hook! python-mode + (setq python-shell-interpreter "python3.12" + doom-modeline-env-python-executable "python3.12")) +#+end_src *** latex My CDLaTeX templates. #+begin_src emacs-lisp @@ -378,6 +398,7 @@ My CDLaTeX templates. :i "TAB" #'cdlatex-tab) (setq cdlatex-math-symbol-alist ; expand when prefixed with ` + ;; TODO change prefix key to something like ; '((?e ("\\varepsilon" "\\epsilon")) (?f ("\\varphi" "\\phi")) (?0 ("\\varnothing" "\\emptyset")) @@ -386,7 +407,6 @@ My CDLaTeX templates. (?| ("\\mid" "\\vert")) (?: ("\\coloneqq"))) cdlatex-math-modify-alist ; modify text with ' - ;; key mathcmd textcmd type rmdot it '((?b "\\mathbb" nil t nil nil) (?c "\\mathcal" nil t nil nil) (?f "\\mathbf" nil t nil nil) @@ -395,7 +415,6 @@ My CDLaTeX templates. (?s "\\mathsf" nil t nil nil) (?o "\\operatorname" nil t nil nil)) cdlatex-command-alist ; expand with <TAB> - ;; keyword docstring replace hook args textflag mathflag '(("eqn" "Insert an EQUATION* environment template" "" cdlatex-environment ("equation*") t nil) ("aln" "Insert an ALIGN* environment template" "" cdlatex-environment ("align*") t nil) ("sum" "Insert \\sum\\limits_{}^{}" "\\sum\\limits_{?}^{}" cdlatex-position-cursor nil nil t) @@ -407,7 +426,6 @@ My CDLaTeX templates. ("cb" "Insert {}^3" "{?}^3" cdlatex-position-cursor nil nil t) ("op" "Insert \\operatorname{}()" "\\operatorname{?}()" cdlatex-position-cursor nil nil t)))) #+end_src -*** TODO [[https://github.com/tecosaur/LaTeX-auto-activating-snippets][LaTeX Auto Activating Snippets]] *** org **** org-mode Set some org variables. @@ -416,8 +434,10 @@ Set some org variables. org-use-property-inheritance t ; fix weird issue with src blocks org-startup-with-inline-images t org-edit-src-content-indentation 0 - org-startup-with-latex-preview t org-highlight-latex-and-related '(native script)) + +;; FIXME blurry previews when using #+attr_org: :width +;; (setq org-image-actual-width (/ (display-pixel-width) 3)) ; set images to a third of the width of the screen #+end_src Some custom faces. @@ -606,6 +626,7 @@ Also https://gist.github.com/karthink/0ac48411a81459c0f3fd7557c4e817db. **** org-roam Set up =org-roam= and =org-roam-ui= along with their keybindings that have the [[kbd:][<leader> r]] prefix. #+begin_src emacs-lisp +;; TODO setup capture templates (use-package! org-roam :defer t :config @@ -629,7 +650,7 @@ Set up =org-roam= and =org-roam-ui= along with their keybindings that have the [ #'org-roam-reflinks-section #'org-roam-unlinked-references-section))) -;; custom functions for inserting nodes +;; custom org-roam functions (defun my/org-roam--after-point () "If in evil normal state and not at EOL, move one char forward." (when (and (bound-and-true-p evil-mode) @@ -681,15 +702,3 @@ Set up =org-roam= and =org-roam-ui= along with their keybindings that have the [ :desc "Open ORUI" "u" #'org-roam-ui-open)) #+end_src -*** python -Requires [[doom-module::lang python +lsp][eglot]]. -*NOTE*: Requires =pyright= to be installed. -Install with ~npm install -g pyright~. -#+begin_src emacs-lisp -(after! eglot - (add-to-list 'eglot-server-programs '(python-mode . ("pyright-langserver" "--stdio")))) - -(add-hook! python-mode - (setq python-shell-interpreter "python3.12" - doom-modeline-env-python-executable "python3.12")) -#+end_src diff --git a/images/dashboard.png b/images/dashboard.png Binary files differ. diff --git a/images/gruvbox-colorscheme.png b/images/gruvbox-colorscheme.png Binary files differ. diff --git a/images/logo.svg b/images/logo.svg @@ -0,0 +1,239 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://web.resource.org/cc/" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="svg6612" + sodipodi:version="0.32" + inkscape:version="0.45.1" + width="270" + height="217" + version="1.0" + sodipodi:docbase="/home/sphinx/images" + sodipodi:docname="Emacs-logo.svg" + inkscape:output_extension="org.inkscape.output.svg.inkscape"> + <metadata + id="metadata6617"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <cc:license + rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" /> + <dc:creator> + <cc:Agent> + <dc:title>Dmitry Dzhus</dc:title> + </cc:Agent> + </dc:creator> + <dc:date>2007-07</dc:date> + <dc:title>Emacs logo</dc:title> + <dc:subject> + <rdf:Bag> + <rdf:li>emacs</rdf:li> + <rdf:li>logo</rdf:li> + </rdf:Bag> + </dc:subject> + <dc:description>Emacs logo by Luis Fernandes was created in 2001. This is an SVG version created by hand from scratch in Inkscape.</dc:description> + <dc:language>en</dc:language> + </cc:Work> + <cc:License + rdf:about="http://creativecommons.org/licenses/GPL/2.0/"> + <cc:permits + rdf:resource="http://web.resource.org/cc/Reproduction" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/Distribution" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/Notice" /> + <cc:permits + rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/ShareAlike" /> + <cc:requires + rdf:resource="http://web.resource.org/cc/SourceCode" /> + </cc:License> + </rdf:RDF> + </metadata> + <defs + id="defs6615" /> + <sodipodi:namedview + inkscape:window-height="990" + inkscape:window-width="1276" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + guidetolerance="10.0" + gridtolerance="10.0" + objecttolerance="10.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" + inkscape:zoom="1.7926268" + inkscape:cx="227.95993" + inkscape:cy="149.03165" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:current-layer="svg6612" /> + <g + id="g2240" + style="fill:#000000;fill-opacity:1;stroke:none" + transform="translate(-4.7334344,4.3389815)"> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 176.57988,37.972907 C 174.9871,39.007967 168.87448,51.953525 168.7783,53.533221 C 180.64186,73.113933 202.57955,40.078784 206.55381,24.980764 C 206.55381,24.980764 196.17124,43.179003 186.77317,43.526939 C 175.75676,43.93479 178.17554,36.935973 176.57988,37.972907 z " + id="path2242" + sodipodi:nodetypes="cccsz" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 22.47173,15.758997 L 15.81003,32.485756 C 15.81003,32.485756 19.89052,42.218104 26.49069,42.838195 C 41.61737,44.259359 58.45245,15.619537 63.19409,15.758997 C 67.93574,15.898457 77.55353,23.422298 82.6657,33.922656 C 89.39535,20.759071 97.58642,14.911225 111.16839,24.667015 C 119.07042,30.342966 135.58934,52.795226 145.47559,53.901349 C 156.18021,55.099037 165.37798,44.912817 169.81138,26.288239 C 163.67513,34.237468 161.1768,37.806706 155.0286,38.212082 C 148.68317,38.630462 149.241,39.885604 127.06684,16.874679 C 104.89268,-6.1362469 94.43317,4.8811053 87.87854,14.643316 C 86.41421,13.039524 78.99699,1.01863 70.05858,1.1156811 C 63.72511,1.1844483 53.17415,16.174161 46.86414,21.616488 C 40.30897,27.270272 36.37856,28.267647 33.99471,28.294944 C 30.30074,28.339067 25.84923,26.450798 22.47173,15.758997 z " + id="path2244" + sodipodi:nodetypes="ccsscsscsscsssc" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 76.60517,33.616604 C 59.9071,53.934058 59.23819,54.418087 50.46092,68.860929 C 41.68365,83.303771 39.35397,92.905012 43.4733,96.486252 C 47.62389,100.09467 55.01913,100.29382 64.07871,93.597586 C 76.68602,83.936084 93.51416,70.148169 98.13382,58.409876 C 99.33455,55.358876 77.4725,76.054153 68.69926,81.186233 C 63.43563,84.265304 56.36004,85.075126 52.55923,81.397725 C 44.80291,73.893236 79.52343,36.77475 76.60517,33.616604 z " + id="path2246" + sodipodi:nodetypes="csscsssc" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 101.40617,64.709511 C 101.3713,63.070854 109.84351,50.554306 111.30784,50.066195 C 132.55351,64.354287 121.48844,101.10862 114.51543,104.3162 C 114.51543,104.3162 115.7357,88.557199 112.56298,78.655527 C 109.39026,68.753854 101.4411,66.351131 101.40617,64.709511 z " + id="path2248" + sodipodi:nodetypes="cccsz" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 212.01995,32.790058 C 210.0143,24.25611 219.12924,1.1854142 230.75546,1.1854142 C 259.78347,1.1854142 245.6869,47.473559 240.02956,64.570053 C 226.22301,100.34158 217.47477,153.8249 216.87918,158.42673 C 216.15214,164.0442 207.47903,179.09487 211.85861,154.24293 C 216.23819,129.39099 224.1069,100.38994 233.56074,66.549824 C 238.51906,48.801431 244.54954,17.14762 227.7868,17.100791 C 219.23545,16.991458 219.72047,23.025811 212.01995,32.790058 z " + id="path2250" + sodipodi:nodetypes="cscssscc" /> + </g> + <g + id="g2233" + style="stroke:none"> + <path + sodipodi:nodetypes="cccsz" + id="path9706" + d="M 176.57988,37.972907 C 174.9871,39.007967 168.87448,51.953525 168.7783,53.533221 C 180.64186,73.113933 202.57955,40.078784 206.55381,24.980764 C 206.55381,24.980764 196.17124,43.179003 186.77317,43.526939 C 175.75676,43.93479 178.17554,36.935973 176.57988,37.972907 z " + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + sodipodi:nodetypes="ccsscsscsscsssc" + id="path7673" + d="M 22.47173,15.758997 L 15.81003,32.485756 C 15.81003,32.485756 19.89052,42.218104 26.49069,42.838195 C 41.61737,44.259359 58.45245,15.619537 63.19409,15.758997 C 67.93574,15.898457 77.55353,23.422298 82.6657,33.922656 C 89.39535,20.759071 97.58642,14.911225 111.16839,24.667015 C 119.07042,30.342966 135.58934,52.795226 145.47559,53.901349 C 156.18021,55.099037 165.37798,44.912817 169.81138,26.288239 C 163.67513,34.237468 161.1768,37.806706 155.0286,38.212082 C 148.68317,38.630462 149.241,39.885604 127.06684,16.874679 C 104.89268,-6.1362469 94.43317,4.8811053 87.87854,14.643316 C 86.41421,13.039524 78.99699,1.01863 70.05858,1.1156811 C 63.72511,1.1844483 53.17415,16.174161 46.86414,21.616488 C 40.30897,27.270272 36.37856,28.267647 33.99471,28.294944 C 30.30074,28.339067 25.84923,26.450798 22.47173,15.758997 z " + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + sodipodi:nodetypes="csscsssc" + id="path8693" + d="M 76.60517,33.616604 C 59.9071,53.934058 59.23819,54.418087 50.46092,68.860929 C 41.68365,83.303771 39.35397,92.905012 43.4733,96.486252 C 47.62389,100.09467 55.01913,100.29382 64.07871,93.597586 C 76.68602,83.936084 93.51416,70.148169 98.13382,58.409876 C 99.33455,55.358876 77.4725,76.054153 68.69926,81.186233 C 63.43563,84.265304 56.36004,85.075126 52.55923,81.397725 C 44.80291,73.893236 79.52343,36.77475 76.60517,33.616604 z " + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccsz" + id="path9704" + d="M 101.40617,64.709511 C 101.3713,63.070854 109.84351,50.554306 111.30784,50.066195 C 132.55351,64.354287 121.48844,101.10862 114.51543,104.3162 C 114.51543,104.3162 115.7357,88.557199 112.56298,78.655527 C 109.39026,68.753854 101.4411,66.351131 101.40617,64.709511 z " + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cscssscc" + id="path2171" + d="M 212.01995,32.790058 C 210.0143,24.25611 219.12924,1.1854142 230.75546,1.1854142 C 259.78347,1.1854142 245.6869,47.473559 240.02956,64.570053 C 226.22301,100.34158 217.47477,153.8249 216.87918,158.42673 C 216.15214,164.0442 207.47903,179.09487 211.85861,154.24293 C 216.23819,129.39099 224.1069,100.38994 233.56074,66.549824 C 238.51906,48.801431 244.54954,17.14762 227.7868,17.100791 C 219.23545,16.991458 219.72047,23.025811 212.01995,32.790058 z " + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + </g> + <g + style="fill:#000000;fill-opacity:1;stroke:none" + id="g2256" + transform="translate(0.8166413,4.3944529)"> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 79.886738,152.50463 C 67.822172,155.61715 50.502331,192.18769 49.743523,198.14195 C 52.532726,198.83925 111.02019,130.19512 80.295208,193.81167 C 102.57324,174.95912 124.9556,141.04167 107.8027,183.94795 C 103.74903,194.08781 123.59559,194.09426 142.96938,172.96563 C 137.88975,176.22186 112.22868,191.62171 126.35499,159.60889 C 133.77483,142.79418 109.21923,159.41447 102.3683,165.83729 C 103.80096,159.33343 108.94433,147.78354 100.61675,150.98227 C 92.289176,154.181 83.310373,160.6892 67.937825,175.11509 C 76.765795,160.89643 77.224181,159.40756 79.886738,152.50463 z " + id="path2258" + sodipodi:nodetypes="cccscscscc" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 248.85492,188.50638 C 263.21933,186.53398 284.36437,164.67209 255.21207,163.30784 C 223.17817,161.81588 262.88238,150.47751 262.88238,150.47751 C 245.58932,149.36183 214.14946,168.68613 239.80172,165.74839 C 265.63062,162.76646 265.93049,186.17596 239.24388,186.14445 C 235.50916,186.14004 236.66387,182.41388 236.66387,182.41388 L 225.77752,187.22526 C 236.0826,190.18366 240.70876,189.62494 248.85492,188.50638 z " + id="path2260" + sodipodi:nodetypes="cscssccs" /> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 35.422878,148.66454 C 20.150885,157.04591 -6.2772909,190.95274 6.2647537,199.01662 C 17.984924,206.55208 68.941642,170.29445 77.667057,153.75538 C 4.3035383,211.52619 14.065561,174.90254 27.008448,162.02628 C 35.805465,151.30801 64.004057,143.68513 71.481066,128.52052 C 32.789119,149.29474 30.405114,131.50519 62.642197,110.82103 C 68.569623,107.02504 107.74937,89.042889 77.768775,114.28261 C 95.502651,106.02716 110.52675,93.267855 98.941531,90.767173 C 83.884151,87.517022 60.202847,105.92694 48.092626,115.80927 C 40.969928,121.62162 11.868522,145.38354 35.422878,148.66454 z " + id="path2262" + sodipodi:nodetypes="cscccscssc" /> + <g + style="fill:#000000;fill-opacity:1;stroke:none" + id="g2264"> + <path + sodipodi:nodetypes="ccc" + id="path2266" + d="M 153.52386,181.54504 C 114.3973,212.57672 133.43947,164.59338 180.00502,149.95001 C 144.43247,174.12306 139.76476,184.61018 153.52386,181.54504 z " + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="ccc" + id="path2268" + d="M 196.30981,176.96638 C 156.1373,209.46239 150.29865,172.10195 184.30492,155.10468 C 167.14111,181.92747 183.59666,177.6607 196.30981,176.96638 z " + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <path + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 229.3687,178.97034 C 185.57023,211.04797 178.47643,161.27557 237.30661,150.27509 C 188.34589,179.18978 219.44475,183.56954 229.3687,178.97034 z " + id="path2270" + sodipodi:nodetypes="ccc" /> + </g> + <g + id="g2201" + style="fill:#2076c1;fill-opacity:1;stroke:none"> + <path + sodipodi:nodetypes="cccscscscc" + id="path2173" + d="M 79.886738,152.50463 C 67.822172,155.61715 50.502331,192.18769 49.743523,198.14195 C 52.532726,198.83925 111.02019,130.19512 80.295208,193.81167 C 102.57324,174.95912 124.9556,141.04167 107.8027,183.94795 C 103.74903,194.08781 123.59559,194.09426 142.96938,172.96563 C 137.88975,176.22186 112.22868,191.62171 126.35499,159.60889 C 133.77483,142.79418 109.21923,159.41447 102.3683,165.83729 C 103.80096,159.33343 108.94433,147.78354 100.61675,150.98227 C 92.289176,154.181 83.310373,160.6892 67.937825,175.11509 C 76.765795,160.89643 77.224181,159.40756 79.886738,152.50463 z " + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" /> + <path + sodipodi:nodetypes="cscssccs" + id="path2183" + d="M 248.85492,188.50638 C 263.21933,186.53398 284.36437,164.67209 255.21207,163.30784 C 223.17817,161.81588 262.88238,150.47751 262.88238,150.47751 C 245.58932,149.36183 214.14946,168.68613 239.80172,165.74839 C 265.63062,162.76646 265.93049,186.17596 239.24388,186.14445 C 235.50916,186.14004 236.66387,182.41388 236.66387,182.41388 L 225.77752,187.22526 C 236.0826,190.18366 240.70876,189.62494 248.85492,188.50638 z " + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" /> + <path + sodipodi:nodetypes="cscccscssc" + id="path6069" + d="M 35.422878,148.66454 C 20.150885,157.04591 -6.2772909,190.95274 6.2647537,199.01662 C 17.984924,206.55208 68.941642,170.29445 77.667057,153.75538 C 4.3035383,211.52619 14.065561,174.90254 27.008448,162.02628 C 35.805465,151.30801 64.004057,143.68513 71.481066,128.52052 C 32.789119,149.29474 30.405114,131.50519 62.642197,110.82103 C 68.569623,107.02504 107.74937,89.042889 77.768775,114.28261 C 95.502651,106.02716 110.52675,93.267855 98.941531,90.767173 C 83.884151,87.517022 60.202847,105.92694 48.092626,115.80927 C 40.969928,121.62162 11.868522,145.38354 35.422878,148.66454 z " + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" /> + <g + id="g2188" + style="fill:#2076c1;fill-opacity:1;stroke:none"> + <path + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" + d="M 153.52386,181.54504 C 114.3973,212.57672 133.43947,164.59338 180.00502,149.95001 C 144.43247,174.12306 139.76476,184.61018 153.52386,181.54504 z " + id="path2175" + sodipodi:nodetypes="ccc" /> + <path + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" + d="M 196.30981,176.96638 C 156.1373,209.46239 150.29865,172.10195 184.30492,155.10468 C 167.14111,181.92747 183.59666,177.6607 196.30981,176.96638 z " + id="path2177" + sodipodi:nodetypes="ccc" /> + </g> + <path + sodipodi:nodetypes="ccc" + id="path2179" + d="M 229.3687,178.97034 C 185.57023,211.04797 178.47643,161.27557 237.30661,150.27509 C 188.34589,179.18978 219.44475,183.56954 229.3687,178.97034 z " + style="fill:#2076c1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1" /> + </g> + <path + sodipodi:nodetypes="cscsss" + id="path2252" + d="M 124.1858,189.83823 C 119.19632,187.34349 148.26509,119.15484 152.29057,142.10943 C 154.09525,152.40027 170.73124,123.57014 170.73124,123.57014 C 170.73124,123.57014 183.79749,99.804357 184.43848,101.87524 C 187.48343,111.71277 149.00775,175.41789 146.27516,159.36674 C 143.51342,143.14437 124.77748,190.13407 124.1858,189.83823 z " + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 127.36915,186.62713 C 122.37967,184.13239 151.44844,115.94374 155.47392,138.89833 C 157.2786,149.18917 173.91459,120.35904 173.91459,120.35904 C 173.91459,120.35904 186.98084,96.593259 187.62183,98.664137 C 190.66678,108.50167 152.1911,172.20679 149.45851,156.15564 C 146.69677,139.93327 127.96083,186.92297 127.36915,186.62713 z " + id="path3158" + sodipodi:nodetypes="cscsss" /> + <path + sodipodi:nodetypes="cscsc" + id="path2254" + d="M 56.312166,214.04162 C 56.312166,214.04162 56.065636,199.44685 80.768246,168.4823 C 100.68005,143.52298 123.7636,107.53934 123.7636,107.53934 C 123.7636,107.53934 119.97892,126.52044 103.15975,148.19092 C 83.527796,173.4855 56.312166,214.04162 56.312166,214.04162 z " + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> + <path + style="fill:#c64e3b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 59.52326,215.22497 C 59.52326,215.22497 59.27673,200.6302 83.97934,169.66565 C 103.89115,144.70633 126.9747,108.72269 126.9747,108.72269 C 126.9747,108.72269 123.19002,127.70379 106.37085,149.37427 C 86.73889,174.66885 59.52326,215.22497 59.52326,215.22497 z " + id="path4129" + sodipodi:nodetypes="cscsc" /> +</svg>