From 99bf5de8d2cc87075906dbee3918d1210f18ccd6 Mon Sep 17 00:00:00 2001 From: Curt Spark Date: Mon, 1 Mar 2021 22:25:36 +0000 Subject: [PATCH] initial EXWM config --- agenda.org | 0 bookmarks | 10 + config.org | 631 +++++++++++++++++++++++++++++++++++++++ dashboard.png | Bin 0 -> 27572 bytes init.el | 86 ++++++ projectile-bookmarks.eld | 1 + 6 files changed, 728 insertions(+) create mode 100644 agenda.org create mode 100644 bookmarks create mode 100644 config.org create mode 100644 dashboard.png create mode 100644 init.el create mode 100644 projectile-bookmarks.eld diff --git a/agenda.org b/agenda.org new file mode 100644 index 0000000..e69de29 diff --git a/bookmarks b/bookmarks new file mode 100644 index 0000000..8c67a49 --- /dev/null +++ b/bookmarks @@ -0,0 +1,10 @@ +;;;; Emacs Bookmark Format Version 1 ;;;; -*- coding: utf-8-emacs -*- +;;; This format is meant to be slightly human-readable; +;;; nevertheless, you probably don't want to edit it. +;;; -*- End Of Bookmark File Format Version Stamp -*- +(("Schoolwork" + (filename . "~/Documents/Schoolwork/") + (front-context-string . "English\n drwxr-") + (rear-context-string . "96 Apr 11 05:07 ") + (position . 246)) +) \ No newline at end of file diff --git a/config.org b/config.org new file mode 100644 index 0000000..4110faa --- /dev/null +++ b/config.org @@ -0,0 +1,631 @@ +* Bloxie's Emacs Configuration +** By Curt Spark / Bloxiebird. + +* Introduction +Welcome to my Emacs configuration! + +[[./dashboard.png]] + +This configuration is inspired by : + +`https://github.com/munen/emacs.d` + +And also loosely inspired by : + +`https://github.com/daedreth/UncleDavesEmacs/blob/master/config.org` + +With help from his fantastic Emacs tutorial series : + +`https://www.youtube.com/playlist?list=PLX2044Ew-UVVv31a0-Qn3dA6Sd_-NyA1n` + +This configuration is much more barebones and suited for someone just +doing some writing or editing, which is exactly my use case. It does +however copy over the useful functionalities (In my personal +preference) As this is a simple literate configuration, not a large +actively maintained distribution like Spacemacs or Doom Emacs, feel +free to do whatever you want with the configuration. I've tried to +document what every package does, what the code does briefly for +beginners to Emacs or literate configurations. + +* Config +** Appearance +*** Remove Tool Bar +Remove the Tool bar at the top for more room. +Set mode to false: +#+BEGIN_SRC emacs-lisp + (tool-bar-mode -1) +#+END_SRC +*** Remove Menu Bar +Remove the Menu Bar at the top for more room. +Set mode to false: +#+BEGIN_SRC emacs-lisp + (menu-bar-mode -1) +#+END_SRC +*** Remove Scroll Bar +Remove the Scroll Bar at the side for more room. +Set mode to false: +#+BEGIN_SRC emacs-lisp + (scroll-bar-mode -1) +#+END_SRC +*** Display Line Numbers +Display line numbers for all Programming Modes. +Add hook to enable display-line-numbers-mode on all programming major modes: +#+BEGIN_SRC emacs-lisp + (add-hook 'prog-mode-hook 'display-line-numbers-mode) +#+END_SRC +*** Modern Fringes +Modern Fringes is a package that makes the side fringes of Emacs much more cleaner and modern. +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package modern-fringes + :ensure t + :init + (modern-fringes-invert-arrows)) +#+END_SRC +*** Theming +The theme for Emacs. +Install and set the theme, ensuring that it is always installed: +Old theme for if you'd like to follow Xresources ++BEGIN_SRC emacs-lisp + (use-package xresources-theme + :ensure t + :init + (load-theme 'xresources t)) ++END_SRC + +#+BEGIN_SRC emacs-lisp + (use-package doom-themes + :ensure t + :config + ;; Global settings (defaults) + (setq doom-themes-enable-bold t ; if nil, bold is universally disabled + doom-themes-enable-italic t) ; if nil, italics is universally disabled + + (load-theme 'doom-gruvbox t) + + ;; Enable flashing mode-line on errors + (doom-themes-visual-bell-config) + + ;; Enable custom neotree theme (all-the-icons must be installed!) + (doom-themes-neotree-config) + ;; or for treemacs users + (setq doom-themes-treemacs-theme "doom-colors") ; use the colorful treemacs theme + (doom-themes-treemacs-config) + + ;; Corrects (and improves) org-mode's native fontification. + (doom-themes-org-config)) +#+END_SRC +*** All The Icons +All The Icons is a package to display cool icons within Emacs. +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package all-the-icons + :ensure t) +#+END_SRC + +All The Icons Support for Ivy/Counsel. Which are autocompletion tools in emacs +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package all-the-icons-ivy + :ensure t + :init + (all-the-icons-ivy-setup)) +#+END_SRC +*** Emacs Dashboard +A startup dashboard for Emacs, replacing the boring old one. +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package dashboard + :ensure t + :config + (dashboard-setup-startup-hook)) + + (setq initial-buffer-choice (lambda () (get-buffer "*dashboard*"))) +#+END_SRC + +**** Emacs Dashboard Configuration +#+BEGIN_SRC emacs-lisp + ;; Set the title + (setq dashboard-banner-logo-title "Welcome to Bloxie's Emacs!") + ;; Set the banner + (setq dashboard-startup-banner 'logo) + ;; Value can be + ;; 'official which displays the official emacs logo + ;; 'logo which displays an alternative emacs logo + ;; 1, 2 or 3 which displays one of the text banners + ;; "path/to/your/image.png" which displays whatever image you would prefer + + ;; Content is not centered by default. To center, set + (setq dashboard-center-content t) + + ;; To disable shortcut "jump" indicators for each section, set + (setq dashboard-show-shortcuts nil) + + ;;To customize which widgets are displayed, you can use the following snippet + + (setq dashboard-items '((recents . 5) + (bookmarks . 5) + (projects . 5) + (agenda . 5) + (registers . 5))) + + ;; To show agenda for the upcoming seven days set the variable show-week-agenda-p to t. + + ;; (setq show-week-agenda-p t) + + ;; Note that setting list-size for the agenda list is intentionally ignored; all agenda items for the current day will be displayed. + + + ;; To customize which categories from the agenda items should be visible in the dashboard set the dashboard-org-agenda-categories to the list of categories you need. + + ;; (setq dashboard-org-agenda-categories '("Tasks" "Appointments")) + + ;; To add icons to the widget headings and their items: + (setq dashboard-set-heading-icons t) + (setq dashboard-set-file-icons t) + + ;; To show navigator below the banner: + (setq dashboard-set-navigator t) + + ;; To customize the buttons of the navigator like this: + ;; Format: "(icon title help action face prefix suffix)" + (setq dashboard-navigator-buttons + `(;; line1 + ((,(all-the-icons-octicon "mark-github" :height 1.1 :v-adjust 0.0) + "Homepage" + "Browse homepage" + (lambda (&rest _) (browse-url "https://gitlab.com/bloxiebird/linux-emacs-configuration"))) + ("★" "Star" "Show stars" (lambda (&rest _) (show-stars)) warning) + ("?" "" "?/h" #'show-help nil "<" ">")) + )) +#+END_SRC +** Custom +*** Auto Popup frame Mode +A mode that is similiar in functionality to pop-up-frame, however much more granular in control and toggleable as it is mode. Will stop duplicate windows from creating new frames etc. + +Using simpler solution instead: ++BEGIN_SRC emacs-lisp + (setq pop-up-frames t) ++END_SRC + ++BEGIN_SRC emacs-lisp + (defun which-active-modes () + "Which minor modes are enabled in the current buffer." + (let ((active-modes)) + (mapc (lambda (mode) (condition-case nil + (if (and (symbolp mode) (symbol-value mode)) + (add-to-list 'active-modes mode)) + (error nil) )) + minor-mode-list) + active-modes)) + + (defun pop-up-frames-switch-to-buffer (buffer alist) + "Auto Pop up frames switch to buffer command." + (member 'pop-up-frames-mode (which-active-modes))) + + (setq display-buffer-alist + (append display-buffer-alist + '((pop-up-frames-switch-to-buffer . ((display-buffer-reuse-window display-buffer-pop-up-frame) . ((reusable-frames . 0))) + )))) + + (define-minor-mode pop-up-frames-mode + "Pop up frames minor mode" + :lighter " PUF") + + (provide 'pop-up-frames-mode) ++END_SRC +*** Resizing Buffers +These are controls to resize the width and height of windows. +Set keys: +#+BEGIN_SRC emacs-lisp + (global-set-key (kbd "") 'shrink-window) + (global-set-key (kbd "") 'enlarge-window) + (global-set-key (kbd "") 'shrink-window-horizontally) + (global-set-key (kbd "") 'enlarge-window-horizontally) +#+END_SRC +*** Split and Follow Buffer +When splitting a window vertically or horizontally, make sure the mouse and focus follows that new window. +#+BEGIN_SRC emacs-lisp + (defun split-and-follow-horizontally () + (interactive) + (split-window-below) + (balance-windows) + (other-window 1)) + (global-set-key (kbd "C-x 2") 'split-and-follow-horizontally) + + (defun split-and-follow-vertically () + (interactive) + (split-window-right) + (balance-windows) + (other-window 1)) + (global-set-key (kbd "C-x 3") 'split-and-follow-vertically) +#+END_SRC +** Autosave +Default Emacs will store backup and "temporary" files in the edited files directory, instead this changes it to move it to the UNIX Temporary Directory. +Set backup/temporary file directories: +#+BEGIN_SRC emacs-lisp + (setq backup-directory-alist + `((".*" . ,temporary-file-directory))) + (setq auto-save-file-name-transforms + `((".*" ,temporary-file-directory t))) +#+END_SRC +** Wind Move +Windmove is built into Emacs. It lets you move point from window to window using Shift and the arrow keys. This is easier to type than ‘C-x o’ when there are multiple windows open. +Enable Wind Move: +#+BEGIN_SRC emacs-lisp + (when (fboundp 'windmove-default-keybindings) + (windmove-default-keybindings)) +#+END_SRC +** Global Revert Mode +Global Revert Mode is a minor mode that automatically refreshes opened buffers when an external tool has changed their data. +Enable Global Revert Mode: +#+BEGIN_SRC emacs-lisp + (global-auto-revert-mode t) +#+END_SRC +** Rainbow Delimiters +This Minor Mode will mark pairs of brackets with colours. +Install the package, enable it and ensure that it always is installed. +#+BEGIN_SRC emacs-lisp + (use-package rainbow-delimiters + :ensure t) +#+END_SRC + +Set Minor Mode as Global : +#+BEGIN_SRC emacs-lisp + (define-globalized-minor-mode global-rainbow-delimiters-mode rainbow-delimiters-mode + (lambda () (rainbow-delimiters-mode 1))) + + (global-rainbow-delimiters-mode 1) +#+END_SRC +** Rainbow Mode +This Minor Mode will highlight RGB/HEX values with their respective colours. +Install the package, enable it and ensure that it always is installed. +#+BEGIN_SRC emacs-lisp + (use-package rainbow-mode + :ensure t) +#+END_SRC + +Set Minor Mode as Global : + +#+BEGIN_SRC emacs-lisp + (define-globalized-minor-mode global-rainbow-mode rainbow-mode + (lambda () (rainbow-mode 1))) + + (global-rainbow-mode 1) +#+END_SRC +** Pdf Viewer +PDF Tools is, among other things, a replacement of DocView for PDF +files. The key difference is that pages are not pre-rendered by +e.g. ghostscript and stored in the file-system, but rather created +on-demand and stored in memory. + +Actually, displaying PDF files is just one part of PDF Tools. Since +poppler can provide us with all kinds of information about a document +and is also able to modify it, there is a lot more we can do with +it. + +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package pdf-tools + :ensure t + :init + (pdf-loader-install)) +#+END_SRC + +** Org Mode +*** Simple Org Mode Preview +These are a simple set of functions that will automatically refresh +the other buffer, which presumably has the Org Mode PDF open. Once +using the keybindings to quickly export the file, another window will +pop up as a live preview (Which is just an automatically opened +preview of the exported PDF). Define functions and set keybindings: +#+BEGIN_SRC emacs-lisp + (defun open-pdf () + (split-window-right) + (other-window 1) + (find-file (concat "/" (substring buffer-file-name 1 (- (length buffer-file-name) 4)) ".pdf")) + (revert-buffer nil t) + (other-window -1)) + + (defun update-other-buffer () + (interactive) + (other-window 1) + (revert-buffer nil t) + (other-window -1)) + + (defun check-if-pdf-is-open () + (setq openwindows (length (delete-dups (mapcar #'window-buffer (window-list))))) + (if (>= openwindows 2) (update-other-buffer) (open-pdf))) + + (defun org-compile-beamer-and-update-other-buffer () + "Has as a premise that it's run from an org-mode buffer and the + other buffer already has the PDF open" + (interactive) + (org-beamer-export-to-pdf) + (check-if-pdf-is-open)) + + (defun org-compile-latex-and-update-other-buffer () + "Has as a premise that it's run from an org-mode buffer and the + other buffer already has the PDF open" + (interactive) + (org-latex-export-to-pdf) + (check-if-pdf-is-open)) + + (define-key org-mode-map (kbd "C-c rl") 'org-compile-latex-and-update-other-buffer) + (define-key org-mode-map (kbd "C-c rb") 'org-compile-beamer-and-update-other-buffer) +#+END_SRC +*** LateX Preview +This package will automatically convert LaTeX Snippets into viewable LaTeX in your Org Mode Documents. +LaTeX Snippets can be defined with text between dollar signs. Example : $ax+bx^2$ + +These LaTeX snippets will also show up when converting to PDF. +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package org-fragtog + :ensure t + :init + (add-hook 'org-mode-hook 'org-fragtog-mode)) +#+END_SRC +*** Org Bullets +Org Bullets convert the Asterisks of Org Mode headers into unicode Bullet point with multiple styles. +Install the package, enable it and ensure that it always is installed, then add a hook to enable the Bullet Points when on Org Major Mode: +#+BEGIN_SRC emacs-lisp + (use-package org-bullets + :ensure t + :config + (add-hook 'org-mode-hook (lambda () (org-bullets-mode)))) +#+END_SRC +*** Enable Indent Mode +A hook that will autmatically make sure that indenting of headers are enabled by default, this is visually useful and emulates code hierarchy. +Add a hook to enable the Indentation when on Org Major Mode: +#+BEGIN_SRC emacs-lisp + (add-hook 'org-mode-hook 'org-indent-mode) +#+END_SRC +*** Enable Beamer Support +A hook that will automatically make sure that Beamer Org Mode templates and exportion are enabled by default, for slideshow creation with LaTeX. +Add a hook to enable the Beamer Mode when on Org Major Mode: +#+BEGIN_SRC emacs-lisp + (add-hook 'org-mode-hook 'org-beamer-mode) +#+END_SRC +** Agenda +For Org-Agenda, you can set a location of your Org Agenda file here. +Set Agenda Directory: +#+BEGIN_SRC emacs-lisp + (setq org-agenda-files (quote("~/.emacs.d/agenda.org"))) +#+END_SRC + +This is will integrate the Calendar/Diary into Org-Agenda, so you can get access to dates on public holidays etc. +Set diary to true: +#+BEGIN_SRC emacs-lisp + (setq org-agenda-include-diary t) +#+END_SRC +** Evil Mode +Evil Mode, a package designed to emulate modal editing and vim keybindings in Emacs. +Install the package, enable it and ensure that it always is installed, and then make sure that evil-mode is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package evil + :ensure t + :init + (evil-mode 1)) +#+END_SRC +** Projectile +Projectile is a project manager, like a dynamic bookmarking system. It will automatically add repositories as projects which you can access via Dired or Ivy completion. +Install the package, enable it and ensure that it always is installed, and then make sure that projectile-mode is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package projectile + :ensure t + :init + (projectile-mode)) +#+END_SRC +** Auto Completion +*** Which Key +Which Key is an insanely useful package that will automatically show you the possible key combinations to finish a binded keychord. +Install the package, enable it and ensure that it always is installed, and then make sure that which-key is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package which-key + :ensure t + :init + (which-key-mode)) +#+END_SRC +*** Ivy +Ivy is an autocompletion framework, it will automatically fuzzy find search words for you. This includes file managing, searching, and more via its extensibility and the Counsel package. +Install the package, enable it and ensure that it always is installed, and then make sure that ivy-mode is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package ivy + :ensure t + :init + (ivy-mode 1) + :bind + ("C-s" . swiper)) +#+END_SRC + +Ivy Configuration +Set an option to make Ivy show previously opened/edited buffers in the buffer selection : +#+BEGIN_SRC emacs-lisp + (setq ivy-use-virtual-buffers t) + ;(setq enable-recursive-minibuffers t) +#+END_SRC +*** Counsel +A collection of Ivy-enhanced versions of common Emacs commands. +Install the package, enable it and ensure that it always is installed: +#+BEGIN_SRC emacs-lisp + (use-package counsel + :ensure t) +#+END_SRC + +Counsel Support in Projectile. +Install the package, enable it and ensure that it always is installed, and then set up bindings for the Projectile specific prefix: +#+BEGIN_SRC emacs-lisp + (use-package counsel-projectile + :ensure t + :init + (counsel-projectile-mode)) + (define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map) +#+END_SRC +*** Company +**** Company Base +Company is a text completion framework for Emacs. The name stands for "complete anything". It uses pluggable back-ends and front-ends to retrieve and display completion candidates. +Install the package, enable it and ensure that it always is installed, and then make sure that company-mode is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package company + :ensure t + :init + (global-company-mode)) +#+END_SRC + +***** Configuration +#+BEGIN_SRC emacs-lisp + + ; No delay in showing suggestions. + (setq company-idle-delay 0) + + ; Show suggestions after entering one character. + (setq company-minimum-prefix-length 1) + + ; Wrap around when suggestions reach bottom. + (setq company-selection-wrap-around t) + + ; Use tab key to cycle through suggestions. + ; ('tng' means 'tab and go') + (company-tng-configure-default) + +#+END_SRC +**** Company Quickhelp +Company Quickhelp is an extension to company which introduces documentation popups that appears when idling on a company completion candidate. +Install the package, enable it and ensure that it always is installed, and then make sure that company-quickhelp-mode is enabled by default: +#+BEGIN_SRC emacs-lisp + (use-package company-quickhelp + :ensure t + :init + (company-quickhelp-mode)) +#+END_SRC +**** Company Box +Company Box Mode is a mode that gives Company menu options icons. +#+BEGIN_SRC emacs-lisp + (use-package company-box + :ensure t + :hook (company-mode . company-box-mode)) +#+END_SRC +** Multiple Cursors +The Multiple Cursors package is pretty self explanatory, you can select and manipulate multiple lines of the same text at the same time, move the cursors in unison. Etc. +Install the package, enable it and ensure that it always is installed, and then bind the useful functions to a mnenomic key chord: + +To remove the cursors on non-evil mode implementation, use keybind C-g. +For non-evil mode: ++BEGIN_SRC emacs-lisp + (use-package multiple-cursors + :ensure t + :bind + ("C-c m" . 'mc/mark-next-like-this) + :bind + ("C-c C-m" . 'mc/mark-all-like-this)) ++END_SRC + +To undo the last cursors added on evil mode implementation, type gru in NORMAL mode. +To remove the cursors on evil mode implementation, type grq in NORMAL mode. +For evil mode: +#+BEGIN_SRC emacs-lisp + (use-package evil-mc + :ensure t + :config + (global-evil-mc-mode 1) + :bind + ("C-c m" . 'evil-mc-make-all-cursors) + :bind + ("C-c C-m" . 'evil-mc-make-and-goto-next-match)) +#+END_SRC + +** Expand Region +Auto selects a region of text/code, if executed multiple times it will wrap further, like layers of a binary onion. +Install the package, enable it and ensure that it always is installed, and then bind the useful functions to a mnenomic key chord: +#+BEGIN_SRC emacs-lisp + (use-package expand-region + :ensure t + :bind + ("C-c e" . 'er/expand-region)) +#+END_SRC +** LSP Mode +LSP mode will give you IDE capabilities in Emacs, using Microsoft's +Universal Language Server Protocol. The same one that VSCode uses for +linting, autocompletion. Etc. Install the package, enable it and +ensure that it always is installed, add a hook to make sure it only is +activated on Programming Related Major Modes, and set a keychord for +the custom prefix. Please check +`https://github.com/emacs-lsp/lsp-mode#installation` for instructions +on how to install the Programming Language Servers that you want. +*** Lsp Mode +#+BEGIN_SRC emacs-lisp + (use-package lsp-mode + :ensure t + :hook (;; replace XXX-mode with concrete major-mode(e. g. python-mode) + (prog-mode . lsp) + ;; if you want which-key integration + (lsp-mode . lsp-enable-which-key-integration)) + :commands lsp) + + ;; set prefix for lsp-command-keymap (few alternatives - "C-l", "C-c l") + (setq lsp-keymap-prefix "s-l") +#+END_SRC + +*** Configuration +#+BEGIN_SRC emacs-lisp + ;; optionally + (use-package lsp-ui :commands lsp-ui-mode + :ensure t) + (use-package company-lsp :commands company-lsp + :ensure t) + ;; if you are helm user + ;;(use-package helm-lsp :commands helm-lsp-workspace-symbol) + ;; if you are ivy user + (use-package lsp-ivy :commands lsp-ivy-workspace-symbol + :ensure t) + ;;(use-package lsp-treemacs :commands lsp-treemacs-errors-list + ;; :ensure t) + + ;; optionally if you want to use debugger + (use-package dap-mode + :ensure t) + ;; (use-package dap-LANGUAGE) to load the dap adapter for your language +#+END_SRC + +** EXWM +EXWM, The Emacs X Window Manager. As it says, it is an Emacs window +manager for the X display server. The benefits include using all your +emacs functions and fuzzy searching in tangent with X windows. + +For more information on setup, you should check out `https://github.com/ch11ng/exwm/wiki` + +Install the package, enable it and ensure that it always is installed, and then configure: +*** EXWM +#+BEGIN_SRC emacs-lisp + (use-package exwm + :ensure t + :config + (require 'exwm-config) + (exwm-config-default)) +#+END_SRC +*** Configuration +#+BEGIN_SRC emacs-lisp + ;; Systemtray + (require 'exwm-systemtray) + (exwm-systemtray-enable) + + ;; Mouse input/bindings + (require 'exwm-input) + + ;; Keybindings + (setq exwm-input-global-keys + `(([?\s-r] . exwm-reset) + ([?\s-w] . exwm-workspace-switch) + ,@(mapcar (lambda (i) + `(,(kbd (format "s-%d" i)) . + (lambda () + (interactive) + (exwm-workspace-switch-create ,i)))) + (number-sequence 0 9)))) + + ;; Ido mode seems to be enabled in the default configuration, turn it back off as we are using Ivy completion instead. + (ido-mode -1) + +#+END_SRC + diff --git a/dashboard.png b/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..948229904be14a0447b3b8f02860286f5d5c6bcd GIT binary patch literal 27572 zcmbrmbyQSu+crEZsDMg?lpu|ibb}}$&5!Po8oE0LMCs0=6}=^kl@?jdLBj(6kz z-1qyg?|Ig{zV&_AKYOoXxb{`&aUSP!o_m7-k^lS>ofsVi0=<-y6jK6$p0tBNkDoq& z419v;U_T06(Cj2N9YLU1w7_@n9~~%f9D_gm^at(tRHayP z_tU}_hEUp3a3~z;@xBfm1~&QP75*cM5+a8qcXFOBJkeQnjc6$l{sEsmzgcW4u5Ar4 zyxYjQqx8AmDDw&c#s~r#2!AP|`+Il5EBf{6!=2>g$D9w>4>(vqA3fZ}dDefHeZsssMFgp2pMZ+d%r}6wIiR54+%z-W6dR2i;)+R>Nb>5_CZS7I?a#(_xN4N(vtxB^i-ioP`OW+FNDT*EC}o zveeQ#{+o)#>i8jI^vjc`&7Am@3g7%wgRo^}$AW;3iF^u7ul-Zp>$L29Fog_1zG+Ce zgekt{A5OW@0%~?qx*!IAQ5;k$!^c!34TZl7v)-X&+KVPAsT4^iLg>`YA;hccMAk#y zJ)P_DRP0Y-PeE=@4-54s#C`&n?5{e@r211>mG?#GvKTcA0M= z5T+hyw*(dE+DC$TydbWprlWY`QDTmI5*Dhh42-H1yY!0@hOB4~Z}dxP-|UAt%7-~p z_VB4wNgH_dz(f!!shc4K)NCD3aJ4dG!yWRvJ2}`N7Qi3a)B_3{32>?TcJWU!EBP-3 zs%j@{MiSPF7MhDXHhQV{msSSy^|Vz97hRwQXz& zQQo$iJTnA3eDdR=!}g(E@CXgN%5!UTCWUdlG+0tgMTc5kCrS^WKKDe=I7g&&?Uskj zR}H^s*!FVAVFI+aXX1|^iDC(Ha&{&TF5+m6U-+^6O?ke8v zs7ZeUYB!4P9eDQ|oLgL@VMP(2d^{#|R-RqAdf?t$RHilIy% zv-%b2{rEPBx0XC{KdoE9*(`2PK64!qWdZJxAlQo<#-U6<{_xs+@eqh3x98EYGRmhx8&)C&#+_ zlPs!?b3AFuvS?xSbDjIdZ$AMh@xH+CDX8A}um+rFY8G`SZTyEMoaUKUF5WG=qH}O% zc*E|Nd0hOT-iQ-Yxa&pCtk&Rj!PS3KDUkYkDWIX-bKpxq6fm z)So#=+$AKWr8IZGUk$A)rA#JNPMEqn!KWsmcb8i25tTB9 z6l-Z8fhS--Ji(`Hys9r(YXuFrYKM7qEFeWJ%?*0eTwoO-smw)_mCW3jWoT*r$<)MI z!a^&AqHBaI%sC;+BRlQFJNo`G&2i*c`<~~I<0aPhR9-qc#iyk@5h%B!N0{j9oOur` zQ52kzeu5J z?NP)mjtBFf805=#m~9#L1RbnLqbJZTx8aQg2Ssk~pz*cJKE$wB6p(Knsbk*L5=|3WA!oMz*lk2;URT zw1vbT_m3=*%#u)=TS${rP{06}8g`wXy7o{E+kc?gZ~Cd-qzU}a6mM4&cDA0sg>i8B@^`9zJh zZKw-IdQ8IYnbk&q8<~)%?ka~}a@9cc*8geHUwJE zb@-v8!^~2`MN7Wb(xLf70m-s@7S-aejy(vZ@qor39I`TbB2|f!RXMjDcvM-*KEV^M zyI!HJ>#RX~xZ*8|;qSmz0cb4Jqr`YNesnGT6}^ZnV$<@t{wY;&)MK=?Py z%9*j@Uqn7-9HEJ`?yR+|AW%K#!|5%;(f65(Wr&Tp6CZ@>a5Xtg7-oM91XGrp-w?K{ zv}JNbs^Gbko}Z_?+{kSE;nJe?q)IH!A}1pXp1f^fkMubg4;LFgaeP->9ogJHbK#u# z$>q<1V@nPA_^*?Yg~kX~4oVqCwUFWF<+Z?kM_lWI;rV}38X#_s2BKOCHIkCAo|P-g%~rlHV;J8_sJ1F7GgvbiCy{jP>2Ko1=*w+n>{X{9E=jx5BP7 z$nZYwa5lrR8LP(4u%OpQkL|<7qSaWx3VEU0;~}kA{Hj}IYy7EdV(x>{ZzuTN3nDG@^a&FLM_5xWC2QBPhNEtH6)k zQaH1gW#Q^Ee-g#THzE}PLyF%#SoA=ar*+(OIa$+&6iYFwuvWLv)y5SLt6bt$WqIbh zgtREp(gWkGit%i;&x;#biW-ELxX4mTPlst|%;wXy-Sp0!5aQD^1VT{#Z+S2cR`e`K z4_SjOnIwZ3fJ-u{d7yY|-5)l+DkLPMD|ZJ`dvF%Xa%c#G6E)t`QZ9O0ZjOZiiV5MY z5?2so>M@?;s@veHfulY->MD1&nb^R+R4N+nFOkKNb!zN+4Ho_)Vf5}{)bIY4M8=k9f`6t+Hty51ftoKvM1S$xH#2_CcZ3L+(!QQ0Q zN@CO(Dx`PRez-x4r{8AkQba3(aK`#@!rNib;nFqK{@=CM(4SmFqR(WLrUiKmK zxDz+v4Vb>H4`P@q1batpeEPJaP}p)VcEdE(rXEUm#+cQYAis`LrVb&&wm0m04PLQp zCrnb)pr&ucepqp|hsDR|g_@dpOeX1R{;Y#!3v@A8)Hi*s4z~`(_GFAg>*6CPJMpr! zGAMwWRPGd;Gi1Hi4>OISj#C3$iD;xlzPv`dUJGF>QjV#ew=T2OkcxHjhCVeDM{8=1 zh5WogrTgFeKmqY_{Dz*EB~!)_qx2#y!PC_)`GmAAfz~k0F?{fCxFb6x=j4U5e0oj! zkZA>R&vo;wrbM)P3mI%NKf|KYtiBM&@j7A6^mtpy*14N$hkqZU;<~poI_-0Bh8#33 zHm{Hap%`v1Y|qa>OLc1sSe(L`mI4U0Y~LiqnnbJQ?wIwiLxG}%|*7~ZHPx;wLS4PQ*&w=h!;Ru8CxBN?5pB$qbEJ4gC| zvWOdmIWatj>nN{2=|2CXvEqc#KzkONzaD5p66{(}!T7c(Ng7=|@fWb-_kOiCL)eou`A&&l^b z)2$zN6l8%;3XLm0(xM;;xd=`g>cl)PdIHh_|Lr&cwc!Wa$C=#>A@RTj`jutk`+>H( zYD15Rr;Bsbw7wVWiH}>K|-H&rA=D2UWb5kC>hYq7n zS9EN_e0k}{68O_R^@IvT@S0 zmX1Ox^A0gw;d|qlZ9cQ6XU~wh(6aFy)kIFljk_Y_TTnB-9#mlrk9qFrWxv}tHM1S9 z9c>TNjyCE&{%c&6w~~52YF=yDAkgMR+*nMJz>@rfHW*E~SN4QA-aWLd>y%+NFqVqZ zxkpYdfH=72ZT*BH$DxL*lUD^_dV0;b%9rw^f$J9{A3H?Q&KZc)P_x`fB*J(zUdg}5 z@y|-kB3XPZ2K4*t0SF7E$z*q26{A<7wU&nn?VsUgbWmawv||85 zh7@*HCC0P|K*A&awo*JiY`D?5OQX3MV=XJ{E_p-q^hAFmj&Wb6I1H=Z#$Ys#dg7mI zrnn~3V>_F6ARQ%MQ;CM8PgR}>_@hmWb**9ZoxwXA;a#tpS+IYi`eC>(Ot(}Hveti$ zVQst$!v~z7>c0qJbI7Na-?D0?ubz&fAEEZ}VowK|A*ik8##z#d`xz@tH#E(DH9qfo zZN$`_Q#2RXcAQ+;Q{v7SNI-xs`BPF-@goFh!niH(f=g}%2uKDR3hkZG@IOh&QuF|u zBWmE^p7fz3i(2ln_#pQtvt$)aL~3%vk^{~MmtRPtEs%r)6aP|kN@gka4D_}4!;N*D z#jM3Ya(rCz+o<9gt^w%_p%E&9wu_1vL#*5yRt(i%?)HWi&)_+I7JtYO8$V@!5KD-U z(tmY{Pm@)MuC6K)5hL5Wj+ljJvYh>*4Vvtdn_i0V^E}g_i&^s(PEd+{fPlJoap0g%~f^@*!G#>uH zRAchf1HUWmD&p-}SJ-HfeXE$yp;a=NRyfROo{BjS;lGtwTHa5_3pJME35j{%R@Ze0 zE)u|DYOUf-(~}+Ko<ojr5IIa^_&%kCQ4%*T4z4E%~OZR*bSjzrS z0Jo8RY$TS-h$nC4{-}Pt22N%OWzD#io>PKjHv_Ub{FRAV6g6 z;e~f4{h)m^pO&RXca7XsouWo;H5a5BaVy9$FyScLI7hgq5sjvF`>#$EZl;E84()lR za50O=bZuRKJv7o(ksDWG#*3nQEB>koP+cTq^oAI!w-eBpMn|v8cs+#6IS7P)3sfN7 zYrm}}>{b@{S7N=8re6dCJcS1#NAjcKTM|xXd}lL=+Wa4@%3K!B4z_##72Qvie$jObMOL;XXVn>Smx@z|tkL^JdwDT>048(!oVB%(3<;xip zPb)QH7yBtD%+~(&O2t-2256Xi)j|oeoVuY>zU!7~*lPIJioaM`QVyXpE05`p z^Z+{~gQ0MjUUHE8^Rdk;$&d8y<#_d{thc)c?S$CMD0$5DE&)MV-6V-%`A}KA(AW^H zV6{XFp(mjEXAiVBhfN~2ih4`C`UEgT=_EO*7kDul7_qswI_(9yC_(; zkGV!=3eHXTj;VBj6LNZ(xmGdHLAKY%4m<4}UD@TBZx>IaAVOJ{iL(|<%wQdECRgmN z#5$55A9a292(*0nfTz@SjnB!1`0Rq5)fJnT_MO5`z=R3Mff!J{lGUU+N{`=M(e0AT zQm+b_nAYQx2Y0H7UGU>3O>*HHK|#FTMO^g~KDK7f&`H;x(fiC!w)IK>94J4UMEY_#PJ3-8gYo>5W)cso!2cc$GKe0T&zQ#NtsJ=+yu6vy(x zgvHG>vRx=j9Xf{={8dr$wnZ~Zx^*;V_59-rrZ`=0fluw_A1TbNy$G9kdZm-}X4ge7 z^1?l6cML@lM=XG1CwKxCmBcYWw=0sldAG&6caHh}@3$|_{ry*80t(v$qh1yU*4JJn zg-G4=STonCAQD?(%goa*gE?g?tC!-Jfq8+fWY;0;#w+P5JeeJX~3?r;TKW)Ul@ z@D+=Fl&1el?^7yk?(gTstr&;W^LkBe)(W-iy?Ro``u2Qi3@4q$$2O!|;x(y}|L4?` zEz&Tw2lKhOc;GRJB^}+T)9f`dR(gf@TvYkIjAfi^9Tf+0wi04tS#RB3py3UnTW5~P zl$Gzbdu4+Ii7@2h@>U8Jbx&ZIL3l_jVe%0x$o23x0Sq|eJk!@Lv21^=@H%9+l7xe&??(&BT3zxcmHw`mJ_ekm- z8b@WRPs1&IM-t8r_<4nSEt_C0LEmIeSq&dO7Ky4$YfibA%?78*(@cp%rf+o4w;`_$ zAFp(Y0yD*UI3ACJx|JomIP*ME1nf zc{`^)#bGg=G7)`ZSzRsc8mrEnG`;VH66R8E&YW!gP{NC{{ru(@Su$1$l36*V ztulBxLKp-V;=p5?)S|2-dB%_hC<{Sa;EaI(V>ZgX0_=>vX8m>){uderi<3_I080XBTF>l zcq@k8e&pjv3hH?i>KrrE>;zL|wH{3kw7~UtJas<%Qgh<&Rc?EUFt(6VPF%KdOX|W$ zn=hXu%CRVVvL`40_J;Go_Bv~LC2$XaE@PnU$wT^1`O_)w1Jd(@bm-Wn3;+!*nAiNB zI#=F1yx{UE%5NqFQ%N1KsopRNc|)>?l;P0aG|avlRN9 zZ~WSe28<18|1UC-kAUL}Gzzqb!2nI_13(XeCh4CPuUkI_Bw*d*!k*~~(!1|-%%81} zH|b`3xAyHlYn*6qd6sS~O^zgb={3amj&U$mep-lF#oEWvRa@L%^OvB|8&2agQyrtz zk$jn3A>7}n=gi%w0*uO6bb^CI8cNfxzF==fdwXleoitHTrMBnT6=9Vn-D7=*FikaOK+B{9X~tjYPxyMZ@8S#{i2+k7Qms1;YQ9*Dk(?V zOoa1M37jFU=KtACv$Gbd&d;l);K=?-ofgjPe+U+O%O(8vZT5k>&mmtGj9Q>qP+EEq z#^x&)T9>R?HLyJ^Kput^DBqTt9&WIwQEv7g%@ayF?l)obu4TUOku-znRYw2z`SF=H zPlj|_19k{|xwCDFORae(RMS+L)77W*3QRAY;Hjmrwc709JY&F6Y+Dow^`%UzbamC1 z)12CBuV+V|t8SjgYPuF^wa&Yi-M<0ARz(zGeO^0mK}hqVYLiI|;xeHFug~dvs<~xe zmw{c}&exa)LhwalA1T|aefO(=KSv}vpNswd_#BOVFLWp_PazLqmG#`p&9u5|x2M7= z|9hH4N0kCgl7#hKE%bf>e)8t?>TuVY5PakyCgD>G`l66?JY{Jt__MS$lUTKZ4syB1 zDDitxUt?xAg`iyxSXS#q-BWyglU2BG?Iy4)_*lL3Q6f){X&s_SPU^;+@C^3_|BZ&v zQ&19B$tem5^rj{{3V|AmT=@E>NR$ZOjm62^&YaS1-{Te4>Y+rc<4ADPnG{&jCAi1@ z>=Pg54-;1kF$M^!&ZZ`1fZk^@wW7cvsF1)?NhtZ7hE?~w%K))DTpPM-!j}^0O(vtJ zV|-K&&E5X?HOap*IK;&KeT#duSCxB!Bm1`&U}R7xRL1)I$f7$&k82YvnGkom_uOXJ zCDQZEV9C=q{McWPpY8A*f5OgC!~;R>LQjrld-C+Ls8 zZH^NX8qwK!_YKWGX9wkKt)$Kt>K&@gj;DHdKK3pzj3Dkd$>vB3k43zYhAwh}{9J~E z)i0aGkl~oaHDsgU-hA)iPZ#y>+S)CO&c1GUYJ0GAZ!{Xxc#=YNbPO5BcRxyXk9I0o z*V5aZ1QuI8u6>*jj=JyKaTO-`NO#W8&||rj>8@>@M~3bbqsHYlf?*@ZF?R06?Q@B8K%4j=R z&i96HX=YlB_C00ksh;q$e%mdf`uBNDAy(k+l3pj4zvW)CMgYQ%qK+?SN8=Qgw*d-`5&U@owhlGH==+F#0LQ00fWiP zoi>$MZ^X-3Le}|cDMdU=CA@e_SCM+&h59NXu1x#!WBuz>?_AghnePEIV_f80zu6m4 zcvz!OLXF*h33eSbM}B?5&#bln+iMr$IXxvEm8e8>IV)NdwYya~rqJ!sxW1=5AvT#{ zJ>2NUz(5MONKH!wx>nmEL>H@Y}8~^KBLzb7O_d$Xm+SKWM6^q|a%&t(?GI8^J*{uJ?3xlZeF_Tftdx z6Lw}~f1=)$f{ypbP}=nsV1!doia$JQ&xft2>G?|arnl6<4z(|x1u$(HP8PPwGp1u) zz3r|R*5LE+tV>3&MvHnQn%yU&(iWCrw^tl;3CZagokYT;8I)+Ryk;K*KB;E5y?;M$ABrF+jY?|EzrO|gCByRn7poa~o( z)yT4#%wRb`p#c%?QZCYV1&6iG?Q@ynAr@dm`N%i7&$o#{!jlgHVTS2W+ud?av-Rrl zrCXQIUEf>vGFRlqD$m``dHOiotjNv5WS5twuBzTPYYXittWUfN_V^t|i_tT?rVAH|_uVOz%cPUtNk?AwVdJ2wJdw&a} zys8d(b}p9pW8qiBA)3y?#qMrV=NDwRGF)eXz0)rDdLCwDh>FT5rZPRhvwsyWVa#37 zyCg`wa(*lhNMLmT#+&k|E~H)_J6Fl+Kn>2)#ir@_P)ga&-k#j&wd1xs*8A<;^Sevd z`(@~o4vSvtW22kV-W|Mt>?fdllL7z%Dl}V&Mzpy9a;2>*Y=Er_+dJEp zfB{dHq4RH&^S3MrfW-f>o&OQmfG_;_lCA$nn6Un>$zi@2pL0Pj=o#mJX$oZuWEGrL zQ&S^=5TAW_SGt|3-5%)(p3=Dta!A*FJqyCjzbVW645 zZR^9`?vzmGdyK&o+2UaOPeh$Pp^Ftmjf3{a)3wt!L3a1@nm)SNtrT7^!;6mEJ#1f7 z$o*a$8M%&wjr)IqF4NW4W7S*U)Y>bHpNd}Nh^DE*tTR(1gE0Ta;q@{9SpL3;q3`Ta zQ-Jc>CZW&T_Q~CDtL*e?ox+k+cS-@`P+nhJ6qY5$>oKO~yIsdUT7kUPUA1V=vOZSK%+na+iPH9!CnqCrc=W_;e9!@DCVb-L2~ zPRz1cmAlo<9X}qMZee(xhfP!CQp0){VY=r#9w-Gndf(>QV%Bay#>x^R4LPPFd9fX?p}zdH^Pv5Hip_o zRX!&>b7Ci}7(X1+&fGFKXp%+TZ(l1;!9~;;CKmCKjxv+;x9()(I&=y;eDfd0oQm>! z7*7^GpTK@#5-NZEsu$7PJb8E5)-sxM{?QY*?|Qv@jtgI!SbUSwxjF29h+IF&Y&pE7 zi)a#0O@UjqK8UPj7Ql3M*-Y^F%}V~fmODE|DWOq7%&JVQxSZbvN-gQ&|0tn$i1#%WWBhnoMBb= ztI+z-C8Bw0+p3`d)gX0&pMktwz=#Mg_OMcc?*tL~V3KMzczP-UA`7iPuKnz4X6Y@Z z8ox<8HHN;n*6Pi8Gm+2;$!qM{nRi`k)lub|gKuD88tmOoMmBb6easN3tDZ3R%r~vv zsjJKNl=yYgpVqA|+>Bqg6Qy)~wm&~R7KhA8trfTx*VezeLQHThWJ5Z5td~?Yq6B=d zXOlQ^GQeMYOM7N+Salq`e9IzBp@Ho>VoWu)&!B63; zX)jg$D^i+i)xX}a3}zG&Is5YQt8B-2Ic;f~Bf626NiH9K=tCvltAEE^Gl73gK>vH- z^&cqO+<%g$UL#(ohWj_FyT~C%2obiW6aJ*b5eA?Ms3YxuV6i~^zo69EfE+Nyu*{ia z63kHj5^sb|w;Z?M>$SAA!KIeVDU%G_5;zd>WhngzxKrmd1kb}KeiEaf-5kbexT4;~ z7+>c$Cf?812HI_%RYxd zM5~LG$C#v;!g0(Ir(0*JK<|FQ8+Pj2U9y+ozO%j& z@^OX74tF`FxF9@se$j=DorsNX>Na5tHI%eu3Lg4&Mm$llvUWd97D|4~Zj9%1#-TvY zTi(R$z4)d0tSQ^?>+R8`rAwXkRW&nyUh6L`?0!V>T7Hv>gczqSQ-3A$!0*ZR8K+7P zb~H_!g^c$d)pZ`Q8qq+;|EmJ~`A=3Iqm>ewIkPpbYS%V8-bdb0-~Q`Rr80?7p?8;rFzl{KT% zkA7e4hI`H-Q+d;-s&jKoKfaK6)os?RcDFQg&NMo(xi49q--KP)4$U)FEi3dh4RT8$B~5wY07PXGP|n*uy1GiB z33oenmMwJ$ugC#EWAFeAQ-o5pM>>a9`bF+5RhKk@n~k-cj)iYKyMBD`ICm>B*Y>n? zVmh)jRrzP!%RphFZ`ev0PW#!jtv4u+^A7&pX}TVj6S*^UVDnHkYQ|hzuCQsCc4L=kiLy*Mq&0r)E5O z(g}#WP)KtggLZ=}yd#-iN^aJ8Skre;0^DE%`(ttS({h;XH@{bBKD&Qzk|&*2Q=S8PuG69tH{@A;S$xm zeNiRt9=vob`cZI-{9@<}!}7u(#oM(y1+4B~Lq}-q+3kd`0)}29!?45lNxc3=F4WoC zg)k4z_rB9ejx1$|k!m$QFxbS`4CWh70*v0KV($=$gjjrwW zs}{jI=(Dm`WxHjWYYejKr|~P=>N0b6%##3^BX9xbte7tIw}69`w-fwjMe%^!=Gba; zUp;uQSa&9B*p!oUY&xIOwz2xsdQ2PQfYjNKZNXluzCG%mgQ#4NXkIIqxNmYYVxl@a zI0iYe=VYquw{$pxo!?E$&0rMoNkGYh%@7yAt6wriIF@B3+szG$1siRQ2&Jfv@wd@` zYFbzfTH@HW!&P)ScDZf8RE(4s6B{Gmt+pPY82=3{QHK!Oa+1|xxBfJJ)p6)^g9tejnl$N7nT1S5 zH!Wsu&S?0h4xGWjpUd)jgcMcdrpKbZYdjs0t!bZxytOeAil499NnEYVpjdq5#ID@c z$eGbm19k_`^Y9~Gg#?22y6Mf-n{rE=5n-@q@1mIqkQgppYAP#X=UT@I!+beCWQhp^ zkrTdBdi3>Ff}Nz$LblYtjjoH^YVgoCeCds@N)NW(=o;+jjLrc6+s2N;q#eqpRdzZnUfk3L_9hMB1YLxwuFmE2+GB9{c_WO3&C6xgILp zjIG$hv&q*iE(-gWgWkxJHP^?NXtz{AepL_z1d-+GViEUdf-Ytu2%fu)+AF1nEbg22 zU6K34Nd4E(!!bh6V9X2la8W6HIL*PENEO(Ji>AO=-`loV?$dPh{ zFGGaoTwdS?-Mtgr+fXDJN*mEFxkij_AD)$QqSKZel}9g_=?fe>&_g1=n9*oDugA;K z0v*}JzaT(w%NON%eA~ZV`3!rkw#8aEp9K|MmHW@6#_rZGhWWssxJEF%=g5EJJ($l_ z7s;9Xjn-OCcwJ`UA7i34wHGUgrC&^-XPd=wc2M2VE}E(l!v<~MyR{2k(+XWe!&R=< z<`5zxj@|f}gjraH3abob#(uA(CwhB&)g|p2Sehgx_+@qniNp zL4hYFkfn51kCzQa;JYZiBWju@DZaZ?o)*$}naItBC(#QEb8k%&c3-s}2iTqk!;`}_8T?BqcQBk{=DH^>$rZ@bMeVb|r?&ww<-f8NXjto!S! z*zEYIS`_=aOYgz*{&;}0CGT6n!hIhsTuACZjkQIEDr$OzU|dN~YyrN=FXU!e0tPT( z7yaSCodcuUd4&&cZSPNd7pOk5h!`OO`6)^Opv;5F}mx*v_{4EtgXSz+okMTrOPlIkd-O3{pIrV zB>|UnHJ55iz3Ui$^@jT1(j-JT3Tpa&c!Rk~V5cZ_+~XN7&UJr@g;`18QQ=B(sh+J> zG2=9Xz{-q~VVJqPG80W*-sBcno7i#KYDU;q=sj;LB%Wu-lvSuocPzQi+FHlrmGs=* z6V0c&x!Io_7Q?s3v-k7ABXU?c0P^DY&tH%WZzw;UV->#CZ?mH}S)t1a;&?72!#?sx zV3bZ3X)*KO)n&Qo`!`1vW`DkGN2nG5?b+x^N~_5x1vHI|cO|s0?m8hEfOA3K2RmDQ zK6+}>LvV|Fj>a4Co*z>llE-F<27XrQ4uAd*5m_3h5)a2_7I-EtX!$<#_U01Mo&$aW z#P(lHNfjGS8f+(u_gW69{SXzibb6Y}+@|xwopG0E#_Kk}2{DvL=5~5Ef2wQpDFQKn znQ|&nOJG7Im&45U1$w7%{k|| zfx!3F(A;$g82sM~xm{^fmt#U=?yLN=`?fUo{!;TXQka)WbGHHb=GE5+ zN2LqXf)yIYB`9hprjKgD4wI+AcV@`(9J?x;z%~S=wnm$LmTwM~YdFK(Jkoho!`hlz zrdA(u7h}QgB3LC5{P&zb@K_JSp(+R|hpYa!ARqIft*+bY(6@#C=F_UhLpfB`bB_p3 znK2aPCjk%RJ(p=Rkt$~5!EGm27$9)__NLPwqo*ykdg#gg&I1zMk*}nAfyqX9q9Yrw zza;kF)G$9g9?r8f*wZgPX{o=ovxPDS@Bfc96B%MH;zl3uf2FeProY@C3wsqgDvVpL z@75h#^NU_CgEr8|X??yFoUSn0+_(w}R=@9QJjS^C+VYG49@=^x@QuDyNMAg91WQlvBFVt*g4UP4eCt?{37ld43Y6n?!qaiy4XEi@;SBcXzhthrT8ka{lGo z-=NEP)DwjXe)Sk6sPxw-(AVu{EAWWO@QApbPc>XMccf>MDAc|gnGRfZlBMA^n&)tt zVzKHoJZC1@U3o)YD&vq=Y+s^-K@oO)^|81BL9 z(GZuYC&=!$c{9;$bUANh+l3@@tPiGda&PikzA2zG~>yO;=&GLk-rDZbA^pw{-SCtFbn=ofSJRIMB!-Qrfd9>sjlb;MXL3Zv>O{-lq zd0SJKw}P|gVO}k*^LlAr0iUqir|SqZvX`_}t_`rve3w_JC)PsspUL)R%3ydcwn*}G z%i7y(;v<;>|JYB9<@IhhAD z{1Ch{^QTWs0eJ0q3JoZhZEvis@Bru1h${;s&vaY{LvpIra=^AlbI~-V2S523$4~yq zQ|fd+cn?2-i2^RFaFCI5728zkA4T@96VA9=1S6xc!$vg>;)0}eb*}zSt~Kf;DtByq zzoNdD@|~6~LHItg^=egyb-w}&dzAI21EYw%+SI6*$7jDgXA_Wdi~Rn=q7y@mUEXp2 z=g(;*=oaYAjgRuZP1mW|^0Q&C?teD4W>VRD_~^zqI4xoqc5WUV%^b0eKS#D}Y94bq zECMZ`X58!W;+n{rYy*~exQIa9nQQxWkA$1B_?oQ`Jd+k3%nNz(#-Y`D)xuD41n@Kr z(ARI$lF|&Vio3v{_)b%b9EH}N5dNU@)ROj(QB2tr8t0p6zBXw6vNPWv6j_i{O0)Gk z!bR!-;GAa>*96eZlWu{!vh=c{h4Y_nUjUSUppuNDO+5cZDVnjFS{0cs=+;QVTluWb zg>|$H&PS*@jXcw@hXz?i?l)M;r167-TxvJcTFo++;x7|@FNx$-9p^G^z)HL|$6=wDHIM4bN_meSiHUHX8U=(}rc(VO!!>oRPIA51*eHHML4zTc2E`5FaN2N7u`Vu3iAD1t`fqJ{ zv*@(0qHH9(_^{!rtO8&v?!zZQ<;=hMeM#l-c@siFtU;Lboo|qB*CU^ShSR+2=&k<_gjhc)Py;g2LkrFP_Wuxuqtt93gUVg3z7HwI26p>y?)-!z z)a*DPSTNB;KAd{+=FUa@G%s!03uT_Ze=3jz=*5a3ytapfku?-Cq-m>TlH*ux(I z5QqAZZl%+uUcFdMQ>M%NTuZojp(TE;r2x# zI(ll8>v;mIZ}o4$^aP)>bJV7bG+Rn52Au?-Cv(A5+AbRy)yqsawU#b_r^vTp0AJ6NjbE%=PtNjo zZbYsTn7mTH2Wj^ww)ck$Pdg)T7y-dt;RUc@Zq4GRJrQl^qLT@?!}}>pJtAHkLntOS zt@XY<-DTQU8z))bfquyQai~slA;o?Kt!k^|)SZfDI^XcXr{Agbq?DJdpLH8(T$h@+ zsIyj?E6&(qbbF|3F4^!1G3wZ(`#RT*QTw#>wBC&Eq>$gB*KwlAmMDr3I4Ec_AW20W zhW-THhCcb!8T&e&BjG<@zA$dm8)=9Ei7b0-xcw!)1Z}@RJ6XI)KOGhKE9r0BS^#gNZ)qVp`UL_ z={*Pf8We+%r~0`OD69!ToxZ*oR3~WUbvqJxvH&F%uHm3XAZ^L6miB*8F1!YQlcAg7 z706O^d1q!4=|X-xc~Oo9q*b(=I3U$`hmx+SAh(FM+((ie*P3M?gGzY5#B$}@LDCK>nkd_JIc@SNL(lw zlG49y$2|%m)mr$Zj%Lj)zR7hT#M}z!uy&yt4CYDE`o_bsG$zAp-&#cT=Lw>={s(f z%d~0_9UbaZ?a5$NDf3_3qbql#=9Vs_XOI|_mLY_Oiy$AraRsfb^EvIh?YyeNPPqcD zX`&5t^-y7n?PPtC3r~;vW_l>ArM5JG4As zjqssn+O)dyc-~d%6BoPr-hY^(Z5=~`2-O13o^YpPnfwBISiom+;yZ(uylI9UFTd(W z>Ev;*UESDk7rOiNPtchB+ghpyXK%!1S_0L4bli*Tkq~ds+0qxVKe9%xX|@i)Hz~e? z0gy31Tk@J1Qj&tnFfpws;JPDJBD&YAXjtWEV(DZUX2cY7|`8jN+2kay{#_iIg)+OgEV-f zdwM5x4|8&Su*}Vzl$AKDbhKB6#-AN_@2mEO(^{JuEUfm$b;e&dC4Hfm7E0y!tT=1! z_&k(;pCR3{{@V*!q`ZP>VJ#g*)5s_{WG5j$^7Xectz+K~S*;!?BTJ=HG*8scFNnI` zg>`O_KV&zi*)JN=(SS#<(D;~6xV*ePe^l>4cL3!()FqI=Df#K zN>PP}8wQ08>5D>OKg{~*_s2XeHmz-yC<^SHTo^RzoRkDBmRUm7C9NY6*W3fCw#JiP&y&f1bcYM-nWg=+%(^6`w(Bn zC$2WdssT5fY*8n z0K@f?PD9Id!3bGX)vir#{}W8*R~|^6p3b`jSzOA~fu50m8i{zPHK|+7GfmuOJ~5XB zT4b6<4N-*{=bwo2FKTeL<-}LbRSx;6wbJJO2a=_qCY7Nv2HYsl-L*jET3ct@lbSRG z=pvm^d~VuAWmOS&DKWf!(D*~Nmn*MSns37{`A6mh=mg_2Wa|#hk6x~hUQ4Uq?U`z* z{In$R7kL{l=*X(eB5{gOEFp(gJiB;rsooPIC}&aeYr|!$Z_+$1&6=%-Mh#(Wrp2Vz zU2?s9Zvk~9&`^e1g8@$QvL@mHa9dFES-{#{@6{+Qcl+E~8JM(O22st=IewS=esano z#C!QS(43D~Vs53Hm%f{;kr8B}{DX7&8j#2?0MLs`^x&bV48J#X2{^ELzJP|}<=>ls z{`$MNd-q$V!r)sON#t1(5R@pk-&DdZjO8sEKC31FCIP=JUFU)06#rZk^v^Xy=N-Ci z>V$}xIrQ8ZEgj>kDv&<21iz(iRpByCHfGV=p<&J%q(n1D#Hls_TQoR2Nj%2?aK69SVXSolLBKSH(fnlADE~I>%XG`F6F;8REXU zy@SIvs2xz)v~Dm$qP>Ae6}~(^{8SD2w7po1c;(X1s40R>V8vOUa9t*~Kv{YkRlWny zb@t{;_?C90SuIjbi!HgLUZlAjKiL2^dltO5u~I(y$-pRqJ>AoHUoK3u=7pJ?$%_b> zR|odJTQQO!tr7RLh%1x?3fgX~j`5$b5 zP+0u{N@1<0TvKTkDyw(MozEl5(k|%i5SOFwxhCJ~DqSDvM-!O}a<7N4Bbqc4bs1Pt z!G|NnhM;RfjM}X70saTg5ryAMfht0TPlfWE*Ig&0Z`Z7zACbFh=<)7XYrzk_H=-tO zcVr_!nN7yADL7^AFz+H0nu5kABNM$i!k!mN%Eqo;Z1ksSo$LTYn~TXIc7PF#r{}F0 z&08M#Fn(_{nB`erR!f`+Mq;<;m#4aCufUVrgW&I;8&lqBMvk}qY8dgt_pT_fUqj}3 zs61q0nE!0!s!o}$gAAip&3S}pbBBeA59YXbj?MXlEaoM z)|B#R5Xnyj=?u~fs??eFC8tz=&i6d9KkE;pT~I%E)YA)c|Dec1l_Fr6gMsgp1LIe)4JF{^4GQouVV*p?2BHcnC1M3#LLJ~ z(>!r%(dDdoZ%&}=ofZE1f;>y$=~2abbbSdV+s5F97Wjr7XBivQL6eWN8-a)-Wq_+y zD|rEl3m8=_&s?##eyyZ1Gd%?>3F;RPqwQJ{4jSLvAN%M&F>=tAH_XeAH?xNn#nN4VX6dIEXNz3o`KeeMp`X`b)!q$u`82jd6s?y-fpN(7 zAJa>3po-O#h&y>{R05}`6Q36+eH@DBeQ)1M#wiroWAqFAzP zun!(Y(HO?SrPZu@mY)Xw zOQw|8)6%?A{`H)>{fdE@3WS&rL@Gjo8uJH|)-c-Zmr+XtpI(N+r6=Hb%Z>Qe+y3 z=|tFbv%pAt2b-do+IIH)9Qb;v{**JlMgX{^c=Vzs?2v9>aX+Q8p!hG?<_Az(v{^@1A6rYP?I-7EO+@AYp_fys*U<-&y!;TA4c;NckkcyPr`C+zqFh5Y0pFNDG+ zbv~S=G_ZR;o^Ltqi*16=QP<-e$| z-`BHjyNHbVu>g`Oy6$?3p|$pp8N*D4iK)QTuJ56lz+#H>-%yEo$Gaq!s>x+5mP#v@ z`mW@;jr!pdd(gZF$nCv|yC0sI3{pkpHfcR`GwJFRW)C=6tuHJ*RX_tA-WbRvtxAyE z1zHTvNAI{E3H%{RmDp{o&leVAqBV$3SwW4KiI^=ZgB$9(W^PN_;ani(vQQhXL|$lc zb_z3VOvw!6Fx*DSm(-QL?}6Dj?|VJ{F4w!j`UA|Z*TC#%0QlHs{jsB`W|L&oR~|HO zcLwDx_0GIPLE2vGE}h;*#*J5VC*L#E>f8&-rO9#TRLuru72~~qQEl_vC4D&ZGi)@` zD81npPE0abs04>Q3sxaAf@hCugvn6-&R3wNn9~`W!$gje<`@jq z;+OtB*@QOwjM9OpgH-creoob}3hg`K{l{)?xzeQ%?FEEHiHyRmO)~V=y_-5R23<1A z-1PcA|6n9B(pz+2&w|oJD)Tx`LXLJ^GB)XCIxF<3b)MPBs-@E6wpP5SuPg^2#Prz8 z2QG#6(K(Ns?k|+ZdHeV#yB0JA5Ue#d_xQ`$8b=jaEQee?USMn`Sn3gqGF;A`^>OTt zAL^V!<)sLKL9X{ln1^mUn2!ItKtXc>K-il8ZOw1Xm}c=YT-W7ky&U}80e>6_ax!!) z5nS-e;^ybk7Gf%5%2MI5tK?e{h}~~j^$Zh*N`GxVYK|)ed>7?c2L2wpyS6kGD_Y9& zezIJU*pXK;BN^_W7yh9B3UpVjq<*&SXvKI585X%$pKFa_A-b(;W1Znie;AaT2LoeK?3u!d(O#NNWn9Z22<0vbKje- zR|kidSObiNgj+p1XUno0t=ho&HxqL)_0|t8RV0;e$wey9`i>2{id63adW!thK!8qt zl3KjevT-Ngn-LJnzqxDxPcp@C^5ujj!hH>M&2*tz0nVUw-%&9)eC}hLM_M?LczR;-Sy>3U=n0Daqh4AC%6jsUc3uff~qOPO1f{%Orw)DfSpi zH~Q`K&QZKHU;D!N9fyGa6qyHODd3Ea%|?u3F$$MuTnNAj=5F(2N~@;TuU@5#8F9&} z>|Q)kRrL59H?D_=)6U;QGB}O!afJPJ+!p>SRFmE))-V{*-jIzN-y)*>;g9v7;@RB( zjgB0z0kiY_<>41wIR%C5?v578cs6rOn)vLECst0Dbk;w^#bX7h{`cxN>XPFxr6bR^YDnZgDbf z^FnJtJHQ;yZ8m=Kw~X-jMB9HR)4!2?_F_hgUQU!gCvZZmsohpXxgSd4uXrJ#k_a4V z8vos3c@EvczyG=f&s_Z<6!)H)Fo4bNYMrrE9Br@OwKz1aFCD%V9&!WV*W^6??em@+ zCxC;$dO`-3hBr1EBqo%WX@Wc#ljAoIjlFZ_fL4Oa^AMDDC%WH0PedWh00#AKPK8hS{HJBKS&D4LL~Rw94OOFiJTPjk%0X*0Q;bS3tQL52$rTP>b6?mp$`64E;BE9AM@+({~b9!v~xA@^j3l*}E!Qltc!GEko> zPx{d^4qwaX<5S||lu;LE%)Wyj87-WbX$e}jt{ju`&g*9Nnl`5u#pYef7;8AGQdGhJ zX>zb$W}X>0#M7v{-0>7@)`0bGvKe{r`mv@4#uvV_y7|dPaYCLutbDp2!_z`m)lfD? z^Cu(1XvL;70$L~o7vozPUU6TbFct^g$VxE!)DIu$FvPbvAHLjE8l7+={^Ey?lO!7F z4)Q}P+rJU!<&{9!@TFjZPPR|TF*C!G?7Ap9qNGQYKGI8U%oZ?y z`BL19J3!h9$a16yC1B$>CmUgi9}+=0(-#GWf`UcGv+t7cCyh~Olh>$2GD_c$T)aT> zIP+g@+Ib{v?(lMmRiAEeQabhJva75|C;X7QnIox08K>^9bjQ4{&UQvNt9Za6fZba_ z8fTCy-D$_=v`2O0)4q0-%uj_i988~r;>O=iPxq~8BmnO|XDh9oC8%KZK$N$JGhPq0 z`F6O}H2=p;ZHw6czNfEm*X3bm3M)6=j?SrjGZ!fyYu;5XROGJT9C`v(UWlFTnar3{ z-_dhWi=1g5%(z$MKNS)4?R3^N8EjJ#w3Y)}Bg&qQl=mUW%S&pDMcU;0 zAJQ2(nY|-?Hz(dFB;_Y+#e@9s!Jt4X@AWzB)|%}qx$J9*Iw9yffU4a~gc+1awp>;k zJ=T8x>}x!b6hLlkWj&NjNwTL^_RCQDA?T(SpIHq$qGmcU;w}n(gxzI_=tp!`h!5Qn zz*y4sjXt=P$1zmadt^h*^7IfTzD18$ZXn zo8_0!XL$dOX8s#iolmv{P?*$oSymLGdaDo+4FI8|ch=_x!4F`p7CYxJzl2x(?neJV zUILIG&Jh#HM$R?a-zAU#OmKnM?mt&;xIpnvwQz8&(!gGAwf)5zk+AN7=>Dxc`~>o} zZIPZT_ajV%gO~&#M+XYhpy1h#SS~$t+I```Gn4@U=y_d(=2}9<3b;tg+TiEe)asHZi`~p$>I-^)q23}>BG*(?%TgVz_%#XdH<69$=rHlw(eoWbXDE@ z%}Vu8zWTZO`5$dNY7gS%-xxYGu}wYyNQd;Ii9;*AAsFeC4iVCPQw?0NA>jSba5#Dq z=Q`b-!^bblIin=Au!Cy103wPiaJ%Ktl@g}j{i?SNA)oPh_uNX_yPw#Vd-X&GH##R6 z(54VX9I4**&4Bl2W#*&2N;K%~%%3yC4Dx#x#iSU!4)(MR-I0R){oC4cUr{^PqPsQP z(uW*p>T~#nIo%5&_diQ)OjdDn3u^JFv1RQDU{*?2(fE=(EKK-jAB{U%51ax$9W;%) z@=H=HFhiB;M}&EkEbI2(v0f?6Xd>=Gx1)j4W+rPMp|JjvHheD73hUsl)TFQihyA%I z_GEn?%Gt;yJ-x6MlhHc(i9p*|}ti416aZ z3c_u^)e8%mB&^q7Ix|b01X2xyr92dAXdNo#K&a*FuAwt>zlM`yDTpP4guWka7O_a< z1lh8h$7>&|8GpC77W}ldlWsNTNM6>`x#%#3`!ebtxvTwVuhBu1YjK{F+dOmdbq66f zd}@{nI&dQ~Lvonh%d8NuG(lUQSnRhMCTcM2yR5nHVecCiWN4AieA+|k>6&rc%&_5C z$~j)yd^FcM$gNb*uT)a3DjL9_QWw-o;w;NBVG+M=t#|#UWYl>Dg-HpoNHA{`2NwsP zE{~_3jd&tm7PO#4dT3rd8$Cv_XG5~#B&3GLzXZEa%7eAdVm+ui$ke48g1FKcq3YRk zCa+$`cspf*Qg3{~m%`&iBLLp~xuP2z{eFwzGwQ2p^h3Y~knX$h?| z!__|x8!@_HIasbodkl(7JqQc-_SQU82GX^ACsP$;>Uz2V`&#yN3j-2HQIaMhRk^*qK(>K|Dxa;eK5K&DpO3HUvN0odHYB?xnV_qA#s` zUmsvbw)X6}OeA%_NefG%1Gb7I)=HfGQ=jqH-rpMW(6=tlB}j5XF=jTsH*eBmCyPJy zM{{e_c<-0`x%FY0d6}h?mnOT8;Wvkd7QMxidq2DozgA1L5rD5#oqH&`Y*PDUJ~#kA zc#xTqmEc;H=U_)uZRrH5udxnlbu?ocZa?QF>W0ttSy$O8{(6015C5v;i+REmLHRK* z_tWmynu$m;r=B9F1FopmDsD9BXts~&>6!HQ3hsF37R9fO^NolA7%shc2mVm_rTh~d z|J%rRzU}5ei2?sLApXy3|3!5Azhr7=I=6x7P+zYze~>3<)c{>K>qZ;bK(mjQU} z+72>>rBWAWyA9cdgvK7{ni+R}9#aGMt58sI7&&szv^DNzR;8=v=nc%O(e4G{78i$S zcd;~*v8vLdinOaj_-%oHV}YcnFaSc>oT$P%h6GXki;EW(x5#kRI6XonRr4Sd^t5~# z;w12vfG$YLbev@Hl0!I5XTy76KWZ71D;rar^J&hXuefG#i&R+pbK=*~uB;iM3f>D< z*HG9WaDw=)s!>6^vQ8{dR-@~@kXgmGT0Ylif;7ZbHkK8Di5x@;%)`5DldfwCr?|5b z3G2xEI^HytQ5bxT3^B>60&k|?Y}-qO1Y67zO}F&@@_G$WlBYejt9HB1PYU&&BpQy6 zQX5P8OO(o+1UUJnyA@)B{iCqA;Qiw904GW6dn`Fn4Qgo5A;(YasS< z6Z@us909PVg#F;68UEYxesnEs)De` zt$oo~9MjZ{3GSDHA;#Am{Bw4fb6-Fw1IG#+Rv-BI*wN)wSp@mwK0ejh?pSi`lREsf z3op-DB0~_*Iyp=l8j(hWcRCVJR~`1dOcD(6uMFci(Mkts1>h=6zO9y+{wikZ2OO5B|DVrD^D zr%TQ-Ra#LcJ)zz#ny!(AfJwL+Jyav}`M}lYh6(}gjN-1Yp(Z*!ZQZA|d8L>y&0VV2 z%EhuWyWl=r=HV}$#}FY6=Gp^LKM9Il>!q_3(o)y6Q-;rtSFYz2%Xs1&|KU9@H#WMc ztwnRNUmr$G3hS?=|M7jP@?HMZsTA>$qrnH@8G9SGt-YamLv#3bxI;o^mDh*ivYHvH z0Q*MPd);emw>=`0ScDl|BpU3%_o^9OgIx92VyVl(_}e#>(*rhtG(@O#bZi)-UATn` zKd5JpTY7Kp?)c-nlOgtB{YV>oOSy_d`8jag)uVUl^=#_S?#$q?V~UuAgj!Pw|lE#1@+^I`l~J*;exrvE|5cIj&n? zqjdAD$ANy%3b}V`3A~!P0|T~xfqo2JE>2^PuFn6m zDFqozlxkEK3Zu&w1VC@iGq>7R`RSCyW=?W?_a4W77eLNfBnBLI z&z;1NO&PLaOCfYcqm}%SeeV4G!G}E!c{n?!UAkizP)newP$y5A$bEaaeh{s)@l`P& z>ldD$!S=5$DMbf|SZedr@c6ldD)#2RUbH2PDee9X5HWwcawo9Fba#n63tDHnkzqWz zRvnN~vA#3Wr$DVm#OmlU<>?mc6n@l^4fPY(U?!4=4Rjv7h2EqS|WCRm|a(C}uu|K2s)3v#R)McH9SlhamMFyhZp}BVrrQ zh&pZ57P@+UWq7FO4sYhG>^z(i{DSIQl4&S76KVRrZ0gjVs|iNq?Ppz325r@O{yZs@ zmN>b(zehhB4rP>uM;dCldJ>#IVON0<{1e5N(J70WQxFqv^iu?I_7PpwGhnl=8kf0Z ziOe_qtJfczi!bI-Q-vDdU}9&Jc!2mC*$`k(nv4o-W>eeFTn(c=kv0|VG$5S570p{+ z`_^9j;iei)ty(f40oQ~`AyPt>PLAHb{&2I&kf(Z?C#d>Ky@!nz7x(D)mQnz*E74xh z^2wtw3u;OMd7I0B%}30cGY^jU>r|q?pbDF7m;1&TyJ5aH^@bs!o~E;SULKz6JcNTC zB3&^s7w%VT4}D@4&~eiNpSo?&&F%E%AIWHNwH>y59XnifxG`cJG_HV+5LV6t9L38TayAp@6H=#vI@cXSkt zt{F@LQQq&a^1R1iLSulIDZeSgXnnpYEI?gW9j@Y3i5XpTB#N%Jk`MP#LRnzJ}RMIS83vo?sF2FLM+jmd>5ZRv`CTEO%Fm5|9f z)5-e#&7NB!5y2vOZWU%N&&r+N2AB}AjG7_IUuF@O_L=z!jm!FMfCp!=KRW!--} d+1Wn3kl5axkPurp2AoLo?1}c{Qe~^x{{gGG;*S6T literal 0 HcmV?d00001 diff --git a/init.el b/init.el new file mode 100644 index 0000000..e5302f4 --- /dev/null +++ b/init.el @@ -0,0 +1,86 @@ +;; Added by Package.el. This must come before configurations of +;; installed packages. Don't delete this line. If you don't want it, +;; just comment it out by adding a semicolon to the start of the line. +;; You may delete these explanatory comments. +(require 'package) +(setq package-enable-at-startup nil) +(add-to-list 'package-archives + '("melpa" . "https://melpa.org/packages/")) +(package-initialize) + +;; Packages + +;; Use-Package + +(unless (package-installed-p 'use-package) + (package-refresh-contents) + (package-install 'use-package)) + +;; Read the Org Configuration +(when (file-readable-p "~/.emacs.d/config.org") + (org-babel-load-file (expand-file-name "~/.emacs.d/config.org"))) + +(custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(ansi-color-names-vector + ["#d2ceda" "#f2241f" "#67b11d" "#b1951d" "#3a81c3" "#a31db1" "#21b8c7" "#655370"]) + '(custom-safe-themes + '("7546a14373f1f2da6896830e7a73674ef274b3da313f8a2c4a79842e8a93953e" "d6603a129c32b716b3d3541fc0b6bfe83d0e07f1954ee64517aa62c9405a3441" "8f5a7a9a3c510ef9cbb88e600c0b4c53cdcdb502cfe3eb50040b7e13c6f4e78e" "ba72dfc6bb260a9d8609136b9166e04ad0292b9760a3e2431cf0cd0679f83c3a" "e1ecb0536abec692b5a5e845067d75273fe36f24d01210bf0aa5842f2a7e029f" "be9645aaa8c11f76a10bcf36aaf83f54f4587ced1b9b679b55639c87404e2499" "8a379e7ac3a57e64de672dd744d4730b3bdb88ae328e8106f95cd81cbd44e0b6" "41098e2f8fa67dc51bbe89cce4fb7109f53a164e3a92356964c72f76d068587e" "bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "2035a16494e06636134de6d572ec47c30e26c3447eafeb6d3a9e8aee73732396" "86704574d397606ee1433af037c46611fb0a2787e8b6fd1d6c96361575be72d2" "a41b81af6336bd822137d4341f7e16495a49b06c180d6a6417bf9fd1001b6d2b" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" default)) + '(fci-rule-color "#a28c6f") + '(hl-todo-keyword-faces + '(("TODO" . "#dc752f") + ("NEXT" . "#dc752f") + ("THEM" . "#2d9574") + ("PROG" . "#3a81c3") + ("OKAY" . "#3a81c3") + ("DONT" . "#f2241f") + ("FAIL" . "#f2241f") + ("DONE" . "#42ae2c") + ("NOTE" . "#b1951d") + ("KLUDGE" . "#b1951d") + ("HACK" . "#b1951d") + ("TEMP" . "#b1951d") + ("FIXME" . "#dc752f") + ("XXX+" . "#dc752f") + ("\\?\\?\\?+" . "#dc752f"))) + '(jdee-db-active-breakpoint-face-colors (cons "#030100" "#A76A19")) + '(jdee-db-requested-breakpoint-face-colors (cons "#030100" "#813c07")) + '(jdee-db-spec-breakpoint-face-colors (cons "#030100" "#100e0d")) + '(objed-cursor-color "#874804") + '(package-selected-packages + '(omnisharp csharp-mode bug-hunter ewal-doom-themes ewal-evil-cursors ewal-spacemacs-themes ewal org-bullets company flyspell-correct-ivy evil ivy which-key use-package)) + '(pdf-view-midnight-colors '("#655370" . "#fbf8ef")) + '(rustic-ansi-faces + ["#040201" "#874804" "#813c07" "#a45101" "#A76A19" "#D76C03" "#F09010" "#e8c99f"]) + '(vc-annotate-background "#040201") + '(vc-annotate-color-map + (list + (cons 20 "#813c07") + (cons 40 "#8c4305") + (cons 60 "#984903") + (cons 80 "#a45101") + (cons 100 "#9d4f02") + (cons 120 "#964d03") + (cons 140 "#8F4C05") + (cons 160 "#a75604") + (cons 180 "#bf6103") + (cons 200 "#D76C03") + (cons 220 "#bc6003") + (cons 240 "#a15403") + (cons 260 "#874804") + (cons 280 "#693906") + (cons 300 "#4b2b08") + (cons 320 "#2d1c0a") + (cons 340 "#a28c6f") + (cons 360 "#a28c6f"))) + '(vc-annotate-very-old-color nil)) +(custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) + diff --git a/projectile-bookmarks.eld b/projectile-bookmarks.eld new file mode 100644 index 0000000..dfda882 --- /dev/null +++ b/projectile-bookmarks.eld @@ -0,0 +1 @@ +("~/.emacs.d/elpa/xelb-0.18/" "~/.emacs.d/") \ No newline at end of file