From 9ca0649368fe663c37a21fe5ba86bb2af4719306 Mon Sep 17 00:00:00 2001 From: lwouis Date: Sat, 7 Dec 2024 19:29:33 +0100 Subject: [PATCH] feat: make it more clear how to hide the menubar icon (closes #503) --- alt-tab-macos.xcodeproj/project.pbxproj | 32 ++++---- resources/icons/menubar/menubar-0.svg | 22 ++++++ resources/icons/menubar/menubar-0@2x.png | Bin 0 -> 456 bytes resources/icons/menubar/menubar-1.svg | 11 ++- resources/icons/menubar/menubar-1@2x.png | Bin 456 -> 324 bytes resources/icons/menubar/menubar-2.svg | 21 ----- resources/icons/menubar/menubar-2@2x.png | Bin 324 -> 3821 bytes resources/icons/menubar/menubar-3@2x.png | Bin 3821 -> 0 bytes src/logic/Preferences.swift | 73 +++++++++++------- src/ui/Menubar.swift | 25 +++--- .../preferences-window/LabelAndControl.swift | 2 +- .../preferences-window/tabs/GeneralTab.swift | 29 ++++--- 12 files changed, 114 insertions(+), 101 deletions(-) create mode 100644 resources/icons/menubar/menubar-0.svg create mode 100644 resources/icons/menubar/menubar-0@2x.png delete mode 100644 resources/icons/menubar/menubar-2.svg delete mode 100644 resources/icons/menubar/menubar-3@2x.png diff --git a/alt-tab-macos.xcodeproj/project.pbxproj b/alt-tab-macos.xcodeproj/project.pbxproj index 75dca5cb..6b49f3ea 100644 --- a/alt-tab-macos.xcodeproj/project.pbxproj +++ b/alt-tab-macos.xcodeproj/project.pbxproj @@ -89,7 +89,7 @@ BF0C8203D0EFEDEED0F908E8 /* ScreensEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C822D3BEDAB1F1C9F775E /* ScreensEvents.swift */; }; BF0C820C6E89C2D90FA30A4B /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8F67ABD271F26FA0EDEF /* Localizable.strings */; }; BF0C8224CFD1ED511F3F0063 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8D94228D90FE99D4A3C8 /* Localizable.strings */; }; - BF0C823630E3DEAC576FAFE6 /* menubar-1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C88BF67CF4D71002A60EB /* menubar-1@2x.png */; }; + BF0C823630E3DEAC576FAFE6 /* menubar-0@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C88BF67CF4D71002A60EB /* menubar-0@2x.png */; }; BF0C8249228867A3188E13F3 /* SystemAppearanceEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C869E544F968051715452 /* SystemAppearanceEvents.swift */; }; BF0C827A169F0DE86C8F12AD /* SystemScrollerStyleEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C8B5D1A9658E64F8ECB56 /* SystemScrollerStyleEvents.swift */; }; BF0C828D53D429C2B8B22391 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C883EBA8FDA9CB61C91FD /* Localizable.strings */; }; @@ -98,7 +98,7 @@ BF0C83578F7292F307E30751 /* PopupButtonLikeSystemSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C8A479D2B7FB80531F037 /* PopupButtonLikeSystemSettings.swift */; }; BF0C8382435C0087E131BD83 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8A900DA32A7F62457CC2 /* InfoPlist.strings */; }; BF0C83AB0186CC48FADF66A7 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C847B2D68EACFAC1B06D1 /* Localizable.strings */; }; - BF0C83E902F75A97E8FD374A /* menubar-2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8D3333653ACAEF730DD8 /* menubar-2@2x.png */; }; + BF0C83E902F75A97E8FD374A /* menubar-1@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8D3333653ACAEF730DD8 /* menubar-1@2x.png */; }; BF0C8406805BDEC5B69E8803 /* screen-recording@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8E25373671B528AD448D /* screen-recording@2x.png */; }; BF0C84D7DC2AC65BB1C111EB /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8349BA94516E8760BAFA /* Localizable.strings */; }; BF0C84E5AC1D423625ABF3E6 /* Mocks.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C829EAA93A4C4ADB42CF8 /* Mocks.swift */; }; @@ -147,7 +147,7 @@ BF0C8C7E96DB48120462DA00 /* TrafficLightButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C8DF400A1AF64EB0CD0B3 /* TrafficLightButton.swift */; }; BF0C8C7F5F9EE501B240D2E3 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8532DEDE7C1218B90444 /* Localizable.strings */; }; BF0C8C8E35FF49CAA4BF5FC4 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8A970BD1CAD555F31EDA /* Localizable.strings */; }; - BF0C8C9CA44285E493918A74 /* menubar-3@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8E54658B4DAEA0528200 /* menubar-3@2x.png */; }; + BF0C8C9CA44285E493918A74 /* menubar-2@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BF0C8E54658B4DAEA0528200 /* menubar-2@2x.png */; }; BF0C8CBF5B4EE15FDB53C94B /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C861EE84489EF56879CBF /* InfoPlist.strings */; }; BF0C8CC5057406014FD612CC /* ATShortcut.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF0C8BA452332236D972C60E /* ATShortcut.swift */; }; BF0C8D1C57D74106018D073C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = BF0C87F5D4AD51D6950C98B0 /* InfoPlist.strings */; }; @@ -348,7 +348,7 @@ BF0C81BB57B297B2432C4824 /* test-release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "test-release.xcconfig"; sourceTree = ""; }; BF0C81D602ED642A48D50B78 /* notarytool */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = notarytool; sourceTree = ""; }; BF0C822D3BEDAB1F1C9F775E /* ScreensEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ScreensEvents.swift; sourceTree = ""; }; - BF0C828AF7BCC4F47E70B28F /* menubar-2.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-2.svg"; sourceTree = ""; }; + BF0C828AF7BCC4F47E70B28F /* menubar-1.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-1.svg"; sourceTree = ""; }; BF0C829EAA93A4C4ADB42CF8 /* Mocks.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Mocks.swift; sourceTree = ""; }; BF0C82C381FCBCF8109735AC /* pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = pl; path = InfoPlist.strings; sourceTree = ""; }; BF0C82D44C2DFAA5D8F60394 /* sq */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = sq; path = Localizable.strings; sourceTree = ""; }; @@ -384,7 +384,7 @@ BF0C87320241EAE01E38EF53 /* .periphery.yml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.yaml; path = .periphery.yml; sourceTree = ""; }; BF0C873357DBF7008830E73F /* xcbeautify */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = xcbeautify; sourceTree = ""; }; BF0C87897C24638DDE4A9889 /* app-icons-style.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "app-icons-style.jpg"; sourceTree = ""; }; - BF0C87B913292EE53EDE4220 /* menubar-1.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-1.svg"; sourceTree = ""; }; + BF0C87B913292EE53EDE4220 /* menubar-0.svg */ = {isa = PBXFileReference; lastKnownFileType = file.svg; path = "menubar-0.svg"; sourceTree = ""; }; BF0C87C0514B13DACB6E702B /* fa */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = fa; path = Localizable.strings; sourceTree = ""; }; BF0C87D65E0436CBC0EF29FA /* uz */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = uz; path = Localizable.strings; sourceTree = ""; }; BF0C87F376F3DC4C453878A6 /* th */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = th; path = Localizable.strings; sourceTree = ""; }; @@ -395,7 +395,7 @@ BF0C888D912E73D88919899A /* uk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = uk; path = Localizable.strings; sourceTree = ""; }; BF0C889529FF19620EDAC295 /* accessibility@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "accessibility@2x.png"; sourceTree = ""; }; BF0C8898ADB2A1B49312E87B /* cs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = cs; path = InfoPlist.strings; sourceTree = ""; }; - BF0C88BF67CF4D71002A60EB /* menubar-1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-1@2x.png"; sourceTree = ""; }; + BF0C88BF67CF4D71002A60EB /* menubar-0@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-0@2x.png"; sourceTree = ""; }; BF0C88C4940CA76FA801B881 /* preferences-appearance-details.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "preferences-appearance-details.jpg"; sourceTree = ""; }; BF0C890AF36F3EFD5CC4D114 /* bg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = bg; path = Localizable.strings; sourceTree = ""; }; BF0C89143F55C42D8A398C5A /* ku */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ku; path = Localizable.strings; sourceTree = ""; }; @@ -432,7 +432,7 @@ BF0C8C6995992F837A9A83A6 /* ca */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ca; path = InfoPlist.strings; sourceTree = ""; }; BF0C8CA36F8BD99BF38A45D0 /* bn */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = bn; path = InfoPlist.strings; sourceTree = ""; }; BF0C8CE7BBC3B9B0CEC008FF /* vi */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = vi; path = Localizable.strings; sourceTree = ""; }; - BF0C8D3333653ACAEF730DD8 /* menubar-2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-2@2x.png"; sourceTree = ""; }; + BF0C8D3333653ACAEF730DD8 /* menubar-1@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-1@2x.png"; sourceTree = ""; }; BF0C8D52C3D33B0669ECF996 /* ro */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ro; path = InfoPlist.strings; sourceTree = ""; }; BF0C8D57C86AF492D43A576D /* AppearanceTestable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceTestable.swift; sourceTree = ""; }; BF0C8D606B53D315F2D9927B /* KeyRepeatTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyRepeatTimer.swift; sourceTree = ""; }; @@ -445,7 +445,7 @@ BF0C8E1FBCBC7B64C69D933C /* titles-style-full.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "titles-style-full.jpg"; sourceTree = ""; }; BF0C8E25373671B528AD448D /* screen-recording@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "screen-recording@2x.png"; sourceTree = ""; }; BF0C8E478D68ED85DAE6BF43 /* ga */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = ga; path = InfoPlist.strings; sourceTree = ""; }; - BF0C8E54658B4DAEA0528200 /* menubar-3@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-3@2x.png"; sourceTree = ""; }; + BF0C8E54658B4DAEA0528200 /* menubar-2@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "menubar-2@2x.png"; sourceTree = ""; }; BF0C8E5D2BD5F7F93DF77DF5 /* sk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = sk; path = InfoPlist.strings; sourceTree = ""; }; BF0C8E7B087DCC97A454C0AE /* uk */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = uk; path = InfoPlist.strings; sourceTree = ""; }; BF0C8EAF02309B9C489E65F4 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -784,11 +784,11 @@ BF0C80536B40523C5DB23BE2 /* menubar */ = { isa = PBXGroup; children = ( - BF0C88BF67CF4D71002A60EB /* menubar-1@2x.png */, - BF0C8D3333653ACAEF730DD8 /* menubar-2@2x.png */, - BF0C828AF7BCC4F47E70B28F /* menubar-2.svg */, - BF0C8E54658B4DAEA0528200 /* menubar-3@2x.png */, - BF0C87B913292EE53EDE4220 /* menubar-1.svg */, + BF0C88BF67CF4D71002A60EB /* menubar-0@2x.png */, + BF0C8D3333653ACAEF730DD8 /* menubar-1@2x.png */, + BF0C828AF7BCC4F47E70B28F /* menubar-1.svg */, + BF0C8E54658B4DAEA0528200 /* menubar-2@2x.png */, + BF0C87B913292EE53EDE4220 /* menubar-0.svg */, ); path = menubar; sourceTree = ""; @@ -1934,9 +1934,9 @@ D04BAC23045A0A119B527DEB /* InfoPlist.strings in Resources */, D04BA328F7C85DD1A6C1C7ED /* Localizable.strings in Resources */, BF0C852D28E458CDD6FA3E44 /* app.icns in Resources */, - BF0C823630E3DEAC576FAFE6 /* menubar-1@2x.png in Resources */, - BF0C83E902F75A97E8FD374A /* menubar-2@2x.png in Resources */, - BF0C8C9CA44285E493918A74 /* menubar-3@2x.png in Resources */, + BF0C823630E3DEAC576FAFE6 /* menubar-0@2x.png in Resources */, + BF0C83E902F75A97E8FD374A /* menubar-1@2x.png in Resources */, + BF0C8C9CA44285E493918A74 /* menubar-2@2x.png in Resources */, BF0C829583ED47E458528F3A /* accessibility@2x.png in Resources */, BF0C8406805BDEC5B69E8803 /* screen-recording@2x.png in Resources */, BF0C853B271C4407E87FA183 /* InfoPlist.strings in Resources */, diff --git a/resources/icons/menubar/menubar-0.svg b/resources/icons/menubar/menubar-0.svg new file mode 100644 index 00000000..85c5165f --- /dev/null +++ b/resources/icons/menubar/menubar-0.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/icons/menubar/menubar-0@2x.png b/resources/icons/menubar/menubar-0@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0281eb3568b87483d1c5495318f50cf36be7820f GIT binary patch literal 456 zcmV;(0XP1MP)CS*DQ^vBBrQX^Ng|VgbvXkJEa%~rsm_!F+a(c4^>h(oX+94wIPSC4n z?Sh0sWD>KothuCIBQin@V$GaZKjH%jM^`nlFem^>e8HgciJyp1{3|9$1wgy11)yAY zjhfi$jH_A@EF^#m7KAoxVy7wkO5Upi5}ssUas2TD#m(^anP + + + - + - - - - - + diff --git a/resources/icons/menubar/menubar-1@2x.png b/resources/icons/menubar/menubar-1@2x.png index 0281eb3568b87483d1c5495318f50cf36be7820f..09335ca9ebea8f16564acf1b0fa638aa9576efdb 100644 GIT binary patch delta 297 zcmV+^0oMM=1H=N5B!3G@L_t(|0qxdVVTCXdh2dWU5+b1zkWdH3L2+>FfI0{cf`dpv zLL@{&x=r_C9eCp$wx^FB!j&ttaYQm@cLPpk1+_G5bfDNvT-yDxXFlUzILx3G-JT=%G-L`RQQH1OZ{+RQ*y8}`wacQQ zI;^7#9CdUa*8g6PM*8^9MID`o6E$<`_kJrfoC6mU56VAWO4a%Cnj+da9waI)(S00000NkvXXu0mjfIn#*9 delta 430 zcmV;f0a5}f9B!7=dL_t(|0qvC0ZNe}RhJQ%h5O|5Iz93bV1rGuBB_m{njNlEL z4af$t0o?#L@CY5jBY1=>vQjE^X{_3>`9BGrPUzF=&VVUX#e8HgciJyp1{3|9$1wgy11)yAYjhfi$jH_A@EF^#m7KAoxVy7wkO5Upi5}ssU zas2TD#m(^anPC7GJ7Y|Q7B=5iyGBKAcc;o-&ak+(zo!Fazi8H%0h|JOqh!;Ai z%>fbF9db&qTrB7InM$+Q?~eV$XW!-AzfqbOn*VVPIVZcMBq+Th7_K)$VrP2%$Wx|# Y1B(fq04af3KmY&$07*qoM6N<$f;fZ3zW@LL diff --git a/resources/icons/menubar/menubar-2.svg b/resources/icons/menubar/menubar-2.svg deleted file mode 100644 index da86be11..00000000 --- a/resources/icons/menubar/menubar-2.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/resources/icons/menubar/menubar-2@2x.png b/resources/icons/menubar/menubar-2@2x.png index 09335ca9ebea8f16564acf1b0fa638aa9576efdb..7a76825b1099d5015044150249477b3b3ebca967 100644 GIT binary patch literal 3821 zcmV==4o*y-y=ipp*1`Ej-843FY2V&kx&c-% z`tKtAV_BKTojYYanCkV{3joI+%XNG9DBHKEfbw_gy5NFl+Z=X9nbuCM?Nl3WmdFlC z5DtoGNL?~S;`*hbQHUY{G)d7)*-02#Y;da|zwPP3rM)5{ko@z&s&@OHJ!a1#U_)nL z*%o)0UegfusSSEC;U+6}ST-6^l}(bmjT$E#q@e+V002!LK1~#_srpm_Z=4rVMB~&G zMxmIX;!F8cfZtEVM;-(Y4uLg*Tj|D&F6v0y8v8@S%|vyKF`JCFgZ|io-cW2GF74Aa z?UpEGFae;{-{U>_AV{TJ^{A>*)TG{osS{I6Maqe#STQnRgxFC#VS}o%DJE({O+Nta z0pK48t6IPf-geXdXS#b|Z^EcO8`=(>@75&kFkvWaEb0|?4xiSml1inT3aF@3hl!0- zBh?jH9LRE6bfF~7718}g{CojFTf&W1aC^&u68`!TaCp`W0pjfz015@=e)khV*9ZUA z&eW1QB|K*1Bh#r#H1&A(DB@f#*1+ouOik(}itDIKBBoFcWpNdT⪙=1>9`Ci)H*o z9d=!U$Kg>F0Sww@kxc;v33hHtWT+DYLBia|?$10b9PfX$IfC9w;0^J4%En-6e zL=|y>Dp*DLrRZ!PlT^VZAi==+BR|{$%uw5H|FI?E50o3m7p~g6cmpl_m&0psoUu$4 zP4{StTgIkg-qMUxC83cV5g8H-wo70j1S=pQDB=aHiqNbn+nmj`bOAH>Yq4@j@O{5^-|U97|9HR7TzYihtyez$b+;5KgT2@GoTQ23(tyu= z?$P}0SJ(2SC!NH-?tKDpc;h$u;kPF_`p6chCS#%qP+bLyf_F;PpfofZ(p0EaJheJr zV6_+l{OS_Ya>>-yUN!6|+t>kcww5>~IM=xEQC$<8cc=L(gKbS5ePUVnUX_?{{_LgL z(D232{+`D@@!o_jS&DN7)H@_pAOTImrD!T^BdJ;kLU*rHsTR5Awgkv=^wBw-Gt{b{ zO4;EZD2gr?pi~semYf7_O^WRUfcqU9yj0rPl~0?gQYcHc81+kR_oCc<+XR_h$gh8K zD{UKo!IhVcu>1R?z^MTA_2!tFtP%u@7-;LXw6p|Vb#;knJ?aRa`qX=J*=5&r+L>4I z`(MuhFfhd)=m`Oe$8*F8_* zv5&hi*Sz3XF4=Q6Kl|ymTzk!Jz-D>}0;*$GvP(tiD=1zO$!_Kiz2WfX>gtEV`e5Uu ziG=F1A=ez5Si92{Dk>VG1h?hiZOHlfo~;pPAPAt8hagnq zSZVLDjE*hy^k*KvCgAge%C@TvqM ztD7f^ptmo_#2r-oZ`zR4MG>s=onv%%fh%sfoqc0dI6y=&*6_POoX0aB|6YFd-J9s{3W=*J z28Um&LaAspUT~g)E+%Z;9Fn+Y zs?|KNfBl_#;Qd>h%{Ip${Px%iTgvF*5{cAYp1^mg{aF<<~#|HSc-Lm)LUH zo$wAOMoNUCARcIT_=&gk$8MI(owiqU)xk}1)ojHdpGt`C2>;n2U<03XfI z`eb0rh&?JRF71|@MY6cWk!uk03st74ujWl}e>Sgs)pP5BPRh<p3dn(3SA|nLA z)WQ<*WtNwhNotnB32rGMh^LKK7r}KMZp}$Kpm5L#U(YrL zIM4mG=p`OA#t`DQ(^Lggh&;w5Y}n%Y`gh*TJKz2aI=VYpP7*K%2X#cSigiE@Fvjqh zCk|39F4NL(nVGBr4$RudRds812R7>;SOuATS6!cMKb#TKrCNER{yA zgwiVeb(8IuJ7N>6u&j;<52LBh3rCphkeRL zwTj4}xu}8EDK2!>rfTGhIU3`e#FvVQ%N(|Cct;4t2Z7lE0JD3R<_4sD+L&l-R+p1r zQ?qD*SWmg&SXiji)MRPvXs4^EgT$5j_7{E&d<{5>mgZn}RBdoT1c-pD;+1+m&U+M( zQBNqI28FOiF+?;MJFt3&_~tz6a&BmG&$eJ)@NU*}f%)Cy3B3Fc>w~S4h<2GWNDlAT zMl6?uI8K5*i2sQ*VH=S-iy2Gyv-pR1SumQ>i%6FvFgq3F6B(DR+a-*x!E*`HA3)oeZ zMREaRGN=uSZN!3vXuV*;8&GI)jy@lAvX1{ceVk1vd}$JGbvUYrAcnq?#wZAqk-liN6qAjO~kAOti^)| z6b78*I3Ke?i}X>Vrw;2hi*?vc9af-4&<2BM>kXxyPgZd@bWlcQDg= z;+z1?UN@-#hXS*QwJb?-dXUyxk#MlVlHNVOjSXJe=%;9xN!sKln!^gsg60ewnFb%& zmOAPv0@I=^Ffk2A$XV(zSzFnpm=zf6ZQiH4RB>*xl%%t9nvA(vZ(m%To1SCtLSXbw zSDq$-`$z9y>W&>2aBsZ&>Mc+6C;zxD&EI)BJuRvFB=CxlEE?MSXqmQp+ZEGfj5G?8 zwXy=!42mUDq2fHKETvxNYN?y8rpZh-apOtVkCqGN(Qy_gf5oX&m%=Pi4 zKMLM;0DQ{TyPMBbfv?S-4)l z!lWEohs|=GuKZG5IiU_^U51N+a& j`mmL*Gg|*^^8fh;a>t0BB2tHPzS|9 zad7K^ItUJegGfL^Bt$~GP4{6Pc;g(lr;i=Nl`FGxL^5S}15RZHwKQvVpx8^~U&qFAQGXbzfX)QJGg-FM*H$Lk zuCbwZIFQbO2LKw<(XdA%xDk$cX$=y=E%3lx+WoL+KI2|E%%BzBo+I`&WC|lu+Wtas zyLWK?{G~&2&WhO7%J-NJavg-{10000==4o*y-y=ipp*1`Ej-843FY2V&kx&c-% z`tKtAV_BKTojYYanCkV{3joI+%XNG9DBHKEfbw_gy5NFl+Z=X9nbuCM?Nl3WmdFlC z5DtoGNL?~S;`*hbQHUY{G)d7)*-02#Y;da|zwPP3rM)5{ko@z&s&@OHJ!a1#U_)nL z*%o)0UegfusSSEC;U+6}ST-6^l}(bmjT$E#q@e+V002!LK1~#_srpm_Z=4rVMB~&G zMxmIX;!F8cfZtEVM;-(Y4uLg*Tj|D&F6v0y8v8@S%|vyKF`JCFgZ|io-cW2GF74Aa z?UpEGFae;{-{U>_AV{TJ^{A>*)TG{osS{I6Maqe#STQnRgxFC#VS}o%DJE({O+Nta z0pK48t6IPf-geXdXS#b|Z^EcO8`=(>@75&kFkvWaEb0|?4xiSml1inT3aF@3hl!0- zBh?jH9LRE6bfF~7718}g{CojFTf&W1aC^&u68`!TaCp`W0pjfz015@=e)khV*9ZUA z&eW1QB|K*1Bh#r#H1&A(DB@f#*1+ouOik(}itDIKBBoFcWpNdT⪙=1>9`Ci)H*o z9d=!U$Kg>F0Sww@kxc;v33hHtWT+DYLBia|?$10b9PfX$IfC9w;0^J4%En-6e zL=|y>Dp*DLrRZ!PlT^VZAi==+BR|{$%uw5H|FI?E50o3m7p~g6cmpl_m&0psoUu$4 zP4{StTgIkg-qMUxC83cV5g8H-wo70j1S=pQDB=aHiqNbn+nmj`bOAH>Yq4@j@O{5^-|U97|9HR7TzYihtyez$b+;5KgT2@GoTQ23(tyu= z?$P}0SJ(2SC!NH-?tKDpc;h$u;kPF_`p6chCS#%qP+bLyf_F;PpfofZ(p0EaJheJr zV6_+l{OS_Ya>>-yUN!6|+t>kcww5>~IM=xEQC$<8cc=L(gKbS5ePUVnUX_?{{_LgL z(D232{+`D@@!o_jS&DN7)H@_pAOTImrD!T^BdJ;kLU*rHsTR5Awgkv=^wBw-Gt{b{ zO4;EZD2gr?pi~semYf7_O^WRUfcqU9yj0rPl~0?gQYcHc81+kR_oCc<+XR_h$gh8K zD{UKo!IhVcu>1R?z^MTA_2!tFtP%u@7-;LXw6p|Vb#;knJ?aRa`qX=J*=5&r+L>4I z`(MuhFfhd)=m`Oe$8*F8_* zv5&hi*Sz3XF4=Q6Kl|ymTzk!Jz-D>}0;*$GvP(tiD=1zO$!_Kiz2WfX>gtEV`e5Uu ziG=F1A=ez5Si92{Dk>VG1h?hiZOHlfo~;pPAPAt8hagnq zSZVLDjE*hy^k*KvCgAge%C@TvqM ztD7f^ptmo_#2r-oZ`zR4MG>s=onv%%fh%sfoqc0dI6y=&*6_POoX0aB|6YFd-J9s{3W=*J z28Um&LaAspUT~g)E+%Z;9Fn+Y zs?|KNfBl_#;Qd>h%{Ip${Px%iTgvF*5{cAYp1^mg{aF<<~#|HSc-Lm)LUH zo$wAOMoNUCARcIT_=&gk$8MI(owiqU)xk}1)ojHdpGt`C2>;n2U<03XfI z`eb0rh&?JRF71|@MY6cWk!uk03st74ujWl}e>Sgs)pP5BPRh<p3dn(3SA|nLA z)WQ<*WtNwhNotnB32rGMh^LKK7r}KMZp}$Kpm5L#U(YrL zIM4mG=p`OA#t`DQ(^Lggh&;w5Y}n%Y`gh*TJKz2aI=VYpP7*K%2X#cSigiE@Fvjqh zCk|39F4NL(nVGBr4$RudRds812R7>;SOuATS6!cMKb#TKrCNER{yA zgwiVeb(8IuJ7N>6u&j;<52LBh3rCphkeRL zwTj4}xu}8EDK2!>rfTGhIU3`e#FvVQ%N(|Cct;4t2Z7lE0JD3R<_4sD+L&l-R+p1r zQ?qD*SWmg&SXiji)MRPvXs4^EgT$5j_7{E&d<{5>mgZn}RBdoT1c-pD;+1+m&U+M( zQBNqI28FOiF+?;MJFt3&_~tz6a&BmG&$eJ)@NU*}f%)Cy3B3Fc>w~S4h<2GWNDlAT zMl6?uI8K5*i2sQ*VH=S-iy2Gyv-pR1SumQ>i%6FvFgq3F6B(DR+a-*x!E*`HA3)oeZ zMREaRGN=uSZN!3vXuV*;8&GI)jy@lAvX1{ceVk1vd}$JGbvUYrAcnq?#wZAqk-liN6qAjO~kAOti^)| z6b78*I3Ke?i}X>Vrw;2hi*?vc9af-4&<2BM>kXxyPgZd@bWlcQDg= z;+z1?UN@-#hXS*QwJb?-dXUyxk#MlVlHNVOjSXJe=%;9xN!sKln!^gsg60ewnFb%& zmOAPv0@I=^Ffk2A$XV(zSzFnpm=zf6ZQiH4RB>*xl%%t9nvA(vZ(m%To1SCtLSXbw zSDq$-`$z9y>W&>2aBsZ&>Mc+6C;zxD&EI)BJuRvFB=CxlEE?MSXqmQp+ZEGfj5G?8 zwXy=!42mUDq2fHKETvxNYN?y8rpZh-apOtVkCqGN(Qy_gf5oX&m%=Pi4 zKMLM;0DQ{TyPMBbfv?S-4)l z!lWEohs|=GuKZG5IiU_^U51N+a& j`mmL*Gg|*^^8fh