From 5849b51c45dc3367171515744ee05dc72f8d5e5f Mon Sep 17 00:00:00 2001 From: Pieter Degroote Date: Tue, 24 Mar 2020 22:58:13 +0100 Subject: [PATCH] Add files via upload The dead key 'macron/stroke' (AltGr+Shift+7) has been slightly rearranged and some letters with stroke have been added. --- UltimateKEYS - 2020-03-24.ahk | 1202 +++++++++++++++++++++++++++++++++ UltimateKEYS - 2020-03-24.klc | Bin 0 -> 71448 bytes 2 files changed, 1202 insertions(+) create mode 100644 UltimateKEYS - 2020-03-24.ahk create mode 100644 UltimateKEYS - 2020-03-24.klc diff --git a/UltimateKEYS - 2020-03-24.ahk b/UltimateKEYS - 2020-03-24.ahk new file mode 100644 index 0000000..527fe44 --- /dev/null +++ b/UltimateKEYS - 2020-03-24.ahk @@ -0,0 +1,1202 @@ +; UltimateKEYS - 2020-03-24.ahk + +; Created by : Pieter Degroote + +; License : GNU General Public License Version 3 + +; Website : https://github.com/pieter-degroote/UltimateKEYS + + +; Requirements : + +; Keyboard layout (on Windows OS) : US QWERTY + +; AutoHotkey v1.1 (https://www.autohotkey.com/) + + + +; Dead Key : Circumflex Accent + +dkCircumflex := ComObjCreate("Scripting.Dictionary") +dkCircumflex.item("a") := "â" ; a with circumflex +dkCircumflex.item("A") := "Â" ; A with circumflex +dkCircumflex.item("c") := "ĉ" ; c with circumflex +dkCircumflex.item("C") := "Ĉ" ; C with circumflex +dkCircumflex.item("e") := "ê" ; e with circumflex +dkCircumflex.item("E") := "Ê" ; E with circumflex +dkCircumflex.item("g") := "ĝ" ; g with circumflex +dkCircumflex.item("G") := "Ĝ" ; G with circumflex +dkCircumflex.item("h") := "ĥ" ; h with circumflex +dkCircumflex.item("H") := "Ĥ" ; H with circumflex +dkCircumflex.item("i") := "î" ; i with circumflex +dkCircumflex.item("I") := "Î" ; I with circumflex +dkCircumflex.item("j") := "ĵ" ; j with circumflex +dkCircumflex.item("J") := "Ĵ" ; J with circumflex +dkCircumflex.item("o") := "ô" ; o with circumflex +dkCircumflex.item("O") := "Ô" ; O with circumflex +dkCircumflex.item("s") := "ŝ" ; s with circumflex +dkCircumflex.item("S") := "Ŝ" ; S with circumflex +dkCircumflex.item("u") := "û" ; u with circumflex +dkCircumflex.item("U") := "Û" ; U with circumflex +dkCircumflex.item("w") := "ŵ" ; w with circumflex +dkCircumflex.item("W") := "Ŵ" ; W with circumflex +dkCircumflex.item("y") := "ŷ" ; y with circumflex +dkCircumflex.item("Y") := "Ŷ" ; Y with circumflex +dkCircumflex.item("z") := "ẑ" ; z with circumflex +dkCircumflex.item("Z") := "Ẑ" ; Z with circumflex +dkCircumflex.item("n") := "₦" ; Nigerian naira +dkCircumflex.item("N") := "₦" ; Nigerian naira +dkCircumflex.item("^") := "{^}" ; circumflex accent +dkCircumflex.item(" ") := "{^}" ; circumflex accent + + +; Dead Key : Caron + +dkCaron := ComObjCreate("Scripting.Dictionary") +dkCaron.item("a") := "ǎ" ; a with caron +dkCaron.item("A") := "Ǎ" ; A with caron +dkCaron.item("c") := "č" ; c with caron +dkCaron.item("C") := "Č" ; C with caron +dkCaron.item("d") := "ď" ; d with caron +dkCaron.item("D") := "Ď" ; D with caron +dkCaron.item("e") := "ě" ; e with caron +dkCaron.item("E") := "Ě" ; E with caron +dkCaron.item("g") := "ǧ" ; g with caron +dkCaron.item("G") := "Ǧ" ; G with caron +dkCaron.item("h") := "ȟ" ; h with caron +dkCaron.item("H") := "Ȟ" ; H with caron +dkCaron.item("i") := "ǐ" ; i with caron +dkCaron.item("I") := "Ǐ" ; I with caron +dkCaron.item("j") := "ǰ" ; j with caron +dkCaron.item("k") := "ǩ" ; k with caron +dkCaron.item("K") := "Ǩ" ; K with caron +dkCaron.item("l") := "ľ" ; l with caron +dkCaron.item("L") := "Ľ" ; L with caron +dkCaron.item("n") := "ň" ; n with caron +dkCaron.item("N") := "Ň" ; N with caron +dkCaron.item("o") := "ǒ" ; o with caron +dkCaron.item("O") := "Ǒ" ; O with caron +dkCaron.item("r") := "ř" ; r with caron +dkCaron.item("R") := "Ř" ; R with caron +dkCaron.item("s") := "š" ; s with caron +dkCaron.item("S") := "Š" ; S with caron +dkCaron.item("t") := "ť" ; t with caron +dkCaron.item("T") := "Ť" ; T with caron +dkCaron.item("u") := "ǔ" ; u with caron +dkCaron.item("U") := "Ǔ" ; U with caron +dkCaron.item("ü") := "ǚ" ; u with diaeresis and caron +dkCaron.item("Ü") := "Ǚ" ; U with diaeresis and caron +dkCaron.item("z") := "ž" ; z with caron +dkCaron.item("Z") := "Ž" ; Z with caron +dkCaron.item("3") := "ǯ" ; small letter ezh with caron +dkCaron.item("#") := "Ǯ" ; capital letter ezh with caron +dkCaron.item(" ") := "ˇ" ; caron + + +; Dead Key : Ring/Dot Above + +dkRingDotAbove := ComObjCreate("Scripting.Dictionary") +dkRingDotAbove.item("a") := "å" ; a with ring above +dkRingDotAbove.item("A") := "Å" ; A with ring above +dkRingDotAbove.item("ä") := "ȧ" ; a with dot above +dkRingDotAbove.item("Ä") := "Ȧ" ; a with dot above +dkRingDotAbove.item("b") := "ḃ" ; b with dot above +dkRingDotAbove.item("B") := "Ḃ" ; B with dot above +dkRingDotAbove.item("c") := "ċ" ; c with dot above +dkRingDotAbove.item("C") := "Ċ" ; C with dot above +dkRingDotAbove.item("d") := "ḋ" ; d with dot above +dkRingDotAbove.item("D") := "Ḋ" ; D with dot above +dkRingDotAbove.item("e") := "ė" ; e with dot above +dkRingDotAbove.item("E") := "Ė" ; E with dot above +dkRingDotAbove.item("f") := "ḟ" ; f with dot above +dkRingDotAbove.item("F") := "Ḟ" ; F with dot above +dkRingDotAbove.item("g") := "ġ" ; g with dot above +dkRingDotAbove.item("G") := "Ġ" ; G with dot above +dkRingDotAbove.item("h") := "ḣ" ; h with dot above +dkRingDotAbove.item("H") := "Ḣ" ; H with dot above +dkRingDotAbove.item("i") := "ı" ; dotless i (Turkish, Azerbaijani) +dkRingDotAbove.item("I") := "İ" ; I with dot above (Turkish, Azerbaijani) +dkRingDotAbove.item("j") := "ȷ" ; dotless j +dkRingDotAbove.item("l") := "ŀ" ; l with middle dot +dkRingDotAbove.item("L") := "Ŀ" ; L with middle dot +dkRingDotAbove.item("m") := "ṁ" ; m with dot above +dkRingDotAbove.item("M") := "Ṁ" ; M with dot above +dkRingDotAbove.item("n") := "ṅ" ; n with dot above +dkRingDotAbove.item("N") := "Ṅ" ; N with dot above +dkRingDotAbove.item("o") := "ȯ" ; o with dot above +dkRingDotAbove.item("O") := "Ȯ" ; O with dot above +dkRingDotAbove.item("p") := "ṗ" ; p with dot above +dkRingDotAbove.item("P") := "Ṗ" ; P with dot above +dkRingDotAbove.item("r") := "ṙ" ; r with dot above +dkRingDotAbove.item("R") := "Ṙ" ; R with dot above +dkRingDotAbove.item("s") := "ṡ" ; s with dot above +dkRingDotAbove.item("S") := "Ṡ" ; S with dot above +dkRingDotAbove.item("t") := "ṫ" ; t with dot above +dkRingDotAbove.item("T") := "Ṫ" ; T with dot above +dkRingDotAbove.item("u") := "ů" ; u with ring above +dkRingDotAbove.item("U") := "Ů" ; U with ring above +dkRingDotAbove.item("w") := "ẘ" ; w with ring above +dkRingDotAbove.item("å") := "ẇ" ; w with dot above +dkRingDotAbove.item("Å") := "Ẇ" ; W with dot above +dkRingDotAbove.item("x") := "ẋ" ; x with dot above +dkRingDotAbove.item("X") := "Ẋ" ; X with dot above +dkRingDotAbove.item("y") := "ẙ" ; y with ring above +dkRingDotAbove.item("ÿ") := "ẏ" ; y with dot above +dkRingDotAbove.item("Ÿ") := "Ẏ" ; Y with dot above +dkRingDotAbove.item("z") := "ż" ; z with dot above +dkRingDotAbove.item("Z") := "Ż" ; Z with dot above +dkRingDotAbove.item(" ") := "˙" ; dot above + + +; Dead Key : Macron/Stroke + +dkMacronStroke := ComObjCreate("Scripting.Dictionary") +dkMacronStroke.item("a") := "ā" ; a with macron +dkMacronStroke.item("A") := "Ā" ; A with macron +dkMacronStroke.item("æ") := "ǣ" ; ae with macron +dkMacronStroke.item("Æ") := "Ǣ" ; AE with macron +dkMacronStroke.item("b") := "ƀ" ; b with stroke +dkMacronStroke.item("B") := "Ƀ" ; B with stroke +dkMacronStroke.item("d") := "đ" ; d with stroke +dkMacronStroke.item("D") := "Đ" ; D with stroke +dkMacronStroke.item("e") := "ē" ; e with macron +dkMacronStroke.item("E") := "Ē" ; E with macron +dkMacronStroke.item("g") := "ǥ" ; g with stroke (Skolt Sami) +dkMacronStroke.item("G") := "Ǥ" ; G with stroke (Skolt Sami) +dkMacronStroke.item("é") := "ḡ" ; g with macron +dkMacronStroke.item("É") := "Ḡ" ; G with macron +dkMacronStroke.item("h") := "ħ" ; h with stroke (Maltese) +dkMacronStroke.item("H") := "Ħ" ; H with stroke (Maltese) +dkMacronStroke.item("i") := "ī" ; i with macron +dkMacronStroke.item("I") := "Ī" ; I with macron +dkMacronStroke.item("ï") := "ɨ" ; i with stroke +dkMacronStroke.item("Ï") := "Ɨ" ; I with stroke +dkMacronStroke.item("j") := "ɉ" ; j with stroke +dkMacronStroke.item("J") := "Ɉ" ; J with stroke +dkMacronStroke.item("l") := "ł" ; l with stroke +dkMacronStroke.item("L") := "Ł" ; L with stroke +dkMacronStroke.item("ø") := "ḻ" ; l with line below +dkMacronStroke.item("Ø") := "Ḻ" ; L with line below +dkMacronStroke.item("o") := "ō" ; o with macron +dkMacronStroke.item("O") := "Ō" ; O with macron +dkMacronStroke.item("ö") := "ǭ" ; o with ogonek and macron +dkMacronStroke.item("Ö") := "Ǭ" ; O with ogonek and macron +dkMacronStroke.item("r") := "ɍ" ; r with stroke +dkMacronStroke.item("R") := "Ɍ" ; R with stroke +dkMacronStroke.item("t") := "ŧ" ; t with stroke +dkMacronStroke.item("T") := "Ŧ" ; T with stroke +dkMacronStroke.item("u") := "ū" ; u with macron +dkMacronStroke.item("U") := "Ū" ; U with macron +dkMacronStroke.item("y") := "ȳ" ; y with macron +dkMacronStroke.item("Y") := "Ȳ" ; Y with macron +dkMacronStroke.item("ÿ") := "ɏ" ; y with stroke +dkMacronStroke.item("Ÿ") := "Ɏ" ; Y with stroke +dkMacronStroke.item("z") := "ƶ" ; z with stroke +dkMacronStroke.item("Z") := "Ƶ" ; Z with stroke +dkMacronStroke.item(" ") := "¯" ; macron + + +; Dead Key : Cedilla/Ogonek + +dkCedillaOgonek := ComObjCreate("Scripting.Dictionary") +dkCedillaOgonek.item("a") := "ą" ; a with ogonek +dkCedillaOgonek.item("A") := "Ą" ; A with ogonek +dkCedillaOgonek.item("c") := "ç" ; c with cedilla +dkCedillaOgonek.item("C") := "Ç" ; C with cedilla +dkCedillaOgonek.item("d") := "ḑ" ; d with cedilla +dkCedillaOgonek.item("D") := "Ḑ" ; D with cedilla +dkCedillaOgonek.item("e") := "ę" ; e with ogonek +dkCedillaOgonek.item("E") := "Ę" ; E with ogonek +dkCedillaOgonek.item("ë") := "ȩ" ; e with cedilla +dkCedillaOgonek.item("Ë") := "Ȩ" ; E with cedilla +dkCedillaOgonek.item("g") := "ģ" ; g with cedilla +dkCedillaOgonek.item("G") := "Ģ" ; G with cedilla +dkCedillaOgonek.item("h") := "ḩ" ; h with cedilla +dkCedillaOgonek.item("H") := "Ḩ" ; H with cedilla +dkCedillaOgonek.item("i") := "į" ; i with ogonek +dkCedillaOgonek.item("I") := "Į" ; I with ogonek +dkCedillaOgonek.item("k") := "ķ" ; k with cedilla +dkCedillaOgonek.item("K") := "Ķ" ; K with cedilla +dkCedillaOgonek.item("l") := "ļ" ; l with cedilla +dkCedillaOgonek.item("L") := "Ļ" ; L with cedilla +dkCedillaOgonek.item("n") := "ņ" ; n with cedilla +dkCedillaOgonek.item("N") := "Ņ" ; N with cedilla +dkCedillaOgonek.item("o") := "ǫ" ; o with ogonek +dkCedillaOgonek.item("O") := "Ǫ" ; O with ogonek +dkCedillaOgonek.item("ö") := "ǭ" ; o with ogonek and macron +dkCedillaOgonek.item("Ö") := "Ǭ" ; O with ogonek and macron +dkCedillaOgonek.item("r") := "ŗ" ; r with cedilla +dkCedillaOgonek.item("R") := "Ŗ" ; R with cedilla +dkCedillaOgonek.item("s") := "ş" ; s with cedilla +dkCedillaOgonek.item("S") := "Ş" ; S with cedilla +dkCedillaOgonek.item("t") := "ţ" ; t with cedilla +dkCedillaOgonek.item("T") := "Ţ" ; T with cedilla +dkCedillaOgonek.item("u") := "ų" ; u with ogonek +dkCedillaOgonek.item("U") := "Ų" ; U with ogonek +dkCedillaOgonek.item("w") := "₩" ; South Korean won +dkCedillaOgonek.item("W") := "₩" ; South Korean won +dkCedillaOgonek.item("1") := "–" ; en dash +dkCedillaOgonek.item("2") := "—" ; em dash +dkCedillaOgonek.item("3") := "―" ; horizontal bar +dkCedillaOgonek.item("4") := "‐" ; hyphen +dkCedillaOgonek.item("9") := "‒" ; figure dash +dkCedillaOgonek.item("0") := "­" ; soft hyphen +dkCedillaOgonek.item("-") := "‑" ; non-breaking hyphen +dkCedillaOgonek.item(".") := "˛" ; ogonek +dkCedillaOgonek.item(" ") := "¸" ; cedilla + + +; Dead Key : Breve/Special + +dkBreveSpecial := ComObjCreate("Scripting.Dictionary") +dkBreveSpecial.item("a") := "ă" ; a with breve +dkBreveSpecial.item("A") := "Ă" ; A with breve +dkBreveSpecial.item("d") := "ɖ" ; small letter d with tail +dkBreveSpecial.item("D") := "Ɖ" ; capital letter African D +dkBreveSpecial.item("e") := "ĕ" ; e with breve +dkBreveSpecial.item("E") := "Ĕ" ; E with breve +dkBreveSpecial.item("ë") := "ǝ" ; small turned e +dkBreveSpecial.item("Ë") := "Ǝ" ; capital reversed E +dkBreveSpecial.item("f") := "ə" ; small letter schwa (Azerbaijani) +dkBreveSpecial.item("F") := "Ə" ; capital letter schwa (Azerbaijani) +dkBreveSpecial.item("g") := "ğ" ; g with breve +dkBreveSpecial.item("G") := "Ğ" ; G with breve +dkBreveSpecial.item("h") := "ɣ" ; latin small gamma +dkBreveSpecial.item("H") := "Ɣ" ; latin capital gamma +dkBreveSpecial.item("i") := "ĭ" ; i with breve +dkBreveSpecial.item("I") := "Ĭ" ; I with breve +dkBreveSpecial.item("j") := "ij" ; ligature ij +dkBreveSpecial.item("J") := "IJ" ; ligature IJ +dkBreveSpecial.item("k") := "ĸ" ; small letter kra +dkBreveSpecial.item("n") := "ŋ" ; small letter eng(ma) +dkBreveSpecial.item("N") := "Ŋ" ; capital letter eng(ma) +dkBreveSpecial.item("o") := "ŏ" ; o with breve +dkBreveSpecial.item("O") := "Ŏ" ; O with breve +dkBreveSpecial.item("ö") := "ɔ" ; small open o +dkBreveSpecial.item("Ö") := "Ɔ" ; capital open O +dkBreveSpecial.item("s") := "ș" ; s with comma below (Romanian) +dkBreveSpecial.item("S") := "Ș" ; S with comma below (Romanian) +dkBreveSpecial.item("t") := "ț" ; t with comma below (Romanian) +dkBreveSpecial.item("T") := "Ț" ; T with comma below (Romanian) +dkBreveSpecial.item("u") := "ŭ" ; u with breve +dkBreveSpecial.item("U") := "Ŭ" ; U with breve +dkBreveSpecial.item("ü") := "ʊ" ; latin small letter upsilon +dkBreveSpecial.item("Ü") := "Ʊ" ; latin capital letter upsilon +dkBreveSpecial.item("w") := "ƿ" ; small letter wynn +dkBreveSpecial.item("W") := "Ƿ" ; capital letter wynn +dkBreveSpecial.item("y") := "ȝ" ; small letter yogh +dkBreveSpecial.item("Y") := "Ȝ" ; capital letter yogh +dkBreveSpecial.item("3") := "ʒ" ; small letter ezh +dkBreveSpecial.item("#") := "Ʒ" ; capital letter ezh +dkBreveSpecial.item(" ") := "˘" ; breve + + +; Dead Key : Acute Accent + +dkAcuteAccent := ComObjCreate("Scripting.Dictionary") +dkAcuteAccent.item("a") := "á" ; a with acute +dkAcuteAccent.item("A") := "Á" ; A with acute +dkAcuteAccent.item("c") := "ć" ; c with acute +dkAcuteAccent.item("C") := "Ć" ; C with acute +dkAcuteAccent.item("ç") := "ḉ" ; c with cedilla and acute +dkAcuteAccent.item("Ç") := "Ḉ" ; C with cedilla and acute +dkAcuteAccent.item("e") := "é" ; e with acute +dkAcuteAccent.item("E") := "É" ; E with acute +dkAcuteAccent.item("g") := "ǵ" ; g with acute +dkAcuteAccent.item("G") := "Ǵ" ; G with acute +dkAcuteAccent.item("i") := "í" ; i with acute +dkAcuteAccent.item("I") := "Í" ; I with acute +dkAcuteAccent.item("j") := "ij" ; ligature ij +dkAcuteAccent.item("J") := "IJ" ; ligature IJ +dkAcuteAccent.item("k") := "ḱ" ; k with acute +dkAcuteAccent.item("K") := "Ḱ" ; K with acute +dkAcuteAccent.item("l") := "ĺ" ; l with acute +dkAcuteAccent.item("L") := "Ĺ" ; L with acute +dkAcuteAccent.item("m") := "ḿ" ; m with acute +dkAcuteAccent.item("M") := "Ḿ" ; M with acute +dkAcuteAccent.item("n") := "ń" ; n with acute +dkAcuteAccent.item("N") := "Ń" ; N with acute +dkAcuteAccent.item("o") := "ó" ; o with acute +dkAcuteAccent.item("O") := "Ó" ; O with acute +dkAcuteAccent.item("ö") := "ő" ; o with double acute +dkAcuteAccent.item("Ö") := "Ő" ; O with double acute +dkAcuteAccent.item("p") := "ṕ" ; p with acute +dkAcuteAccent.item("P") := "Ṕ" ; P with acute +dkAcuteAccent.item("r") := "ŕ" ; r with acute +dkAcuteAccent.item("R") := "Ŕ" ; R with acute +dkAcuteAccent.item("s") := "ś" ; s with acute +dkAcuteAccent.item("S") := "Ś" ; S with acute +dkAcuteAccent.item("u") := "ú" ; u with acute +dkAcuteAccent.item("U") := "Ú" ; U with acute +dkAcuteAccent.item("ü") := "ű" ; u with double acute +dkAcuteAccent.item("Ü") := "Ű" ; U with double acute +dkAcuteAccent.item("w") := "ẃ" ; w with acute +dkAcuteAccent.item("W") := "Ẃ" ; W with acute +dkAcuteAccent.item("y") := "ý" ; y with acute +dkAcuteAccent.item("Y") := "Ý" ; Y with acute +dkAcuteAccent.item("z") := "ź" ; z with acute +dkAcuteAccent.item("Z") := "Ź" ; Z with acute +dkAcuteAccent.item("å") := "ǻ" ; a with ring above and acute +dkAcuteAccent.item("Å") := "Ǻ" ; A with ring above and acute +dkAcuteAccent.item("æ") := "ǽ" ; ae with acute +dkAcuteAccent.item("Æ") := "Ǽ" ; AE with acute +dkAcuteAccent.item("ø") := "ǿ" ; o with stroke and acute +dkAcuteAccent.item("Ø") := "Ǿ" ; O with stroke and acute +dkAcuteAccent.item("2") := "♫" ; beamed eighth notes +dkAcuteAccent.item("8") := "♪" ; eighth note +dkAcuteAccent.item("'") := "´" ; acute accent +dkAcuteAccent.item(" ") := "´" ; acute accent + + +; Dead Key : Diaeresis + +dkDiaeresis := ComObjCreate("Scripting.Dictionary") +dkDiaeresis.item("a") := "ä" ; a with diaeresis +dkDiaeresis.item("A") := "Ä" ; A with diaeresis +dkDiaeresis.item("e") := "ë" ; e with diaeresis +dkDiaeresis.item("E") := "Ë" ; E with diaeresis +dkDiaeresis.item("h") := "ḧ" ; h with diaeresis +dkDiaeresis.item("H") := "Ḧ" ; H with diaeresis +dkDiaeresis.item("i") := "ï" ; i with diaeresis +dkDiaeresis.item("I") := "Ï" ; I with diaeresis +dkDiaeresis.item("o") := "ö" ; o with diaeresis +dkDiaeresis.item("O") := "Ö" ; O with diaeresis +dkDiaeresis.item("s") := "ß" ; small sharp s (Eszett) +dkDiaeresis.item("S") := "ẞ" ; capital sharp S (capital Eszett) +dkDiaeresis.item("t") := "ẗ" ; t with diaeresis +dkDiaeresis.item("u") := "ü" ; u with diaeresis +dkDiaeresis.item("U") := "Ü" ; U with diaeresis +dkDiaeresis.item("w") := "ẅ" ; w with diaeresis +dkDiaeresis.item("W") := "Ẅ" ; W with diaeresis +dkDiaeresis.item("x") := "ẍ" ; x with diaeresis +dkDiaeresis.item("X") := "Ẍ" ; X with diaeresis +dkDiaeresis.item("y") := "ÿ" ; y with diaeresis +dkDiaeresis.item("Y") := "Ÿ" ; Y with diaeresis +dkDiaeresis.item("""") := "¨" ; diaeresis +dkDiaeresis.item(" ") := "¨" ; diaeresis + + +; Dead Key : Grave Accent + +dkGraveAccent := ComObjCreate("Scripting.Dictionary") +dkGraveAccent.item("a") := "à" ; a with grave +dkGraveAccent.item("A") := "À" ; A with grave +dkGraveAccent.item("e") := "è" ; e with grave +dkGraveAccent.item("E") := "È" ; E with grave +dkGraveAccent.item("i") := "ì" ; i with grave +dkGraveAccent.item("I") := "Ì" ; I with grave +dkGraveAccent.item("n") := "ǹ" ; n with grave +dkGraveAccent.item("N") := "Ǹ" ; N with grave +dkGraveAccent.item("o") := "ò" ; o with grave +dkGraveAccent.item("O") := "Ò" ; O with grave +dkGraveAccent.item("u") := "ù" ; u with grave +dkGraveAccent.item("U") := "Ù" ; U with grave +dkGraveAccent.item("w") := "ẁ" ; w with grave +dkGraveAccent.item("W") := "Ẁ" ; W with grave +dkGraveAccent.item("y") := "ỳ" ; y with grave +dkGraveAccent.item("Y") := "Ỳ" ; Y with grave +dkGraveAccent.item("ä") := "₳" ; Argentine austral +dkGraveAccent.item("Ä") := "₳" ; Argentine austral +dkGraveAccent.item("b") := "₿" ; bitcoin +dkGraveAccent.item("B") := "₿" ; bitcoin +dkGraveAccent.item("c") := "₡" ; Costa Rican colón +dkGraveAccent.item("C") := "₵" ; Ghanaian cedi +dkGraveAccent.item("ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("Ç") := "₢" ; Brazilian cruzeiro +dkGraveAccent.item("d") := "₫" ; Vietnamese dong +dkGraveAccent.item("D") := "₯" ; Greek drachma +dkGraveAccent.item("f") := "₣" ; French franc +dkGraveAccent.item("F") := "₣" ; French franc +dkGraveAccent.item("g") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("G") := "₲" ; Paraguayan guaraní +dkGraveAccent.item("h") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("H") := "₴" ; Ukrainian hryvnia +dkGraveAccent.item("k") := "₭" ; Laotian kip +dkGraveAccent.item("K") := "₭" ; Laotian kip +dkGraveAccent.item("l") := "₺" ; Turkish lira +dkGraveAccent.item("L") := "₾" ; Georgian lari +dkGraveAccent.item("ø") := "₤" ; lira +dkGraveAccent.item("Ø") := "₤" ; lira +dkGraveAccent.item("m") := "₼" ; Azerbaijani manat +dkGraveAccent.item("M") := "₥" ; mill sign +dkGraveAccent.item("ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("Ñ") := "₦" ; Nigerian naira +dkGraveAccent.item("p") := "₱" ; Philippine peso +dkGraveAccent.item("P") := "₱" ; Philippine peso +dkGraveAccent.item("r") := "₹" ; Indian rupee +dkGraveAccent.item("R") := "₽" ; Russian ruble +dkGraveAccent.item("s") := "₪" ; Israeli new shekel +dkGraveAccent.item("S") := "₪" ; Israeli new shekel +dkGraveAccent.item("t") := "₮" ; Mongolian tögrög (tugrik) +dkGraveAccent.item("T") := "₸" ; Kazakh tenge +dkGraveAccent.item("å") := "₩" ; South Korean won +dkGraveAccent.item("Å") := "₩" ; South Korean won +dkGraveAccent.item("1") := " " ; en space +dkGraveAccent.item("2") := " " ; em space +dkGraveAccent.item("3") := " " ; three-per-em space +dkGraveAccent.item("4") := " " ; four-per-em space +dkGraveAccent.item("5") := " " ; punctuation space +dkGraveAccent.item("6") := " " ; six-per-em space +dkGraveAccent.item("7") := " " ; thin space +dkGraveAccent.item("8") := " " ; hair space +dkGraveAccent.item("9") := " " ; figure space +dkGraveAccent.item("0") := "​" ; zero-width space +dkGraveAccent.item("-") := " " ; non-breaking space +dkGraveAccent.item("!") := " " ; en quad +dkGraveAccent.item("@") := " " ; em quad +dkGraveAccent.item("``") := "``" ; grave accent +dkGraveAccent.item(" ") := "``" ; grave accent + + +; Dead Key : Tilde + +dkTilde := ComObjCreate("Scripting.Dictionary") +dkTilde.item("a") := "ã" ; a with tilde +dkTilde.item("A") := "Ã" ; A with tilde +dkTilde.item("e") := "ẽ" ; e with tilde +dkTilde.item("E") := "Ẽ" ; E with tilde +dkTilde.item("i") := "ĩ" ; i with tilde +dkTilde.item("I") := "Ĩ" ; I with tilde +dkTilde.item("n") := "ñ" ; n with tilde +dkTilde.item("N") := "Ñ" ; N with tilde +dkTilde.item("o") := "õ" ; o with tilde +dkTilde.item("O") := "Õ" ; O with tilde +dkTilde.item("u") := "ũ" ; u with tilde +dkTilde.item("U") := "Ũ" ; U with tilde +dkTilde.item("v") := "ṽ" ; v with tilde +dkTilde.item("V") := "Ṽ" ; V with tilde +dkTilde.item("y") := "ỹ" ; y with tilde +dkTilde.item("Y") := "Ỹ" ; Y with tilde +dkTilde.item("~") := "~" ; tilde +dkTilde.item(" ") := "~" ; tilde + + +; Dead Key : Not Sign + +dkNotSign := ComObjCreate("Scripting.Dictionary") +dkNotSign.item("a") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("A") := "ª" ; feminine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("b") := "☐" ; ballot box +dkNotSign.item("B") := "☒" ; ballot box with x +dkNotSign.item("c") := "©" ; copyright sign +dkNotSign.item("C") := "¤" ; currency sign +dkNotSign.item("d") := "†" ; dagger +dkNotSign.item("D") := "‡" ; double dagger +dkNotSign.item("e") := "…" ; ellipsis +dkNotSign.item("E") := "℮" ; estimated symbol +dkNotSign.item("f") := "♀" ; Venus symbol (female) +dkNotSign.item("F") := "♀" ; Venus symbol (female) +dkNotSign.item("h") := "♡" ; white heart suit +dkNotSign.item("H") := "♥" ; black heart suit +dkNotSign.item("l") := "ℓ" ; script small l +dkNotSign.item("L") := "ℓ" ; script small l +dkNotSign.item("m") := "♂" ; Mars symbol (male) +dkNotSign.item("M") := "♂" ; Mars symbol (male) +dkNotSign.item("n") := "¬" ; not sign +dkNotSign.item("N") := "¬" ; not sign +dkNotSign.item("o") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("O") := "º" ; masculine ordinal indicator (Spanish, Portuguese, Italian, Galician) +dkNotSign.item("p") := "¶" ; pilcrow sign +dkNotSign.item("P") := "℗" ; sound recording copyright +dkNotSign.item("r") := "®" ; registered sign +dkNotSign.item("R") := "®" ; registered sign +dkNotSign.item("s") := "§" ; section sign +dkNotSign.item("S") := "℠" ; service mark +dkNotSign.item("t") := "™" ; trademark symbol +dkNotSign.item("T") := "™" ; trademark symbol +dkNotSign.item("v") := "✓" ; check mark +dkNotSign.item("V") := "✔" ; heavy check mark +dkNotSign.item("w") := "☑" ; ballot box with check +dkNotSign.item("W") := "☙" ; reversed rotated floral heart bullet +dkNotSign.item("x") := "✗" ; ballot x +dkNotSign.item("X") := "✘" ; heavy ballot x +dkNotSign.item("y") := "☺" ; white smiling face +dkNotSign.item("Y") := "☻" ; black smiling face +dkNotSign.item("1") := "№" ; numero sign +dkNotSign.item("2") := "½" ; vulgar fraction 1/2 +dkNotSign.item("3") := "⅓" ; vulgar fraction 1/3 +dkNotSign.item("4") := "¼" ; vulgar fraction 1/4 +dkNotSign.item("5") := "⅔" ; vulgar fraction 2/3 +dkNotSign.item("6") := "¾" ; vulgar fraction 3/4 +dkNotSign.item("7") := "⅛" ; vulgar fraction 1/8 +dkNotSign.item("8") := "⅜" ; vulgar fraction 3/8 +dkNotSign.item("9") := "⅝" ; vulgar fraction 5/8 +dkNotSign.item("0") := "⅞" ; vulgar fraction 7/8 +dkNotSign.item(".") := "•" ; bullet +dkNotSign.item("-") := "⁃" ; hyphen bullet +dkNotSign.item("\") := "⁞" ; vertical four dots +dkNotSign.item("|") := "⁞" ; vertical four dots +dkNotSign.item(" ") := "¬" ; not sign + + +; Dead Key : Broken Bar + +dkBrokenBar := ComObjCreate("Scripting.Dictionary") +dkBrokenBar.item("b") := "ɓ" ; b with hook +dkBrokenBar.item("B") := "Ɓ" ; B with hook +dkBrokenBar.item("c") := "ƈ" ; c with hook +dkBrokenBar.item("C") := "Ƈ" ; C with hook +dkBrokenBar.item("d") := "ɗ" ; d with hook +dkBrokenBar.item("D") := "Ɗ" ; D with hook +dkBrokenBar.item("e") := "ɛ" ; small open e (latin small epsilon) +dkBrokenBar.item("E") := "Ɛ" ; capital open E (latin capital epsilon) +dkBrokenBar.item("f") := "ƒ" ; f with hook +dkBrokenBar.item("F") := "Ƒ" ; F with hook +dkBrokenBar.item("g") := "ɠ" ; g with hook +dkBrokenBar.item("G") := "Ɠ" ; G with hook +dkBrokenBar.item("h") := "❦" ; floral heart +dkBrokenBar.item("H") := "❧" ; rotated floral heart bullet +dkBrokenBar.item("k") := "ƙ" ; k with hook +dkBrokenBar.item("K") := "Ƙ" ; K with hook +dkBrokenBar.item("n") := "ɲ" ; n with left hook +dkBrokenBar.item("N") := "Ɲ" ; N with left hook +dkBrokenBar.item("o") := "ơ" ; o with horn +dkBrokenBar.item("O") := "Ơ" ; O with horn +dkBrokenBar.item("p") := "ƥ" ; p with hook +dkBrokenBar.item("P") := "Ƥ" ; P with hook +dkBrokenBar.item("s") := "ʃ" ; small letter esh +dkBrokenBar.item("S") := "Ʃ" ; capital letter esh +dkBrokenBar.item("ß") := "ſ" ; small long s +dkBrokenBar.item("t") := "ƭ" ; t with hook +dkBrokenBar.item("T") := "Ƭ" ; T with hook +dkBrokenBar.item("u") := "ư" ; u with horn +dkBrokenBar.item("U") := "Ư" ; U with horn +dkBrokenBar.item("v") := "ʋ" ; v with hook +dkBrokenBar.item("V") := "Ʋ" ; V with hook +dkBrokenBar.item("w") := "ⱳ" ; w with hook +dkBrokenBar.item("W") := "Ⱳ" ; W with hook +dkBrokenBar.item("y") := "ƴ" ; y with hook +dkBrokenBar.item("Y") := "Ƴ" ; Y with hook +dkBrokenBar.item("z") := "ȥ" ; z with hook +dkBrokenBar.item("Z") := "Ȥ" ; Z with hook +dkBrokenBar.item("1") := "←" ; leftwards arrow +dkBrokenBar.item("2") := "↓" ; downwards arrow +dkBrokenBar.item("3") := "↑" ; upwards arrow +dkBrokenBar.item("4") := "→" ; rightwards arrow +dkBrokenBar.item("5") := "↖" ; north west arrow +dkBrokenBar.item("6") := "↙" ; south west arrow +dkBrokenBar.item("7") := "↗" ; north east arrow +dkBrokenBar.item("8") := "↘" ; south east arrow +dkBrokenBar.item("9") := "↕" ; up down arrow +dkBrokenBar.item("0") := "↨" ; up down arrow with base +dkBrokenBar.item("=") := "↔" ; left right arrow +dkBrokenBar.item("!") := "⇐" ; leftwards double arrow +dkBrokenBar.item("@") := "⇓" ; downwards double arrow +dkBrokenBar.item("#") := "⇑" ; upwards double arrow +dkBrokenBar.item("$") := "⇒" ; rightwards double arrow +dkBrokenBar.item("%") := "⇖" ; north west double arrow +dkBrokenBar.item("^") := "⇙" ; south west double arrow +dkBrokenBar.item("&") := "⇗" ; north east double arrow +dkBrokenBar.item("*") := "⇘" ; south east double arrow +dkBrokenBar.item("(") := "⇕" ; up down double arrow +dkBrokenBar.item(")") := "↲" ; downwards arrow with tip leftwards +dkBrokenBar.item("+") := "⇔" ; left right double arrow +dkBrokenBar.item("\") := "¦" ; broken bar +dkBrokenBar.item("|") := "¦" ; broken bar +dkBrokenBar.item(" ") := "¦" ; broken bar + + +; Dead Key : Greek Alphabet + +dkGreekAlphabet := ComObjCreate("Scripting.Dictionary") +dkGreekAlphabet.item("a") := "α" ; small alpha +dkGreekAlphabet.item("A") := "Α" ; capital alpha +dkGreekAlphabet.item("b") := "β" ; small beta +dkGreekAlphabet.item("B") := "Β" ; capital beta +dkGreekAlphabet.item("v") := "β" ; small beta +dkGreekAlphabet.item("V") := "Β" ; capital beta +dkGreekAlphabet.item("g") := "γ" ; small gamma +dkGreekAlphabet.item("G") := "Γ" ; capital gamma +dkGreekAlphabet.item("d") := "δ" ; small delta +dkGreekAlphabet.item("D") := "Δ" ; capital delta +dkGreekAlphabet.item("e") := "ε" ; small epsilon +dkGreekAlphabet.item("E") := "Ε" ; capital epsilon +dkGreekAlphabet.item("z") := "ζ" ; small zeta +dkGreekAlphabet.item("Z") := "Ζ" ; capital zeta +dkGreekAlphabet.item("h") := "η" ; small eta +dkGreekAlphabet.item("H") := "Η" ; capital eta +dkGreekAlphabet.item("j") := "θ" ; small theta +dkGreekAlphabet.item("J") := "Θ" ; capital theta +dkGreekAlphabet.item("i") := "ι" ; small iota +dkGreekAlphabet.item("I") := "Ι" ; capital iota +dkGreekAlphabet.item("k") := "κ" ; small kappa +dkGreekAlphabet.item("K") := "Κ" ; capital kappa +dkGreekAlphabet.item("l") := "λ" ; small lambda +dkGreekAlphabet.item("L") := "Λ" ; capital lambda +dkGreekAlphabet.item("m") := "μ" ; small mu +dkGreekAlphabet.item("M") := "Μ" ; capital mu +dkGreekAlphabet.item("n") := "ν" ; small nu +dkGreekAlphabet.item("N") := "Ν" ; capital nu +dkGreekAlphabet.item("x") := "ξ" ; small xi +dkGreekAlphabet.item("X") := "Ξ" ; capital xi +dkGreekAlphabet.item("o") := "ο" ; small omikron +dkGreekAlphabet.item("O") := "Ο" ; capital omikron +dkGreekAlphabet.item("p") := "π" ; small pi +dkGreekAlphabet.item("P") := "Π" ; capital pi +dkGreekAlphabet.item("r") := "ρ" ; small rho +dkGreekAlphabet.item("R") := "Ρ" ; capital rho +dkGreekAlphabet.item("s") := "σ" ; small sigma +dkGreekAlphabet.item("S") := "Σ" ; capital sigma +dkGreekAlphabet.item(",") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("ß") := "ς" ; small sigma, in word-final position +dkGreekAlphabet.item("t") := "τ" ; small tau +dkGreekAlphabet.item("T") := "Τ" ; capital tau +dkGreekAlphabet.item("u") := "υ" ; small upsilon +dkGreekAlphabet.item("U") := "Υ" ; capital upsilon +dkGreekAlphabet.item("y") := "υ" ; small upsilon +dkGreekAlphabet.item("Y") := "Υ" ; capital upsilon +dkGreekAlphabet.item("f") := "φ" ; small phi +dkGreekAlphabet.item("F") := "Φ" ; capital phi +dkGreekAlphabet.item("c") := "χ" ; small chi +dkGreekAlphabet.item("C") := "Χ" ; capital chi +dkGreekAlphabet.item("w") := "ψ" ; small psi +dkGreekAlphabet.item("W") := "Ψ" ; capital psi +dkGreekAlphabet.item("q") := "ω" ; small omega +dkGreekAlphabet.item("Q") := "Ω" ; capital omega +dkGreekAlphabet.item("1") := "¹" ; superscript 1 +dkGreekAlphabet.item("2") := "²" ; superscript 2 +dkGreekAlphabet.item("3") := "³" ; superscript 3 +dkGreekAlphabet.item("4") := "⁴" ; superscript 4 +dkGreekAlphabet.item("5") := "⁵" ; superscript 5 +dkGreekAlphabet.item("6") := "⁶" ; superscript 6 +dkGreekAlphabet.item("7") := "⁷" ; superscript 7 +dkGreekAlphabet.item("8") := "⁸" ; superscript 8 +dkGreekAlphabet.item("9") := "⁹" ; superscript 9 +dkGreekAlphabet.item("0") := "⁰" ; superscript 0 +dkGreekAlphabet.item("-") := "⁻" ; superscript - +dkGreekAlphabet.item("=") := "⁼" ; superscript = +dkGreekAlphabet.item("+") := "⁺" ; superscript + +dkGreekAlphabet.item("[") := "⁽" ; superscript ( +dkGreekAlphabet.item("]") := "⁾" ; superscript ) +dkGreekAlphabet.item("!") := "₁" ; subscript 1 +dkGreekAlphabet.item("@") := "₂" ; subscript 2 +dkGreekAlphabet.item("#") := "₃" ; subscript 3 +dkGreekAlphabet.item("$") := "₄" ; subscript 4 +dkGreekAlphabet.item("%") := "₅" ; subscript 5 +dkGreekAlphabet.item("^") := "₆" ; subscript 6 +dkGreekAlphabet.item("&") := "₇" ; subscript 7 +dkGreekAlphabet.item("*") := "₈" ; subscript 8 +dkGreekAlphabet.item("(") := "₉" ; subscript 9 +dkGreekAlphabet.item(")") := "₀" ; subscript 0 +dkGreekAlphabet.item(";") := "₋" ; subscript - +dkGreekAlphabet.item("'") := "₌" ; subscript = +dkGreekAlphabet.item("""") := "₊" ; subscript + +dkGreekAlphabet.item("{") := "₍" ; subscript ( +dkGreekAlphabet.item("}") := "₎" ; subscript ) +dkGreekAlphabet.item(".") := "µ" ; micro sign +dkGreekAlphabet.item(" ") := "μ" ; small mu + + +; Dead Key : Math Symbols + +dkMathSymbols := ComObjCreate("Scripting.Dictionary") +dkMathSymbols.item("a") := "∀" ; for all +dkMathSymbols.item("A") := "∀" ; for all +dkMathSymbols.item("b") := "⊆" ; subset of or equal to +dkMathSymbols.item("B") := "⊇" ; superset of or equal to +dkMathSymbols.item("c") := "∝" ; proportional to +dkMathSymbols.item("C") := "ℂ" ; complex numbers +dkMathSymbols.item("d") := "∆" ; increment operator +dkMathSymbols.item("D") := "∇" ; nable/del operator +dkMathSymbols.item("e") := "∃" ; there exists +dkMathSymbols.item("E") := "∄" ; there does not exist +dkMathSymbols.item("f") := "ƒ" ; f with hook +dkMathSymbols.item("F") := "∎" ; end of proof +dkMathSymbols.item("g") := "⊂" ; subset of +dkMathSymbols.item("G") := "⊄" ; not a subset of +dkMathSymbols.item("h") := "⊃" ; superset of +dkMathSymbols.item("H") := "⊅" ; not a superset of +dkMathSymbols.item("i") := "∞" ; infinity symbol +dkMathSymbols.item("I") := "∞" ; infinity symbol +dkMathSymbols.item("k") := "∋" ; contains as member +dkMathSymbols.item("K") := "∌" ; does not contain as member +dkMathSymbols.item("l") := "∥" ; parallel to +dkMathSymbols.item("L") := "∦" ; not parallel to +dkMathSymbols.item("m") := "∈" ; element of +dkMathSymbols.item("M") := "∉" ; not an element of +dkMathSymbols.item("n") := "ⁿ" ; superscript n +dkMathSymbols.item("N") := "ℕ" ; natural numbers +dkMathSymbols.item("o") := "∘" ; ring operator +dkMathSymbols.item("O") := "∅" ; empty set +dkMathSymbols.item("p") := "∂" ; partial differential +dkMathSymbols.item("P") := "ℙ" ; prime numbers +dkMathSymbols.item("q") := "ℚ" ; rational numbers +dkMathSymbols.item("Q") := "ℚ" ; rational numbers +dkMathSymbols.item("r") := "√" ; square root +dkMathSymbols.item("R") := "ℝ" ; real numbers +dkMathSymbols.item("s") := "∩" ; set intersection +dkMathSymbols.item("S") := "∫" ; integral symbol +dkMathSymbols.item("u") := "∪" ; set union +dkMathSymbols.item("U") := "∖" ; set minus +dkMathSymbols.item("z") := "↯" ; downwards zigzag arrow +dkMathSymbols.item("Z") := "ℤ" ; whole numbers +dkMathSymbols.item("1") := "≠" ; not equal to +dkMathSymbols.item("!") := "≠" ; not equal to +dkMathSymbols.item("2") := "√" ; square root +dkMathSymbols.item("3") := "∛" ; cube root +dkMathSymbols.item("4") := "∜" ; fourth root +dkMathSymbols.item("5") := "‰" ; per mille sign +dkMathSymbols.item("%") := "‱" ; per ten thousand sign +dkMathSymbols.item("6") := "℘" ; script capital p +dkMathSymbols.item("^") := "℘" ; script capital p +dkMathSymbols.item("7") := "∧" ; logical and +dkMathSymbols.item("&") := "∧" ; logical and +dkMathSymbols.item("8") := "⊗" ; tensor product +dkMathSymbols.item("*") := "⊗" ; tensor product +dkMathSymbols.item("9") := "∟" ; right angle +dkMathSymbols.item("0") := "∠" ; angle symbol +dkMathSymbols.item(")") := "∡" ; measured angle +dkMathSymbols.item("``") := "≈" ; almost equal to +dkMathSymbols.item("~") := "≈" ; almost equal to +dkMathSymbols.item(",") := "≤" ; less-than or equal to +dkMathSymbols.item("<") := "≤" ; less-than or equal to +dkMathSymbols.item(".") := "≥" ; greater-than or equal to +dkMathSymbols.item(">") := "≥" ; greater-than or equal to +dkMathSymbols.item("-") := "±" ; plus-minus sign +dkMathSymbols.item("_") := "⊖" ; circled minus +dkMathSymbols.item("=") := "≝" ; equal to by definition +dkMathSymbols.item("+") := "⊕" ; exclusive or +dkMathSymbols.item(";") := "∵" ; because sign +dkMathSymbols.item(":") := "∴" ; therefore sign +dkMathSymbols.item("\") := "∨" ; logical or +dkMathSymbols.item("|") := "∨" ; logical or +dkMathSymbols.item(" ") := "√" ; square root + + +; Configuration : Right Alt on US QWERTY + +>!a:: + if GetKeyState("CapsLock", "T") + Send Ä ; A with diaeresis + else + Send ä ; a with diaeresis +return +>!+a:: + if GetKeyState("CapsLock", "T") + Send ä ; a with diaeresis + else + Send Ä ; A with diaeresis +return + +>!z:: + if GetKeyState("CapsLock", "T") + Send À ; A with grave + else + Send à ; a with grave +return +>!+z:: + if GetKeyState("CapsLock", "T") + Send à ; a with grave + else + Send À ; A with grave +return + +>!x:: + if GetKeyState("CapsLock", "T") + Send Á ; A with acute + else + Send á ; a with acute +return +>!+x:: + if GetKeyState("CapsLock", "T") + Send á ; a with acute + else + Send Á ; A with acute +return + +>!q:: + if GetKeyState("CapsLock", "T") + Send Æ ; letter AE + else + Send æ ; letter ae +return +>!+q:: + if GetKeyState("CapsLock", "T") + Send æ ; letter ae + else + Send Æ ; letter AE +return + +>!w:: + if GetKeyState("CapsLock", "T") + Send Å ; A with ring above + else + Send å ; a with ring above +return +>!+w:: + if GetKeyState("CapsLock", "T") + Send å ; a with ring above + else + Send Å ; A with ring above +return + +>!c:: + if GetKeyState("CapsLock", "T") + Send Ç ; C with cedilla + else + Send ç ; c with cedilla +return +>!+c:: + if GetKeyState("CapsLock", "T") + Send ç ; c with cedilla + else + Send Ç ; C with cedilla +return + +>!d:: + if GetKeyState("CapsLock", "T") + Send Ð ; capital letter eth + else + Send ð ; small letter eth +return +>!+d:: + if GetKeyState("CapsLock", "T") + Send ð ; small letter eth + else + Send Ð ; capital letter eth +return + +>!e:: + if GetKeyState("CapsLock", "T") + Send Ë ; E with diaeresis + else + Send ë ; e with diaeresis +return +>!+e:: + if GetKeyState("CapsLock", "T") + Send ë ; e with diaeresis + else + Send Ë ; E with diaeresis +return + +>!f:: + if GetKeyState("CapsLock", "T") + Send È ; E with grave + else + Send è ; e with grave +return +>!+f:: + if GetKeyState("CapsLock", "T") + Send è ; e with grave + else + Send È ; E with grave +return + +>!g:: + if GetKeyState("CapsLock", "T") + Send É ; E with acute + else + Send é ; e with acute +return +>!+g:: + if GetKeyState("CapsLock", "T") + Send é ; e with acute + else + Send É ; E with acute +return + +>!i:: + if GetKeyState("CapsLock", "T") + Send Ï ; I with diaeresis + else + Send ï ; i with diaeresis +return +>!+i:: + if GetKeyState("CapsLock", "T") + Send ï ; i with diaeresis + else + Send Ï ; I with diaeresis +return + +>!v:: + if GetKeyState("CapsLock", "T") + Send Ì ; I with grave + else + Send ì ; i with grave +return +>!+v:: + if GetKeyState("CapsLock", "T") + Send ì ; i with grave + else + Send Ì ; I with grave +return + +>!b:: + if GetKeyState("CapsLock", "T") + Send Í ; I with acute + else + Send í ; i with acute +return +>!+b:: + if GetKeyState("CapsLock", "T") + Send í ; i with acute + else + Send Í ; I with acute +return + +>!o:: + if GetKeyState("CapsLock", "T") + Send Ö ; O with diaeresis + else + Send ö ; o with diaeresis +return +>!+o:: + if GetKeyState("CapsLock", "T") + Send ö ; o with diaeresis + else + Send Ö ; O with diaeresis +return + +>!,:: + if GetKeyState("CapsLock", "T") + Send Ò ; O with grave + else + Send ò ; o with grave +return +>!<:: + if GetKeyState("CapsLock", "T") + Send ò ; o with grave + else + Send Ò ; O with grave +return + +>!.:: + if GetKeyState("CapsLock", "T") + Send Ó ; O with acute + else + Send ó ; o with acute +return +>!>:: + if GetKeyState("CapsLock", "T") + Send ó ; o with acute + else + Send Ó ; O with acute +return + +>!l:: + if GetKeyState("CapsLock", "T") + Send Ø ; O with stroke + else + Send ø ; o with stroke +return +>!+l:: + if GetKeyState("CapsLock", "T") + Send ø ; o with stroke + else + Send Ø ; O with stroke +return + +>!p:: + if GetKeyState("CapsLock", "T") + Send Œ ; ligature OE + else + Send œ ; ligature oe +return +>!+p:: + if GetKeyState("CapsLock", "T") + Send œ ; ligature oe + else + Send Œ ; ligature OE +return + +>!n:: + if GetKeyState("CapsLock", "T") + Send Ñ ; N with tilde + else + Send ñ ; n with tilde +return +>!+n:: + if GetKeyState("CapsLock", "T") + Send ñ ; n with tilde + else + Send Ñ ; N with tilde +return + +>!t:: + if GetKeyState("CapsLock", "T") + Send Þ ; capital letter thorn + else + Send þ ; small letter thorn +return +>!+t:: + if GetKeyState("CapsLock", "T") + Send þ ; small letter thorn + else + Send Þ ; capital letter thorn +return + +>!u:: + if GetKeyState("CapsLock", "T") + Send Ü ; U with diaeresis + else + Send ü ; u with diaeresis +return +>!+u:: + if GetKeyState("CapsLock", "T") + Send ü ; u with diaeresis + else + Send Ü ; U with diaeresis +return + +>!h:: + if GetKeyState("CapsLock", "T") + Send Ù ; U with grave + else + Send ù ; u with grave +return +>!+h:: + if GetKeyState("CapsLock", "T") + Send ù ; u with grave + else + Send Ù ; U with grave +return + +>!j:: + if GetKeyState("CapsLock", "T") + Send Ú ; U with acute + else + Send ú ; u with acute +return +>!+j:: + if GetKeyState("CapsLock", "T") + Send ú ; u with acute + else + Send Ú ; U with acute +return + +>!y:: + if GetKeyState("CapsLock", "T") + Send Ÿ ; Y with diaeresis + else + Send ÿ ; y with diaeresis +return +>!+y:: + if GetKeyState("CapsLock", "T") + Send ÿ ; y with diaeresis + else + Send Ÿ ; Y with diaeresis +return + +>!r:: + if GetKeyState("CapsLock", "T") + Send Ý ; Y with acute + else + Send ý ; y with acute +return +>!+r:: + if GetKeyState("CapsLock", "T") + Send ý ; y with acute + else + Send Ý ; Y with acute +return + +>!k::Send † ; dagger +>!+k::Send ‡ ; double dagger + +>!s::Send ß ; small sharp s (Eszett) +>!+s::Send § ; section sign + +>!/::Send ¿ ; inverted question mark +>!?::Send ¶ ; pilcrow sign + +>!1::Send ¡ ; inverted exclamation mark +>!+1::Send ¹ ; superscript 1 + +>!2::Send © ; copyright sign +>!+2::Send ² ; superscript 2 + +>!3::Send ± ; plus-minus sign +>!+3::Send ³ ; superscript 3 + +>!4::Send £ ; pound sign +>!+4::Send ¥ ; yen sign + +>!5::Send € ; euro sign +>!+5::Send ¢ ; cent sign (dollar) + +>!8::Send „ ; double low-9 quotation mark +>!+8::Send ‚ ; single low-9 quotation mark + +>!9::Send “ ; left double quotation mark +>!+9::Send ‘ ; left single quotation mark + +>!0::Send ” ; right double quotation mark +>!+0::Send ’ ; right single quotation mark + +>!=::Send × ; multiplication sign +>!+=::Send ÷ ; division sign + +>![::Send « ; left-pointing double angle quotation mark +>!{::Send ‹ ; left-pointing single angle quotation mark + +>!]::Send » ; right-pointing double angle quotation mark +>!}::Send › ; right-pointing single angle quotation mark + +>!;::Send ° ; degree sign +>!+;::Send · ; middle dot + +>!6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCircumflex.item(key) +return +>!+6:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCaron.item(key) +return + +>!7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkRingDotAbove.item(key) +return +>!+7:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMacronStroke.item(key) +return + +>!-:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkCedillaOgonek.item(key) +return +>!_:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBreveSpecial.item(key) +return + +>!':: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkAcuteAccent.item(key) +return +>!":: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkDiaeresis.item(key) +return + +>!`:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGraveAccent.item(key) +return +>!~:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkTilde.item(key) +return + +>!\:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkNotSign.item(key) +return +>!|:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkBrokenBar.item(key) +return + +>!m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkGreekAlphabet.item(key) +return +>!+m:: + Input, key, L1, {bs}{del}{esc}{home}{end} + Send % dkMathSymbols.item(key) +return + +>!space::Send   ; non-breaking space +>!+space::Send   ; non-breaking space diff --git a/UltimateKEYS - 2020-03-24.klc b/UltimateKEYS - 2020-03-24.klc new file mode 100644 index 0000000000000000000000000000000000000000..9a6884b9139481e67577a4190bef7bc4b665a942 GIT binary patch literal 71448 zcmds=3AkNZRp&3@KtOF32S9;WL7)mqRg(9TmjGfVFC&%7yrc$@;k`_i8beaEfCCDO zBRBv(*xDkBtxHO{Wz`MiFyx@&YH%AXbAx+Vzx{pO|)S4R!*3_V^GfA^g>jZSy&bj?Ja z7rh<|y)H$)4nu= z!Q3*sI=)fvyBuwJaI`PlaXJ3&ihq0aZ=2)W)OacCcw5x>_NF}+n!j)9{oA%R%`b<3 z&W4t_%huj+ZqGKNr|7j5S6qxcan<(Ts}={YnhWXa>0G_od-aaBtBZ8pwcNA58p5HV z-4q%-+4S%Yqi07Cqc@%z-PcID67Qcjx;FmJHGOX`N^g$8@{K#9{pX@TTx$L{*Yt*! zrc9#{KL60|a!9aYbbXA$7svlM#HW?$OB zjCkG8ccwpWZDiQg{Fl!w`EE7(828r5+0$5qgQ2UrrkCv2a?^YX~^wsc0Sc;>Kv{=K#%~(AiH9Z)$JQNZ$iu&p{Zae3iafzMe`;%&+ z`>7TSAssbQEqI5lTbnZ1Vm0fty7ukyb~+Iw|9I$3ZH1*i95V*CqAgXog^ooXu}7QY z`?MDC+gD7kN4cZwvMr>iKB^1vR2Sa4E-Ot9)HYnv*CP9xk$Sw*;+}YasOfd<*M#wX zr0HeY$I=crg%*xfb&|A9_R|6=lD5CqGwRU-62_NH!K>K#<`B8o}uE!?z*;C+x8U2X1wpTq%?dz*%tABmv ztQw$IkB01r!*lUWQ1ro^MBUNKwiuH|D|}v!9#U-1>9zO8sviii>sZW8w0b?mpdIyV z{!gD(Z|RO#Y!KdvW&p0*-Si>Gty&JLiri%`v()n`_12KHmilyKiID&7noUw$?rp{x zGk;! zzdd|6u8)llGY5PR2jkuDjPh z)!HlZ+36-yn{D)+oKbuF{^eQ(cYHu)s*ex9UjVTeec+eeNW$?UVC`ycr;{a@DqqI*7ukDu97y0txJ@` z9O(#UTjO&v1{d?)mVCF;yd&bAZ)IrfNSEkVk+q^DW_H$q%4}KUZ|3{s;n`z(iK5!y z!-vw$R%)v2HbpBQZG2V56y#3YQ7PG$l5rS{w9#KXDlN6>yT`Ot=@-AX=$AR8)^CYh z7t>SQlJ8b4{nq)Lb|gKl;rhG7I>zHCw|TsYN1VY~j@D9kgg(dL=i>h*yNcd?k3L;J zRP8Z*m)Tkb?`~Jq68JsnmQQ8;6TLDHH1}vk%;NX#nqoB8(XPHf{rGQR`%qfXUD29D zwpjfcpKv+;X%*+v+9zx8bk5u>t?WfTpG@{`XN{C5W$7IA4c+TNW1WsQqhB^)Z&;eT z_bVqt&9QVF!oE;*`VC{3Pp~zxYn^7`-|MEsqJJR0Y%snOZUQ0XN7LzE_7CyxO z_@{nzZtYX8Ej$uwi+8j2oBcCtOW%Jev~{_0dRtqjNL%<`2O2HVw{BkhWNn?z{Qv2W z-!aXYpS9QP`wNJISnBQcRcsE<$dftqEOW%JewB=s0 zzHeL4h;40|B5l#5u4}Y_1-o_aleC3>myOpuzA>A&w9jCAtI@wNVNc9S`{PCSkh-@$ zsQRy}6F%jkMpkNf+uEnP2b2{;RzPO0)1euAfWCiuJ)j-Eu@=c{74gDsePA+28YA~m zJaV-%vo&L6KBJrY#xJxMSL3hx&T7l6!9QkAiX9iM8Yw5&{?ygRp11~Uz>Wy7tWZZt zd*Vg(p_V_=F}JHMf3soy3ii_E49D_ zITR)Jn&d1|TfKATNVI)-4+wF$MjNYhyBp6~H7Aex{HDg#`+>DjZksdNYNwiarH|E? zaI!D@{252LzTa)h>F(8zaNPQ6x+V;Jdy^>A7IDFisjd6gKGoX7=FnSCHG8LK)0TF| zOfRdx|4?YlBmKc>%M@vgSbQn9MNi{Xtu3sbv?aSYODw)LW8c#EFHc)b(T5y8kM9nc zzRiY6(i#!h_3=*;#XW1EYOSG3X^nTY^|9+`)SAA3d0K1dyDxV{PNJZ#`Ow3LuxCYE z*l|A9+G5N~TfCc1Tf1k}mcIW`Xv<@1wh`IZmMPK})`{KQ>RWfLeX_RBHdYI5oxTkF zHS3zCzJGbzVjlB|YJ4iT( zOi|w@$Inh*@=|1T+kSDkHq&XY9S2;lZJ9)oX3#*@7zIMw@j%?IM`fri@ z|5Y^8wGQ=X)soRg49Jdh?YC>UQW>FJJ0sL~P47xg`$uShDecg645v z$$2W78y;5Vq-;9oLd7H#CMMptAFUh2AI_CDZEYX%|D|}ql{aiAikaeeQI_5&fWd0YERd~ty*~z4AI_CDZm7^`u zlbA8Yyg8XqNhW2}F&8Q(v$B}%bd{W+lT6B{V{Xq?h%?dhg?T=ie;V)fqHH?mLNXb- zg^9N=Ie#IUlugIn-t-{$@Xc5Hyd|02vhI{k$6TnG*5~t*xsXiCreki;nf`3!IjN2A zOy*z4JH05Ij=7M`(-jjhMf&`;WKuRAb1`kmwrU*l{H2&L%(_!H9kbqVlDVvVD z*o;k{{o2{g%3?l{%-24#v^!K7!h?tysVcwCn;%b^Sr))GN`vvyhem+TE->plk zJvNh0rPe+%NtD&Sq)V#(G~2_aBz;1XC>tVeUyH)=B8f58b9rW7E%~pKMA;B&p(0u1 zJT)%TCnbrpAyV-e@x;hQN+x@ZpOvJp$2hJhJS66JJ>e;m{lv#7sp}_pN%juURDJSX z*6u?|qHL&k_6hY2m}J_Yq~A{xWkaOm334)k+s>ZglOA41Vb>Gv)~@(}klc3m|DKqn zuK(916|WB;+Lq8>-!EnDx?W$GRD3_ryo z#w1ZTM6&;`Oo(K%|Gtu>uK(VxoxOJLS`f)z`%9A4_1e3n#hhC-H;8ms*6vJ_C>yHX zwu)rW_e7FTCyBBlQi&hv1tvLu__ZW;n@MWRbh_~z@gUDMXD-pQc#_QdWLWH9;SuR+E&7`F7fRm$o_F~`-lZ+?Yj=r7|EVNCy6X4S5$j0F z7I7(wk4hqC)5(anmmV!6mQro~=&Utm(-0LoiD()3B=J#6q-+{u9YMK2o=M_oX00ik zhFCK0L{jdLdz1JXNu+EV;`W9^t?TIJY!aW8wWe$u;zC7q6tgdhPfQ|Z(-0l?>GU;? z8SIMM`iiVIWz!HH{V9hcB9Wemb4jFZ8ls{=^r%@wL}nNfpPaRB&pJcn8V^!Lk82`7 z5jQ50vgu?bT4Fw%kAKB4aa6b^Yb~jmF)uY|_VJx7W6k>Rm^*I`t9~iw&Sys1u9!uc zPgldjpC8>4|Ggvre^r(5@*N$AI(pokcWg(G<661A`5A_$Vb4t$J zlesJV3uR`G>)KM9=+--&#A}mC*)&8&r1WW7GRf$ObZ-*d5$TYO*ccJ*|2s0>lf-sp zI+<7^ROWoQjU&`+vd^?5)XBsWsY0|xbfkK965EmLWa46sV%1t}2-4$)Y?&Lf)|5@t zGTSPmXBM6~R4>0iiIh!4R8&pNOo*zJ*p8|v*ILoFh`rHu65G-BWTK*Mh!djhBod2F zQ)@-rB6`daSxb*ENg`#_5EXTcXio=kUBp|HNZB+*Mc*RY(;?Cp@s=b~HVx5HxJHlq zBhjshccwjSN4!JcyyJ0M4Kayj#k?b#?f7>!TK5fSqhy^TKv#SS&GAZUp z4;8xop0d_RrlQD49zv{9vM6)k?qih`2I(=*D*k@5em7Yw@s0IpI;Bt>-p5v%DHgoLlto z*#1*eu6AtSFBe`Rb);t$mZSPlPF6dr?_<^RyxWpiQym|Zto2*6j^y2vw3%3+nyhKs zk=RDP!nriZ#~(~qJ3g-KNPM*%ql$Cw@gtUFToA$3v7GN>Punr`@8w@S5<}s7)DD2b1;m zWKlNED(9zBYy0$nmaLo8ZnWj9>s{=&R;bb8&Z>=mFTHDVhO-g7vySa-L?6p5&2`4WS%_W9YG)z(SZC88 z)U)Z**GICB&(5*dmW$s!;kOR>m69_tGVYA}m-f^-0Gc`7&)%QRXC<>O-w?Az_pFI~ z73$7p9?m*b=C^!?Lu*^gSN2w@ z-j<9JM1)lDqFqYb`;tc4dNf5w%n=hJqnr`jkxjvk%t8%2b)B7MS2b;G_a|**(kNSxR^VZ|V5yK6sk9Ne+-%=%JfaYH0 znBn@QwPS{Uns?yp*Lu|MtOKg8UYxY{+F(D;yKw7gb-XV4qNKIg1^a1rMB{nG5zVQj zwIiB-S{>7P-f&E_nzVLI(@%3$BMnM#j%qF?tsT|$^>IfviY>)*RC6&|?Wm@YrL{kN z;+4t|@Y>&7=88AG91->1k)vZ?yDr}A*HmSB$`ej_bn3HRB5QK$A+r;;F9#xawRqZF zlK7aEktgQaRkG6T#VPhhF_x~kAG|fM|Fr6Qc7cpv&s}xBE$4h*|LJ-C&5d5p$NnEQ zQue*F59nfg`16e~E}H$zg`|CQMY})t&+==bdVUP;>a=!U?OwSvum04$`fPaJ=bF7q zcyQx&;@%KBm7wT!b8@~n-syEI>cVfd&V?l7^61yQB#&1mHYMj%<_br@-?=G#0rebq zOlco%KNqh9kFtJR_3GsQR(h0uy&8E`JAOl~)DB712Y)c$=`}uD={4g~9&(s8Daza3 z)Qz3OtjS%7|MQF?xoxPWKh`mx`?F)bN96cz$9U2l^g^m5Jog4icn?ofJHi_$mDMGl z+xIL%yd;fXpZcD>d%PW8(ff(}EGuJ=F}$O)G>)sjGG!g!H@+)+Bdgndi_yL(?@-5D z9;ftv)#20g4(*s`TpM+yWs5=VBGRWNi86a6RaHPV{SLyfbCf1|UCWCq`Yf8t{iVw$CSiw#lASEd}5N? zG37X^te~;dV_U!+D@~kA-IF)EtFf7L(T3!v^aRJbcz1jA*&_{0g?4vVd7lHx{Kk~7 zW_EkbIJb^3-IpC-Zc1)Dz8tT0y;kNtqod1bCaE1=j+4rY6rO?g=M|~>B(eTMoiw(v z0PM}R&dPq1IwR}VsI3E>gK>s;;ncCN=ZjlY_dAkPw_&?i-x{OTPsi6$p!4BaKJ}36 zrXb=$oQrWuuc_CrHOI12~b)y~CeCc(gSEWo{-I;bYX(g&+ zb>CT~OW6{StK_QZn^Pf?#(uq0hy_00{6#y@`LA2O#9Z9VJ(T!L{pqoJFUmZ(UCzBq zM8>_`ckv~4ug}VRQTE{ORpK@7<=%WE@Ade+7iACbUXJFpzq}jG-JY%Aj^@UDq+>Z{ zqPnr%ZAog!a^s}(d?lGg*Wb@qz9#EmTm8D9w@3Be(d#dTjb!!N@rR$U)NjX2UO!*? zwv@NNOLq)Rb0?oIqjLmxCr73~ns=I9hkGMpxucTaXUpifdBt>W`hSx-EOD3XwL$#6 z;t#Oirhfi})cs^x?+-nn3m>Y?Bwi!bY2=cXbvH3TJDJ0>cDdy_QS$zd8RnDwy5vrl zRnLhQN%d?G{)SH1m!wZl;tx!z)h<;rTs!h|4EO$&vpp7&YCL{pmChD_QvAlbd*nFq z4tP&=ICKV|BVPPowafpCcY0A~JHw7jv5VeH^j6Lim)>?I>Bo~q*$}C$&au+xjNz#y zeSFmd!=(C|M8|C>oWj9l%x&0wt<``wIg!x-Wb=P)(&+C&t&h* zJ3KP)(3W-jJCul$RZq{$^bWQ4AI3YqD03agWi1gUZEe!tB>ilXC>tUSUnYsNAySD9(39=o`6T^Gywi)aAySD9(343All1dRqHKut z(HR-gTkGcx9T{xN-b&d}&9nk0k~4_crH(cyiLxP5z4~RJ!K+`-${x^O{p#!AUiotW z_R81JB(+z*#z}r+Pv;5CD&C&8`@F0jWka>oek`vuXVWxAN8lUY~FhDi0wpJh6pq!US^Y=~6iQ)F@+ zcPU9PND^g3q!N8Xvc*|W(({u<*$}D3VDx{Jh_}>se;e=gYR6#Xy{p7v^na6xw?z8Q zB(-C(aZ-uF*h%O9?-=Z*S-ZAO>-AGdUFxyw|BkvYB)2W$dR#yGx1+Klj3cG8*vrNW={~Oe zd-FbjoA+r)DYM?k&xFdX_>ajjeaaJH6aC z@)5exd0*7OQsp=&Mg4n1KKc}EWMsTl$0A=@ttGaxe2gi{_j{Fm^@trmQLGT_xZgxZ zkBC2&#P*1qOswNnw=uqyh#yWOWwt7liFLec;@%|wToNgphFI^MbdJI+T~Esyg0g9d zdTxk0XTsBANo4J78e$#CdaOH+{j;ofJB}UFBhe76tP@TOO=3HqolLC#erIT~J!)&b zZN1v|Xfm<(|4qc&h=`x97iH7vvG|M3yw;=r#s87SI>*TQIqa0d*XFxd#v1jd<}4jf zsOzp^(C$0qU&(;jhy0do_ikpiz60OCGFqj5MqU3MecD9*3>|A0($MSkj+9NOA9`#I~0>nOL9UU?1^n}XXI6ckCW7%!NzM>XJSoamXb{WHA(H6Yndp1t0XHl<$c^3WitX+E+9VgYZr%9eYejv!XEdBc^_=iG zNovmt(G=YTIsYuKIx#!0p9_qem||KcRIZT~n)_LTX* z&V1e)hd%hY#^E5F(-SBg}WGWmDUx@ zQ{F3){Zu?x_KM15WRC1Ii4HEGsnbow^jx%>%pXlTS0fU-D}0kXvvCm zy;dr@ex=HgoyzOKE$_b+cSa}J^Wz}{o*MQ6iEbPHMN1~~-;&9G%2G1lmCXH(hpAs6 zDKtHwSY`*UT1r0mhz}*}KO}2+GqXGplCiU_&@M(xa{42`aN^xUTB+<(-}fM?+OsRF zW35J?OD|Odduj09H>`C5Rlea%=$LY_vHWYTNvHO$V zWrd|ZrDAz?!h1@;Jz4u2)*TIDE=DvoJ{6KqPVJJsS9E%kR!$+URyoRZS--cZOvge7 z*|x_`;$sOqS-E$6;qAU%cCk<7S*2e%}IS{%6c+d0ht)3r61lLCHKdE zUzJ#scqv`xfd|D@P6=lH90C18wg29f^H6+)98!^y{r?v#Ez*O#oa<)hXhl}MA)5*KPN`%)VlB3K+N&1l_?T?Yb^DyVKZtQ&`|5-FIZ$-6pYknkIZ%S5I z3S|eoSH6FWE47X)`R%`X9rfLL&;H%obIo|hV$>(J5@SgkTUxKEen&DnB}w~}$*7%+ zo@ia*M~LBU!~e+|y*U}v{C1Rn<)Tab<;$dLbwxU}w?jTcz4>h^+p(~BviujK7ngaQ zCq8&yrqordf?XaffS1S9+Msy$>naiO%$dwe$mS;rv^FS`0VV6qQ zM!LH^sxmpEdQ>};^L;7n;b=!@N4$+v_q#@a9VHi=|B^joFFBvjhwOEJ%6^;U!V@X^ z59U3t3tc=A|89-?&jn38sohFiz*7wtS z4^J7X9c_IfYE16Fv~*daz~{BEur+0RL`A@U^%05(Sf6w;pM;M|0;?JFT{bl%;$rls zGhylasiht3vp5!#`msqp8@+^6z^7qiH_`v*D$?JU%tt2kLJ;wT=wo{FgZ|hrCw5d! zTh#5z{J3N?itn3B%Hq@1d-oQTxFLz?6YJM6SMfKn45er6NXny zIFoiI=_iv!*$_!tKynDH)h>fGNqSG_5GWfWY0XU}du)4?^zI~4Hbg2}K+a9{yupks zJzbS~GRlTXB?}12bJ@WpU6~}xhDap~$cl&iB$h)m;Q{JJ*$}B@0a;x#=}40B{`8`3 zh*W0*?az|&lT3e=B+7|5XJ34T)1(IiWGBxWi6*X6Kr zCC(bRm$heZd->fd&)LQcQVu~UPZH4*K@b5FKl6^y155#70KA0c`jb;)G0mO zIZK}VE4tc~S6@+GUGFjOV`(Nwih4hZXY!{ei#U~@tS98WCrUFol57nri!`3WufC$x zg>iumAZJS4M}04aer^vhf{3%!ujEnDl6#c%sMls+xW3Ub>j-TUqg11t9@joyS#d*~ z?abaAs|oh#)+gAL!?Kor5FiNVY;)XUViNN&Nl@D?sGZu;AF1&2G@x+55DmLNw2Wq=Z93mMX z^R!}pSffO9$X28*HC0?9iai>~C7+fQ%~AI>zRVC&J16ADc?P8SORi5z3*P4o)?S?N zVriA1V{WxKcSEutmu&j-J@L=y{*cwe6E9xJ*%+COA$j@r47}RdNIk1x?yUWG(vwH( zeR=24Og*)0WlvQ5>qKz0bz>49n}k}^lW2+p(eixMpxAx)&c}CVwffuFosv+#ULC+e)e(VAbcEenCp|qGZW7 zGnbQBA@(S1N!p)tSInZey|iwZ`mzT}g;!#E_Z~DQ3p(t3BU^vw$`)=?=87Fu`pq)D znB9$)f>-KWeu<0InjD`wo3dP;08-DFoWcpWa1=rDgw>AtSLO)kQ@-S3rC(6y{9cz+ zawu>-bDc^}eMNF8o6PYU8})A^E+yyH$)RjAhbWGgLqDF2ojJK7^+VZYj&dl{kLS=m zDbH(C9?B+j%6@3%@vQ0m$qQ1R`l%0}hs8Iqj4`0qPIATN*_|AO0edq3XC*5878FW{lrsMp~>+RilglSA2L zPB|R}-^JP>GSX;%NwxuHlQ}*cWM?(@_9y2XQXa}Cb4nfvFWnZwd7!iD?M?DSJ&HBU zL2_?*{^wkh9-N2k6a4C5+$3g@2H%)9r)+Y~eNKJ-tE$%}=MBlBY%-^0SMZoUt1&tx z&&6y}%FJO#D(Cig?IE+S`kLqUBT4*sDH&zc5KH!jlh@pPoqhSXBvNLg&P(>*u(FB< z$Gz9NkZ(;6Ws^B2GXclBLT4tvBRQ0{IrYq;yabwBsXR>QCEk=A$|iG4Y|k31XEMk3 zugo^AEu(x2gzoB%-{%ogQ=xJK>%lx#1`CUeU94{%(s=O^cLl0(^Kj&ljM*W+Bm z*I!ZEtIPwO%}k~gtHV2HN&l)~*@K54;Tw|2nIiYbh**yYg&1#VH6u8e@Y>|D zGj%-{ni9)>d?9uAx@39Hay??n9PF&Tl5I)+<|MLW!Fm)P%e{>a#$NU5k8vm&ZI8Dn z@r_Aje{lI7g<)dJ7SzuiFDCKzNvvgL{fxYIzl3t(|J-W{9qz3gKswXG? zmy_NdpX-y$XgwXRS$v4kN%F5G+1i~&FS5Uq+!4i7lK&gYug8T)+IsRUVS@^|@oUX?FmC670 zmh3 zy^HL%$?3*Ou7<{0B|nNx9@*qV zrK5KytCop1Y<`QrZZ)o!Oy)R0`i;ry$~4X@IZ|YD96{z&GQBHVwM^~oqx&}m$z_%^ zpWl?Mu3Y`R#i+A*6MnHbd9`dj?ObcCL^$+u+ZabU-<*`LR9%vCht#h=SKPV7A4pOy zPg@$D5hWdYwsqF<^~vZ;)8>@ZgptLw>MhxBKbV|a7UG6BXCZZ5`{2(@&Kr``m1mq) zcKIWdJ(csx`k`diGO=r(qHZ#YW(|?_uu0-Rka>6k(c};@#1j+QDlU2*a8U#Br*(K`H#tbK^OgfaL zf0LxHRDCqiu=*m-5N_H9jI8R4}CjGo8 zDYYEzPp}-yCewdRsItjP=*m%3w68?^@S3pqmHbFjYB}x;@2<$9eI?R|3Eo%oElKFg zQBz7L8+|wf>P+^JCZ(2xUt!@HQ2aON3QIN{&6wqE_PB=+CBKs-UsmjZHX4dT| zlGQI0-_$de_lCyE*=>sc<0mmLL@9SII{-@^O7qjQDoa_IN zWOZfg=armxTQ>67mm?c=lWze)!&HUqz$h3HQIi84dU(VvbuX2C712F*B{=o zF00-Th(#iIB1@-zkqbdkAGm97y*k!=02!@fdE9#C;qG-=+bVrA%Ea<`^P0mw>$0|2 zEJle~9xq;PxOZLFV#QL15PiA7d!6CFby?$k5MjB0?Hm=|-@h(vXC;?b7+~3d@(RO+ zby=H}<=ujd;VG6Zw|5JE;kv9%$to)o$YoF7D-$nUm-V^HD%ng}j-8y%d|+MHGm@oU zT|Zb{x_|k)tSc)P1hMR$zc5*^SeJEGvdGnnRqyBXy33ceSgRB5O<7^#Bo5n~ zYg48#9pu>7l(iH%wlz;q&MOBwwli80Mn^j;AIK{wUpC0GjVUW6aBO3|Lh|K<9NU+& z5(3Be#VaAN8sylvloby+wk=N`m45WDe~LD;Qrn z$gw@q*$U#=o_M|Diw8NjCB&MgKiif(dsOuERf8Pc5q5|bj_t_PlJnJroZ5yk8dNXa zkd4WC%^=72LzYn-+mA0y&esfbY&&%3fH<}tFHg?b4svR{!PW8!JT9(I&b#8BUPSZw zD8&7W?;O=5hrFkH&4cUY4Gd>)@CnD)PuK_K9yDqFUOO3WEOlg`IWaqH9raVJvaRjwy=JoB_2mh8#+Yq}*GXQL_s1W^Hj^LamvxCX zB+;3*^Js315>6T@bt`9&!nPgp>dC8H?BZ)q&sW@m?&@FhJQY%?WuK7z3r*i34rgzO zp2I_rU3r-epwYgiEtZn^@LXBssm0sFJ7$HEoR^;eVa*3`xzu0l8ERYW*6SG`m-3M- zp#SnT9#7s&!_o+S2)PTjJV8&3TdQ8(`1qu95`<2EyC!lHtdh`T{nYX-Jyg$$Ugvm3 zQkB<6R`xiOi(~(aYh9kHhvdw_-qhm9^paSWWyfUs<&v6RYF=XAhi31#+Qs(CaqlOk zgtP_irQWVy#CuC53r-JrkMSznmnLa^^c046ZX-?YMR*16%aXzV0(u74VKT4m;D+ax z^eW6NlUGN09(9&WQ2`uVU$4Y`d2+gPjgREQ)C!13tTpcykS8XS5uqF!d9(YQ8jqj0 zptX=L&ubyG^2+I`^j**FUJ-e8%7+DDoa!7``YpSccutiuEK5*ot)1oSZ=UD9KJp1k z9Ulel`wZQsoQ}YK++K`%S;ME~U0A!(^P||WaVv<7P~- z6A_p@c&e|=9bQ%W^qf0%LMx}NXa<@zcd!CMed}L+_qxVov%c)g(o?aMY`fMqq&v&z zb&Zcr7TV{`42?HzLg~Ybz{Rko^IFEklcCotzY zrRK1|oWR1&)2}sU+|&y8gq?AFe6rAf+Y{&~>US}_MCaaSCu%iDEo&L^>@-dvpPIb1 z=2vO1#k2dbfk0<8|RbAOF#yIb{WSNp7$kL+hQ*#dGW|2z12^sU6FO3o>ca%OMk^iZcWm(J-q|+ z=3;gLwnxu=Vax|P~)JXSRg zt!wUmN=mh5jaFEULFOxDW0(4+=vDGqyX5&Mx8BfaFW+8pPvrsb4hOvEZ$9_PhhpYo_3 z*q@6XSDbJ<+JmzjEESdunQEG|VYAWLqfo4w_bNEg{-l)6ySAmLb4}kXQmNM>6@F0Z zan7;NB?ler+I|~dvTKmscb#3kB1z2Pc+2=eI!Vp!BA09pEbR!>NO(zTS98*Vq|pOz z56$Z-ib+;%G43RN)x1|+Hcxv7kWW#*pML6A-sdua+DWzPxD&N+u~k&k)gpVZfdNq z=JN3j;kNKj%gA(|=EW)TH>XZG`SN144sA+aVBA9}YeU3f_R73A^ulCydnzYW;CGX$ zapc?fVajR|W6hqtSBt)>qTkoZN$t-!Ckm<8mGM<_*sO(^7 z?{IDL#9=BDSc)-wG5RPaT7y|`_FC|CIc4$%Ha5S~R89=_H#V+)hZ%2UNX*GbbEBun zdtFPb>WNi`$@QVDgMunh`G_Bu+P+}F!0*;g|s44k9{GjJ~3+cg^c=y zKK8{NpigLEU-VZ#X*F3!YRlr~C)<@h+p-+Z zxqN$;qeGWJBg@gI%eSnRD;{_G)+|TEE}zeGbnWuZS&r6S&ML`m`8V1C{odd7kK^&T zm*(H-d9;uEhxUo`Sv^E!o6qVaT5aO9dWmLwKC7Q7x5H=klpT$q!)Nsstx5A)y+xT^ zKC8bdi%S1ge^Hi}&yr8sQ9esPt)uW+@@egZ&ytV+)wTvNj!}GLjBNhGKaFf_&SPBT zN29zwe#@9IBMh5v!ZmBUm504?bS&(HRvFa8@5sM1y4z%pb#XOT%x#Zr?I+`uAp8cM z=c7?_AjUslpT-vVI2o2fpEN2Mf1DIN*Zig2jS+AtN{i)E7Vvn?XtG-((2voPeosOD zcTe1rC(ihWayZnw+@t(e_tD9a2jkn!aI6sND*CT_Em;pquYHftiN3IT^xU=YVJi;A z-+7)%S8C)I$>&Blgv7{)OqbSlt(mT^>;CUCu6G3+Z$>ds$y{+a{&o9PS+OjCM_R>e zSmlFZ`Ikb^hhvl-YWg0(a<~+)yS6?|8<*Zli zika)^==z|PZ*7k6$jTgU?$BnCV^@FU&U-?xL-E>`S91^jeRte_Z-=aBgf=$ZlOgrq zMuPELAcH8}VOM+))^faG&O2=m+d%ZQG3s$VzC#`QbwaLK_Vh#}FPg4vTWs^ukcczh z4+ha%Ll(^})aYo_Zsdq}$32fH2j5H_q}dxU)(V!Ry>>MkVkX)feCkZT?{KuGWsui` zZ9Nv>N3;4{=?h4_9OcJDwqwCK*tF|%(~tNLt9JSonUm4q=xOY`rvIy#DT_B3JwU7A zo8tfT;StsLjaH;joQ(hPkNXwBr|&L|T;fWdNYA-WC!>T_ANknJ@lN-@wDy}#NC|UK LNVGft%jbUv3_S7c literal 0 HcmV?d00001 -- 2.47.3